Files
aowow/template/js/maps.js
Sarjuuk 8d3698d466 initial commit
features:
- tool - Maps:
   * finally supports multi-layered zones
   * should also support icons if needed (questgiver, ect)

- tool - Item Comparison:
   * fully functional (yes, that includes heirlooms and items with random props)
   * may throw a minor js-error if using arrow-keys/esc/ret in input-fields in the LightboxPopus (but wowhead does also)
   * icons for prismatic sockets are not displayed if no other sockets are present (calculation is correct though)
   * modelviewer will still 'call home'

- tool - Talent Calculator:
   * got rid of a VERY dirty hack for the icons (they are now supplied as texture, not laoded one at a time)
   * glyphs should also be a bit more informative
   * talent data is pulled from static file, that should a) speed up load and b) prevent lockups if it cant be generated on the fly
   * you can now set the level for your build, which affects available talent points, glyphs and glyph-slots

- tool - Pet Calculator:
   * initial implementation; basically the same as the Talent Calculator

- general concept changed:
   * dropped ajax.php; json is now supplied by the appropriate page if &json is appended to the url
   * search.php and opensearch.php are being merged; again, output will depend on the appended parameter (&openserach, &json)
   * data included via data.php will be static and assembled only on installation and when the database changes (should speed up load)
   * locale strings are now in a single file instead of being split up to the template
   * still getting rid of criss-cross-includes, global variables and string-defines
2012-12-19 00:53:36 +01:00

91 lines
3.7 KiB
JavaScript

function ma_Init() {
ma_AddOptions(ge('maps-ek'), [1, 3, 4, 8, 10, 11, 12, 28, 33, 36, 38, 40, 41, 44, 45, 46, 47, 51, 85, 130, 139, 267, 1497, 1519, 1537, 3430, 3433, 3487, 4080, 4298]);
ma_AddOptions(ge('maps-kalimdor'), [14, 15, 16, 17, 141, 148, 215, 331, 357, 361, 400, 405, 406, 440, 490, 493, 618, 1377, 1637, 1638, 1657, 3524, 3525, 3557]);
ma_AddOptions(ge('maps-outland'), [3483, 3518, 3519, 3520, 3521, 3522, 3523, 3703]);
ma_AddOptions(ge('maps-northrend'), [65, 66, 67, 210, 394, 495, 2817, 3537, 3711, 4197, 4395, 4742]);
ma_AddOptions(ge('maps-battlegrounds'), [2597, 3277, 4384, 3358, 3820, 4710]);
ma_AddOptions(ge('maps-raids'), [
1977, 2677, 2717, 3428, 3429, // Classic: Zul'Gurub, Blackwing Lair, Molten Core, Ahn'Qiraj, Ruins of Ahn'Qiraj
3457, 3606, 3607, 3805, 3836, // BC: Karazhan, Hyjal Summit, Serpentshrine Cavern, Zul'Aman, Magtheridon's Lair
3845, 3923, 3959, 4075, // BC: Tempest Keep, Gruul's Lair, Black Temple, Sunwell Plateau
2159, 3456, 4273, 4493, 4500, // WotLK: Onyxia's Lair, Naxxramas, Ulduar, The Obsidian Sanctum, The Eye of Eternity
4603, 4722, 4812, 4987 // WotlK: Vault of Archavon, Trial of the Crusader, Icecrown Citadel, The Ruby Sanctum
]);
ma_AddOptions(ge('maps-dungeons'), [
209, 491, 717, 718, 719, // Classic: Shadowfang Keep, Razorfen Kraul, The Stockade, Wailing Caverns, Blackfathom Deeps
721, 722, 796, 1176, 1337, // Classic: Gnomeregan, Razorfen Downs, Scarlet Monastery, Zul'Farrak, Uldaman
1477, 1581, 1583, 1584, 2017, // Classic: The Temple of Atal'Hakkar, The Deadmines, Blackrock Spire, Blackrock Depths, Stratholme
2057, 2100, 2437, 2557, // Classic: Scholomance, Maraudon, Ragefire Chasm, Dire Maul
2366, 2367, 3562, 3713, 3714, // BC: The Black Morass, Old Hillsbrad Foothills, Hellfire Ramparts, The Blood Furnace, The Shattered Halls
3715, 3716, 3717, 3789, 3790, // BC: The Steamvault, The Underbog, The Slave Pens, Shadow Labyrinth, Auchenai Crypts
3791, 3792, 3847, 3848, 3849, // BC: Sethekk Halls, Mana-Tombs, The Botanica, The Arcatraz, The Mechanar
4131, // BC: Magisters' Terrace
206, 1196, 4100, 4196, 4228, // WotlK: Utgarde Keep, Utgarde Pinnacle, The Culling of Stratholme, Drak'Tharon Keep, The Oculus
4264, 4265, 4272, 4277, 4415, // WotlK: Halls of Stone, The Nexus, Halls of Lightning, Azjol-Nerub, The Violet Hold
4416, 4494, 4723, 4809, 4813, // WotlK: Gundrak, Ahn'kahet: The Old Kingdom, Trial of the Champion, The Forge of Souls, Pit of Saron
4820, // WotlK: Halls of Reflection
]);
myMapper = new Mapper({
parent: 'mapper-generic',
editable: true,
zoom: 1,
onPinUpdate: ma_UpdateLink,
onMapUpdate: ma_UpdateLink
});
var _ = location.href.indexOf('maps=');
if (_ != -1) {
_ = location.href.substr(_ + 5);
if (myMapper.setLink(_)) {
ge('mapper').style.display = '';
}
}
}
function ma_AddOptions(s, a) {
a.sort(ma_Sort);
array_apply(a, function (x) {
var o = ce('option');
o.value = x
ae(o, ct(g_zones[typeof x == 'string' ? parseInt(x) : x]));
ae(s, o);
});
}
function ma_Sort(a, b) {
if (typeof a == 'string') {
a = parseInt(a);
}
if (typeof b == 'string') {
b = parseInt(b);
}
return strcmp(g_zones[a], g_zones[b]);
}
function ma_ChooseZone(s) {
if (s.value && s.value != '0') {
if (myMapper.getZone() == 0) {
ge('mapper').style.display = '';
}
myMapper.setZone(s.value);
}
s.selectedIndex = 0;
}
function ma_UpdateLink(_) {
var
b = '?maps',
l = _.getLink();
if (l) {
b += '=' + l;
}
ge('link-to-this-map').href = b;
};