vanilla-wow-addons – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | -- ZoneLevel.lua |
2 | -- Author: The Nerd Wonder (thenerdwonder@yahoo.com) |
||
3 | |||
4 | local zoneLevelShort; |
||
5 | local zoneLevelLow; |
||
6 | local zoneLevelHigh; |
||
7 | local zone; |
||
8 | |||
9 | -- Load/initialization function |
||
10 | function ZoneLevel_OnLoad() |
||
11 | -- Register for events |
||
12 | this:RegisterEvent("MINIMAP_ZONE_CHANGED"); |
||
13 | this:RegisterEvent("VARIABLES_LOADED"); |
||
14 | this:RegisterEvent("ZONE_CHANGED_NEW_AREA"); |
||
15 | this:RegisterEvent("PLAYER_LEVEL_UP"); |
||
16 | |||
17 | SLASH_ZoneLevel1 = "/zonelevel"; |
||
18 | SLASH_ZoneLevel2 = "/zlvl"; |
||
19 | SlashCmdList["ZoneLevel"] = ZoneLevel_SlashHandler; |
||
20 | SLASH_ZoneLevelInfo1 = "/zonelevelinfo"; |
||
21 | SLASH_ZoneLevelInfo2 = "/zinfo"; |
||
22 | SlashCmdList["ZoneLevelInfo"] = ZoneLevel_InfoHandler; |
||
23 | |||
24 | if(TitanPanelModMenu_RegisterMenu) then |
||
25 | zlvlArray = { |
||
26 | frame = "ZoneLevelBase", |
||
27 | cat = TITAN_MODMENU_CAT_MAP, |
||
28 | text = "ZoneLevel", |
||
29 | submenu = { |
||
30 | {text = TITAN_MODMENU_TOGGLE..ZONELEVEL_TEXT, cmd = "/zlvl maptext"}, |
||
31 | {text = TITAN_MODMENU_TOGGLE..ZONELEVEL_ICON, cmd = "/zlvl icon"}, |
||
32 | TITAN_MODMENU_SPACER, |
||
33 | {text = TITAN_MODMENU_HELP, cmd = "/zlvl"} |
||
34 | } |
||
35 | }; |
||
36 | |||
37 | TitanPanelModMenu_RegisterMenu("ZoneLevel", zlvlArray); |
||
38 | end |
||
39 | |||
40 | if(Cosmos_RegisterConfiguration) then |
||
41 | --[[ Sky.registerSlashCommand( |
||
42 | { |
||
43 | id="ZoneLevel"; |
||
44 | commands={"/zonelevel", "/zlvl"}; |
||
45 | onExecute=function (msg, cmd, ctype) ZoneLevel_SlashHandler(msg); end; |
||
46 | helpText="Shows the help for ZoneLevel."; |
||
47 | } |
||
48 | ); |
||
49 | ]]-- |
||
50 | Cosmos_RegisterConfiguration( |
||
51 | "COS_ZLVLOPTION", |
||
52 | "SECTION", |
||
53 | "ZoneLevel", |
||
54 | ZONELEVEL_DESC |
||
55 | ); |
||
56 | Cosmos_RegisterConfiguration( |
||
57 | "COS_ZLVLICON", |
||
58 | "CHECKBOX", |
||
59 | ZONELEVEL_HELP_ICON, |
||
60 | ZONELEVEL_HELP_ICON, |
||
61 | ZoneLevel_IconHandler, |
||
62 | 1 |
||
63 | ); |
||
64 | Cosmos_RegisterConfiguration( |
||
65 | "COS_ZLVLTEXT", |
||
66 | "CHECKBOX", |
||
67 | "Show text", |
||
68 | ZONELEVEL_HELP_MINIMAP, |
||
69 | ZoneLevel_TextHandler, |
||
70 | |||
71 | ); |
||
72 | end |
||
73 | |||
74 | zoneLevelOnMap = false; |
||
75 | zoneLevelShowIcon = true; |
||
76 | zoneLevelLocked = false; |
||
77 | |||
78 | -- Construct tables to hold level information for each zone |
||
79 | zoneLevelLow={}; |
||
80 | zoneLevelHigh={}; |
||
81 | zoneLevelShort={}; |
||
82 | ZoneLevel_MakeTables(); |
||
83 | end |
||
84 | |||
85 | function ZoneLevel_ShowTooltip() |
||
86 | GameTooltip:SetOwner(this, "ANCHOR_BOTTOMLEFT"); |
||
87 | if(ZoneLevel_ZoneIsValid(GetRealZoneText())) then |
||
88 | ZoneLevel_SetTooltipText(); |
||
89 | else |
||
90 | GameTooltip:AddLine(ZONELEVEL_ZONENOTFOUNDTOOLTIP, 1.0, 1.0, 1.0); |
||
91 | end |
||
92 | GameTooltip:Show(); |
||
93 | end |
||
94 | |||
95 | function ZoneLevel_StartDrag() |
||
96 | end |
||
97 | |||
98 | -- Cosmos handler for the icon |
||
99 | function ZoneLevel_IconHandler(arg1) |
||
100 | if (arg1 == 1) |
||
101 | then |
||
102 | zoneLevelShowIcon = true; |
||
103 | ZoneLevelBase:Show(); |
||
104 | else |
||
105 | zoneLevelShowIcon = false; |
||
106 | ZoneLevelBase:Hide(); |
||
107 | end |
||
108 | end |
||
109 | |||
110 | -- Cosmos handler for the text |
||
111 | function ZoneLevel_TextHandler(arg1) |
||
112 | zone = string.lower(GetRealZoneText()); |
||
113 | if (arg1 == 1) |
||
114 | then |
||
115 | zoneLevelOnMap = true; |
||
116 | if(ZoneLevel_ZoneIsValid(zone)) then |
||
117 | if(zoneLevelLow[zone] < 1) |
||
118 | then |
||
119 | txt = ""; |
||
120 | else |
||
121 | txt = "("..zoneLevelLow[GetRealZoneText()].." - "..zoneLevelHigh[GetRealZoneText()]..") "; |
||
122 | end |
||
123 | else |
||
124 | txt = "(???) " |
||
125 | end |
||
126 | MinimapZoneText:SetText(txt..GetMinimapZoneText()); |
||
127 | else |
||
128 | zoneLevelOnMap = false; |
||
129 | MinimapZoneText:SetText(GetMinimapZoneText()); |
||
130 | end |
||
131 | end |
||
132 | |||
133 | -- Slash command handler for ZoneLevel |
||
134 | function ZoneLevel_SlashHandler(arg1) |
||
135 | zone = string.lower(GetRealZoneText()); |
||
136 | |||
137 | if(arg1 == "") |
||
138 | then |
||
139 | DEFAULT_CHAT_FRAME:AddMessage(ZONELEVEL_HELP_HEADER..ZONELEVEL_HELP_MINIMAP..ZONELEVEL_HELP_MAPCMD.. |
||
140 | ZONELEVEL_HELP_ICON..ZONELEVEL_HELP_ICOCMD..ZONELEVEL_HELP_CMD); |
||
141 | elseif(arg1 == "maptext") |
||
142 | then |
||
143 | if(zoneLevelOnMap) |
||
144 | then |
||
145 | MinimapZoneText:SetText(GetMinimapZoneText()); |
||
146 | zoneLevelOnMap = false; |
||
147 | if (Cosmos_RegisterConfiguration) |
||
148 | then |
||
149 | Cosmos_UpdateValue("COS_ZLVLTEXT",CSM_CHECKONOFF,0); |
||
150 | CosmosMaster_Save(); |
||
151 | end |
||
152 | else |
||
153 | if(ZoneLevel_ZoneIsValid(zone)) then |
||
154 | if(zoneLevelLow[zone] < 1) |
||
155 | then |
||
156 | txt = ""; |
||
157 | else |
||
158 | txt = "("..zoneLevelLow[zone].." - "..zoneLevelHigh[zone]..") "; |
||
159 | end |
||
160 | else |
||
161 | txt = "(???) " |
||
162 | end |
||
163 | MinimapZoneText:SetText(txt..GetMinimapZoneText()); |
||
164 | zoneLevelOnMap = true; |
||
165 | if (Cosmos_RegisterConfiguration) |
||
166 | then |
||
167 | Cosmos_UpdateValue("COS_ZLVLTEXT",CSM_CHECKONOFF,1); |
||
168 | CosmosMaster_Save(); |
||
169 | end |
||
170 | end |
||
171 | elseif(arg1 == "icon") |
||
172 | then |
||
173 | if(zoneLevelShowIcon) |
||
174 | then |
||
175 | ZoneLevelBase:Hide(); |
||
176 | zoneLevelShowIcon = false; |
||
177 | if (Cosmos_RegisterConfiguration) |
||
178 | then |
||
179 | Cosmos_UpdateValue("COS_ZLVLICON",CSM_CHECKONOFF,0); |
||
180 | CosmosMaster_Save(); |
||
181 | end |
||
182 | else |
||
183 | ZoneLevelBase:Show(); |
||
184 | zoneLevelShowIcon = true; |
||
185 | if (Cosmos_RegisterConfiguration) |
||
186 | then |
||
187 | Cosmos_UpdateValue("COS_ZLVLICON",CSM_CHECKONOFF,1); |
||
188 | CosmosMaster_Save(); |
||
189 | end |
||
190 | end |
||
191 | elseif(arg1 == "lock") |
||
192 | then |
||
193 | DEFAULT_CHAT_FRAME:AddMessage("Locking"); |
||
194 | DEFAULT_CHAT_FRAME:AddMessage("var: "..tostring(zoneLevelLocked)); |
||
195 | |||
196 | zoneLevelLocked = true; |
||
197 | ZoneLevelBase:GetTitleRegion():ClearAllPoints() |
||
198 | ZoneLevelBase:GetTitleRegion():SetPoint("TOPLEFT", frame, "TOPLEFT", 0,0 ) |
||
199 | ZoneLevelBase:GetTitleRegion():SetPoint("BOTTOMRIGHT", frame, "TOPRIGHT", 0,0 ) |
||
200 | |||
201 | DEFAULT_CHAT_FRAME:AddMessage("var: "..tostring(zoneLevelLocked)); |
||
202 | elseif(arg1 == "unlock") |
||
203 | then |
||
204 | DEFAULT_CHAT_FRAME:AddMessage("Unlocking"); |
||
205 | DEFAULT_CHAT_FRAME:AddMessage("var: "..tostring(zoneLevelLocked)); |
||
206 | |||
207 | zoneLevelLocked = false; |
||
208 | ZoneLevelBase:GetTitleRegion():SetAllPoints(ZoneLevelBase); |
||
209 | |||
210 | DEFAULT_CHAT_FRAME:AddMessage("var: "..tostring(zoneLevelLocked)); |
||
211 | else |
||
212 | |||
213 | DEFAULT_CHAT_FRAME:AddMessage(string.format(ZONELEVEL_BADOPT, arg1)); |
||
214 | end |
||
215 | |||
216 | end |
||
217 | |||
218 | function ZoneLevel_InfoHandler(arg1) |
||
219 | local lower = string.lower(arg1); |
||
220 | |||
221 | capZone = ZoneLevel_TranslateShort(lower); |
||
222 | if(zoneLevelLow[lower]) then |
||
223 | zone = lower; |
||
224 | else |
||
225 | zone = string.lower(capZone); |
||
226 | end |
||
227 | |||
228 | if(ZoneLevel_ZoneIsValid(zone)) then |
||
229 | if(ZoneLevel_ZoneIsTiered(zone)) |
||
230 | then |
||
231 | low, high = ZoneLevel_HandleTiering(zone); |
||
232 | txt = capZone.." "..(string.format(ZONELEVEL_ZONETEXT, low, high)); |
||
233 | else |
||
234 | if(zoneLevelLow[zone] < 1) |
||
235 | then |
||
236 | txt = capZone.." "..ZONELEVEL_CITYTEXT; |
||
237 | else |
||
238 | txt = capZone.." "..(string.format(ZONELEVEL_ZONETEXT, zoneLevelLow[zone], zoneLevelHigh[zone])); |
||
239 | end |
||
240 | |||
241 | --[[ Commented out for possible color coding in the future |
||
242 | |||
243 | local mid = (low+high)/2; |
||
244 | if(high < level-5) then -- Grey icon |
||
245 | GameTooltip:AddLine(zone, 2.0, 2.0, 2.0); |
||
246 | elseif(low > level+5) then -- Red icon |
||
247 | GameTooltip:AddLine(zone, 1.0, 0.0, 0.0); |
||
248 | elseif(mid < level) then -- Green icon |
||
249 | GameTooltip:AddLine(zone, 0.0, 1.0, 0.0); |
||
250 | else -- Yellow icon |
||
251 | GameTooltip:AddLine(zone, 1.0, 1.0, 0.0); |
||
252 | end |
||
253 | ]]-- |
||
254 | end |
||
255 | else -- Zone not found |
||
256 | txt = ZONELEVEL_ZONENOTFOUNDTOOLTIP; |
||
257 | end |
||
258 | |||
259 | DEFAULT_CHAT_FRAME:AddMessage(txt); |
||
260 | end |
||
261 | |||
262 | -- Event handler for ZoneLevel |
||
263 | function ZoneLevel_OnEvent() |
||
264 | if(event == "VARIABLES_LOADED") |
||
265 | then |
||
266 | if(zoneLevelShowIcon) |
||
267 | then |
||
268 | ZoneLevelBase:Show(); |
||
269 | else |
||
270 | ZoneLevelBase:Hide(); |
||
271 | end |
||
272 | |||
273 | if(not zoneLevelOnMap) |
||
274 | then |
||
275 | MinimapZoneText:SetText(GetMinimapZoneText()); |
||
276 | end |
||
277 | |||
278 | if(zoneLevelLocked) |
||
279 | then |
||
280 | ZoneLevelBase:GetTitleRegion():ClearAllPoints() |
||
281 | ZoneLevelBase:GetTitleRegion():SetPoint("TOPLEFT", frame, "TOPLEFT", 0,0 ) |
||
282 | ZoneLevelBase:GetTitleRegion():SetPoint("BOTTOMRIGHT", frame, "TOPRIGHT", 0,0 ) |
||
283 | else |
||
284 | ZoneLevelBase:GetTitleRegion():SetAllPoints(ZoneLevelBase); |
||
285 | end |
||
286 | else |
||
287 | zone = string.lower(GetRealZoneText()); |
||
288 | local level = UnitLevel("player"); |
||
289 | |||
290 | if(ZoneLevel_ZoneIsValid(zone)) then |
||
291 | local low = zoneLevelLow[zone]; |
||
292 | local high = zoneLevelHigh[zone]; |
||
293 | |||
294 | if(zoneLevelOnMap) |
||
295 | then |
||
296 | if(zoneLevelLow[zone] < 1) |
||
297 | then |
||
298 | txt = "(city) "; |
||
299 | else |
||
300 | txt = "("..zoneLevelLow[zone].." - "..zoneLevelHigh[zone]..") "; |
||
301 | end |
||
302 | MinimapZoneText:SetText(txt..GetMinimapZoneText()); |
||
303 | end |
||
304 | |||
305 | local mid = (low+high)/2; |
||
306 | if(zoneLevelLow[zone] < 1) |
||
307 | then |
||
308 | ZoneLevelGrey:Hide(); |
||
309 | ZoneLevelGreen:Hide(); |
||
310 | ZoneLevelYellow:Hide(); |
||
311 | ZoneLevelRed:Hide(); |
||
312 | ZoneLevelCity:Show(); |
||
313 | ZoneLevelBad:Hide(); |
||
314 | elseif(high < level-5) then -- Grey icon |
||
315 | ZoneLevelGrey:Show(); |
||
316 | ZoneLevelGreen:Hide(); |
||
317 | ZoneLevelYellow:Hide(); |
||
318 | ZoneLevelRed:Hide(); |
||
319 | ZoneLevelCity:Hide(); |
||
320 | ZoneLevelBad:Hide(); |
||
321 | elseif(low > level+5) then -- Red icon |
||
322 | ZoneLevelGrey:Hide(); |
||
323 | ZoneLevelGreen:Hide(); |
||
324 | ZoneLevelYellow:Hide(); |
||
325 | ZoneLevelRed:Show(); |
||
326 | ZoneLevelCity:Hide(); |
||
327 | ZoneLevelBad:Hide(); |
||
328 | elseif(mid < level) then -- Green icon |
||
329 | ZoneLevelGrey:Hide(); |
||
330 | ZoneLevelGreen:Show(); |
||
331 | ZoneLevelYellow:Hide(); |
||
332 | ZoneLevelRed:Hide(); |
||
333 | ZoneLevelCity:Hide(); |
||
334 | ZoneLevelBad:Hide(); |
||
335 | else -- Yellow icon |
||
336 | ZoneLevelGrey:Hide(); |
||
337 | ZoneLevelGreen:Hide(); |
||
338 | ZoneLevelYellow:Show(); |
||
339 | ZoneLevelRed:Hide(); |
||
340 | ZoneLevelCity:Hide(); |
||
341 | ZoneLevelBad:Hide(); |
||
342 | end |
||
343 | else |
||
344 | if(event == "ZONE_CHANGED_NEW_AREA") |
||
345 | then |
||
346 | DEFAULT_CHAT_FRAME:AddMessage(string.format(ZONELEVEL_ZONENOTFOUND, zone)); |
||
347 | ZoneLevelGrey:Hide(); |
||
348 | ZoneLevelGreen:Hide(); |
||
349 | ZoneLevelYellow:Hide(); |
||
350 | ZoneLevelRed:Hide(); |
||
351 | ZoneLevelCity:Hide(); |
||
352 | ZoneLevelBad:Show(); |
||
353 | end |
||
354 | end |
||
355 | |||
356 | if(zoneLevelShowIcon == false) |
||
357 | then |
||
358 | ZoneLevelBase:Hide(); |
||
359 | end |
||
360 | end |
||
361 | end |
||
362 | |||
363 | function ZoneLevel_SetTooltipText() |
||
364 | local level = UnitLevel("player"); |
||
365 | capZone = GetRealZoneText(); |
||
366 | zone = string.lower(capZone); |
||
367 | |||
368 | local low = zoneLevelLow[zone]; |
||
369 | local high = zoneLevelHigh[zone]; |
||
370 | local txt; |
||
371 | |||
372 | if(ZoneLevel_ZoneIsValid(zone)) then |
||
373 | if(ZoneLevel_ZoneIsTiered(zone)) |
||
374 | then |
||
375 | low, high = ZoneLevel_HandleTiering(zone); |
||
376 | else |
||
377 | if(zoneLevelLow[zone] < 1) |
||
378 | then |
||
379 | txt = ZONELEVEL_CITYTEXT; |
||
380 | else |
||
381 | txt = string.format(ZONELEVEL_ZONETEXT, zoneLevelLow[zone], zoneLevelHigh[zone]); |
||
382 | end |
||
383 | |||
384 | local mid = (low+high)/2; |
||
385 | if(high < level-5) then -- Grey text |
||
386 | GameTooltip:AddLine(capZone, 2.0, 2.0, 2.0); |
||
387 | elseif(low > level+5) then -- Red text |
||
388 | GameTooltip:AddLine(capZone, 1.0, 0.0, 0.0); |
||
389 | elseif(mid < level) then -- Green text |
||
390 | GameTooltip:AddLine(capZone, 0.0, 1.0, 0.0); |
||
391 | else -- Yellow icon |
||
392 | GameTooltip:AddLine(capZone, 1.0, 1.0, 0.0); |
||
393 | end |
||
394 | end |
||
395 | else -- Zone not found |
||
396 | txt = ZONELEVEL_ZONENOTFOUNDTOOLTIP; |
||
397 | end |
||
398 | |||
399 | GameTooltip:AddLine(txt, 1.0, 1.0, 1.0); |
||
400 | end |
||
401 | |||
402 | -- Returns true if zone is in table, false otherwise |
||
403 | function ZoneLevel_ZoneIsValid(zone) |
||
404 | if(zone == nil or zoneLevelLow[string.lower(zone)] == nil) |
||
405 | then |
||
406 | retVal = false; |
||
407 | else |
||
408 | retVal = true; |
||
409 | end |
||
410 | |||
411 | return retVal; |
||
412 | end |
||
413 | |||
414 | function ZoneLevel_TranslateShort(zone) |
||
415 | if(zone == nil) |
||
416 | then |
||
417 | return nil; |
||
418 | end |
||
419 | |||
420 | if(zoneLevelShort[zone] == nil) |
||
421 | then |
||
422 | return zone; |
||
423 | else |
||
424 | return zoneLevelShort[zone]; |
||
425 | end |
||
426 | end |
||
427 | |||
428 | -- Returns true is the zone is segregated by level ranges |
||
429 | function ZoneLevel_ZoneIsTiered(zone) |
||
430 | if (zone == nil) |
||
431 | then |
||
432 | DEFAULT_CHAT_FRAME:AddMessage(ZONELEVEL_NOZONE); |
||
433 | retVal = false; |
||
434 | else |
||
435 | if(zone == string.lower(WGch) or zone == string.lower(ABsn)) |
||
436 | then |
||
437 | retVal = true; |
||
438 | else |
||
439 | retVal = false; |
||
440 | end |
||
441 | end |
||
442 | |||
443 | return retVal; |
||
444 | end |
||
445 | |||
446 | -- Handles the level stuff for tiered zones |
||
447 | function ZoneLevel_HandleTiering(zone) |
||
448 | local level = UnitLevel("player"); |
||
449 | local low; |
||
450 | local high; |
||
451 | if(level == 60) |
||
452 | then |
||
453 | low = 60; |
||
454 | high = 60; |
||
455 | elseif(level >= 50) |
||
456 | then |
||
457 | low = 50 |
||
458 | high = 59 |
||
459 | elseif(level >= 40) |
||
460 | then |
||
461 | low = 40 |
||
462 | high = 49 |
||
463 | elseif(level >= 30) |
||
464 | then |
||
465 | low = 30; |
||
466 | high = 39 |
||
467 | elseif(level >= 20) |
||
468 | then |
||
469 | low = 20; |
||
470 | high = 29 |
||
471 | elseif(level >= 10) |
||
472 | then |
||
473 | low = 10; |
||
474 | high = 19 |
||
475 | end |
||
476 | |||
477 | return low, high; |
||
478 | end |
||
479 | |||
480 | -- Makes tables containing level ranges for each zone |
||
481 | function ZoneLevel_MakeTables() |
||
482 | -- Eastern Kingdom zones |
||
483 | zoneLevelLow[string.lower(BtyB)]=-6; |
||
484 | zoneLevelHigh[string.lower(BtyB)]=-6; |
||
485 | zoneLevelLow[string.lower(Tram)]=-6; |
||
486 | zoneLevelHigh[string.lower(Tram)]=-6; |
||
487 | zoneLevelLow[string.lower(Irfg)]=-6; |
||
488 | zoneLevelHigh[string.lower(Irfg)]=-6; |
||
489 | zoneLevelLow[string.lower(StwC)]=-6; |
||
490 | zoneLevelHigh[string.lower(StwC)]=-6; |
||
491 | zoneLevelLow[string.lower(EwnF)]=1; |
||
492 | zoneLevelHigh[string.lower(EwnF)]=10; |
||
493 | zoneLevelLow[string.lower(DunM)]=1; |
||
494 | zoneLevelHigh[string.lower(DunM)]=10; |
||
495 | zoneLevelLow[string.lower(Tfal)]=1; |
||
496 | zoneLevelHigh[string.lower(Tfal)]=10; |
||
497 | zoneLevelLow[string.lower(LMod)]=10; |
||
498 | zoneLevelHigh[string.lower(LMod)]=20; |
||
499 | zoneLevelLow[string.lower(SvpF)]=10; |
||
500 | zoneLevelHigh[string.lower(SvpF)]=20; |
||
501 | zoneLevelLow[string.lower(Wtfl)]=10; |
||
502 | zoneLevelHigh[string.lower(Wtfl)]=20; |
||
503 | zoneLevelLow[string.lower(RrMt)]=15; |
||
504 | zoneLevelHigh[string.lower(RrMt)]=25; |
||
505 | zoneLevelLow[string.lower(Dkwd)]=18; |
||
506 | zoneLevelHigh[string.lower(Dkwd)]=30; |
||
507 | zoneLevelLow[string.lower(HdFt)]=20; |
||
508 | zoneLevelHigh[string.lower(HdFt)]=30; |
||
509 | zoneLevelLow[string.lower(Wtld)]=20; |
||
510 | zoneLevelHigh[string.lower(Wtld)]=30; |
||
511 | zoneLevelLow[string.lower(AcMt)]=30; |
||
512 | zoneLevelHigh[string.lower(AcMt)]=40; |
||
513 | zoneLevelLow[string.lower(AHld)]=30; |
||
514 | zoneLevelHigh[string.lower(AHld)]=40; |
||
515 | zoneLevelLow[string.lower(StrV)]=30; |
||
516 | zoneLevelHigh[string.lower(StrV)]=50; |
||
517 | zoneLevelLow[string.lower(Bdld)]=35; |
||
518 | zoneLevelHigh[string.lower(Bdld)]=45; |
||
519 | zoneLevelLow[string.lower(SoSs)]=35; |
||
520 | zoneLevelHigh[string.lower(SoSs)]=45; |
||
521 | zoneLevelLow[string.lower(DwPs)]=37; |
||
522 | zoneLevelHigh[string.lower(DwPs)]=60; |
||
523 | zoneLevelLow[string.lower(Htld)]=40; |
||
524 | zoneLevelHigh[string.lower(Htld)]=50; |
||
525 | zoneLevelLow[string.lower(SgGg)]=43; |
||
526 | zoneLevelHigh[string.lower(SgGg)]=50; |
||
527 | zoneLevelLow[string.lower(BlLd)]=45; |
||
528 | zoneLevelHigh[string.lower(BlLd)]=55; |
||
529 | zoneLevelLow[string.lower(BgSt)]=50; |
||
530 | zoneLevelHigh[string.lower(BgSt)]=58; |
||
531 | zoneLevelLow[string.lower(WPlg)]=51; |
||
532 | zoneLevelHigh[string.lower(WPlg)]=58; |
||
533 | zoneLevelLow[string.lower(EPlg)]=53; |
||
534 | zoneLevelHigh[string.lower(EPlg)]=60; |
||
535 | |||
536 | -- Kalimdor Zones |
||
537 | zoneLevelLow[string.lower(Rcht)]=-6; |
||
538 | zoneLevelHigh[string.lower(Rcht)]=-6; |
||
539 | zoneLevelLow[string.lower(Gtzn)]=-6; |
||
540 | zoneLevelHigh[string.lower(Gtzn)]=-6; |
||
541 | zoneLevelLow[string.lower(Orgr)]=-6; |
||
542 | zoneLevelHigh[string.lower(Orgr)]=-6; |
||
543 | zoneLevelLow[string.lower(TdrB)]=-6; |
||
544 | zoneLevelHigh[string.lower(TdrB)]=-6; |
||
545 | zoneLevelLow[string.lower(Ucty)]=-6; |
||
546 | zoneLevelHigh[string.lower(Ucty)]=-6; |
||
547 | zoneLevelLow[string.lower(Drtr)]=1; |
||
548 | zoneLevelHigh[string.lower(Drtr)]=10; |
||
549 | zoneLevelLow[string.lower(Mlgr)]=1; |
||
550 | zoneLevelHigh[string.lower(Mlgr)]=10; |
||
551 | zoneLevelLow[string.lower(Dksr)]=10; |
||
552 | zoneLevelHigh[string.lower(Dksr)]=20; |
||
553 | zoneLevelLow[string.lower(Brns)]=10; |
||
554 | zoneLevelHigh[string.lower(Brns)]=25; |
||
555 | zoneLevelLow[string.lower(StMt)]=15; |
||
556 | zoneLevelHigh[string.lower(StMt)]=27; |
||
557 | zoneLevelLow[string.lower(Ashv)]=18; |
||
558 | zoneLevelHigh[string.lower(Ashv)]=30; |
||
559 | zoneLevelLow[string.lower(KNdl)]=25; |
||
560 | zoneLevelHigh[string.lower(KNdl)]=35; |
||
561 | zoneLevelLow[string.lower(Dslc)]=30; |
||
562 | zoneLevelHigh[string.lower(Dslc)]=40; |
||
563 | zoneLevelLow[string.lower(DtwM)]=35; |
||
564 | zoneLevelHigh[string.lower(DtwM)]=45; |
||
565 | zoneLevelLow[string.lower(Frls)]=40; |
||
566 | zoneLevelHigh[string.lower(Frls)]=50; |
||
567 | zoneLevelLow[string.lower(Tnrs)]=40; |
||
568 | zoneLevelHigh[string.lower(Tnrs)]=50; |
||
569 | zoneLevelLow[string.lower(Azsr)]=45; |
||
570 | zoneLevelHigh[string.lower(Azsr)]=55; |
||
571 | zoneLevelLow[string.lower(Flwd)]=48; |
||
572 | zoneLevelHigh[string.lower(Flwd)]=55; |
||
573 | zoneLevelLow[string.lower(Goro)]=48; |
||
574 | zoneLevelHigh[string.lower(Goro)]=55; |
||
575 | zoneLevelLow[string.lower(Slts)]=55; |
||
576 | zoneLevelHigh[string.lower(Slts)]=60; |
||
577 | zoneLevelLow[string.lower(Wtsg)]=55; |
||
578 | zoneLevelHigh[string.lower(Wtsg)]=60; |
||
579 | zoneLevelLow[string.lower(Hyal)]=60; |
||
580 | zoneLevelHigh[string.lower(Hyal)]=60; |
||
581 | zoneLevelLow[string.lower(AnQG)]=60; |
||
582 | zoneLevelHigh[string.lower(AnQG)]=65; |
||
583 | |||
584 | -- Elf zones & Moonglade |
||
585 | zoneLevelLow[string.lower(Mngd)]=-6; |
||
586 | zoneLevelHigh[string.lower(Mngd)]=-6; |
||
587 | zoneLevelLow[string.lower(Darn)]=-6; |
||
588 | zoneLevelHigh[string.lower(Darn)]=-6; |
||
589 | zoneLevelLow[string.lower(Tldr)]=1; |
||
590 | zoneLevelHigh[string.lower(Tldr)]=10; |
||
591 | |||
592 | -- Battlegrounds |
||
593 | zoneLevelLow[string.lower(AVal)]=60; |
||
594 | zoneLevelHigh[string.lower(AVal)]=61; |
||
595 | zoneLevelLow[string.lower(WGch)]=-6; |
||
596 | zoneLevelHigh[string.lower(WGch)]=-6; |
||
597 | zoneLevelLow[string.lower(ABsn)]=-6; |
||
598 | zoneLevelHigh[string.lower(ABsn)]=-6; |
||
599 | |||
600 | zoneLevelLow[string.lower(Outl)]=60; |
||
601 | zoneLevelHigh[string.lower(Outl)]=75; |
||
602 | |||
603 | -- Instances |
||
604 | if(GetLocale() == "enUS") then |
||
605 | zoneLevelLow[string.lower(Stck)]=24; |
||
606 | zoneLevelHigh[string.lower(Stck)]=32; |
||
607 | zoneLevelLow[string.lower(RfCm)]=13; |
||
608 | zoneLevelHigh[string.lower(RfCm)]=18; |
||
609 | zoneLevelLow[string.lower(ZlFk)]=44; |
||
610 | zoneLevelHigh[string.lower(ZlFk)]=54; |
||
611 | zoneLevelLow[string.lower(Ddmn)]=17; |
||
612 | zoneLevelHigh[string.lower(Ddmn)]=26; |
||
613 | zoneLevelLow[string.lower(WCvn)]=17; |
||
614 | zoneLevelHigh[string.lower(WCvn)]=24; |
||
615 | zoneLevelLow[string.lower(Grgn)]=29; |
||
616 | zoneLevelHigh[string.lower(Grgn)]=38; |
||
617 | zoneLevelLow[string.lower(RfKr)]=29; |
||
618 | zoneLevelHigh[string.lower(RfKr)]=38; |
||
619 | zoneLevelLow[string.lower(BlfD)]=24; |
||
620 | zoneLevelHigh[string.lower(BlfD)]=32; |
||
621 | zoneLevelLow[string.lower(SfKp)]=22; |
||
622 | zoneLevelHigh[string.lower(SfKp)]=30; |
||
623 | zoneLevelLow[string.lower(StMn)]=34; |
||
624 | zoneLevelHigh[string.lower(StMn)]=45; |
||
625 | zoneLevelLow[string.lower(Uldm)]=41; |
||
626 | zoneLevelHigh[string.lower(Uldm)]=51; |
||
627 | zoneLevelLow[string.lower(RfDn)]=37; |
||
628 | zoneLevelHigh[string.lower(RfDn)]=46; |
||
629 | zoneLevelLow[string.lower(Mrdn)]=46; |
||
630 | zoneLevelHigh[string.lower(Mrdn)]=55; |
||
631 | zoneLevelLow[string.lower(Onyx)]=60; |
||
632 | zoneLevelHigh[string.lower(Onyx)]=62; |
||
633 | zoneLevelLow[string.lower(BlMt)]=42; |
||
634 | zoneLevelHigh[string.lower(BlMt)]=54; |
||
635 | zoneLevelLow[string.lower(CvTm)]=43; |
||
636 | zoneLevelHigh[string.lower(CvTm)]=61; |
||
637 | zoneLevelLow[string.lower(Tmpl)]=50; |
||
638 | zoneLevelHigh[string.lower(Tmpl)]=60; |
||
639 | zoneLevelLow[string.lower(DrMl)]=56; |
||
640 | zoneLevelHigh[string.lower(DrMl)]=60; |
||
641 | zoneLevelLow[string.lower(BlrD)]=52; |
||
642 | zoneLevelHigh[string.lower(BlrD)]=60; |
||
643 | zoneLevelLow[string.lower(BlrS)]=55; |
||
644 | zoneLevelHigh[string.lower(BlrS)]=60; |
||
645 | zoneLevelLow[string.lower(Sthm)]=58; |
||
646 | zoneLevelHigh[string.lower(Sthm)]=60; |
||
647 | zoneLevelLow[string.lower(MCor)]=60; |
||
648 | zoneLevelHigh[string.lower(MCor)]=62; |
||
649 | zoneLevelLow[string.lower(Slmc)]=58; |
||
650 | zoneLevelHigh[string.lower(Slmc)]=60; |
||
651 | zoneLevelLow[string.lower(BlwL)]=60; |
||
652 | zoneLevelHigh[string.lower(BlwL)]=62; |
||
653 | zoneLevelLow[string.lower(ZlGb)]=60; |
||
654 | zoneLevelHigh[string.lower(ZlGb)]=62; |
||
655 | zoneLevelLow[string.lower(AnQR)]=60; |
||
656 | zoneLevelHigh[string.lower(AnQR)]=65; |
||
657 | zoneLevelLow[string.lower(AnQT)]=60; |
||
658 | zoneLevelHigh[string.lower(AnQT)]=65; |
||
659 | zoneLevelLow[string.lower(Naxx)]=60; |
||
660 | zoneLevelHigh[string.lower(Naxx)]=65; |
||
661 | else |
||
662 | zoneLevelLow[string.lower(Stck)]=23; |
||
663 | zoneLevelHigh[string.lower(Stck)]=26; |
||
664 | zoneLevelLow[string.lower(RfCm)]=13; |
||
665 | zoneLevelHigh[string.lower(RfCm)]=15; |
||
666 | zoneLevelLow[string.lower(ZlFk)]=43; |
||
667 | zoneLevelHigh[string.lower(ZlFk)]=47; |
||
668 | zoneLevelLow[string.lower(Ddmn)]=15; |
||
669 | zoneLevelHigh[string.lower(Ddmn)]=20; |
||
670 | zoneLevelLow[string.lower(WCvn)]=15; |
||
671 | zoneLevelHigh[string.lower(WCvn)]=21; |
||
672 | zoneLevelLow[string.lower(Grgn)]=24; |
||
673 | zoneLevelHigh[string.lower(Grgn)]=33; |
||
674 | zoneLevelLow[string.lower(RfKr)]=25; |
||
675 | zoneLevelHigh[string.lower(RfKr)]=35; |
||
676 | zoneLevelLow[string.lower(BlfD)]=20; |
||
677 | zoneLevelHigh[string.lower(BlfD)]=27; |
||
678 | zoneLevelLow[string.lower(SfKp)]=18; |
||
679 | zoneLevelHigh[string.lower(SfKp)]=25; |
||
680 | zoneLevelLow[string.lower(StMn)]=30; |
||
681 | zoneLevelHigh[string.lower(StMn)]=40; |
||
682 | zoneLevelLow[string.lower(Uldm)]=35; |
||
683 | zoneLevelHigh[string.lower(Uldm)]=45; |
||
684 | zoneLevelLow[string.lower(RfDn)]=35; |
||
685 | zoneLevelHigh[string.lower(RfDn)]=40; |
||
686 | zoneLevelLow[string.lower(Mrdn)]=40; |
||
687 | zoneLevelHigh[string.lower(Mrdn)]=49; |
||
688 | zoneLevelLow[string.lower(Onyx)]=60; |
||
689 | zoneLevelHigh[string.lower(Onyx)]=62; |
||
690 | zoneLevelLow[string.lower(BlMt)]=42; |
||
691 | zoneLevelHigh[string.lower(BlMt)]=54; |
||
692 | zoneLevelLow[string.lower(CvTm)]=-6; |
||
693 | zoneLevelHigh[string.lower(CvTm)]=-6; |
||
694 | zoneLevelLow[string.lower(Tmpl)]=44; |
||
695 | zoneLevelHigh[string.lower(Tmpl)]=50; |
||
696 | zoneLevelLow[string.lower(DrMl)]=56; |
||
697 | zoneLevelHigh[string.lower(DrMl)]=60; |
||
698 | zoneLevelLow[string.lower(BlrD)]=48; |
||
699 | zoneLevelHigh[string.lower(BlrD)]=56; |
||
700 | zoneLevelLow[string.lower(BlrS)]=53; |
||
701 | zoneLevelHigh[string.lower(BlrS)]=60; |
||
702 | zoneLevelLow[string.lower(Sthm)]=55; |
||
703 | zoneLevelHigh[string.lower(Sthm)]=60; |
||
704 | zoneLevelLow[string.lower(MCor)]=60; |
||
705 | zoneLevelHigh[string.lower(MCor)]=62; |
||
706 | zoneLevelLow[string.lower(Slmc)]=56; |
||
707 | zoneLevelHigh[string.lower(Slmc)]=60; |
||
708 | zoneLevelLow[string.lower(BlwL)]=60; |
||
709 | zoneLevelHigh[string.lower(BlwL)]=62; |
||
710 | zoneLevelLow[string.lower(ZlGb)]=60; |
||
711 | zoneLevelHigh[string.lower(ZlGb)]=62; |
||
712 | zoneLevelLow[string.lower(AnQR)]=60; |
||
713 | zoneLevelHigh[string.lower(AnQR)]=65; |
||
714 | zoneLevelLow[string.lower(AnQT)]=60; |
||
715 | zoneLevelHigh[string.lower(AnQT)]=65; |
||
716 | zoneLevelLow[string.lower(Naxx)]=60; |
||
717 | zoneLevelHigh[string.lower(Naxx)]=65; |
||
718 | end |
||
719 | |||
720 | -- Abbreviation table |
||
721 | zoneLevelShort["alterac"] = AcMt; |
||
722 | zoneLevelShort["alterac mountains"] = AcMt; |
||
723 | zoneLevelShort["ab"] = ABsn; |
||
724 | zoneLevelShort["aq"] = AnQG; |
||
725 | zoneLevelShort["arathi basin"] = ABsn; |
||
726 | zoneLevelShort["arathi"] = AHld; |
||
727 | zoneLevelShort["arathi highlands"] = AHld; |
||
728 | zoneLevelShort["av"] = AVal; |
||
729 | zoneLevelShort["alterac valley"] = AVal; |
||
730 | zoneLevelShort["ashenvale"] = Ashv; |
||
731 | zoneLevelShort["azshara"] = Azsr; |
||
732 | zoneLevelShort["badlands"] = Bdld; |
||
733 | zoneLevelShort["bs"] = BgSt; |
||
734 | zoneLevelShort["burning steppes"] = BgSt; |
||
735 | zoneLevelShort["bfd"] = BlfD; |
||
736 | zoneLevelShort["blackfathom deeps"] = BlfD; |
||
737 | zoneLevelShort["bl"] = BlLd; |
||
738 | zoneLevelShort["blasted lands"] = BlLd; |
||
739 | zoneLevelShort["brm"] = BlMt; |
||
740 | zoneLevelShort["blackrock mountain"] = BlMt; |
||
741 | zoneLevelShort["brd"] = BlrD; |
||
742 | zoneLevelShort["blackrock depths"] = BlrD; |
||
743 | zoneLevelShort["brs"] = BlrS; |
||
744 | zoneLevelShort["blackrock spire"] = BlrS; |
||
745 | zoneLevelShort["barrens"] = Brns; |
||
746 | zoneLevelShort["bwl"] = BlwL; |
||
747 | zoneLevelShort["blackwing lair"] = BlwL; |
||
748 | zoneLevelShort["bb"] = BtyB; |
||
749 | zoneLevelShort["booty bay"] = BtyB; |
||
750 | zoneLevelShort["cot"] = CvTm; |
||
751 | zoneLevelShort["caverns of time"] = CvTm; |
||
752 | zoneLevelShort["darkshore"] = Dksr; |
||
753 | zoneLevelShort["darn"] = Darn; |
||
754 | zoneLevelShort["darnassus"] = Darn; |
||
755 | zoneLevelShort["deadmines"] = Ddmn; |
||
756 | zoneLevelShort["deadwind"] = DwPs; |
||
757 | zoneLevelShort["deadwind pass"] = DwPs; |
||
758 | zoneLevelShort["desolace"] = Dslc; |
||
759 | zoneLevelShort["dm"] = DrMl; |
||
760 | zoneLevelShort["dire maul"] = DrMl; |
||
761 | zoneLevelShort["dun morogh"] = DunM; |
||
762 | zoneLevelShort["durotar"] = Drtr; |
||
763 | zoneLevelShort["duskwood"] = Dkwd; |
||
764 | zoneLevelShort["dustwallow"] = DtwM; |
||
765 | zoneLevelShort["dwm"] = DtwM; |
||
766 | zoneLevelShort["dustwallow marsh"] = DtwM; |
||
767 | zoneLevelShort["epl"] = EPlg; |
||
768 | zoneLevelShort["eastern plaguelands"] = EPlg; |
||
769 | zoneLevelShort["elwynn"] = EwnF; |
||
770 | zoneLevelShort["elwynn forest"] = EwnF; |
||
771 | zoneLevelShort["felwood"] = Flwd; |
||
772 | zoneLevelShort["feralas"] = Frls; |
||
773 | zoneLevelShort["loch"] = LMod; |
||
774 | zoneLevelShort["loch modan"] = LMod; |
||
775 | zoneLevelShort["mulgore"] = Mlgr; |
||
776 | zoneLevelShort["moonglade"] = Mngd; |
||
777 | zoneLevelShort["silithus"] = Slts; |
||
778 | zoneLevelShort["ungoro"] = Goro; |
||
779 | zoneLevelShort["ungoro crater"] = Goro; |
||
780 | zoneLevelShort["gnomer"] = Grgn; |
||
781 | zoneLevelShort["gnomeregon"] = Grgn; |
||
782 | zoneLevelShort["gadget"] = Gtzn; |
||
783 | zoneLevelShort["gadgetzan"] = Gtzn; |
||
784 | zoneLevelShort["hillsbrad"] = HdFt; |
||
785 | zoneLevelShort["hillsbrad foothills"] = HdFt; |
||
786 | zoneLevelShort["hinterlands"] = Htld; |
||
787 | zoneLevelShort["1kn"] = KNdl; |
||
788 | zoneLevelShort["thousand needles"] = KNdl; |
||
789 | zoneLevelShort["mc"] = MCor; |
||
790 | zoneLevelShort["molten core"] = MCor; |
||
791 | zoneLevelShort["md"] = Mrdn; |
||
792 | zoneLevelShort["maur"] = Mrdn; |
||
793 | zoneLevelShort["mauradon"] = Mrdn; |
||
794 | zoneLevelShort["nax"] = Naxx; |
||
795 | zoneLevelShort["naxx"] = Naxx; |
||
796 | zoneLevelShort["naxxramas"] = Naxx; |
||
797 | zoneLevelShort["onyxia"] = Onyx; |
||
798 | zoneLevelShort["onyx"] = Onyx; |
||
799 | zoneLevelShort["onyxias lair"] = Onyx; |
||
800 | zoneLevelShort["rfc"] = RfCm; |
||
801 | zoneLevelShort["ragefire chasm"] = RfCm; |
||
802 | zoneLevelShort["rfd"] = RfDn; |
||
803 | zoneLevelShort["razorfen downs"] = RfDn; |
||
804 | zoneLevelShort["rfk"] = RfKr; |
||
805 | zoneLevelShort["razorfen kraul"] = RfKr; |
||
806 | zoneLevelShort["redridge"] = RrMt; |
||
807 | zoneLevelShort["redridge mts"] = RrMt; |
||
808 | zoneLevelShort["redridge mountains"] = RrMt; |
||
809 | zoneLevelShort["sfk"] = SfKp; |
||
810 | zoneLevelShort["shadowfang keep"] = SfKp; |
||
811 | zoneLevelShort["scholo"] = Slmc; |
||
812 | zoneLevelShort["scholomance"] = Slmc; |
||
813 | zoneLevelShort["stratholme"] = Sthm; |
||
814 | zoneLevelShort["sos"] = SoSs; |
||
815 | zoneLevelShort["swamp of sorrows"] = SoSs; |
||
816 | zoneLevelShort["stockade"] = Stck; |
||
817 | zoneLevelShort["sm"] = StMn; |
||
818 | zoneLevelShort["scarlet monastery"] = StMn; |
||
819 | zoneLevelShort["stonetalon"] = StMt; |
||
820 | zoneLevelShort["stonetalon mts"] = StMt; |
||
821 | zoneLevelShort["stonetalon mountains"] = StMt; |
||
822 | zoneLevelShort["stv"] = StrV; |
||
823 | zoneLevelShort["stranglethorn vale"] = StrV; |
||
824 | zoneLevelShort["silverpine"] = SvpF; |
||
825 | zoneLevelShort["silverpine forest"] = SvpF; |
||
826 | zoneLevelShort["tb"] = TdrB; |
||
827 | zoneLevelShort["thunder bluff"] = TdrB; |
||
828 | zoneLevelShort["tirisfal"] = Tfal; |
||
829 | zoneLevelShort["tirisfal glades"] = Tfal; |
||
830 | zoneLevelShort["teldrassil"] = Trdl; |
||
831 | zoneLevelShort["tanaris"] = Tnrs; |
||
832 | zoneLevelShort["uldaman"] = Uldm; |
||
833 | zoneLevelShort["westfall"] = Wtfl; |
||
834 | zoneLevelShort["wetlands"] = Wtld; |
||
835 | zoneLevelShort["ws"] = Wtsg; |
||
836 | zoneLevelShort["winterspring"] = Wtsg; |
||
837 | zoneLevelShort["st"] = Tmpl; |
||
838 | zoneLevelShort["sunken temple"] = Tmpl; |
||
839 | zoneLevelShort["wc"] = WCvn; |
||
840 | zoneLevelShort["wailing caverns"] = WCvn; |
||
841 | zoneLevelShort["wsg"] = WGch; |
||
842 | zoneLevelShort["warsong gulch"] = WGch; |
||
843 | zoneLevelShort["wpl"] = WPlg; |
||
844 | zoneLevelShort["western plaguelands"] = WPlg; |
||
845 | zoneLevelShort["zf"] = ZlFk; |
||
846 | zoneLevelShort["zulfarrak"] = ZlFk; |
||
847 | zoneLevelShort["zul farrak"] = ZlFk; |
||
848 | zoneLevelShort["zg"] = ZlGb; |
||
849 | zoneLevelShort["zulgurub"] = ZlGb; |
||
850 | zoneLevelShort["zul gurub"] = ZlGb; |
||
851 | end |