1751 lines
96 KiB
JavaScript
1751 lines
96 KiB
JavaScript
var pointlock = 51;
|
|
var treeType = "normal";
|
|
var classString = "11";
|
|
var buildVersionString = "11215875";
|
|
var fillOutString = "";
|
|
var talentPointsRequired = "5";
|
|
var layoutSwitch="&layout=slim";
|
|
|
|
|
|
var MENU_ITEMS_CLASSES = [
|
|
{pos:[15,160], itemoff:[0,159], leveloff:[22,0], style:TOPSTYLE, size:[22,160]},
|
|
{code:LANGTalent_ChooseClass, url:"javascript:;", sub:[
|
|
{itemoff:[23,0], style:STYLE_CLASS, size:[23,159]},
|
|
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/class_druid.png'/></td><td class='classDruidMenu'> Druid</td></tr></table>", url: "?talent=11215875_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/class_hunter.png'/></td><td class='classHunterMenu'> Hunter</td></tr></table>", url: "?talent=11215875_3"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/class_mage.png'/></td><td class='classMageMenu'> Mage</td></tr></table>", url: "?talent=11215875_8"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/class_paladin.png'/></td><td class='classPaladinMenu'> Paladin</td></tr></table>", url: "?talent=11215875_2"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/class_priest.png'/></td><td class='classPriestMenu'> Priest</td></tr></table>", url: "?talent=11215875_5"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/class_rogue.png'/></td><td class='classRogueMenu'> Rogue</td></tr></table>", url: "?talent=11215875_4"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/class_shaman.png'/></td><td class='classShamanMenu'> Shaman</td></tr></table>", url: "?talent=11215875_7"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/class_warlock.png'/></td><td class='classWarlockMenu'> Warlock</td></tr></table>", url: "?talent=11215875_9"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/class_warrior.png'/></td><td class='classWarriorMenu'> Warrior</td></tr></table>", url: "?talent=11215875_1"}
|
|
|
|
]
|
|
}
|
|
];
|
|
|
|
var MENU_ITEMS_VERSIONS = [
|
|
{pos:[15,257], itemoff:[0,159], leveloff:[22,0], style:TOPSTYLE, size:[22,160]},
|
|
{code:LANGTalent_ChooseVersion, url:"javascript:;", sub:[
|
|
{itemoff:[26,0], style:STYLE_VERSION, size:[26,159]},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/talent/icon_wrath.png'/></td><td class='classWOTLKMenu'> WotLk</td></tr></table>", url: "javascript:;", leveloff:[0,160], sub:[
|
|
{itemoff:[23,0], leveloff:[0,160], style:STYLE_ITEM, size:[23,159]},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.1.8303 - Alpha</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018303_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.1.8334 - Alpha</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018334_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.1.8391 - Alpha</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018391_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.1.8471 - Alpha</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018471_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.1.8622 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018622_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.1.8634 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018634_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.1.8681 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018681_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.1.8714 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018714_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.1.8770 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018770_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.1.8788 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018788_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.1.8820 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=3018820_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.2.8885 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3028885_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.2.8970 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3028970_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.2.9038 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3029038_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.2.9056 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3029056_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.2.9061 - Beta</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3029061_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.3.9183</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3039183_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.0.8.9464</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3089464_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.1.0.9767</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3109767_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.1.1.9835</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3119835_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>3.1.3.9947 - Live</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=3139947_11"},
|
|
|
|
]},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/talent/icon_tbc.png'/></td><td class='classTBCMenu'> TBC</td></tr></table>", url: "javascript:;", leveloff:[0,160], sub:[
|
|
{itemoff:[23,0], leveloff:[0,160], style:STYLE_ITEM, size:[23,159]},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.0.0.6080</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2006080_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.0.3.6299</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2036299_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.0.5.6320</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2056320_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.0.6.6337</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2066337_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.0.7.6383</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2076383_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.0.8.6403</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2086403_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.0.10.6448</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=20106448_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.0.12.6546</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=20126546_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.1.0.6692</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2106692_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.1.0.6729</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2106729_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.1.1.6739</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=2116739_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.1.2.6803</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2126803_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.1.3.6898</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2136898_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.2.0.7272</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2207272_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.2.2.7318</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2227318_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.2.3.7359</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2237359_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.3.0.7561</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2307561_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.3.2.7741</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2327741_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.3.3.7799</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2337799_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.4.0.8089</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2408089_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.4.1.8125</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=2418125_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.4.2.8278</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2428278_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>2.4.3.8606</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2438606_11"},
|
|
|
|
]},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/talent/icon_classic.png'/></td><td class='classClassicMenu'> WoW Classic</td></tr></table>", url: "javascript:;", leveloff:[0,160], sub:[
|
|
{itemoff:[23,0], leveloff:[0,160], style:STYLE_ITEM, size:[23,159]},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.1.2.4125 - US Start</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1124125_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.2.3.4211 - EU Start</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1234211_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.2.4.4222</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1244222_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.3.0.4284</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1304284_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.3.1.4297</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1314297_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.4.0.4341</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1404341_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.4.1.4364</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1414364_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.4.2.4375</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1424375_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.5.0.4442</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1504442_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.5.1.4449</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1514449_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.6.0.4500</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=1604500_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.6.1.4544</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1614544_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.7.0.4671</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1704671_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.7.1.4695</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1714695_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.8.0.4735</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1804735_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.8.1.4769</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1814769_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.8.2.4784</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1824784_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.8.3.4807</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1834807_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.8.4.4878</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1844878_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.9.0.4937</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1904937_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.9.1.4983</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=1914983_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.9.2.4996</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1924996_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.9.3.5059</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1935059_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.9.4.5086</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1945086_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.10.0.5195</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11005195_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.10.1.5230</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11015230_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.10.2.5302</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11025302_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.11.0.5428</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11105428_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.11.1.5462</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11115462_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.11.2.5464</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11125464_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.12.0.5595</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=11205595_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.12.1.5875</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11215875_11"},
|
|
{code:"<table border='0' cellspacing='0' cellpadding='0'><tr><td><img border='0' src='/img/menu/icon/point.gif'/></td><td class='classWhiteMenu'>1.12.2.6005</td></tr></table>", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11226005_11"},
|
|
|
|
]}
|
|
]
|
|
}
|
|
];
|
|
|
|
var menuVersions = new COOLjsMenu("menuVersions", MENU_ITEMS_VERSIONS);
|
|
var menuClasses = new COOLjsMenu("menuClasses", MENU_ITEMS_CLASSES);
|
|
|
|
function resetHoverOn(id)
|
|
{
|
|
document.getElementById(id).style.backgroundImage = "url(/img/talent/resetbutton_over.png)";
|
|
}
|
|
|
|
function resetHoverOff(id)
|
|
{
|
|
document.getElementById(id).style.backgroundImage = "url(/img/talent/resetbutton.png)";
|
|
}
|
|
|
|
function setOpacity(B,A){B.style.opacity=A/10;B.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+A*10+")"}
|
|
function obj_left(B){var A=B.offsetLeft;while((B=B.offsetParent)!=null){A+=B.offsetLeft}return A}
|
|
function obj_top(B){var A=B.offsetTop;while((B=B.offsetParent)!=null){A+=B.offsetTop}return A}
|
|
|
|
function selectBuildText()
|
|
{
|
|
document.getElementById("buildText").select();
|
|
}
|
|
|
|
//-------------------------------------------
|
|
// Talent Button
|
|
//-------------------------------------------
|
|
function TalentObj(A,D,E)
|
|
{
|
|
this.tree=A;
|
|
this.pos=E;
|
|
this.row=D;
|
|
this.talentname=L("-");
|
|
this.desc=L("-");
|
|
this.numRanks=0;
|
|
this.curRank=0;
|
|
this.icon="temp.png";
|
|
this.reqs=new Array();
|
|
this.type="empty";
|
|
this.ranks=new Array(6);
|
|
|
|
for(var C=0;C<=talentPointsRequired;C++)
|
|
{
|
|
this.ranks[C]=new Array(11);
|
|
|
|
for(var B=0;B<=10;B++)
|
|
{
|
|
this.ranks[C][B]=""
|
|
}
|
|
}
|
|
|
|
this.treeelm=treee[A];
|
|
this.butbg=$(this.getID());
|
|
this.butc=$(this.getID()+"c");
|
|
this.butimg=$(this.getID()+"i");
|
|
this.butbg.style.left=(25+65*(this.getPos()-1)+treel[A])+"px";
|
|
this.butbg.style.top=(5+65*(this.getRow()-1)+treet[A])+"px";
|
|
addListener(this.butbg,"mouseup",butclick);
|
|
addListener(this.butbg,"contextmenu",butclick2);
|
|
addListener(this.butbg,"mouseover",butmouseover);
|
|
addListener(this.butbg,"mouseout",butmouseout);
|
|
this.redraw(false)
|
|
}
|
|
|
|
TalentObj.prototype.setLoc=function setLoc(A,B,C)
|
|
{
|
|
this.removeReqs();
|
|
this.tree=A;
|
|
this.pos=C;
|
|
this.row=B;
|
|
this.treeelm=treee[A];
|
|
this.butbg=$(this.getID());
|
|
this.butc=$(this.getID()+"c");
|
|
this.butimg=$(this.getID()+"i");
|
|
this.butbg.style.left=(25+65*(this.getPos()-1)+treel[A])+"px";
|
|
this.butbg.style.top=(5+65*(this.getRow()-1)+treet[A])+"px";
|
|
this.redraw("")
|
|
};
|
|
|
|
TalentObj.prototype.getTree=function getTree(){return this.tree};
|
|
TalentObj.prototype.getPos=function getPos(){return this.pos};
|
|
TalentObj.prototype.getRow=function getRow(){return this.row};
|
|
TalentObj.prototype.getType=function getType(){return this.type};
|
|
TalentObj.prototype.getDescription=function getDescription(){return this.desc};
|
|
TalentObj.prototype.getRankDescription=function getRankDescription(tree, row, column, rank)
|
|
{
|
|
if (rank == 0)
|
|
rank = 1;
|
|
|
|
var tableIndex = tree.toString() + row.toString() + column.toString() + rank.toString();
|
|
return descriptionTable[tableIndex];
|
|
};
|
|
TalentObj.prototype.setDescription=function setDescription(A){this.desc=A};
|
|
TalentObj.prototype.getTalentname=function getTalentname(){return this.talentname};
|
|
TalentObj.prototype.setTalentname=function setTalentname(A){this.talentname=A};
|
|
TalentObj.prototype.getNumRanks=function getNumRanks(){return this.numRanks};
|
|
TalentObj.prototype.getCurRank=function getCurRank(){return this.curRank};
|
|
TalentObj.prototype.getActiveCost=function getActiveCost(){return this.ActiveCost};
|
|
TalentObj.prototype.setActiveCost=function setActiveCost(A){this.ActiveCost=A};
|
|
TalentObj.prototype.setActiveCostType=function setActiveCostType(A){this.ActiveCostType=A};
|
|
TalentObj.prototype.getActiveCostType=function getActiveCostType(){return this.ActiveCostType};
|
|
TalentObj.prototype.getActiveCastTime=function getActiveCastTime(){return this.ActiveCastTime};
|
|
TalentObj.prototype.setActiveSpellType=function setActiveSpellType(A){this.ActiveSpellType=A};
|
|
TalentObj.prototype.getActiveSpellType=function getActiveSpellType(){return this.ActiveSpellType};
|
|
TalentObj.prototype.getActiveCastTime=function getActiveCastTime(){return this.ActiveCastTime};
|
|
TalentObj.prototype.getActiveCooldown=function getActiveCooldown(){return this.ActiveCooldown};
|
|
TalentObj.prototype.setActiveCooldown=function setActiveCooldown(A){this.ActiveCooldown=A};
|
|
TalentObj.prototype.getActiveRangeMin=function getActiveRangeMin(){return this.ActiveRangeMin};
|
|
TalentObj.prototype.setActiveRangeMin=function setActiveRangeMin(A){this.ActiveRangeMin=A};
|
|
TalentObj.prototype.getActiveRangeMax=function getActiveRangeMax(){return this.ActiveRangeMax};
|
|
TalentObj.prototype.setActiveRangeMax=function setActiveRangeMax(A){this.ActiveRangeMax=A};
|
|
TalentObj.prototype.getActiveReagents=function getActiveReagents(){return this.ActiveReagents};
|
|
TalentObj.prototype.setActiveReagents=function setActiveReagents(A){this.ActiveReagents=A};
|
|
TalentObj.prototype.getActiveRequires=function getActiveRequires(){return this.ActiveRequires};
|
|
TalentObj.prototype.setActiveRequires=function setActiveRequires(A){this.ActiveRequires=A};
|
|
TalentObj.prototype.getActiveMaxRank=function getActiveMaxRank(){return this.ActiveMaxRank};
|
|
TalentObj.prototype.setActiveMaxRank=function setActiveMaxRank(A){this.ActiveMaxRank=A};
|
|
TalentObj.prototype.getIcon=function getIcon(){return this.icon};
|
|
TalentObj.prototype.setIcon=function setIcon(A){if(A.indexOf("/")!=-1){this.icon="Spells/"+A.substring((A.lastIndexOf("/")+1))}else{this.icon=A}};
|
|
TalentObj.prototype.setActiveCastTime=function setActiveCastTime(A){if((A==0)&&(this.getActiveSpellType()=="casttime")){this.setActiveSpellType("instant")}this.ActiveCastTime=A};
|
|
|
|
TalentObj.prototype.setType=function setType(A)
|
|
{
|
|
A=A.toLowerCase();
|
|
|
|
if(A==this.type)
|
|
{
|
|
return
|
|
}
|
|
|
|
if(this.getRow()>7&&treeType=="normal")
|
|
{
|
|
A="hidden"
|
|
}
|
|
|
|
switch(A.toLowerCase())
|
|
{
|
|
case"e":
|
|
case"empty":
|
|
this.setIcon("temp.png");
|
|
this.setNumRanks(0);
|
|
this.setCurRank(0);
|
|
this.removeReqs();
|
|
this.setTalentname(L("-"));
|
|
this.setDescription(L("-"));
|
|
this.type="empty";
|
|
break;
|
|
case"a":
|
|
case"active":
|
|
this.setNumRanks(1);
|
|
this.setCurRank(0);
|
|
this.type="active";
|
|
break;
|
|
case"p":
|
|
case"passive":
|
|
this.setCurRank(0);
|
|
this.type="passive";
|
|
break;
|
|
case"h":
|
|
case"hidden":
|
|
this.setNumRanks(0);
|
|
this.setCurRank(0);
|
|
this.removeReqs();
|
|
this.type="hidden";
|
|
break
|
|
}
|
|
};
|
|
|
|
TalentObj.prototype.setCurRank=function setCurRank(A){if(A>this.getNumRanks()){this.curRank=this.getNumRanks()}else{this.curRank=A}};
|
|
TalentObj.prototype.setNumRanks=function setNumRanks(A){this.numRanks=A;this.setCurRank(0)};
|
|
TalentObj.prototype.setRank=function setRank(C,A,B){this.ranks[C][A]=B};
|
|
TalentObj.prototype.getRank=function setRank(B,A){return this.ranks[B][A]};
|
|
TalentObj.prototype.getPassiveDesc=function getPassiveDesc(D){if(D<1||D>talentPointsRequired){D=1}var B=0;var A=this.desc.indexOf("@",0);while(A!=-1){B++;A=this.desc.indexOf("@",(A+1));if(B>10){return this.desc}}var C=nl2br(htmlspecialchars(this.desc));for(A=0;A<B;A++){C=C.replace(/@/,this.getRank(D,A))}return C};
|
|
TalentObj.prototype.getPassiveRanks=function getPassiveRanks(){var D=0;var C=this.desc.indexOf("@",0);while(C!=-1){D++;C=this.desc.indexOf("@",(C+1));if(D>10){return""}}var A="";for(var B=0;B<D;B++){for(C=1;C<=this.getNumRanks();C++){if(A!=""){A+="|"}A+=this.getRank(C,B)}}return this.getNumRanks()+A};
|
|
TalentObj.prototype.getReqs=function getReqs(A){return this.reqs.join("|")};
|
|
TalentObj.prototype.addReq=function addReq(C){this.reqs.push(C);var A=translateSticky(C);var B=A[1];var D=A[2];spawnArrow(this.getTree(),B,D,this.getRow(),this.getPos())};
|
|
TalentObj.prototype.isReq=function isReq(B){for(var A=0;A<this.reqs.length;A++){if(this.reqs[A]==B){return true}}return false};
|
|
TalentObj.prototype.removeReq=function removeReq(D){for(var B=0;B<this.reqs.length;B++){if(this.reqs[B]!=D){continue}var A=translateSticky(this.reqs[B]);var C=A[1];var E=A[2];removeArrow(this.getTree(),C,E,this.getRow(),this.getPos());this.reqs.slice(B,1);return }};
|
|
TalentObj.prototype.removeReqs=function removeReqs(){for(var B=0;B<this.reqs.length;B++){var A=translateSticky(this.reqs[B]);var C=A[1];var D=A[2];removeArrow(this.getTree(),C,D,this.getRow(),this.getPos())}this.reqs=new Array()};
|
|
TalentObj.prototype.reqsAreOk=function reqsAreOk(){for(var D=0;D<this.reqs.length;D++){var A=translateSticky(this.reqs[D]);var F=A[1];var G=A[2];if(!treec[this.getTree()][F][G].isMaxRank()){return false}}var E=(talentPointsRequired*(this.getRow()-1));if(E>0){var C=0;for(var D=1;D<this.getRow();D++){for(var B=1;B<=4;B++){C+=parseInt(treec[this.getTree()][D][B].getCurRank())}}if(C<E){return false}}return true};
|
|
TalentObj.prototype.addPoint=function addPoint(){if((this.getCurRank()<this.getNumRanks())&&(pointlock==0||((treep[1]+treep[2]+treep[3])<pointlock))){this.setCurRank(this.getCurRank()+1);this.redraw(false);var D=0;var A=getMaxi();for(var C=1;C<=A;C++){for(var B=1;B<=4;B++){D+=parseInt(treec[this.getTree()][C][B].getCurRank())}}treep[this.getTree()]=D;if((pointlock>0)&&((treep[1]+treep[2]+treep[3])>=pointlock)){redrawAll()}else{for(var C=1;C<=A;C++){for(var B=1;B<=4;B++){treec[this.getTree()][C][B].redraw(false)}}}return true}return false};
|
|
TalentObj.prototype.subPoint=function subPoint(){if(this.getCurRank()>0){this.setCurRank(this.getCurRank()-1);treep[this.getTree()]--;var C=getMaxi();for(var E=this.getRow();E<=C;E++){for(var D=1;D<=4;D++){if(treec[this.getTree()][E][D].getCurRank()>0&&!treec[this.getTree()][E][D].reqsAreOk()){this.setCurRank(this.getCurRank()+1);treep[this.getTree()]++;for(var B=this.getRow();B<=E;B++){for(var A=1;A<=4;A++){treec[this.getTree()][B][A].redraw(false)}}return false}else{treec[this.getTree()][E][D].redraw(false)}}}if(pointlock>0&&((treep[1]+treep[2]+treep[3])<pointlock)){redrawAll()}else{this.redraw(false)}return true}return false};
|
|
|
|
TalentObj.prototype.getReadCost=function getReadCost()
|
|
{
|
|
if(this.ActiveCostType=="runes")
|
|
{
|
|
var E=this.getActiveCost();
|
|
var D=E.substring(0,1);
|
|
var C=E.substring(1,2);
|
|
var A=E.substring(2,3);
|
|
var B="";
|
|
|
|
if(parseInt(D)>0)
|
|
{
|
|
B+=D+'<img src="/img/spacer.gif" width="13" height="13" alt="Blood Runes" class="runeB" /> '
|
|
}
|
|
|
|
if(parseInt(A)>0)
|
|
{
|
|
B+=A+'<img src="/img/spacer.gif" width="13" height="13" alt="Unholy Runes" class="runeF" /> '
|
|
}
|
|
|
|
if(parseInt(C)>0)
|
|
{
|
|
B+=C+'<img src="/img/spacer.gif" width="13" height="13" alt="Frost Runes" class="runeU" /> '
|
|
}
|
|
|
|
return B
|
|
}
|
|
else if(this.ActiveCostType=="runicpower")
|
|
{
|
|
return htmlspecialchars(LANGTalent_Requires+""+htmlspecialchars(this.getReadCostType()))
|
|
}
|
|
else
|
|
{
|
|
return htmlspecialchars(this.getActiveCost())+""+htmlspecialchars(this.getReadCostType())
|
|
}
|
|
};
|
|
|
|
TalentObj.prototype.getReadCostType=function getReadCostType()
|
|
{
|
|
if(this.ActiveCostType=="procmana")
|
|
{
|
|
return L(LANGTalent_Spell_BaseMana)
|
|
}
|
|
|
|
if(this.ActiveCostType=="procrmana")
|
|
{
|
|
return L(LANGTalent_Spell_RemainingMana)
|
|
}
|
|
|
|
if(this.ActiveCostType=="mana")
|
|
{
|
|
return " "+L(LANGTalent_Mana)
|
|
}
|
|
|
|
if(this.ActiveCostType=="focus")
|
|
{
|
|
return " "+L(LANGTalent_Focus)
|
|
}
|
|
|
|
if(this.ActiveCostType=="rage")
|
|
{
|
|
return " "+L(LANGTalent_Rage)
|
|
}
|
|
|
|
if(this.ActiveCostType=="energy")
|
|
{
|
|
return " "+L(LANGTalent_Energy)
|
|
}
|
|
|
|
if(this.ActiveCostType=="runicpower")
|
|
{
|
|
return L(LANGTalent_RunicPower)
|
|
}
|
|
|
|
return " "+L(this.ActiveCostType)
|
|
};
|
|
|
|
TalentObj.prototype.getReadRange=function getReadRange()
|
|
{
|
|
if(this.hasNoRange())
|
|
{
|
|
return ""
|
|
}
|
|
|
|
if(this.ActiveRangeMin==0&&this.ActiveRangeMax>0)
|
|
{
|
|
return LANGTalent_Spell_Range.replace("{0}", this.ActiveRangeMax)
|
|
}
|
|
|
|
if(this.ActiveRangeMin==this.ActiveRangeMax)
|
|
{
|
|
return LANGTalent_Spell_Range.replace("{0}", this.ActiveRangeMax)
|
|
}
|
|
|
|
return LANGTalent_Spell_Range.replace("{0}", this.ActiveRangeMin+"-"+this.ActiveRangeMax)
|
|
}
|
|
|
|
TalentObj.prototype.getReadCasttime=function getReadCasttime()
|
|
{
|
|
if((this.ActiveCastTime==0)&&(this.getActiveSpellType()=="casttime"))
|
|
{
|
|
this.setActiveSpellType("instant")
|
|
}
|
|
|
|
if(this.getActiveSpellType()=="channeled")
|
|
{
|
|
return L(LANGTalent_Spell_Channeled)
|
|
}
|
|
|
|
if(this.getActiveSpellType()=="nextmelee")
|
|
{
|
|
return L(LANGTalent_Spell_NextMelee)
|
|
}
|
|
|
|
if(this.getActiveCost()>0)
|
|
{
|
|
if(this.getActiveSpellType()=="instant" && this.getActiveCostType()=="mana")
|
|
{
|
|
return L(LANGTalent_Spell_InstantCast)
|
|
}
|
|
|
|
if(this.getActiveSpellType()=="instant")
|
|
{
|
|
return L(LANGTalent_Spell_Instant)
|
|
}
|
|
|
|
if(this.ActiveCastTime < 60)
|
|
{
|
|
return LANGTalent_Spell_CastTimeSec.replace("{0}", this.ActiveCastTime);
|
|
}
|
|
|
|
if(this.ActiveCastTime%60==0)
|
|
{
|
|
return LANGTalent_Spell_CastTimeMin.replace("{0}", parseInt(this.ActiveCastTime/60));
|
|
}
|
|
|
|
if(parseInt(this.ActiveCastTime%60)<10)
|
|
{
|
|
return LANGTalent_Spell_CastTimeMinSec.replace("{0}", parseInt(this.ActiveCastTime/60)).replace("{1}", parseInt(this.ActiveCastTime%60));
|
|
}
|
|
|
|
return LANGTalent_Spell_CastTimeMinSec.replace("{0}", parseInt(this.ActiveCastTime/60)).replace("{1}", parseInt(this.ActiveCastTime%60));
|
|
}
|
|
else
|
|
{
|
|
if(this.getActiveSpellType()=="instant" && this.getActiveCostType()=="Mana")
|
|
{
|
|
return L(LANGTalent_Spell_InstantCast)
|
|
}
|
|
|
|
if(this.getActiveSpellType()=="instant")
|
|
{
|
|
return L(LANGTalent_Spell_Instant)
|
|
}
|
|
|
|
if(this.ActiveCastTime<60)
|
|
{
|
|
return this.ActiveCastTime+L(LANGTalent_Spell_TimeSec)
|
|
}
|
|
|
|
if(this.ActiveCastTime%60==0)
|
|
{
|
|
return parseInt(this.ActiveCastTime/60)+L(LANGTalent_Spell_TimeMin)
|
|
}
|
|
|
|
if(parseInt(this.ActiveCastTime%60)<10)
|
|
{
|
|
return parseInt(this.ActiveCastTime/60)+L(LANGTalent_Min)+parseInt(this.ActiveCastTime%60)+L(LANGTalent_Spell_TimeSec)
|
|
}
|
|
|
|
return parseInt(this.ActiveCastTime/60)+L(LANGTalent_Min)+parseInt(this.ActiveCastTime%60)+L(LANGTalent_Spell_TimeSec)
|
|
}
|
|
};
|
|
|
|
TalentObj.prototype.getReadCooldown=function getReadCooldown(){if(this.ActiveCooldown<60){return this.ActiveCooldown+L(LANGTalent_Spell_TimeSec)}if(this.ActiveCooldown%60==0){return parseInt(this.ActiveCooldown/60)+L(LANGTalent_Spell_TimeMin)}if(parseInt(this.ActiveCooldown%60)<10){return parseInt(this.ActiveCooldown/60)+L(LANGTalent_Min)+parseInt(this.ActiveCooldown%60)+L(LANGTalent_Spell_TimeSec)}return parseInt(this.ActiveCooldown/60)+L(LANGTalent_Min)+parseInt(this.ActiveCooldown%60)+L(LANGTalent_Spell_TimeSec)};
|
|
TalentObj.prototype.doTooltip=function doTooltip()
|
|
{
|
|
var reqMet1 = true;
|
|
var reqMet2 = true;
|
|
var E='<span class="hleft"><strong>'+htmlspecialchars(this.talentname)+"</strong></span>";
|
|
|
|
if(this.getType()=="active")
|
|
{
|
|
E+='<span class="rankright">'+this.getActiveMaxRank()+"</span>"
|
|
}
|
|
|
|
E+='<div class="cb"></div>';
|
|
|
|
if(this.getNumRanks()>0)
|
|
{
|
|
E+=L(LANGTalent_Rank)+this.getCurRank()+"/"+this.getNumRanks()+"<br />"}
|
|
var C=(talentPointsRequired*(this.getRow()-1));
|
|
|
|
if(C!=0)
|
|
{
|
|
if(treep[this.getTree()]>=C)
|
|
{
|
|
E+='<span class="reqmet">'
|
|
}
|
|
else
|
|
{
|
|
E+='<span class="reqnotmet">'
|
|
reqMet1 = false;
|
|
}
|
|
|
|
E+=LANGTalent_RequiresPointsInTalents.replace("{0}", (talentPointsRequired*(this.getRow()-1))).replace("{1}", treen[this.getTree()])+"</span><br />"
|
|
}
|
|
|
|
for(var B=0;B<this.reqs.length;B++)
|
|
{
|
|
var A=translateSticky(this.reqs[B]);
|
|
var D=A[1];
|
|
var F=A[2];
|
|
|
|
if(!treec[this.getTree()][D][F].isMaxRank())
|
|
{
|
|
E+='<span class="reqnotmet">'
|
|
reqMet2 = false;
|
|
}
|
|
else
|
|
{
|
|
E+='<span class="reqmet">'
|
|
}
|
|
|
|
if(treec[this.getTree()][D][F].getNumRanks()==1)
|
|
{
|
|
E+=LANGTalent_RequiresPointInTalent.replace("{0}", treec[this.getTree()][D][F].getNumRanks()).replace("{1}", htmlspecialchars(treec[this.getTree()][D][F].getTalentname()));
|
|
}
|
|
else
|
|
{
|
|
E+=LANGTalent_RequiresPointsInTalent.replace("{0}", treec[this.getTree()][D][F].getNumRanks()).replace("{1}", htmlspecialchars(treec[this.getTree()][D][F].getTalentname()));
|
|
}
|
|
|
|
E+="</span><br />"
|
|
}
|
|
|
|
if(this.getType()=="active")
|
|
{
|
|
if(this.getActiveCost()>0)
|
|
{
|
|
E+='<span class="hleft">'+this.getReadCost()+"</span>";
|
|
|
|
if(!this.hasNoRange())
|
|
{
|
|
E+='<span class="hright">'+htmlspecialchars(this.getReadRange())+"</span>"
|
|
}
|
|
|
|
E+='<div class="cb"></div>';
|
|
E+='<span class="hleft">'+htmlspecialchars(this.getReadCasttime())+"</span>";
|
|
|
|
if(this.getActiveCooldown()>0)
|
|
{
|
|
E+='<span class="hright">'+LANGTalent_Spell_Cooldown.replace("{0}", htmlspecialchars(this.getReadCooldown()))+"</span>"
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(this.hasNoRange())
|
|
{
|
|
E+='<span class="hleft">'+htmlspecialchars(this.getReadCasttime())+"</span>";
|
|
|
|
if(this.getActiveCooldown()>0)
|
|
{
|
|
E+='<span class="hright">'+LANGTalent_Spell_Cooldown.replace("{0}", htmlspecialchars(this.getReadCooldown()))+"</span>"
|
|
}
|
|
}
|
|
else
|
|
{
|
|
E+='<span class="hleft">'+htmlspecialchars(this.getReadRange())+"</span>";
|
|
E+='<div class="cb"></div>';E+='<span class="hleft">'+htmlspecialchars(this.getReadCasttime())+"</span>";
|
|
|
|
if(this.getActiveCooldown()>0)
|
|
{
|
|
E+='<span class="hright">'+LANGTalent_Spell_Cooldown.replace("{0}", htmlspecialchars(this.getReadCooldown()))+"</span>"
|
|
}
|
|
}
|
|
}
|
|
|
|
E+='<div class="cb"></div>';
|
|
|
|
if(this.getActiveReagents()!="")
|
|
{
|
|
E+='<span class="left">'+L(LANGTalent_Spell_Reagents)+uni_unescape(htmlspecialchars(this.getActiveReagents()))+"</span>"
|
|
}
|
|
|
|
if(this.getActiveRequires()!="")
|
|
{
|
|
E+='<span class="left">'+L(LANGTalent_Requires)+uni_unescape(htmlspecialchars(this.getActiveRequires()))+"</span>"
|
|
}
|
|
|
|
E+='<div class="cb"></div>';
|
|
E+='<span class="desc">'+this.getRankDescription(this.getTree(), this.getRow(), this.getPos(), this.getCurRank())+"</span>"
|
|
}
|
|
else
|
|
{
|
|
if(this.getType()=="passive")
|
|
{
|
|
E+='<span class="desc">'+this.getRankDescription(this.getTree(), this.getRow(), this.getPos(), this.getCurRank())+"</span>"
|
|
}
|
|
else
|
|
{
|
|
E+='<span class="desc">'+this.getRankDescription(this.getTree(), this.getRow(), this.getPos(), this.getCurRank())+"</span>"
|
|
}
|
|
}
|
|
|
|
if (!this.isMaxRank() && this.getCurRank() > 0)
|
|
{
|
|
E+="<br/><br/>"+L(LANGTalent_NextRank)+"<br/>"
|
|
E+='<span class="desc">'+this.getRankDescription(this.getTree(), this.getRow(), this.getPos(), this.getCurRank() + 1)+"</span>"
|
|
}
|
|
|
|
|
|
var pointLockReached = (pointlock>0&&((treep[1]+treep[2]+treep[3])>=pointlock));
|
|
|
|
if (reqMet1 == true && reqMet2 == true && pointLockReached == false)
|
|
{
|
|
if (this.getCurRank() == 0)
|
|
{
|
|
E+='<br/><span class="reqmet">'+L(LANGTalent_ClickToLearn)+"</span>"
|
|
}
|
|
|
|
if (!this.isMaxRank() && this.getCurRank() > 0)
|
|
{
|
|
E+='<br/><span class="reqmet">'+L(LANGTalent_ClickToLearnNextRank)+"</span>"
|
|
}
|
|
}
|
|
|
|
if (this.isMaxRank())
|
|
{
|
|
E+='<br/><span class="reqnotmet">'+L(LANGTalent_RightClickToUnlearn)+"</span>"
|
|
}
|
|
|
|
tooltipcelm.innerHTML=E;
|
|
showTooltip(this.butbg);
|
|
tooltipcelm.innerHTML=E
|
|
};
|
|
|
|
TalentObj.prototype.redraw=function redraw(B)
|
|
{
|
|
if(this.getType()=="hidden")
|
|
{
|
|
this.hideButton();
|
|
this.butc.innerHTML="";
|
|
return
|
|
}
|
|
|
|
if(this.getType()=="empty")
|
|
{
|
|
this.hideButton();
|
|
this.butc.innerHTML="";
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
this.showButton();
|
|
}
|
|
|
|
var arrowrd = document.getElementById("arrowrd" + this.tree + "" + this.row + "" + this.pos);
|
|
var arrowr = document.getElementById("arrowr" + this.tree + "" + this.row + "" + this.pos);
|
|
var arrowld = document.getElementById("arrowld" + this.tree + "" + this.row + "" + this.pos);
|
|
var arrowl = document.getElementById("arrowl" + this.tree + "" + this.row + "" + this.pos);
|
|
var arrowd = document.getElementById("arrowd" + this.tree + "" + this.row + "" + this.pos);
|
|
|
|
if(this.reqsAreOk())
|
|
{
|
|
var pointLockReached = (pointlock>0&&((treep[1]+treep[2]+treep[3])>=pointlock));
|
|
|
|
if(pointLockReached && this.getCurRank() == 0)
|
|
{
|
|
this.butimg.style.backgroundPosition="0px 0px";
|
|
setOpacity(this.butbg,10);
|
|
this.butc.innerHTML="";
|
|
var A=this.getIcon().replace(/Spells\//gi,"SpellsGrey/");
|
|
this.butbg.style.backgroundImage="url("+imagepath+A+")"
|
|
}
|
|
else
|
|
{
|
|
if(this.getNumRanks()>0)
|
|
{
|
|
this.butc.innerHTML=this.getCurRank()+"/"+this.getNumRanks()
|
|
}
|
|
else
|
|
{
|
|
this.butc.innerHTML="X"
|
|
}
|
|
|
|
if (arrowrd != null) arrowrd.className = "arrowrd_yellow";
|
|
if (arrowr != null) arrowr.className = "arrowr_yellow";
|
|
if (arrowld != null) arrowld.className = "arrowld_yellow";
|
|
if (arrowl != null) arrowl.className = "arrowl_yellow";
|
|
if (arrowd != null) arrowd.className = "arrowd_yellow";
|
|
|
|
if((this.getCurRank() == this.getNumRanks()) || pointLockReached)
|
|
{
|
|
this.butimg.style.backgroundPosition="-224px 0px";
|
|
this.butc.style.color="#FFD100"
|
|
}
|
|
else
|
|
{
|
|
this.butimg.style.backgroundPosition="-56px 0px";
|
|
this.butc.style.color="#2EFF00"
|
|
}
|
|
|
|
setOpacity(this.butbg,10);
|
|
this.butbg.style.backgroundImage="url("+imagepath+this.getIcon()+")"
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (arrowrd != null) arrowrd.className = "arrowrd";
|
|
if (arrowr != null) arrowr.className = "arrowr";
|
|
if (arrowld != null) arrowld.className = "arrowld";
|
|
if (arrowl != null) arrowl.className = "arrowl";
|
|
if (arrowd != null) arrowd.className = "arrowd";
|
|
|
|
this.butimg.style.backgroundPosition="0px 0px";
|
|
setOpacity(this.butbg,10);
|
|
this.butc.innerHTML="";
|
|
var A=this.getIcon().replace(/Spells\//gi,"SpellsGrey/");
|
|
this.butbg.style.backgroundImage="url("+imagepath+A+")"
|
|
}
|
|
};
|
|
|
|
TalentObj.prototype.reposition=function reposition(){this.butbg.style.left=(25+65*(this.getPos()-1)+treel[this.getTree()])+"px";this.butbg.style.top=(5+65*(this.getRow()-1)+treet[this.getTree()])+"px";for(var B=0;B<this.reqs.length;B++){var A=translateSticky(this.reqs[B]);var C=A[1];var D=A[2];removeArrow(this.getTree(),C,D,this.getRow(),this.getPos());spawnArrow(this.getTree(),C,D,this.getRow(),this.getPos())}this.redraw(false)};
|
|
TalentObj.prototype.showButton=function showButton(){this.butbg.style.display=""};
|
|
TalentObj.prototype.hideButton=function hideButton(){this.butbg.style.display="none"};
|
|
TalentObj.prototype.hasNoRange=function hasNoRange(){return(this.ActiveRangeMin==0&&this.ActiveRangeMax==0)};
|
|
TalentObj.prototype.getID=function getID(){return"t"+this.tree+"r"+this.row+"p"+this.pos};
|
|
TalentObj.prototype.getShortID=function getShortID(){return this.tree+""+this.row+""+this.pos};
|
|
TalentObj.prototype.isMaxRank=function isMaxRank(){return(this.getCurRank()==this.getNumRanks())};
|
|
TalentObj.prototype.getActiveSave=function getActiveSave(){var A=this.getActiveCost();A+="|"+this.getActiveCostType();A+="|"+this.getActiveSpellType();A+="|"+this.getActiveCastTime();A+="|"+this.getActiveCooldown();A+="|"+this.getActiveRangeMin();A+="|"+this.getActiveRangeMax();A+="|"+this.getActiveReagents();A+="|"+this.getActiveRequires();return htmlspecialchars(A)};
|
|
|
|
//-------------------------------------------
|
|
// Arrow Functions
|
|
//-------------------------------------------
|
|
function spawnArrow(I,H,F,C,A)
|
|
{
|
|
I=parseInt(I);
|
|
H=parseInt(H);
|
|
F=parseInt(F);
|
|
C=parseInt(C);
|
|
A=parseInt(A);
|
|
|
|
if(!checkArrow(I,H,F,C,A,false))
|
|
{
|
|
return false
|
|
}
|
|
|
|
var E=$("tree"+I);
|
|
var B=(A-F);
|
|
|
|
if(B>0)
|
|
{
|
|
var G=E.appendChild(document.createElement("div"));
|
|
|
|
if(H<C)
|
|
{
|
|
G.id="arrowrd"+I+C+A;
|
|
G.className="arrowrd";
|
|
G.style.left=(obj_left(E)+25)+65*(F-1)+47+"px";
|
|
G.style.top=(5+65*(H)+obj_top(E))-45+"px";
|
|
G.style.height="15px";
|
|
G.style.width=51+(65*(B-1))+"px"
|
|
}
|
|
else
|
|
{
|
|
G.id="arrowr"+I+C+A;
|
|
G.className="arrowr";
|
|
G.style.left=(obj_left(E)+25)+65*(F-1)+47+"px";
|
|
G.style.top=(5+65*(H)+obj_top(E))-45+"px";
|
|
G.style.height="15px";
|
|
G.style.width=25+(65*(B-1))+"px"
|
|
}
|
|
|
|
//G.id="arrow"+I+H+F+C+A
|
|
}
|
|
|
|
if(B<0)
|
|
{
|
|
possideways=B*-1;
|
|
var G=E.appendChild(document.createElement("div"));
|
|
|
|
if(H<C)
|
|
{
|
|
G.id="arrowld"+I+C+A;
|
|
G.className="arrowld";
|
|
G.style.width=51+(65*(possideways-1))+"px";
|
|
G.style.left=(obj_left(E)+25)+65*(F-1)-47-(65*(possideways-1))+"px";
|
|
G.style.top=(5+65*(H)+obj_top(E))-45+"px";
|
|
G.style.height="15px"
|
|
}
|
|
else
|
|
{
|
|
G.id="arrowl"+I+C+A;
|
|
G.className="arrowl";
|
|
G.style.width=25+(65*(possideways-1))+"px";
|
|
G.style.left=(obj_left(E)+25)+65*(F-1)-23-(65*(possideways-1))+"px";
|
|
G.style.top=(5+65*(H)+obj_top(E))-45+"px";
|
|
G.style.height="15px"
|
|
}
|
|
|
|
//G.id="arrow"+I+H+F+C+A
|
|
}
|
|
|
|
if(H<C)
|
|
{
|
|
var G=E.appendChild(document.createElement("div"));
|
|
G.className="arrowd";
|
|
G.style.left=(obj_left(E)+25)+65*(A-1)+18+"px";
|
|
|
|
if(B!=0)
|
|
{
|
|
G.style.top=(5+65*(H)+obj_top(E))-30+"px";
|
|
G.style.height=35+(65*((C-H)-1))+"px"
|
|
}
|
|
else
|
|
{
|
|
G.style.top=(5+65*(H)+obj_top(E))-18+"px";
|
|
G.style.height=22+(65*((C-H)-1))+"px"
|
|
}
|
|
|
|
G.style.width="15px";
|
|
//G.id="arrow"+I+H+F+C+A+"d"
|
|
G.id="arrowd"+I+C+A;
|
|
}
|
|
|
|
var B=(F-A);
|
|
|
|
if(B<0)
|
|
{
|
|
B*=-1;B-=1;
|
|
|
|
for(var D=0;D<B;D++)
|
|
{
|
|
treec[I][H][F+(B-D)].setType("hidden");
|
|
treec[I][H][F+(B-D)].redraw(false)
|
|
}
|
|
}
|
|
else
|
|
{
|
|
B-=1;
|
|
|
|
for(var D=0;D<B;D++)
|
|
{
|
|
treec[I][H][A-(D-B)].setType("hidden");
|
|
treec[I][H][A-(D-B)].redraw(false)
|
|
}
|
|
}
|
|
|
|
if(H<C)
|
|
{
|
|
if((F-A)!=0)
|
|
{
|
|
treec[I][H][A].setType("hidden");
|
|
treec[I][H][A].redraw(false)
|
|
}
|
|
|
|
for(D=1;D<(C-H);D++)
|
|
{
|
|
treec[I][H+D][A].setType("hidden");
|
|
treec[I][H+D][A].redraw(false)
|
|
}
|
|
}
|
|
}
|
|
function checkArrow(I,H,F,C,A,E){I=parseInt(I);H=parseInt(H);F=parseInt(F);C=parseInt(C);A=parseInt(A);if(H>C){return false}if(H==C&&F==A){return false}if((C-H)>4){return false}if(!validArrowTalent(I,H,F)){return false}if(!validArrowTalent(I,C,A)){if(!E){return false}}var B=(F-A);if(B<0){B*=-1;B-=1;var D=0;while(D<B){if(canArrow(I,H,F+(B-D))){D++}else{return false}}}else{B-=1;var D=0;while(D<B){if(canArrow(I,H,A-(D-B))){D++}else{return false}}}if(H<C){if(!canArrow(I,H,A)&&((F-A)!=0)){return false}var G=C-H;for(D=1;D<G;D++){if(!canArrow(I,(H+D),A)){return false}}}return true}
|
|
function removeArrow(I,H,F,C,A){I=parseInt(I);H=parseInt(H);F=parseInt(F);C=parseInt(C);A=parseInt(A);if(H>C){return false}if(H==C&&F==A){return false}if((F-A)!=0){var G=$("arrow"+I+H+F+C+A);if(G){var D=G.parentNode;D.removeChild(G)}}if(H<C){var G=$("arrow"+I+H+F+C+A+"d");if(G){var D=G.parentNode;D.removeChild(G)}}var B=(F-A);if(B<0){B*=-1;B-=1;for(var E=0;E<B;E++){treec[I][H][F+(B-E)].setType("empty");treec[I][H][F+(B-E)].redraw(false)}}else{B-=1;for(var E=0;E<B;E++){treec[I][H][A-(E-B)].setType("empty");treec[I][H][A-(E-B)].redraw(false)}}if(H<C){if((F-A)!=0){treec[I][H][A].setType("empty");treec[I][H][A].redraw(false)}for(E=1;E<(C-H);E++){treec[I][H+E][A].setType("empty");treec[I][H+E][A].redraw(false)}}}
|
|
function canArrow(A,B,C){A=parseInt(A);B=parseInt(B);C=parseInt(C);if(treec[A][B][C].getType()=="active"){return false}if(treec[A][B][C].getType()=="passive"){return false}if(treec[A][B][C].getType()=="hidden"){return false}return true}
|
|
function validArrowTalent(A,B,C){A=parseInt(A);B=parseInt(B);C=parseInt(C);if(treec[A][B][C].getType()=="active"){return true}if(treec[A][B][C].getType()=="passive"){return true}return false};
|
|
|
|
//-------------------------------------------
|
|
// Processing
|
|
//-------------------------------------------
|
|
function procesData(data){if(data=="err:404"){alert(L("The selected tree was not found."))}else{if(data.substr(0,4)!="jsn:"){if(data.substr(0,4)=="suc:"){data=data.substr(4)}var maxi=getMaxi();for(var k=1;k<=3;k++){for(var i=1;i<=maxi;i++){for(var j=1;j<=4;j++){treec[k][i][j].setType("empty");treec[k][i][j].redraw(false)}}}if(data.substr(0,1)=="c"){var firstIndex=data.indexOf("#");var thisclass=data.substr(1,(firstIndex-2));var treeType=data.substr((firstIndex-1),1);setClass(thisclass);switch(treeType){case 0:treeTypeNormal();break;case 1:treeTypeTBC();break;case 2:treeTypeWotLK();break}}var dataarray=data.split("\n");for(var i=0;i<dataarray.length;i++){if(dataarray[i].length>1){procesTalent(dataarray[i])}}for(var i=0;i<dataarray.length;i++){if(dataarray[i].length>1){procesTalentPreReqs(dataarray[i])}}}else{data=data.substr(4);var rdata=null;try{var rdata=eval("("+data+")")}catch(e){return }$("treeTitle").value=rdata.title;$("authorComments").value=rdata.authorcomment;$("isHidden").value=rdata.isHidden;setClass(rdata.pclass);switch(rdata.treetype){case"0":treeTypeNormal();break;case"1":treeTypeTBC();break;case"2":treeTypeWotLK();break}var dataarray=rdata.content.split("\n");for(var i=0;i<dataarray.length;i++){if(dataarray[i].length>1){procesTalent(dataarray[i])}}for(var i=0;i<dataarray.length;i++){if(dataarray[i].length>1){procesTalentPreReqs(dataarray[i])}}}}}
|
|
function procesTalent(C)
|
|
{
|
|
var E=/(\d+)#([AP])#\\{0,1}\"(.*)\\{0,1}\"#\\{0,1}\"(.*)\\{0,1}\"#\\{0,1}\"(.*)\\{0,1}\"#([\d|]*)#(.*)#/i.exec(C);
|
|
var B=E[1];
|
|
|
|
if(B.length>=3)
|
|
{
|
|
var D=translateSticky(E[1]);
|
|
var A=D[0];
|
|
var G=D[1];
|
|
var H=D[2];
|
|
var F=treec[A][G][H];
|
|
F.setType(cleanData(E[2]));
|
|
F.setTalentname(cleanData(E[3]));
|
|
F.setIcon("Spells/"+cleanData(E[4]));
|
|
F.setDescription(cleanData(E[5]));
|
|
|
|
if(F.getType()=="active")
|
|
{
|
|
procesTalentActive(A,G,H,E[7])
|
|
}
|
|
|
|
if(F.getType()=="passive")
|
|
{
|
|
procesTalentPassive(A,G,H,E[7])
|
|
}
|
|
|
|
F.redraw(false)
|
|
}
|
|
}
|
|
|
|
function procesTalentPreReqs(C){var E=/(\d+)#([AP])#\\{0,1}\"(.*)\\{0,1}\"#\\{0,1}\"(.*)\\{0,1}\"#\\{0,1}\"(.*)\\{0,1}\"#([\d|]*)#(.*)#/i.exec(C);var B=E[0];var D=translateSticky(E[1]);var A=D[0];var F=D[1];var G=D[2];procesTalentReqs(A,F,G,E[6])}
|
|
function procesTalentReqs(A,D,E,C)
|
|
{
|
|
if(C.length<3)
|
|
{
|
|
return
|
|
}
|
|
|
|
var B=C.split("|");
|
|
|
|
for(i=0;i<B.length;i++)
|
|
{
|
|
treec[A][D][E].addReq(B[i])
|
|
}
|
|
}
|
|
|
|
function procesTalentActive(A,E,F,C)
|
|
{
|
|
var B=C.split("|");
|
|
|
|
if(B.length==10)
|
|
{
|
|
var D=treec[A][E][F];
|
|
D.setActiveCost(B[0]);
|
|
D.setActiveCostType(B[1]);
|
|
D.setActiveSpellType(B[2]);
|
|
D.setActiveCastTime(B[3]);
|
|
D.setActiveCooldown(B[4]);
|
|
D.setActiveRangeMin(B[5]);
|
|
D.setActiveRangeMax(B[6]);
|
|
D.setActiveReagents(B[7]);
|
|
D.setActiveRequires(B[8]);
|
|
D.setActiveMaxRank(B[9])
|
|
}
|
|
}
|
|
|
|
function procesTalentPassive(A,F,G,E)
|
|
{
|
|
if(E.length<3)
|
|
{
|
|
treec[A][F][G].setNumRanks(1);
|
|
return
|
|
}
|
|
|
|
var C=E.split("|");
|
|
var D=E.substring(0,1);
|
|
treec[A][F][G].setNumRanks(D);
|
|
C[0]=C[0].substring(1);
|
|
|
|
for(var B=0;B<C.length;B++)
|
|
{
|
|
treec[A][F][G].setRank((parseInt(B%D)+1),(parseInt(Math.ceil((B+0.5)/D))-1),C[B])
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------
|
|
// Global
|
|
//-------------------------------------------
|
|
var curtree=0;
|
|
var currow=0;
|
|
var curpos=0;
|
|
var treec=new Array(3);
|
|
var treep=new Array(3);
|
|
var treen=new Array(3);
|
|
var treeInternalName=new Array(3);
|
|
var treee=new Array(3);
|
|
var treet=new Array(3);
|
|
var treel=new Array(3);
|
|
var switchActive=false;
|
|
var tooltipelm=null;
|
|
var tooltipcelm=null;
|
|
var pointlock=0;
|
|
|
|
function getMaxi()
|
|
{
|
|
var A=9;
|
|
|
|
switch(treeType)
|
|
{
|
|
case"WotLK": return 11;
|
|
case"TBC": return 9;
|
|
case"normal": return 7;
|
|
case"hunterpet": return 5;
|
|
}
|
|
}
|
|
|
|
function redrawAll()
|
|
{
|
|
var B=getMaxi();
|
|
|
|
for(var A=1;A<=3;A++)
|
|
{
|
|
for(var D=1;D<=B;D++)
|
|
{
|
|
for(var C=1;C<=4;C++)
|
|
{
|
|
treec[A][D][C].redraw(false)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function setClass(A)
|
|
{
|
|
currentClass=A;
|
|
|
|
switch(A)
|
|
{
|
|
case"druid":
|
|
treeInternalName[1]="Balance";
|
|
treeInternalName[2]="Feral";
|
|
treeInternalName[3]="Restoration";
|
|
treen[1]=L(LANGTalent_Druid_Balance);
|
|
treen[2]=L(LANGTalent_Druid_Feral);
|
|
treen[3]=L(LANGTalent_Druid_Restoration);
|
|
break;
|
|
case"deathknight":
|
|
treeInternalName[1]="Blood";
|
|
treeInternalName[2]="Frost";
|
|
treeInternalName[3]="Unholy";
|
|
treen[1]=L(LANGTalent_Deathknight_Blood);
|
|
treen[2]=L(LANGTalent_Deathknight_Frost);
|
|
treen[3]=L(LANGTalent_Deathknight_Unholy);
|
|
break;
|
|
case"hunter":
|
|
treeInternalName[1]="BeastMastery";
|
|
treeInternalName[2]="Marksmanship";
|
|
treeInternalName[3]="Survival";
|
|
treen[1]=L(LANGTalent_Hunter_BeastMastery);
|
|
treen[2]=L(LANGTalent_Hunter_Marksmanship);
|
|
treen[3]=L(LANGTalent_Hunter_Survival);
|
|
break;
|
|
case"mage":
|
|
treeInternalName[1]="Arcane";
|
|
treeInternalName[2]="Fire";
|
|
treeInternalName[3]="Frost";
|
|
treen[1]=L(LANGTalent_Mage_Arcane);
|
|
treen[2]=L(LANGTalent_Mage_Fire);
|
|
treen[3]=L(LANGTalent_Mage_Frost);
|
|
break;
|
|
case"paladin":
|
|
treeInternalName[1]="Holy";
|
|
treeInternalName[2]="Protection";
|
|
treeInternalName[3]="Retribution";
|
|
treen[1]=L(LANGTalent_Paladin_Holy);
|
|
treen[2]=L(LANGTalent_Paladin_Protection);
|
|
treen[3]=L(LANGTalent_Paladin_Retribution);
|
|
break;
|
|
case"priest":
|
|
treeInternalName[1]="Discipline";
|
|
treeInternalName[2]="Holy";
|
|
treeInternalName[3]="Shadow";
|
|
treen[1]=L(LANGTalent_Priest_Discipline);
|
|
treen[2]=L(LANGTalent_Priest_Holy);
|
|
treen[3]=L(LANGTalent_Priest_Shadow);
|
|
break;
|
|
case"rogue":
|
|
treeInternalName[1]="Assassination";
|
|
treeInternalName[2]="Combat";
|
|
treeInternalName[3]="Subtlety";
|
|
treen[1]=L(LANGTalent_Rogue_Assassination);
|
|
treen[2]=L(LANGTalent_Rogue_Combat);
|
|
treen[3]=L(LANGTalent_Rogue_Subtlety);
|
|
break;
|
|
case"shaman":
|
|
treeInternalName[1]="Elemental";
|
|
treeInternalName[2]="Enhancement";
|
|
treeInternalName[3]="Restoration";
|
|
treen[1]=L(LANGTalent_Shaman_Elemental);
|
|
treen[2]=L(LANGTalent_Shaman_Enhancement);
|
|
treen[3]=L(LANGTalent_Shaman_Restoration);
|
|
break;
|
|
case"warlock":
|
|
treeInternalName[1]="Affliction";
|
|
treeInternalName[2]="Demonology";
|
|
treeInternalName[3]="Destruction";
|
|
treen[1]=L(LANGTalent_Warlock_Affliction);
|
|
treen[2]=L(LANGTalent_Warlock_Demonology);
|
|
treen[3]=L(LANGTalent_Warlock_Destruction);
|
|
break;
|
|
case"warrior":
|
|
treeInternalName[1]="Arms";
|
|
treeInternalName[2]="Fury";
|
|
treeInternalName[3]="Protection";
|
|
treen[1]=L(LANGTalent_Warrior_Arms);
|
|
treen[2]=L(LANGTalent_Warrior_Fury);
|
|
treen[3]=L(LANGTalent_Warrior_Protection);
|
|
break;
|
|
case"hunterpet":
|
|
treeInternalName[1]="Tenacity";
|
|
treeInternalName[2]="Ferocity";
|
|
treeInternalName[3]="Cunning";
|
|
treen[1]=L(LANGTalent_HunterPet_Tenacity);
|
|
treen[2]=L(LANGTalent_HunterPet_Ferocity);
|
|
treen[3]=L(LANGTalent_HunterPet_Cunning);
|
|
break;
|
|
}
|
|
|
|
for(i=1;i<=3;i++)
|
|
{
|
|
treee[i].style.backgroundImage="url(/img/talent/bg/"+treeType+"/"+A+treeInternalName[i]+".jpg)";
|
|
var B=$("treeheadertext"+i);
|
|
B.innerHTML=treen[i]
|
|
}
|
|
}
|
|
function butclick2(A){if(!A){A=event}if(A.preventDefault){A.preventDefault()}else{A.returnResult=false}if(A.stopPropagation){A.stopPropagation()}else{A.cancelBubble=true}return false}
|
|
function butmouseover(B){if(!B){B=event}if(B.target){elm=B.target}if(B.srcElement){elm=B.srcElement}var C=translateElmId(elm.id);var A=C[0];var D=C[1];var E=C[2];elm=$(treec[A][D][E].getID());treec[A][D][E].doTooltip();}
|
|
function butmouseout(B)
|
|
{
|
|
if(!B)
|
|
{
|
|
B=event
|
|
}
|
|
|
|
if(B.target)
|
|
{
|
|
elm=B.target
|
|
}
|
|
|
|
if(B.srcElement)
|
|
{
|
|
elm=B.srcElement
|
|
}
|
|
|
|
hideTooltip()
|
|
}
|
|
|
|
function getClientSize()
|
|
{
|
|
var width=0,height=0;
|
|
|
|
if(typeof window.innerWidth=="number")
|
|
{
|
|
width=window.innerWidth;
|
|
height=window.innerHeight
|
|
}
|
|
else
|
|
{
|
|
if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight))
|
|
{
|
|
width=document.documentElement.clientWidth;
|
|
height=document.documentElement.clientHeight
|
|
}
|
|
else
|
|
{
|
|
if(document.body&&(document.body.clientWidth||document.body.clientHeight))
|
|
{
|
|
width=document.body.clientWidth;
|
|
height=document.body.clientHeight
|
|
}
|
|
}
|
|
}
|
|
|
|
return {x:width,y:height}
|
|
}
|
|
|
|
function schoolHover(C){counts=0;countt=0;counta=0;countp=0;var A=getMaxi();for(var D=1;D<=A;D++){for(var B=1;B<=4;B++){counts+=parseInt(treec[C][D][B].getCurRank());countt+=parseInt(treec[C][D][B].getNumRanks());if(treec[C][D][B].getType()=="active"){counta+=1}if(treec[C][D][B].getType()=="passive"){countp+=1}}}treep[C]=counts;tooltipcelm.innerHTML="<strong>"+treen[C]+"</strong><br />"+L(LANGTalent_PointsSpendInThisTree)+counts+"<br />"+L(LANGTalent_TotalPointsInThisTree)+countt+"<br />"+L(LANGTalent_ActiveTalentsInThisTree)+counta+"<br />"+L(LANGTalent_PassiveTalentsInThisTree)+countp;var E=$("treeheader"+C);showTooltip(E,true)}
|
|
function hideTooltip(){tooltipelm.style.display="none"}
|
|
function showTooltip(F,A)
|
|
{
|
|
tooltipelm.style.display="";
|
|
var C=getClientSize();
|
|
var B=(A==true?0:F.offsetWidth);
|
|
var E=obj_left(F)+B;
|
|
var D=obj_top(F)-tooltipelm.offsetHeight;
|
|
|
|
if(E<0)
|
|
{
|
|
E=0
|
|
}
|
|
|
|
if(D<0)
|
|
{
|
|
D=obj_top(F)+F.offsetHeight
|
|
}
|
|
|
|
if(A==true)
|
|
{
|
|
if((E+tooltipelm.offsetWidth)+1>=C.x)
|
|
{
|
|
E=C.x-tooltipelm.offsetWidth
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if((E+tooltipelm.offsetWidth+B)+1>=C.x)
|
|
{
|
|
E=obj_left(F)-tooltipelm.offsetWidth
|
|
}
|
|
}
|
|
|
|
if((D+tooltipelm.offsetHeight)+1>=C.y)
|
|
{
|
|
D=obj_top(F)-tooltipelm.offsetHeight
|
|
}
|
|
|
|
tooltipelm.style.top=D+"px";tooltipelm.style.left=E+"px"
|
|
}
|
|
|
|
function translateElmId(A){A.match(/t(\d+)r(\d+)p(\d+)/);return[RegExp.$1,RegExp.$2,RegExp.$3]}
|
|
function translateSlash(A){A.match(/(\d+)\/(\d+)\/(\d+)/);return[RegExp.$1,RegExp.$2,RegExp.$3]}
|
|
function translateSticky(A){A.match(/([1|2|3])(\d+)([1|2|3|4])/);return[RegExp.$1,RegExp.$2,RegExp.$3]};
|
|
|
|
var translator=new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
|
|
|
|
window.onload=function()
|
|
{
|
|
tooltipelm=$("tooltipbox");
|
|
tooltipcelm=$("tooltipcontent");
|
|
hideTooltip();
|
|
|
|
for(var C=1;C<=3;C++)
|
|
{
|
|
var B=getMaxi();
|
|
treec[C]=new Array(B);
|
|
treep[C]=0;treen[C]="";
|
|
treee[C]=$("tree"+C);
|
|
treet[C]=obj_top(treee[C]);
|
|
treel[C]=obj_left(treee[C]);
|
|
var F=$("treeheader"+C);
|
|
var A=$("treeheaderimg"+C);
|
|
addListener(F,"mouseover",BindArgument(schoolHover,C));
|
|
addListener(F,"mouseout",hideTooltip);
|
|
addListener(F,"mouseup",butclick2);
|
|
addListener(F,"mousedown",butclick2);
|
|
addListener(A,"mouseup",BindArgument(ResetTree,C));
|
|
addListener(treee[C],"mouseup",butclick2);
|
|
addListener(treee[C],"mousedown",butclick2);
|
|
addListener(treee[C],"contextmenu",butclick2);
|
|
addListener(treee[C],"mouseover",butclick2);
|
|
addListener(treee[C],"mouseout",butclick2);
|
|
addListener(treee[C],"dragstart",butclick2);
|
|
addListener(treee[C],"selectstart",butclick2);
|
|
|
|
for(var E=1;E<=B;E++){treec[C][E]=new Array(4);for(var D=1;D<=4;D++){treec[C][E][D]=new TalentObj(C,E,D)}}
|
|
}
|
|
|
|
|
|
var B=$("linkThisBuild");
|
|
B.innerHTML=LANGTalent_LinkBuild;
|
|
B=$("mostRecent");
|
|
B.innerHTML=LANGTalent_MostRecent;
|
|
B=$("lblRequiredLevel");
|
|
B.innerHTML=LANGTalent_RequiredLevel;
|
|
B=$("lblPointsLeft");
|
|
B.innerHTML=LANGTalent_PointsLeft;
|
|
B=$("lblPointsUsed");
|
|
B.innerHTML=LANGTalent_PointsUsed;
|
|
|
|
|
|
|
|
setClass(currentClass);
|
|
procesData(taldata);
|
|
loadBuild();
|
|
updatePointsOverview();
|
|
redrawAll()
|
|
};
|
|
|
|
function butclick(B){if(!B){B=event}if(B.target){elm=B.target}if(B.srcElement){elm=B.srcElement}var D=B.which?B.which:B.button;var C=translateElmId(elm.id);var A=C[0];var E=C[1];var F=C[2];if(treec[A][E][F].getType()=="empty"){return false}if(B.shiftKey==true||D>1){treec[A][E][F].subPoint();updatePointsOverview(A)}else{if(treec[A][E][F].reqsAreOk()){treec[A][E][F].addPoint();updatePointsOverview(A)}}treec[A][E][F].doTooltip();return false}
|
|
function ResetTrees(){var B=getMaxi();for(var A=1;A<=3;A++){treep[A]=0;for(var D=1;D<=B;D++){for(var C=1;C<=4;C++){treec[A][D][C].setCurRank(0);treec[A][D][C].redraw(false)}}}updatePointsOverview()}
|
|
function ResetTree(A){var B=getMaxi();for(var D=1;D<=B;D++){for(var C=1;C<=4;C++){treec[A][D][C].setCurRank(0);treec[A][D][C].redraw(false)}}treep[A]=0;updatePointsOverview()}
|
|
function redrawAll(){var B=getMaxi();for(var A=1;A<=3;A++){treep[A]=0;for(var D=1;D<=B;D++){for(var C=1;C<=4;C++){treep[A]+=parseInt(treec[A][D][C].getCurRank())}}}for(var A=1;A<=3;A++){for(var D=1;D<=B;D++){for(var C=1;C<=4;C++){treec[A][D][C].redraw(false)}}}updatePointsOverview()}
|
|
|
|
function updatePointsOverview()
|
|
{
|
|
var B=$("pointsused");
|
|
B.innerHTML=treep[1]+treep[2]+treep[3];
|
|
|
|
B=$("pointsleft");
|
|
B.innerHTML=pointlock - (treep[1]+treep[2]+treep[3]);
|
|
|
|
B=$("levelneeded");
|
|
if(treep[1]+treep[2]+treep[3]==0)
|
|
{
|
|
B.innerHTML="-";
|
|
}
|
|
else
|
|
{
|
|
B.innerHTML=treep[1]+treep[2]+treep[3] + 9;
|
|
}
|
|
|
|
for(var A=1;A<=3;A++)
|
|
{
|
|
$("treeheadertext"+A).innerHTML="<span class='yellowFont'>"+treen[A]+"</span><span class='stdText'> - "+treep[A]+" "+L(LANGTalent_Points)+"</span>"
|
|
}
|
|
|
|
var fullLink = "/?talent="+createBuildLink();
|
|
document.getElementById("buildText").value = rootUrl+fullLink;
|
|
|
|
var link_enUS = document.getElementById("link_enUS");
|
|
var link_deDE = document.getElementById("link_deDE");
|
|
var link_frFR = document.getElementById("link_frFR");
|
|
var link_esES = document.getElementById("link_esES");
|
|
var link_ruRU = document.getElementById("link_ruRU");
|
|
var link_zhCN = document.getElementById("link_zhCN");
|
|
var link_zhTW = document.getElementById("link_zhTW");
|
|
var link_koKR = document.getElementById("link_koKR");
|
|
var layoutLink = document.getElementById("layoutLink");
|
|
|
|
if (link_enUS != null) link_enUS.href = fullLink + "&language=enUS";
|
|
if (link_deDE != null) link_deDE.href = fullLink + "&language=deDE";
|
|
if (link_frFR != null) link_frFR.href = fullLink + "&language=frFR";
|
|
if (link_esES != null) link_esES.href = fullLink + "&language=esES";
|
|
if (link_ruRU != null) link_ruRU.href = fullLink + "&language=ruRU";
|
|
if (link_zhCN != null) link_zhCN.href = fullLink + "&language=zhCN";
|
|
if (link_zhTW != null) link_zhTW.href = fullLink + "&language=zhTW";
|
|
if (link_koKR != null) link_koKR.href = fullLink + "&language=koKR";
|
|
if (layoutLink != null) layoutLink.href = fullLink + layoutSwitch;
|
|
}
|
|
|
|
function loadBuild()
|
|
{
|
|
if(fillOutString.length==0)
|
|
{
|
|
return
|
|
}
|
|
|
|
switch(fillOutString.charAt(0))
|
|
{
|
|
case"9":
|
|
setPointLock(0);
|
|
fillOutString=fillOutString.substring(1);
|
|
break;
|
|
case"8":
|
|
setPointLock(51);
|
|
fillOutString=fillOutString.substring(1);
|
|
break;
|
|
case"7":
|
|
setPointLock(61);
|
|
fillOutString=fillOutString.substring(1);
|
|
break;
|
|
case"6":
|
|
setPointLock(71);
|
|
fillOutString=fillOutString.substring(1);
|
|
break;
|
|
case"5":
|
|
setPointLock(16);
|
|
fillOutString=fillOutString.substring(1);
|
|
break;
|
|
case"4":
|
|
setPointLock(20);
|
|
fillOutString=fillOutString.substring(1);
|
|
break;
|
|
default:
|
|
setPointLock(0);
|
|
break;
|
|
}
|
|
|
|
for(var C=(translator.length-1);C>1;C--)
|
|
{
|
|
fillOutString=fillOutString.replace(translator[C],stringFill("0",C))
|
|
}
|
|
|
|
var D="000";
|
|
|
|
for(var C=0;C<fillOutString.length;C++)
|
|
{
|
|
var B=translateSlash(D);
|
|
var A=B[0];
|
|
var E=B[1];
|
|
var F=B[2];
|
|
|
|
D=getNext(A,E,F);
|
|
|
|
if(D=="")
|
|
{
|
|
return
|
|
}
|
|
|
|
B=translateSlash(D);
|
|
A=B[0];
|
|
E=B[1];
|
|
F=B[2];
|
|
treec[A][E][F].setCurRank(parseInt(fillOutString.charAt(C)))
|
|
}
|
|
}
|
|
|
|
function getNext(A,F,G){var C=getMaxi();if(A==0&&F==0&&G==0){for(var B=1;B<=3;B++){for(var E=1;E<=C;E++){for(var D=1;D<=4;D++){if(treec[B][E][D].getType()=="passive"||treec[B][E][D].getType()=="active"){return B+"/"+E+"/"+D}}}}}else{A=Math.min(A,3);A=Math.max(A,1);F=Math.min(F,C);F=Math.max(F,1);G=Math.min(G,4);G=Math.max(G,1);for(var B=A;B<=3;B++){for(var E=1;E<=C;E++){if(A==B&&E<F){continue}for(var D=1;D<=4;D++){if(A==B&&F==E&&G==D){continue}if(A==B&&F==E&&D<G){continue}if(treec[B][E][D].getType()=="passive"||treec[B][E][D].getType()=="active"){return B+"/"+E+"/"+D}}}}}return""}
|
|
|
|
function createBuildLink()
|
|
{
|
|
var C=getMaxi();
|
|
var A="";
|
|
|
|
for(var B=1;B<=3;B++)
|
|
{
|
|
for(var E=1;E<=C;E++)
|
|
{
|
|
for(var D=1;D<=4;D++)
|
|
{
|
|
if(treec[B][E][D].getType()=="passive"||treec[B][E][D].getType()=="active")
|
|
{
|
|
A+=treec[B][E][D].getCurRank().toString();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
for(var E=(translator.length-1);E>1;E--)
|
|
{
|
|
A=A.replace(stringFill("0",E),translator[E])
|
|
}
|
|
|
|
switch(pointlock)
|
|
{
|
|
default:
|
|
case 0:
|
|
A="9"+A;
|
|
break;
|
|
case 51:
|
|
A="8"+A;
|
|
break;
|
|
case 61:
|
|
A="7"+A;
|
|
break;
|
|
case 71:
|
|
A="6"+A;
|
|
break;
|
|
case 16:
|
|
A="5"+A;
|
|
break;
|
|
case 20:
|
|
A="4"+A;
|
|
break;
|
|
}
|
|
|
|
A=buildVersionString+"_"+classString+"_"+A;
|
|
|
|
return A;
|
|
}
|
|
|
|
function setPointLock(A)
|
|
{
|
|
switch(A)
|
|
{
|
|
case 71:
|
|
case 61:
|
|
case 51:
|
|
if(treep[1]+treep[2]+treep[3]>A)
|
|
{
|
|
redrawAll();
|
|
|
|
if(treep[1]+treep[2]+treep[3]>A)
|
|
{
|
|
alert(L(LANGTalent_UnableSetPoints));
|
|
return
|
|
}
|
|
}
|
|
break;
|
|
case 20:
|
|
{
|
|
if(treep[1]+treep[2]+treep[3]>A)
|
|
{
|
|
redrawAll();
|
|
|
|
if(treep[1]+treep[2]+treep[3]>A)
|
|
{
|
|
alert(L(LANGTalent_UnableSetPoints));
|
|
return
|
|
}
|
|
}
|
|
|
|
var B=$("link5Points");
|
|
B.innerHTML=LANGTalent_Remove5Points;
|
|
B.href="javascript:setPointLock(16);";
|
|
break;
|
|
}
|
|
case 16:
|
|
{
|
|
if(treep[1]+treep[2]+treep[3]>A)
|
|
{
|
|
redrawAll();
|
|
|
|
if(treep[1]+treep[2]+treep[3]>A)
|
|
{
|
|
alert(L(LANGTalent_UnableSetPoints));
|
|
return
|
|
}
|
|
}
|
|
|
|
var B=$("link5Points");
|
|
B.innerHTML=LANGTalent_Add5Points;
|
|
B.href="javascript:setPointLock(20);";
|
|
break;
|
|
}
|
|
default:
|
|
case 0:
|
|
break
|
|
}
|
|
|
|
pointlock=A;
|
|
redrawAll();
|
|
}
|
|
|
|
function reposAll(){for(var B=1;B<=3;B++){treet[B]=obj_top(treee[B]);treel[B]=obj_left(treee[B])}var A=getMaxi();for(var B=1;B<=3;B++){for(var D=1;D<=A;D++){for(var C=1;C<=4;C++){treec[B][D][C].reposition()}}}}
|
|
function showhideRedirect(A){if(A.value==1){$("redirecttargetbody").style.display=""}else{$("redirecttargetbody").style.display="none"}}
|
|
|
|
var currentClass = "druid";
|
|
|
|
taldata = "112#A#\"Nature\'s Grasp\"#\"spell_nature_natureswrath.png\"#\"\"##125|mana|casttime|0|60|0|0|||Rank 6#\n111#P#\"Improved Wrath\"#\"spell_nature_abolishmagic.png\"#\"\"##5|||||#\n122#P#\"Improved Moonfire\"#\"spell_nature_starfall.png\"#\"\"##5|||||#\n134#P#\"Nature\'s Reach\"#\"spell_nature_naturetouchgrow.png\"#\"\"##2||#\n124#P#\"Natural Shapeshifter\"#\"spell_nature_wispsplode.png\"#\"\"##3|||#\n131#P#\"Improved Thorns\"#\"spell_nature_thorns.png\"#\"\"##3|||#\n153#P#\"Moonglow\"#\"spell_nature_sentinal.png\"#\"\"##3|||#\n143#P#\"Improved Starfire\"#\"spell_arcane_starfire.png\"#\"\"##5|||||#\n121#P#\"Improved Entangling Roots\"#\"spell_nature_stranglevines.png\"#\"\"##3|||#\n133#A#\"Omen of Clarity\"#\"spell_nature_crystalball.png\"#\"\"#123#120|mana|casttime|0|0|0|0|||#\n152#P#\"Nature\'s Grace\"#\"spell_nature_naturesblessing.png\"#\"\"##1|#\n162#P#\"Moonfury\"#\"spell_nature_moonglow.png\"#\"\"#152#5|||||#\n123#P#\"Natural Weapons\"#\"inv_staff_01.png\"#\"\"##5|||||#\n142#P#\"Vengeance\"#\"spell_nature_purge.png\"#\"\"#122#5|||||#\n172#A#\"Moonkin Form\"#\"spell_nature_forceofnature.png\"#\"\"##35|procmana|casttime|0|0|0|0|||Shapeshift#\n113#P#\"Improved Nature\'s Grasp\"#\"spell_nature_natureswrath.png\"#\"\"#112#4||||#\n223#P#\"Thick Hide\"#\"inv_misc_pelt_bear_03.png\"#\"\"##5|||||#\n213#P#\"Feral Aggression\"#\"ability_druid_demoralizingroar.png\"#\"\"##5|||||#\n212#P#\"Ferocity\"#\"ability_hunter_pet_hyena.png\"#\"\"##5|||||#\n222#P#\"Brutal Impact\"#\"ability_druid_bash.png\"#\"\"##2||#\n233#P#\"Sharpened Claws\"#\"inv_misc_monsterclaw_04.png\"#\"\"##3|||#\n221#P#\"Feral Instinct\"#\"ability_ambush.png\"#\"\"##5|||||#\n243#P#\"Blood Frenzy\"#\"ability_ghoulfrenzy.png\"#\"\"#233#2||#\n244#P#\"Primal Fury\"#\"ability_racial_cannibalize.png\"#\"\"#233#2||#\n241#P#\"Improved Shred\"#\"spell_shadow_vampiricaura.png\"#\"\"##2||#\n242#P#\"Predatory Strikes\"#\"ability_hunter_pet_cat.png\"#\"\"##3|||#\n232#A#\"Feral Charge\"#\"ability_hunter_pet_bear.png\"#\"\"##5|rage|casttime|0|15|8|25|||#\n251#P#\"Savage Fury\"#\"ability_druid_ravage.png\"#\"\"##2||#\n231#P#\"Feline Swiftness\"#\"spell_nature_spiritwolf.png\"#\"\"##2||#\n262#P#\"Heart of the Wild\"#\"spell_holy_blessingofagility.png\"#\"\"#242#5|||||#\n272#P#\"Leader of the Pack\"#\"spell_nature_unyeildingstamina.png\"#\"\"##1|#\n253#A#\"Faerie Fire (Feral)\"#\"spell_nature_faeriefire.png\"#\"\"##0|energy|casttime|0|6|0|30|||Rank 4#\n312#P#\"Improved Mark of the Wild\"#\"spell_nature_regeneration.png\"#\"\"##5|||||#\n313#P#\"Furor\"#\"spell_holy_blessingofstamina.png\"#\"\"##5|||||#\n322#P#\"Nature\'s Focus\"#\"spell_nature_healingwavegreater.png\"#\"\"##5|||||#\n321#P#\"Improved Healing Touch\"#\"spell_nature_healingtouch.png\"#\"\"##5|||||#\n363#P#\"Improved Regrowth\"#\"spell_nature_resistnature.png\"#\"\"##5|||||#\n323#P#\"Improved Enrage\"#\"ability_druid_enrage.png\"#\"\"##2||#\n333#A#\"Insect Swarm\"#\"spell_nature_insectswarm.png\"#\"\"##160|mana|casttime|0|0|0|30|||Rank 5#\n353#P#\"Gift of Nature\"#\"spell_nature_protectionformnature.png\"#\"\"#333#5|||||#\n332#P#\"Reflection\"#\"spell_frost_windwalkon.png\"#\"\"##3|||#\n344#P#\"Improved Rejuvenation\"#\"spell_nature_rejuvenation.png\"#\"\"##3|||#\n351#A#\"Nature\'s Swiftness\"#\"spell_nature_ravenform.png\"#\"\"#321#0|mana|casttime|0|180|0|0|||#\n334#P#\"Subtlety\"#\"ability_eyeoftheowl.png\"#\"\"##5|||||#\n354#P#\"Improved Tranquility\"#\"spell_nature_tranquility.png\"#\"\"##2||#\n342#P#\"Tranquil Spirit\"#\"spell_holy_elunesgrace.png\"#\"\"##5|||||#\n372#A#\"Swiftmend\"#\"inv_relics_idolofrejuvenation.png\"#\"\"#342#20|procmana|casttime|0|15|0|40|||#\n";
|
|
var descriptionTable = new Array();
|
|
descriptionTable["1121"] = "While active, any time an enemy strikes the caster they have a 35% chance to become afflicted by Entangling Roots (Rank 6). Only useable outdoors. 1 charge. Lasts 45 sec."
|
|
descriptionTable["1111"] = "Reduces the cast time of your Wrath spell by 0.1 sec."
|
|
descriptionTable["1112"] = "Reduces the cast time of your Wrath spell by 0.2 sec."
|
|
descriptionTable["1113"] = "Reduces the cast time of your Wrath spell by 0.3 sec."
|
|
descriptionTable["1114"] = "Reduces the cast time of your Wrath spell by 0.4 sec."
|
|
descriptionTable["1115"] = "Reduces the cast time of your Wrath spell by 0.5 sec."
|
|
descriptionTable["1221"] = "Increases the damage and critical strike chance of your Moonfire spell by 2%."
|
|
descriptionTable["1222"] = "Increases the damage and critical strike chance of your Moonfire spell by 4%."
|
|
descriptionTable["1223"] = "Increases the damage and critical strike chance of your Moonfire spell by 6%."
|
|
descriptionTable["1224"] = "Increases the damage and critical strike chance of your Moonfire spell by 8%."
|
|
descriptionTable["1225"] = "Increases the damage and critical strike chance of your Moonfire spell by 10%."
|
|
descriptionTable["1341"] = "Increases the range of your Wrath, Entangling Roots, Faerie Fire, Moonfire, Starfire, and Hurricane spells by 10%."
|
|
descriptionTable["1342"] = "Increases the range of your Wrath, Entangling Roots, Faerie Fire, Moonfire, Starfire, and Hurricane spells by 20%."
|
|
descriptionTable["1241"] = "Reduces the mana cost of all shapeshifting by 10%."
|
|
descriptionTable["1242"] = "Reduces the mana cost of all shapeshifting by 20%."
|
|
descriptionTable["1243"] = "Reduces the mana cost of all shapeshifting by 30%."
|
|
descriptionTable["1311"] = "Increases damage caused by your Thorns spell by 25%."
|
|
descriptionTable["1312"] = "Increases damage caused by your Thorns spell by 50%."
|
|
descriptionTable["1313"] = "Increases damage caused by your Thorns spell by 75%."
|
|
descriptionTable["1531"] = "Reduces the Mana cost of your Moonfire, Starfire, Wrath, Healing Touch, Regrowth and Rejuvenation spells by 3%."
|
|
descriptionTable["1532"] = "Reduces the Mana cost of your Moonfire, Starfire, Wrath, Healing Touch, Regrowth and Rejuvenation spells by 6%."
|
|
descriptionTable["1533"] = "Reduces the Mana cost of your Moonfire, Starfire, Wrath, Healing Touch, Regrowth and Rejuvenation spells by 9%."
|
|
descriptionTable["1431"] = "Reduces the cast time of Starfire by 0.1 sec and has a 3% chance to stun the target for 3 sec."
|
|
descriptionTable["1432"] = "Reduces the cast time of Starfire by 0.2 sec and has a 6% chance to stun the target for 3 sec."
|
|
descriptionTable["1433"] = "Reduces the cast time of Starfire by 0.3 sec and has a 9% chance to stun the target for 3 sec."
|
|
descriptionTable["1434"] = "Reduces the cast time of Starfire by 0.4 sec and has a 12% chance to stun the target for 3 sec."
|
|
descriptionTable["1435"] = "Reduces the cast time of Starfire by 0.5 sec and has a 15% chance to stun the target for 3 sec."
|
|
descriptionTable["1211"] = "Gives you a 40% chance to avoid interruption caused by damage while casting Entangling Roots."
|
|
descriptionTable["1212"] = "Gives you a 70% chance to avoid interruption caused by damage while casting Entangling Roots."
|
|
descriptionTable["1213"] = "Gives you a 100% chance to avoid interruption caused by damage while casting Entangling Roots."
|
|
descriptionTable["1331"] = "Imbues the Druid with natural energy. Each of the Druid\'s melee attacks has a chance of causing the caster to enter a Clearcasting state. The Clearcasting state reduces the Mana, Rage or Energy cost of your next damage or healing spell or offensive ability by 100%. Lasts 10 min."
|
|
descriptionTable["1521"] = "All spell criticals grace you with a blessing of nature, reducing the casting time of your next spell by 0.5 sec."
|
|
descriptionTable["1621"] = "Increases the damage done by your Starfire, Moonfire and Wrath spells by 2%."
|
|
descriptionTable["1622"] = "Increases the damage done by your Starfire, Moonfire and Wrath spells by 4%."
|
|
descriptionTable["1623"] = "Increases the damage done by your Starfire, Moonfire and Wrath spells by 6%."
|
|
descriptionTable["1624"] = "Increases the damage done by your Starfire, Moonfire and Wrath spells by 8%."
|
|
descriptionTable["1625"] = "Increases the damage done by your Starfire, Moonfire and Wrath spells by 10%."
|
|
descriptionTable["1231"] = "Increases the damage you deal with physical attacks in all forms by 2%."
|
|
descriptionTable["1232"] = "Increases the damage you deal with physical attacks in all forms by 4%."
|
|
descriptionTable["1233"] = "Increases the damage you deal with physical attacks in all forms by 6%."
|
|
descriptionTable["1234"] = "Increases the damage you deal with physical attacks in all forms by 8%."
|
|
descriptionTable["1235"] = "Increases the damage you deal with physical attacks in all forms by 10%."
|
|
descriptionTable["1421"] = "Increases the critical strike damage bonus of your Starfire, Moonfire, and Wrath spells by 20%."
|
|
descriptionTable["1422"] = "Increases the critical strike damage bonus of your Starfire, Moonfire, and Wrath spells by 40%."
|
|
descriptionTable["1423"] = "Increases the critical strike damage bonus of your Starfire, Moonfire, and Wrath spells by 60%."
|
|
descriptionTable["1424"] = "Increases the critical strike damage bonus of your Starfire, Moonfire, and Wrath spells by 80%."
|
|
descriptionTable["1425"] = "Increases the critical strike damage bonus of your Starfire, Moonfire, and Wrath spells by 100%."
|
|
descriptionTable["1721"] = "Transforms the Druid into Moonkin Form. While in this form the armor contribution from items is increased by 360% and all party members within 30 yards have their spell critical chance increased by 3%. The Moonkin can only cast Balance spells while shapeshifted.<br><br>The act of shapeshifting frees the caster of Polymorph and Movement Impairing effects."
|
|
descriptionTable["1131"] = "Increases the chance for your Nature\'s Grasp to entangle an enemy by 15%."
|
|
descriptionTable["1132"] = "Increases the chance for your Nature\'s Grasp to entangle an enemy by 30%."
|
|
descriptionTable["1133"] = "Increases the chance for your Nature\'s Grasp to entangle an enemy by 45%."
|
|
descriptionTable["1134"] = "Increases the chance for your Nature\'s Grasp to entangle an enemy by 65%."
|
|
descriptionTable["2231"] = "Increases your Armor contribution from items by 2%."
|
|
descriptionTable["2232"] = "Increases your Armor contribution from items by 4%."
|
|
descriptionTable["2233"] = "Increases your Armor contribution from items by 6%."
|
|
descriptionTable["2234"] = "Increases your Armor contribution from items by 8%."
|
|
descriptionTable["2235"] = "Increases your Armor contribution from items by 10%."
|
|
descriptionTable["2131"] = "Increases the Attack Power reduction of your Demoralizing Roar by 8% and the damage caused by your Ferocious Bite by 3%."
|
|
descriptionTable["2132"] = "Increases the Attack Power reduction of your Demoralizing Roar by 16% and the damage caused by your Ferocious Bite by 6%."
|
|
descriptionTable["2133"] = "Increases the Attack Power reduction of your Demoralizing Roar by 24% and the damage caused by your Ferocious Bite by 9%."
|
|
descriptionTable["2134"] = "Increases the Attack Power reduction of your Demoralizing Roar by 32% and the damage caused by your Ferocious Bite by 12%."
|
|
descriptionTable["2135"] = "Increases the Attack Power reduction of your Demoralizing Roar by 40% and the damage caused by your Ferocious Bite by 15%."
|
|
descriptionTable["2121"] = "Reduces the cost of your Maul, Swipe, Claw, and Rake abilities by 1 Rage or Energy."
|
|
descriptionTable["2122"] = "Reduces the cost of your Maul, Swipe, Claw, and Rake abilities by 2 Rage or Energy."
|
|
descriptionTable["2123"] = "Reduces the cost of your Maul, Swipe, Claw, and Rake abilities by 3 Rage or Energy."
|
|
descriptionTable["2124"] = "Reduces the cost of your Maul, Swipe, Claw, and Rake abilities by 4 Rage or Energy."
|
|
descriptionTable["2125"] = "Reduces the cost of your Maul, Swipe, Claw, and Rake abilities by 5 Rage or Energy."
|
|
descriptionTable["2221"] = "Increases the stun duration of your Bash and Pounce abilities by 0.5 sec."
|
|
descriptionTable["2222"] = "Increases the stun duration of your Bash and Pounce abilities by 1 sec."
|
|
descriptionTable["2331"] = "Increases your critical strike chance while in Bear, Dire Bear or Cat Form by 2%."
|
|
descriptionTable["2332"] = "Increases your critical strike chance while in Bear, Dire Bear or Cat Form by 4%."
|
|
descriptionTable["2333"] = "Increases your critical strike chance while in Bear, Dire Bear or Cat Form by 6%."
|
|
descriptionTable["2211"] = "Increases threat caused in Bear and Dire Bear Form by 3% and reduces the chance enemies have to detect you while Prowling."
|
|
descriptionTable["2212"] = "Increases threat caused in Bear and Dire Bear Form by 6% and reduces the chance enemies have to detect you while Prowling."
|
|
descriptionTable["2213"] = "Increases threat caused in Bear and Dire Bear Form by 9% and reduces the chance enemies have to detect you while Prowling."
|
|
descriptionTable["2214"] = "Increases threat caused in Bear and Dire Bear Form by 12% and reduces the chance enemies have to detect you while Prowling."
|
|
descriptionTable["2215"] = "Increases threat caused in Bear and Dire Bear Form by 15% and reduces the chance enemies have to detect you while Prowling."
|
|
descriptionTable["2431"] = "Your critical strikes from Cat Form abilities that add combo points have a 50% chance to add an additional combo point."
|
|
descriptionTable["2432"] = "Your critical strikes from Cat Form abilities that add combo points have a 100% chance to add an additional combo point."
|
|
descriptionTable["2441"] = "Gives you a 50% chance to gain an additional 5 Rage anytime you get a critical strike while in Bear and Dire Bear Form."
|
|
descriptionTable["2442"] = "Gives you a 100% chance to gain an additional 5 Rage anytime you get a critical strike while in Bear and Dire Bear Form."
|
|
descriptionTable["2411"] = "Reduces the Energy cost of your Shred ability by 6."
|
|
descriptionTable["2412"] = "Reduces the Energy cost of your Shred ability by 12."
|
|
descriptionTable["2421"] = "Increases your melee attack power in Cat, Bear and Dire Bear Forms by 50% of your level."
|
|
descriptionTable["2422"] = "Increases your melee attack power in Cat, Bear and Dire Bear Forms by 100% of your level."
|
|
descriptionTable["2423"] = "Increases your melee attack power in Cat, Bear and Dire Bear Forms by 150% of your level."
|
|
descriptionTable["2321"] = "Causes you to charge an enemy, immobilizing and interrupting any spell being cast for 4 sec."
|
|
descriptionTable["2511"] = "Increases the damage caused by your Claw, Rake, Maul and Swipe abilities by 10%."
|
|
descriptionTable["2512"] = "Increases the damage caused by your Claw, Rake, Maul and Swipe abilities by 20%."
|
|
descriptionTable["2311"] = "Increases your movement speed by 15% while outdoors in Cat Form and increases your chance to dodge while in Cat Form by 2%."
|
|
descriptionTable["2312"] = "Increases your movement speed by 30% while outdoors in Cat Form and increases your chance to dodge while in Cat Form by 4%."
|
|
descriptionTable["2621"] = "Increases your Intellect by 4%. In addition, while in Bear or Dire Bear Form your Stamina is increased by 4% and while in Cat Form your Strength is increased by 4%."
|
|
descriptionTable["2622"] = "Increases your Intellect by 8%. In addition, while in Bear or Dire Bear Form your Stamina is increased by 8% and while in Cat Form your Strength is increased by 8%."
|
|
descriptionTable["2623"] = "Increases your Intellect by 12%. In addition, while in Bear or Dire Bear Form your Stamina is increased by 12% and while in Cat Form your Strength is increased by 12%."
|
|
descriptionTable["2624"] = "Increases your Intellect by 16%. In addition, while in Bear or Dire Bear Form your Stamina is increased by 16% and while in Cat Form your Strength is increased by 16%."
|
|
descriptionTable["2625"] = "Increases your Intellect by 20%. In addition, while in Bear or Dire Bear Form your Stamina is increased by 20% and while in Cat Form your Strength is increased by 20%."
|
|
descriptionTable["2721"] = "While in Cat, Bear or Dire Bear Form, the Leader of the Pack increases ranged and melee critical chance of all party members within 45 yards by 3%."
|
|
descriptionTable["2531"] = "Decrease the armor of the target by 505 for 40 sec. While affected, the target cannot stealth or turn invisible."
|
|
descriptionTable["3121"] = "Increases the effects of your Mark of the Wild and Gift of the Wild spells by 7%."
|
|
descriptionTable["3122"] = "Increases the effects of your Mark of the Wild and Gift of the Wild spells by 14%."
|
|
descriptionTable["3123"] = "Increases the effects of your Mark of the Wild and Gift of the Wild spells by 21%."
|
|
descriptionTable["3124"] = "Increases the effects of your Mark of the Wild and Gift of the Wild spells by 28%."
|
|
descriptionTable["3125"] = "Increases the effects of your Mark of the Wild and Gift of the Wild spells by 35%."
|
|
descriptionTable["3131"] = "Gives you 20% chance to gain 10 Rage when you shapeshift into Bear and Dire Bear Form or 40 Energy when you shapeshift into Cat Form."
|
|
descriptionTable["3132"] = "Gives you 40% chance to gain 10 Rage when you shapeshift into Bear and Dire Bear Form or 40 Energy when you shapeshift into Cat Form."
|
|
descriptionTable["3133"] = "Gives you 60% chance to gain 10 Rage when you shapeshift into Bear and Dire Bear Form or 40 Energy when you shapeshift into Cat Form."
|
|
descriptionTable["3134"] = "Gives you 80% chance to gain 10 Rage when you shapeshift into Bear and Dire Bear Form or 40 Energy when you shapeshift into Cat Form."
|
|
descriptionTable["3135"] = "Gives you 100% chance to gain 10 Rage when you shapeshift into Bear and Dire Bear Form or 40 Energy when you shapeshift into Cat Form."
|
|
descriptionTable["3221"] = "Gives you a 14% chance to avoid interruption caused by damage while casting the Healing Touch, Regrowth and Tranquility spells."
|
|
descriptionTable["3222"] = "Gives you a 28% chance to avoid interruption caused by damage while casting the Healing Touch, Regrowth and Tranquility spells."
|
|
descriptionTable["3223"] = "Gives you a 42% chance to avoid interruption caused by damage while casting the Healing Touch, Regrowth and Tranquility spells."
|
|
descriptionTable["3224"] = "Gives you a 56% chance to avoid interruption caused by damage while casting the Healing Touch, Regrowth and Tranquility spells."
|
|
descriptionTable["3225"] = "Gives you a 70% chance to avoid interruption caused by damage while casting the Healing Touch, Regrowth and Tranquility spells."
|
|
descriptionTable["3211"] = "Reduces the cast time of your Healing Touch spell by 0.1 sec."
|
|
descriptionTable["3212"] = "Reduces the cast time of your Healing Touch spell by 0.2 sec."
|
|
descriptionTable["3213"] = "Reduces the cast time of your Healing Touch spell by 0.3 sec."
|
|
descriptionTable["3214"] = "Reduces the cast time of your Healing Touch spell by 0.4 sec."
|
|
descriptionTable["3215"] = "Reduces the cast time of your Healing Touch spell by 0.5 sec."
|
|
descriptionTable["3631"] = "Increases the critical effect chance of your Regrowth spell by 10%."
|
|
descriptionTable["3632"] = "Increases the critical effect chance of your Regrowth spell by 20%."
|
|
descriptionTable["3633"] = "Increases the critical effect chance of your Regrowth spell by 30%."
|
|
descriptionTable["3634"] = "Increases the critical effect chance of your Regrowth spell by 40%."
|
|
descriptionTable["3635"] = "Increases the critical effect chance of your Regrowth spell by 50%."
|
|
descriptionTable["3231"] = "The Enrage ability now instantly generates 5 Rage."
|
|
descriptionTable["3232"] = "The Enrage ability now instantly generates 10 Rage."
|
|
descriptionTable["3331"] = "The enemy target is swarmed by insects, decreasing their chance to hit by 2% and causing 324 Nature damage over 12 sec."
|
|
descriptionTable["3531"] = "Increases the effect of all healing spells by 2%."
|
|
descriptionTable["3532"] = "Increases the effect of all healing spells by 4%."
|
|
descriptionTable["3533"] = "Increases the effect of all healing spells by 6%."
|
|
descriptionTable["3534"] = "Increases the effect of all healing spells by 8%."
|
|
descriptionTable["3535"] = "Increases the effect of all healing spells by 10%."
|
|
descriptionTable["3321"] = "Allows 5% of your Mana regeneration to continue while casting."
|
|
descriptionTable["3322"] = "Allows 10% of your Mana regeneration to continue while casting."
|
|
descriptionTable["3323"] = "Allows 15% of your Mana regeneration to continue while casting."
|
|
descriptionTable["3441"] = "Increases the effect of your Rejuvenation spell by 5%."
|
|
descriptionTable["3442"] = "Increases the effect of your Rejuvenation spell by 10%."
|
|
descriptionTable["3443"] = "Increases the effect of your Rejuvenation spell by 15%."
|
|
descriptionTable["3511"] = "When activated, your next Nature spell becomes an instant cast spell."
|
|
descriptionTable["3341"] = "Reduces the threat generated by your Healing spells by 4%."
|
|
descriptionTable["3342"] = "Reduces the threat generated by your Healing spells by 8%."
|
|
descriptionTable["3343"] = "Reduces the threat generated by your Healing spells by 12%."
|
|
descriptionTable["3344"] = "Reduces the threat generated by your Healing spells by 16%."
|
|
descriptionTable["3345"] = "Reduces the threat generated by your Healing spells by 20%."
|
|
descriptionTable["3541"] = "Reduces threat caused by Tranquility by 50%."
|
|
descriptionTable["3542"] = "Reduces threat caused by Tranquility by 100%."
|
|
descriptionTable["3421"] = "Reduces the mana cost of your Healing Touch and Tranquility spells by 2%."
|
|
descriptionTable["3422"] = "Reduces the mana cost of your Healing Touch and Tranquility spells by 4%."
|
|
descriptionTable["3423"] = "Reduces the mana cost of your Healing Touch and Tranquility spells by 6%."
|
|
descriptionTable["3424"] = "Reduces the mana cost of your Healing Touch and Tranquility spells by 8%."
|
|
descriptionTable["3425"] = "Reduces the mana cost of your Healing Touch and Tranquility spells by 10%."
|
|
descriptionTable["3721"] = "Consumes a Rejuvenation or Regrowth effect on a friendly target to instantly heal them an amount equal to 12 sec. of Rejuvenation or 18 sec. of Regrowth."
|
|
|
|
var LANGTalent_Spell_Instant = "Instant";
|
|
var LANGTalent_Spell_InstantCast = "Instant cast";
|
|
var LANGTalent_Spell_Channeled = "Channeled";
|
|
var LANGTalent_Spell_NextMelee = "Next Melee";
|
|
var LANGTalent_Spell_CastTimeSec = "{0} sec cast";
|
|
var LANGTalent_Spell_CastTimeMin = "{0} min cast";
|
|
var LANGTalent_Spell_CastTimeMinSec = "{0} min {1} sec cast";
|
|
var LANGTalent_Spell_TimeSec = " sec";
|
|
var LANGTalent_Spell_TimeMin = " min";
|
|
var LANGTalent_Spell_Cooldown = "{0} cooldown";
|
|
var LANGTalent_Spell_Reagents = "Reagents: ";
|
|
var LANGTalent_Spell_BaseMana = "% of base mana";
|
|
var LANGTalent_Spell_RemainingMana = "% of remaining mana";
|
|
var LANGTalent_Spell_Range = "{0} yd range";
|
|
var LANGTalent_Rank = "Rank ";
|
|
var LANGTalent_Requires = "Requires ";
|
|
var LANGTalent_RequiresPointsInTalents = "Requires {0} points in {1} Talents";
|
|
var LANGTalent_RequiresPointInTalent = "Requires {0} point in {1}";
|
|
var LANGTalent_RequiresPointsInTalent = "Requires {0} points in {1}";
|
|
var LANGTalent_NextRank = "Next rank:";
|
|
var LANGTalent_ClickToLearn = "Click to learn";
|
|
var LANGTalent_ClickToLearnNextRank = "Click to learn next rank";
|
|
var LANGTalent_RightClickToUnlearn = "Right-Click to unlearn";
|
|
var LANGTalent_PointsUsed = "Points spent: ";
|
|
var LANGTalent_PointsLeft = "Points left: ";
|
|
var LANGTalent_RequiredLevel = "Required level: ";
|
|
var LANGTalent_Min = " min ";
|
|
var LANGTalent_Mana = "Mana";
|
|
var LANGTalent_Rage = "Rage";
|
|
var LANGTalent_Energy = "Energy";
|
|
var LANGTalent_Focus = "Focus";
|
|
var LANGTalent_RunicPower = "Runic Power";
|
|
var LANGTalent_Points = "points";
|
|
var LANGTalent_PointsSpendInThisTree = "Points spend in this tree: ";
|
|
var LANGTalent_TotalPointsInThisTree = "Total points in this tree: ";
|
|
var LANGTalent_ActiveTalentsInThisTree = "Active talents in this tree: ";
|
|
var LANGTalent_PassiveTalentsInThisTree = "Passive talents in this tree: ";
|
|
var LANGTalent_UnableSetPoints = "Unable to set a new maximum level, you used too much points for this level.";
|
|
var LANGTalent_ChooseClass = "Choose class";
|
|
var LANGTalent_ChooseVersion = "Select version";
|
|
var LANGTalent_LinkBuild = "Link this build: ";
|
|
var LANGTalent_MostRecent = "Most recent:";
|
|
var LANGTalent_Add5Points = "Add 4 points";
|
|
var LANGTalent_Remove5Points = "Remove 4 points";
|
|
|
|
var LANGTalent_Druid_Balance = "Balance";
|
|
var LANGTalent_Druid_Feral = "Feral";
|
|
var LANGTalent_Druid_Restoration = "Restoration";
|
|
|
|
var LANGTalent_Deathknight_Blood = "Blood";
|
|
var LANGTalent_Deathknight_Frost = "Frost";
|
|
var LANGTalent_Deathknight_Unholy = "Unholy";
|
|
|
|
var LANGTalent_Hunter_BeastMastery = "Beast Mastery";
|
|
var LANGTalent_Hunter_Marksmanship = "Marksmanship";
|
|
var LANGTalent_Hunter_Survival = "Survival";
|
|
|
|
var LANGTalent_Mage_Arcane = "Arcane";
|
|
var LANGTalent_Mage_Fire = "Fire";
|
|
var LANGTalent_Mage_Frost = "Frost";
|
|
|
|
var LANGTalent_Paladin_Holy = "Holy";
|
|
var LANGTalent_Paladin_Protection = "Protection";
|
|
var LANGTalent_Paladin_Retribution = "Retribution";
|
|
|
|
var LANGTalent_Priest_Discipline = "Discipline";
|
|
var LANGTalent_Priest_Holy = "Holy";
|
|
var LANGTalent_Priest_Shadow = "Shadow";
|
|
|
|
var LANGTalent_Rogue_Assassination = "Assassination";
|
|
var LANGTalent_Rogue_Combat = "Combat";
|
|
var LANGTalent_Rogue_Subtlety = "Subtlety";
|
|
|
|
var LANGTalent_Shaman_Elemental = "Elemental";
|
|
var LANGTalent_Shaman_Enhancement = "Enhancement";
|
|
var LANGTalent_Shaman_Restoration = "Restoration";
|
|
|
|
var LANGTalent_Warlock_Affliction = "Affliction";
|
|
var LANGTalent_Warlock_Demonology = "Demonology";
|
|
var LANGTalent_Warlock_Destruction = "Destruction";
|
|
|
|
var LANGTalent_Warrior_Arms = "Arms";
|
|
var LANGTalent_Warrior_Fury = "Fury";
|
|
var LANGTalent_Warrior_Protection = "Protection";
|
|
|
|
var LANGTalent_HunterPet_Tenacity = "Tenacity";
|
|
var LANGTalent_HunterPet_Ferocity = "Ferocity";
|
|
var LANGTalent_HunterPet_Cunning = "Cunning"; |