diff --git a/mojotrollz/page/wizard_skills/css/wizard_skills.css b/mojotrollz/api/char/css/skilltree.css similarity index 85% rename from mojotrollz/page/wizard_skills/css/wizard_skills.css rename to mojotrollz/api/char/css/skilltree.css index 59a4e28..7a5461d 100644 --- a/mojotrollz/page/wizard_skills/css/wizard_skills.css +++ b/mojotrollz/api/char/css/skilltree.css @@ -1,13 +1,13 @@ -body{ - font-family: Verdana, Helvetica, Arial, sans-serif; - font-size: 12px; - background-color: #000000; - color: #FFFFFF; - margin: 0px; - padding: 0px; +.skilltree { + font-family: Verdana, Helvetica, Arial, sans-serif; + font-size: 12px; + background-color: #000000; + color: #FFFFFF; + margin: 0px; + padding: 0px; } -input +.skilltree input { font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10px; @@ -19,7 +19,7 @@ input border-TOP: #6F6D67 1px solid; } -.stdText +.skilltree stdText { font-family:Verdana, Helvetica, Arial, sans-serif; color:#FFFFFF; @@ -27,7 +27,7 @@ input font-weight:normal; } -a:link +.skilltree a:link { font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10px; @@ -36,7 +36,7 @@ a:link text-decoration: none; } -a:active +.skilltree a:active { font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10px; @@ -45,7 +45,7 @@ a:active text-decoration: none; } -a:hover +.skilltree a:hover { font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10px; @@ -54,7 +54,7 @@ a:hover text-decoration: underline; } -a:visited +.skilltree a:visited { font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10px; @@ -86,16 +86,16 @@ a:visited .icon_text_green{color: rgb(46, 255, 0);} .icon_text_yellow{color: rgb(255, 209, 0);} -.icon_arrow_gray_down{background-position: 0px 0px;} -.icon_arrow_gray_down_right{background-position: -65px 0px;} +.icon_arrow_grey_down{background-position: 0px 0px;} +.icon_arrow_grey_down_right{background-position: -65px 0px;} .icon_arrow_yellow_down{background-position: -130px 0px;} .icon_arrow_yellow_down_right{background-position: -195px 0px;} .icon_border_grey{background-position: 0px 0px;} -.icon_border_gray_inc_left{background-position: 0px -402px;} -.icon_border_gray_inc{background-position: 0px -268px;} -.icon_border_gray_down{background-position: 0px -201px;} -.icon_border_gray_down_right{background-position: 0px -469px;} +.icon_border_grey_inc_left{background-position: 0px -402px;} +.icon_border_grey_inc{background-position: 0px -268px;} +.icon_border_grey_down{background-position: 0px -201px;} +.icon_border_grey_down_right{background-position: 0px -469px;} .icon_border_green{background-position: -65px 0px;} .icon_border_green_right{background-position: -65px -134px;} @@ -145,7 +145,7 @@ a:visited .talentheader {width: 300px; border-bottom:0px solid #002B55;background-image: url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=tableheader.png);} .talentheader div{padding-right:20px;background-repeat:no-repeat;background-position:bottom right;height:41px;width:209px;float:left;} .talentheader strong{font-weight:bold;display:block;padding-left:18px;padding-top:14px;vertical-align:bottom;} -.talentheader img {margin-top:11px; cursor:pointer; background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=resetbutton.png);} +.talentheader img {height: 20px; width: 59px; margin-top:11px; cursor:pointer; background:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=resetbutton.png) no-repeat;} .outerbg{border:0px solid #002B55;background-color:#002B55; padding-left: 12px;} .talent_icon{ diff --git a/mojotrollz/api/char/js/skilltree.js b/mojotrollz/api/char/js/skilltree.js new file mode 100644 index 0000000..014fe62 --- /dev/null +++ b/mojotrollz/api/char/js/skilltree.js @@ -0,0 +1,1751 @@ +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:"
 Druid
", url: "?talent=11215875_11"}, + {code:"
 Hunter
", url: "?talent=11215875_3"}, + {code:"
 Mage
", url: "?talent=11215875_8"}, + {code:"
 Paladin
", url: "?talent=11215875_2"}, + {code:"
 Priest
", url: "?talent=11215875_5"}, + {code:"
 Rogue
", url: "?talent=11215875_4"}, + {code:"
 Shaman
", url: "?talent=11215875_7"}, + {code:"
 Warlock
", url: "?talent=11215875_9"}, + {code:"
 Warrior
", 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:"
 WotLk
", url: "javascript:;", leveloff:[0,160], sub:[ + {itemoff:[23,0], leveloff:[0,160], style:STYLE_ITEM, size:[23,159]}, + {code:"
3.0.1.8303 - Alpha
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018303_11"}, + {code:"
3.0.1.8334 - Alpha
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018334_11"}, + {code:"
3.0.1.8391 - Alpha
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018391_11"}, + {code:"
3.0.1.8471 - Alpha
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018471_11"}, + {code:"
3.0.1.8622 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018622_11"}, + {code:"
3.0.1.8634 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018634_11"}, + {code:"
3.0.1.8681 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018681_11"}, + {code:"
3.0.1.8714 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018714_11"}, + {code:"
3.0.1.8770 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018770_11"}, + {code:"
3.0.1.8788 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3018788_11"}, + {code:"
3.0.1.8820 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=3018820_11"}, + {code:"
3.0.2.8885 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3028885_11"}, + {code:"
3.0.2.8970 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3028970_11"}, + {code:"
3.0.2.9038 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3029038_11"}, + {code:"
3.0.2.9056 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3029056_11"}, + {code:"
3.0.2.9061 - Beta
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3029061_11"}, + {code:"
3.0.3.9183
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3039183_11"}, + {code:"
3.0.8.9464
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3089464_11"}, + {code:"
3.1.0.9767
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3109767_11"}, + {code:"
3.1.1.9835
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=3119835_11"}, + {code:"
3.1.3.9947 - Live
", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=3139947_11"}, + + ]}, + {code:"
 TBC
", url: "javascript:;", leveloff:[0,160], sub:[ + {itemoff:[23,0], leveloff:[0,160], style:STYLE_ITEM, size:[23,159]}, + {code:"
2.0.0.6080
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2006080_11"}, + {code:"
2.0.3.6299
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2036299_11"}, + {code:"
2.0.5.6320
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2056320_11"}, + {code:"
2.0.6.6337
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2066337_11"}, + {code:"
2.0.7.6383
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2076383_11"}, + {code:"
2.0.8.6403
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2086403_11"}, + {code:"
2.0.10.6448
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=20106448_11"}, + {code:"
2.0.12.6546
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=20126546_11"}, + {code:"
2.1.0.6692
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2106692_11"}, + {code:"
2.1.0.6729
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2106729_11"}, + {code:"
2.1.1.6739
", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=2116739_11"}, + {code:"
2.1.2.6803
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2126803_11"}, + {code:"
2.1.3.6898
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2136898_11"}, + {code:"
2.2.0.7272
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2207272_11"}, + {code:"
2.2.2.7318
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2227318_11"}, + {code:"
2.2.3.7359
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2237359_11"}, + {code:"
2.3.0.7561
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2307561_11"}, + {code:"
2.3.2.7741
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2327741_11"}, + {code:"
2.3.3.7799
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2337799_11"}, + {code:"
2.4.0.8089
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2408089_11"}, + {code:"
2.4.1.8125
", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=2418125_11"}, + {code:"
2.4.2.8278
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2428278_11"}, + {code:"
2.4.3.8606
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=2438606_11"}, + + ]}, + {code:"
 WoW Classic
", url: "javascript:;", leveloff:[0,160], sub:[ + {itemoff:[23,0], leveloff:[0,160], style:STYLE_ITEM, size:[23,159]}, + {code:"
1.1.2.4125 - US Start
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1124125_11"}, + {code:"
1.2.3.4211 - EU Start
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1234211_11"}, + {code:"
1.2.4.4222
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1244222_11"}, + {code:"
1.3.0.4284
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1304284_11"}, + {code:"
1.3.1.4297
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1314297_11"}, + {code:"
1.4.0.4341
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1404341_11"}, + {code:"
1.4.1.4364
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1414364_11"}, + {code:"
1.4.2.4375
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1424375_11"}, + {code:"
1.5.0.4442
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1504442_11"}, + {code:"
1.5.1.4449
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1514449_11"}, + {code:"
1.6.0.4500
", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=1604500_11"}, + {code:"
1.6.1.4544
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1614544_11"}, + {code:"
1.7.0.4671
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1704671_11"}, + {code:"
1.7.1.4695
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1714695_11"}, + {code:"
1.8.0.4735
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1804735_11"}, + {code:"
1.8.1.4769
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1814769_11"}, + {code:"
1.8.2.4784
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1824784_11"}, + {code:"
1.8.3.4807
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1834807_11"}, + {code:"
1.8.4.4878
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1844878_11"}, + {code:"
1.9.0.4937
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1904937_11"}, + {code:"
1.9.1.4983
", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=1914983_11"}, + {code:"
1.9.2.4996
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1924996_11"}, + {code:"
1.9.3.5059
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1935059_11"}, + {code:"
1.9.4.5086
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=1945086_11"}, + {code:"
1.10.0.5195
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11005195_11"}, + {code:"
1.10.1.5230
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11015230_11"}, + {code:"
1.10.2.5302
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11025302_11"}, + {code:"
1.11.0.5428
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11105428_11"}, + {code:"
1.11.1.5462
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11115462_11"}, + {code:"
1.11.2.5464
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11125464_11"}, + {code:"
1.12.0.5595
", style:STYLE_ITEM, size:[23,159], itemoff:[-207,161], url: "?talent=11205595_11"}, + {code:"
1.12.1.5875
", style:STYLE_ITEM, size:[23,159], itemoff:[23,0], url: "?talent=11215875_11"}, + {code:"
1.12.2.6005
", 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;A10){return""}}var A="";for(var B=0;B0){var C=0;for(var D=1;D0)&&((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])0) + { + B+=D+'Blood Runes ' + } + + if(parseInt(A)>0) + { + B+=A+'Unholy Runes ' + } + + if(parseInt(C)>0) + { + B+=C+'Frost Runes ' + } + + 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=''+htmlspecialchars(this.talentname)+""; + + if(this.getType()=="active") + { + E+=''+this.getActiveMaxRank()+"" + } + + E+='
'; + + if(this.getNumRanks()>0) + { + E+=L(LANGTalent_Rank)+this.getCurRank()+"/"+this.getNumRanks()+"
"} + var C=(talentPointsRequired*(this.getRow()-1)); + + if(C!=0) + { + if(treep[this.getTree()]>=C) + { + E+='' + } + else + { + E+='' + reqMet1 = false; + } + + E+=LANGTalent_RequiresPointsInTalents.replace("{0}", (talentPointsRequired*(this.getRow()-1))).replace("{1}", treen[this.getTree()])+"
" + } + + for(var B=0;B0) + { + E+=''+this.getReadCost()+""; + + if(!this.hasNoRange()) + { + E+=''+htmlspecialchars(this.getReadRange())+"" + } + + E+='
'; + E+=''+htmlspecialchars(this.getReadCasttime())+""; + + if(this.getActiveCooldown()>0) + { + E+=''+LANGTalent_Spell_Cooldown.replace("{0}", htmlspecialchars(this.getReadCooldown()))+"" + } + } + else + { + if(this.hasNoRange()) + { + E+=''+htmlspecialchars(this.getReadCasttime())+""; + + if(this.getActiveCooldown()>0) + { + E+=''+LANGTalent_Spell_Cooldown.replace("{0}", htmlspecialchars(this.getReadCooldown()))+"" + } + } + else + { + E+=''+htmlspecialchars(this.getReadRange())+""; + E+='
';E+=''+htmlspecialchars(this.getReadCasttime())+""; + + if(this.getActiveCooldown()>0) + { + E+=''+LANGTalent_Spell_Cooldown.replace("{0}", htmlspecialchars(this.getReadCooldown()))+"" + } + } + } + + E+='
'; + + if(this.getActiveReagents()!="") + { + E+=''+L(LANGTalent_Spell_Reagents)+uni_unescape(htmlspecialchars(this.getActiveReagents()))+"" + } + + if(this.getActiveRequires()!="") + { + E+=''+L(LANGTalent_Requires)+uni_unescape(htmlspecialchars(this.getActiveRequires()))+"" + } + + E+='
'; + E+=''+this.getRankDescription(this.getTree(), this.getRow(), this.getPos(), this.getCurRank())+"" + } + else + { + if(this.getType()=="passive") + { + E+=''+this.getRankDescription(this.getTree(), this.getRow(), this.getPos(), this.getCurRank())+"" + } + else + { + E+=''+this.getRankDescription(this.getTree(), this.getRow(), this.getPos(), this.getCurRank())+"" + } + } + + if (!this.isMaxRank() && this.getCurRank() > 0) + { + E+="

"+L(LANGTalent_NextRank)+"
" + E+=''+this.getRankDescription(this.getTree(), this.getRow(), this.getPos(), this.getCurRank() + 1)+"" + } + + + var pointLockReached = (pointlock>0&&((treep[1]+treep[2]+treep[3])>=pointlock)); + + if (reqMet1 == true && reqMet2 == true && pointLockReached == false) + { + if (this.getCurRank() == 0) + { + E+='
'+L(LANGTalent_ClickToLearn)+"" + } + + if (!this.isMaxRank() && this.getCurRank() > 0) + { + E+='
'+L(LANGTalent_ClickToLearnNextRank)+"" + } + } + + if (this.isMaxRank()) + { + E+='
'+L(LANGTalent_RightClickToUnlearn)+"" + } + + 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;B0) + { + var G=E.appendChild(document.createElement("div")); + + if(HC){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(DC){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(H1){procesTalent(dataarray[i])}}for(var i=0;i1){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;i1){procesTalent(dataarray[i])}}for(var i=0;i1){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"+treen[C]+"
"+L(LANGTalent_PointsSpendInThisTree)+counts+"
"+L(LANGTalent_TotalPointsInThisTree)+countt+"
"+L(LANGTalent_ActiveTalentsInThisTree)+counta+"
"+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=""+treen[A]+" - "+treep[A]+" "+L(LANGTalent_Points)+"" + } + + 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;C1;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.

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"; \ No newline at end of file diff --git a/mojotrollz/api/char/skilltree.php b/mojotrollz/api/char/skilltree.php index 8e7fd16..a64f79b 100644 --- a/mojotrollz/api/char/skilltree.php +++ b/mojotrollz/api/char/skilltree.php @@ -1,5 +1,5 @@ $id, @@ -29,7 +37,7 @@ class skilltree{ 'type' => $res[$count]['type'], 'border' => $res[$count]['border'], 'text_color' => $text_color, - 'max' => $max)); + 'max' => $max_text)); $count++; } else { @@ -48,7 +56,6 @@ class skilltree{ } } } - return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PAPI(),'char/tpl/skilltree.tpl'), $vars); } } diff --git a/mojotrollz/api/char/tpl/skilltree.tpl b/mojotrollz/api/char/tpl/skilltree.tpl index a405177..c2f0ff8 100644 --- a/mojotrollz/api/char/tpl/skilltree.tpl +++ b/mojotrollz/api/char/tpl/skilltree.tpl @@ -1,4 +1,4 @@ - +
- - - + + +
@@ -29,8 +29,8 @@
${tree1}${tree2}${tree3}${tree1}${tree2}${tree3}
\ No newline at end of file diff --git a/mojotrollz/files/register_files.php b/mojotrollz/files/register_files.php index a1f901d..9fdd819 100644 --- a/mojotrollz/files/register_files.php +++ b/mojotrollz/files/register_files.php @@ -5,4 +5,7 @@ \SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/backgrounds/','backgrounds','*.png'); \SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/wow_city_icons/','wow_city_icons','*.png'); \SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/default_page/','default_page','*.png'); -\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/','skilltree','*.*'); \ No newline at end of file +\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/','skilltree','*.*'); +\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/tree/','skilltree_tree','*.*'); +\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/skills/','skilltree_skills','*.*'); +\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/skills_grey/','skilltree_skills_grey','*.*'); \ No newline at end of file diff --git a/mojotrollz/files/skilltree/borders.gif b/mojotrollz/files/skilltree/borders.gif deleted file mode 100644 index f35be82..0000000 Binary files a/mojotrollz/files/skilltree/borders.gif and /dev/null differ diff --git a/mojotrollz/files/skilltree/down.png b/mojotrollz/files/skilltree/down.png deleted file mode 100644 index 55eb174..0000000 Binary files a/mojotrollz/files/skilltree/down.png and /dev/null differ diff --git a/mojotrollz/files/skilltree/down_yellow.png b/mojotrollz/files/skilltree/down_yellow.png deleted file mode 100644 index c2dc0fa..0000000 Binary files a/mojotrollz/files/skilltree/down_yellow.png and /dev/null differ diff --git a/mojotrollz/files/skilltree/left.png b/mojotrollz/files/skilltree/left.png deleted file mode 100644 index 3ddc583..0000000 Binary files a/mojotrollz/files/skilltree/left.png and /dev/null differ diff --git a/mojotrollz/files/skilltree/left_yellow.png b/mojotrollz/files/skilltree/left_yellow.png deleted file mode 100644 index ace6074..0000000 Binary files a/mojotrollz/files/skilltree/left_yellow.png and /dev/null differ diff --git a/mojotrollz/files/skilltree/leftdown.png b/mojotrollz/files/skilltree/leftdown.png deleted file mode 100644 index c71226e..0000000 Binary files a/mojotrollz/files/skilltree/leftdown.png and /dev/null differ diff --git a/mojotrollz/files/skilltree/leftdown_yellow.png b/mojotrollz/files/skilltree/leftdown_yellow.png deleted file mode 100644 index 839b058..0000000 Binary files a/mojotrollz/files/skilltree/leftdown_yellow.png and /dev/null differ diff --git a/mojotrollz/files/skilltree/right.png b/mojotrollz/files/skilltree/right.png deleted file mode 100644 index 8c10398..0000000 Binary files a/mojotrollz/files/skilltree/right.png and /dev/null differ diff --git a/mojotrollz/files/skilltree/right_yellow.png b/mojotrollz/files/skilltree/right_yellow.png deleted file mode 100644 index 8674ecb..0000000 Binary files a/mojotrollz/files/skilltree/right_yellow.png and /dev/null differ diff --git a/mojotrollz/files/skilltree/rightdown.png b/mojotrollz/files/skilltree/rightdown.png deleted file mode 100644 index 77da4f8..0000000 Binary files a/mojotrollz/files/skilltree/rightdown.png and /dev/null differ diff --git a/mojotrollz/files/skilltree/rightdown_yellow.png b/mojotrollz/files/skilltree/rightdown_yellow.png deleted file mode 100644 index b8cd956..0000000 Binary files a/mojotrollz/files/skilltree/rightdown_yellow.png and /dev/null differ diff --git a/mojotrollz/files/skilltree/skills/ability_ambush.png b/mojotrollz/files/skilltree/skills/ability_ambush.png new file mode 100644 index 0000000..b9dc907 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/ability_ambush.png differ diff --git a/mojotrollz/files/skilltree/skills/ability_druid_bash.png b/mojotrollz/files/skilltree/skills/ability_druid_bash.png new file mode 100644 index 0000000..ee4e3f1 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/ability_druid_bash.png differ diff --git a/mojotrollz/files/skilltree/skills/ability_druid_demoralizingroar.png b/mojotrollz/files/skilltree/skills/ability_druid_demoralizingroar.png new file mode 100644 index 0000000..81d7b15 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/ability_druid_demoralizingroar.png differ diff --git a/mojotrollz/files/skilltree/skills/ability_druid_enrage.png b/mojotrollz/files/skilltree/skills/ability_druid_enrage.png new file mode 100644 index 0000000..591c98b Binary files /dev/null and b/mojotrollz/files/skilltree/skills/ability_druid_enrage.png differ diff --git a/mojotrollz/files/skilltree/skills/ability_druid_ravage.png b/mojotrollz/files/skilltree/skills/ability_druid_ravage.png new file mode 100644 index 0000000..0447598 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/ability_druid_ravage.png differ diff --git a/mojotrollz/files/skilltree/skills/ability_eyeoftheowl.png b/mojotrollz/files/skilltree/skills/ability_eyeoftheowl.png new file mode 100644 index 0000000..eaae6e8 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/ability_eyeoftheowl.png differ diff --git a/mojotrollz/files/skilltree/skills/ability_ghoulfrenzy.png b/mojotrollz/files/skilltree/skills/ability_ghoulfrenzy.png new file mode 100644 index 0000000..376b871 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/ability_ghoulfrenzy.png differ diff --git a/mojotrollz/files/skilltree/skills/ability_hunter_pet_bear.png b/mojotrollz/files/skilltree/skills/ability_hunter_pet_bear.png new file mode 100644 index 0000000..cb9a6d4 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/ability_hunter_pet_bear.png differ diff --git a/mojotrollz/files/skilltree/skills/ability_hunter_pet_cat.png b/mojotrollz/files/skilltree/skills/ability_hunter_pet_cat.png new file mode 100644 index 0000000..5f500c4 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/ability_hunter_pet_cat.png differ diff --git a/mojotrollz/files/skilltree/skills/ability_hunter_pet_hyena.png b/mojotrollz/files/skilltree/skills/ability_hunter_pet_hyena.png new file mode 100644 index 0000000..f112456 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/ability_hunter_pet_hyena.png differ diff --git a/mojotrollz/files/skilltree/skills/ability_racial_cannibalize.png b/mojotrollz/files/skilltree/skills/ability_racial_cannibalize.png new file mode 100644 index 0000000..d9bba09 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/ability_racial_cannibalize.png differ diff --git a/mojotrollz/files/skilltree/skills/inv_misc_monsterclaw_04.png b/mojotrollz/files/skilltree/skills/inv_misc_monsterclaw_04.png new file mode 100644 index 0000000..c1b663f Binary files /dev/null and b/mojotrollz/files/skilltree/skills/inv_misc_monsterclaw_04.png differ diff --git a/mojotrollz/files/skilltree/skills/inv_misc_pelt_bear_03.png b/mojotrollz/files/skilltree/skills/inv_misc_pelt_bear_03.png new file mode 100644 index 0000000..37764ac Binary files /dev/null and b/mojotrollz/files/skilltree/skills/inv_misc_pelt_bear_03.png differ diff --git a/mojotrollz/files/skilltree/skills/inv_relics_idolofrejuvenation.png b/mojotrollz/files/skilltree/skills/inv_relics_idolofrejuvenation.png new file mode 100644 index 0000000..9c6ab14 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/inv_relics_idolofrejuvenation.png differ diff --git a/mojotrollz/files/skilltree/skills/inv_staff_01.png b/mojotrollz/files/skilltree/skills/inv_staff_01.png new file mode 100644 index 0000000..89fc13b Binary files /dev/null and b/mojotrollz/files/skilltree/skills/inv_staff_01.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_arcane_starfire.png b/mojotrollz/files/skilltree/skills/spell_arcane_starfire.png new file mode 100644 index 0000000..3fcc04d Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_arcane_starfire.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_frost_windwalkon.png b/mojotrollz/files/skilltree/skills/spell_frost_windwalkon.png new file mode 100644 index 0000000..9f10996 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_frost_windwalkon.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_holy_blessingofagility.png b/mojotrollz/files/skilltree/skills/spell_holy_blessingofagility.png new file mode 100644 index 0000000..9862811 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_holy_blessingofagility.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_holy_blessingofstamina.png b/mojotrollz/files/skilltree/skills/spell_holy_blessingofstamina.png new file mode 100644 index 0000000..fd069af Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_holy_blessingofstamina.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_holy_elunesgrace.png b/mojotrollz/files/skilltree/skills/spell_holy_elunesgrace.png new file mode 100644 index 0000000..67d92c9 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_holy_elunesgrace.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_abolishmagic.png b/mojotrollz/files/skilltree/skills/spell_nature_abolishmagic.png new file mode 100644 index 0000000..0300ffa Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_abolishmagic.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_crystalball.png b/mojotrollz/files/skilltree/skills/spell_nature_crystalball.png new file mode 100644 index 0000000..6fd2519 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_crystalball.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_faeriefire.png b/mojotrollz/files/skilltree/skills/spell_nature_faeriefire.png new file mode 100644 index 0000000..42236fd Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_faeriefire.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_forceofnature.png b/mojotrollz/files/skilltree/skills/spell_nature_forceofnature.png new file mode 100644 index 0000000..0282356 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_forceofnature.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_healingtouch.png b/mojotrollz/files/skilltree/skills/spell_nature_healingtouch.png new file mode 100644 index 0000000..bc7ff49 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_healingtouch.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_healingwavegreater.png b/mojotrollz/files/skilltree/skills/spell_nature_healingwavegreater.png new file mode 100644 index 0000000..f6e05a0 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_healingwavegreater.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_insectswarm.png b/mojotrollz/files/skilltree/skills/spell_nature_insectswarm.png new file mode 100644 index 0000000..19986bc Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_insectswarm.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_moonglow.png b/mojotrollz/files/skilltree/skills/spell_nature_moonglow.png new file mode 100644 index 0000000..0082705 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_moonglow.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_naturesblessing.png b/mojotrollz/files/skilltree/skills/spell_nature_naturesblessing.png new file mode 100644 index 0000000..a8e27bf Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_naturesblessing.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_natureswrath.png b/mojotrollz/files/skilltree/skills/spell_nature_natureswrath.png new file mode 100644 index 0000000..4aae8bb Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_natureswrath.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_naturetouchgrow.png b/mojotrollz/files/skilltree/skills/spell_nature_naturetouchgrow.png new file mode 100644 index 0000000..b51c8ee Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_naturetouchgrow.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_protectionformnature.png b/mojotrollz/files/skilltree/skills/spell_nature_protectionformnature.png new file mode 100644 index 0000000..1e34791 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_protectionformnature.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_purge.png b/mojotrollz/files/skilltree/skills/spell_nature_purge.png new file mode 100644 index 0000000..4a45923 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_purge.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_ravenform.png b/mojotrollz/files/skilltree/skills/spell_nature_ravenform.png new file mode 100644 index 0000000..55dab5e Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_ravenform.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_regeneration.png b/mojotrollz/files/skilltree/skills/spell_nature_regeneration.png new file mode 100644 index 0000000..db27a99 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_regeneration.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_rejuvenation.png b/mojotrollz/files/skilltree/skills/spell_nature_rejuvenation.png new file mode 100644 index 0000000..282a864 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_rejuvenation.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_resistnature.png b/mojotrollz/files/skilltree/skills/spell_nature_resistnature.png new file mode 100644 index 0000000..7cde7fe Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_resistnature.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_sentinal.png b/mojotrollz/files/skilltree/skills/spell_nature_sentinal.png new file mode 100644 index 0000000..66dcb16 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_sentinal.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_spiritwolf.png b/mojotrollz/files/skilltree/skills/spell_nature_spiritwolf.png new file mode 100644 index 0000000..a78eb82 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_spiritwolf.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_starfall.png b/mojotrollz/files/skilltree/skills/spell_nature_starfall.png new file mode 100644 index 0000000..d17a697 Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_starfall.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_stranglevines.png b/mojotrollz/files/skilltree/skills/spell_nature_stranglevines.png new file mode 100644 index 0000000..dfd8a0d Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_stranglevines.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_thorns.png b/mojotrollz/files/skilltree/skills/spell_nature_thorns.png new file mode 100644 index 0000000..675e92a Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_thorns.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_tranquility.png b/mojotrollz/files/skilltree/skills/spell_nature_tranquility.png new file mode 100644 index 0000000..61bf2aa Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_tranquility.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_unyeildingstamina.png b/mojotrollz/files/skilltree/skills/spell_nature_unyeildingstamina.png new file mode 100644 index 0000000..06457df Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_unyeildingstamina.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_nature_wispsplode.png b/mojotrollz/files/skilltree/skills/spell_nature_wispsplode.png new file mode 100644 index 0000000..89bff5b Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_nature_wispsplode.png differ diff --git a/mojotrollz/files/skilltree/skills/spell_shadow_vampiricaura.png b/mojotrollz/files/skilltree/skills/spell_shadow_vampiricaura.png new file mode 100644 index 0000000..4fa84dd Binary files /dev/null and b/mojotrollz/files/skilltree/skills/spell_shadow_vampiricaura.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/ability_ambush.png b/mojotrollz/files/skilltree/skills_grey/ability_ambush.png new file mode 100644 index 0000000..317940b Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/ability_ambush.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/ability_druid_bash.png b/mojotrollz/files/skilltree/skills_grey/ability_druid_bash.png new file mode 100644 index 0000000..2e1b955 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/ability_druid_bash.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/ability_druid_demoralizingroar.png b/mojotrollz/files/skilltree/skills_grey/ability_druid_demoralizingroar.png new file mode 100644 index 0000000..7127150 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/ability_druid_demoralizingroar.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/ability_druid_enrage.png b/mojotrollz/files/skilltree/skills_grey/ability_druid_enrage.png new file mode 100644 index 0000000..e666646 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/ability_druid_enrage.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/ability_druid_ravage.png b/mojotrollz/files/skilltree/skills_grey/ability_druid_ravage.png new file mode 100644 index 0000000..3e0c4a4 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/ability_druid_ravage.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/ability_eyeoftheowl.png b/mojotrollz/files/skilltree/skills_grey/ability_eyeoftheowl.png new file mode 100644 index 0000000..06645e3 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/ability_eyeoftheowl.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/ability_ghoulfrenzy.png b/mojotrollz/files/skilltree/skills_grey/ability_ghoulfrenzy.png new file mode 100644 index 0000000..e14a32b Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/ability_ghoulfrenzy.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/ability_hunter_pet_bear.png b/mojotrollz/files/skilltree/skills_grey/ability_hunter_pet_bear.png new file mode 100644 index 0000000..2fb526a Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/ability_hunter_pet_bear.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/ability_hunter_pet_cat.png b/mojotrollz/files/skilltree/skills_grey/ability_hunter_pet_cat.png new file mode 100644 index 0000000..b61f5d8 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/ability_hunter_pet_cat.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/ability_hunter_pet_hyena.png b/mojotrollz/files/skilltree/skills_grey/ability_hunter_pet_hyena.png new file mode 100644 index 0000000..51a4d20 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/ability_hunter_pet_hyena.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/ability_racial_cannibalize.png b/mojotrollz/files/skilltree/skills_grey/ability_racial_cannibalize.png new file mode 100644 index 0000000..4489b0b Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/ability_racial_cannibalize.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/inv_misc_monsterclaw_04.png b/mojotrollz/files/skilltree/skills_grey/inv_misc_monsterclaw_04.png new file mode 100644 index 0000000..7d46f6e Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/inv_misc_monsterclaw_04.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/inv_misc_pelt_bear_03.png b/mojotrollz/files/skilltree/skills_grey/inv_misc_pelt_bear_03.png new file mode 100644 index 0000000..da52eee Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/inv_misc_pelt_bear_03.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/inv_relics_idolofrejuvenation.png b/mojotrollz/files/skilltree/skills_grey/inv_relics_idolofrejuvenation.png new file mode 100644 index 0000000..241f936 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/inv_relics_idolofrejuvenation.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/inv_staff_01.png b/mojotrollz/files/skilltree/skills_grey/inv_staff_01.png new file mode 100644 index 0000000..36ae4a3 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/inv_staff_01.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_arcane_starfire.png b/mojotrollz/files/skilltree/skills_grey/spell_arcane_starfire.png new file mode 100644 index 0000000..6dce694 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_arcane_starfire.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_frost_windwalkon.png b/mojotrollz/files/skilltree/skills_grey/spell_frost_windwalkon.png new file mode 100644 index 0000000..48640df Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_frost_windwalkon.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_holy_blessingofagility.png b/mojotrollz/files/skilltree/skills_grey/spell_holy_blessingofagility.png new file mode 100644 index 0000000..28b80b8 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_holy_blessingofagility.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_holy_blessingofstamina.png b/mojotrollz/files/skilltree/skills_grey/spell_holy_blessingofstamina.png new file mode 100644 index 0000000..630d7b9 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_holy_blessingofstamina.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_holy_elunesgrace.png b/mojotrollz/files/skilltree/skills_grey/spell_holy_elunesgrace.png new file mode 100644 index 0000000..95e47aa Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_holy_elunesgrace.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_abolishmagic.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_abolishmagic.png new file mode 100644 index 0000000..0ede4ab Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_abolishmagic.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_crystalball.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_crystalball.png new file mode 100644 index 0000000..0720c5c Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_crystalball.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_faeriefire.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_faeriefire.png new file mode 100644 index 0000000..b02aa83 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_faeriefire.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_forceofnature.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_forceofnature.png new file mode 100644 index 0000000..f58ddab Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_forceofnature.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_healingtouch.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_healingtouch.png new file mode 100644 index 0000000..94d71ae Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_healingtouch.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_healingwavegreater.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_healingwavegreater.png new file mode 100644 index 0000000..5fab2b0 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_healingwavegreater.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_insectswarm.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_insectswarm.png new file mode 100644 index 0000000..7eb8c4c Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_insectswarm.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_moonglow.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_moonglow.png new file mode 100644 index 0000000..ed13eb8 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_moonglow.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_naturesblessing.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_naturesblessing.png new file mode 100644 index 0000000..a89fc07 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_naturesblessing.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_natureswrath.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_natureswrath.png new file mode 100644 index 0000000..0b771de Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_natureswrath.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_naturetouchgrow.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_naturetouchgrow.png new file mode 100644 index 0000000..49680a6 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_naturetouchgrow.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_protectionformnature.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_protectionformnature.png new file mode 100644 index 0000000..e0f21fe Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_protectionformnature.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_purge.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_purge.png new file mode 100644 index 0000000..f3b5728 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_purge.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_ravenform.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_ravenform.png new file mode 100644 index 0000000..2b30a6f Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_ravenform.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_regeneration.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_regeneration.png new file mode 100644 index 0000000..c8d5ba6 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_regeneration.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_rejuvenation.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_rejuvenation.png new file mode 100644 index 0000000..696b5cb Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_rejuvenation.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_resistnature.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_resistnature.png new file mode 100644 index 0000000..ed3deb2 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_resistnature.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_sentinal.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_sentinal.png new file mode 100644 index 0000000..8efd0dd Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_sentinal.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_spiritwolf.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_spiritwolf.png new file mode 100644 index 0000000..36c9195 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_spiritwolf.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_starfall.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_starfall.png new file mode 100644 index 0000000..0c9e1b3 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_starfall.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_stranglevines.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_stranglevines.png new file mode 100644 index 0000000..40da65a Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_stranglevines.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_thorns.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_thorns.png new file mode 100644 index 0000000..dd0ce6a Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_thorns.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_tranquility.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_tranquility.png new file mode 100644 index 0000000..bee36a9 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_tranquility.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_unyeildingstamina.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_unyeildingstamina.png new file mode 100644 index 0000000..722fd6a Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_unyeildingstamina.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_nature_wispsplode.png b/mojotrollz/files/skilltree/skills_grey/spell_nature_wispsplode.png new file mode 100644 index 0000000..85140c8 Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_nature_wispsplode.png differ diff --git a/mojotrollz/files/skilltree/skills_grey/spell_shadow_vampiricaura.png b/mojotrollz/files/skilltree/skills_grey/spell_shadow_vampiricaura.png new file mode 100644 index 0000000..aab2c5e Binary files /dev/null and b/mojotrollz/files/skilltree/skills_grey/spell_shadow_vampiricaura.png differ diff --git a/mojotrollz/files/skilltree/druidBalance.jpg b/mojotrollz/files/skilltree/tree/druidBalance.jpg similarity index 100% rename from mojotrollz/files/skilltree/druidBalance.jpg rename to mojotrollz/files/skilltree/tree/druidBalance.jpg diff --git a/mojotrollz/files/skilltree/druidFeral.jpg b/mojotrollz/files/skilltree/tree/druidFeral.jpg similarity index 100% rename from mojotrollz/files/skilltree/druidFeral.jpg rename to mojotrollz/files/skilltree/tree/druidFeral.jpg diff --git a/mojotrollz/files/skilltree/druidRestoration.jpg b/mojotrollz/files/skilltree/tree/druidRestoration.jpg similarity index 100% rename from mojotrollz/files/skilltree/druidRestoration.jpg rename to mojotrollz/files/skilltree/tree/druidRestoration.jpg diff --git a/mojotrollz/files/skilltree/hunterBeastMastery.jpg b/mojotrollz/files/skilltree/tree/hunterBeastMastery.jpg similarity index 100% rename from mojotrollz/files/skilltree/hunterBeastMastery.jpg rename to mojotrollz/files/skilltree/tree/hunterBeastMastery.jpg diff --git a/mojotrollz/files/skilltree/hunterMarksmanship.jpg b/mojotrollz/files/skilltree/tree/hunterMarksmanship.jpg similarity index 100% rename from mojotrollz/files/skilltree/hunterMarksmanship.jpg rename to mojotrollz/files/skilltree/tree/hunterMarksmanship.jpg diff --git a/mojotrollz/files/skilltree/hunterSurvival.jpg b/mojotrollz/files/skilltree/tree/hunterSurvival.jpg similarity index 100% rename from mojotrollz/files/skilltree/hunterSurvival.jpg rename to mojotrollz/files/skilltree/tree/hunterSurvival.jpg diff --git a/mojotrollz/files/skilltree/mageArcane.jpg b/mojotrollz/files/skilltree/tree/mageArcane.jpg similarity index 100% rename from mojotrollz/files/skilltree/mageArcane.jpg rename to mojotrollz/files/skilltree/tree/mageArcane.jpg diff --git a/mojotrollz/files/skilltree/mageFire.jpg b/mojotrollz/files/skilltree/tree/mageFire.jpg similarity index 100% rename from mojotrollz/files/skilltree/mageFire.jpg rename to mojotrollz/files/skilltree/tree/mageFire.jpg diff --git a/mojotrollz/files/skilltree/mageFrost.jpg b/mojotrollz/files/skilltree/tree/mageFrost.jpg similarity index 100% rename from mojotrollz/files/skilltree/mageFrost.jpg rename to mojotrollz/files/skilltree/tree/mageFrost.jpg diff --git a/mojotrollz/files/skilltree/paladinHoly.jpg b/mojotrollz/files/skilltree/tree/paladinHoly.jpg similarity index 100% rename from mojotrollz/files/skilltree/paladinHoly.jpg rename to mojotrollz/files/skilltree/tree/paladinHoly.jpg diff --git a/mojotrollz/files/skilltree/paladinProtection.jpg b/mojotrollz/files/skilltree/tree/paladinProtection.jpg similarity index 100% rename from mojotrollz/files/skilltree/paladinProtection.jpg rename to mojotrollz/files/skilltree/tree/paladinProtection.jpg diff --git a/mojotrollz/files/skilltree/paladinRetribution.jpg b/mojotrollz/files/skilltree/tree/paladinRetribution.jpg similarity index 100% rename from mojotrollz/files/skilltree/paladinRetribution.jpg rename to mojotrollz/files/skilltree/tree/paladinRetribution.jpg diff --git a/mojotrollz/files/skilltree/priestDiscipline.jpg b/mojotrollz/files/skilltree/tree/priestDiscipline.jpg similarity index 100% rename from mojotrollz/files/skilltree/priestDiscipline.jpg rename to mojotrollz/files/skilltree/tree/priestDiscipline.jpg diff --git a/mojotrollz/files/skilltree/priestHoly.jpg b/mojotrollz/files/skilltree/tree/priestHoly.jpg similarity index 100% rename from mojotrollz/files/skilltree/priestHoly.jpg rename to mojotrollz/files/skilltree/tree/priestHoly.jpg diff --git a/mojotrollz/files/skilltree/priestShadow.jpg b/mojotrollz/files/skilltree/tree/priestShadow.jpg similarity index 100% rename from mojotrollz/files/skilltree/priestShadow.jpg rename to mojotrollz/files/skilltree/tree/priestShadow.jpg diff --git a/mojotrollz/files/skilltree/rogueAssassination.jpg b/mojotrollz/files/skilltree/tree/rogueAssassination.jpg similarity index 100% rename from mojotrollz/files/skilltree/rogueAssassination.jpg rename to mojotrollz/files/skilltree/tree/rogueAssassination.jpg diff --git a/mojotrollz/files/skilltree/rogueCombat.jpg b/mojotrollz/files/skilltree/tree/rogueCombat.jpg similarity index 100% rename from mojotrollz/files/skilltree/rogueCombat.jpg rename to mojotrollz/files/skilltree/tree/rogueCombat.jpg diff --git a/mojotrollz/files/skilltree/rogueSubtlety.jpg b/mojotrollz/files/skilltree/tree/rogueSubtlety.jpg similarity index 100% rename from mojotrollz/files/skilltree/rogueSubtlety.jpg rename to mojotrollz/files/skilltree/tree/rogueSubtlety.jpg diff --git a/mojotrollz/files/skilltree/shamanElemental.jpg b/mojotrollz/files/skilltree/tree/shamanElemental.jpg similarity index 100% rename from mojotrollz/files/skilltree/shamanElemental.jpg rename to mojotrollz/files/skilltree/tree/shamanElemental.jpg diff --git a/mojotrollz/files/skilltree/shamanEnhancement.jpg b/mojotrollz/files/skilltree/tree/shamanEnhancement.jpg similarity index 100% rename from mojotrollz/files/skilltree/shamanEnhancement.jpg rename to mojotrollz/files/skilltree/tree/shamanEnhancement.jpg diff --git a/mojotrollz/files/skilltree/shamanRestoration.jpg b/mojotrollz/files/skilltree/tree/shamanRestoration.jpg similarity index 100% rename from mojotrollz/files/skilltree/shamanRestoration.jpg rename to mojotrollz/files/skilltree/tree/shamanRestoration.jpg diff --git a/mojotrollz/files/skilltree/warlockAffliction.jpg b/mojotrollz/files/skilltree/tree/warlockAffliction.jpg similarity index 100% rename from mojotrollz/files/skilltree/warlockAffliction.jpg rename to mojotrollz/files/skilltree/tree/warlockAffliction.jpg diff --git a/mojotrollz/files/skilltree/warlockDemonology.jpg b/mojotrollz/files/skilltree/tree/warlockDemonology.jpg similarity index 100% rename from mojotrollz/files/skilltree/warlockDemonology.jpg rename to mojotrollz/files/skilltree/tree/warlockDemonology.jpg diff --git a/mojotrollz/files/skilltree/warlockDestruction.jpg b/mojotrollz/files/skilltree/tree/warlockDestruction.jpg similarity index 100% rename from mojotrollz/files/skilltree/warlockDestruction.jpg rename to mojotrollz/files/skilltree/tree/warlockDestruction.jpg diff --git a/mojotrollz/files/skilltree/warriorArms.jpg b/mojotrollz/files/skilltree/tree/warriorArms.jpg similarity index 100% rename from mojotrollz/files/skilltree/warriorArms.jpg rename to mojotrollz/files/skilltree/tree/warriorArms.jpg diff --git a/mojotrollz/files/skilltree/warriorFury.jpg b/mojotrollz/files/skilltree/tree/warriorFury.jpg similarity index 100% rename from mojotrollz/files/skilltree/warriorFury.jpg rename to mojotrollz/files/skilltree/tree/warriorFury.jpg diff --git a/mojotrollz/files/skilltree/warriorProtection.jpg b/mojotrollz/files/skilltree/tree/warriorProtection.jpg similarity index 100% rename from mojotrollz/files/skilltree/warriorProtection.jpg rename to mojotrollz/files/skilltree/tree/warriorProtection.jpg diff --git a/mojotrollz/page/default_page/default_page.php b/mojotrollz/page/default_page/default_page.php index 887c59a..2c6efde 100644 --- a/mojotrollz/page/default_page/default_page.php +++ b/mojotrollz/page/default_page/default_page.php @@ -15,7 +15,7 @@ class default_page extends SYSTEM\PAGE\Page { ''. ''. ''. - ''. + ''. ''; } @@ -23,7 +23,7 @@ class default_page extends SYSTEM\PAGE\Page { return ''. ''. ''. - ''; + ''; } public function html(){ diff --git a/mojotrollz/path/JQQTIP.php b/mojotrollz/path/JQQTIP.php deleted file mode 100644 index d057b31..0000000 --- a/mojotrollz/path/JQQTIP.php +++ /dev/null @@ -1,5 +0,0 @@ -next()){ + $vars['icon_entry'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree_icon_entry.tpl'), $row);} + return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PSAI(),'saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree_page.tpl'), $vars);} + public static function html_li_menu(){return '
  • Skilltree
  • ';} + public static function right_public(){return false;} + public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);} + public static function sai_mod_saimod_mojotrollz_skilltree_flag_js(){return \SYSTEM\LOG\JsonResult::toString( + array( \SYSTEM\WEBPATH(new PSAI(),'saimod_mojotrollz_skilltree/saimod_mojotrollz_skilltree.js'), + \SYSTEM\WEBPATH(new PAPI(),'char/js/skilltree.js')));} + public static function sai_mod_saimod_mojotrollz_skilltree_flag_css(){return \SYSTEM\LOG\JsonResult::toString( + array(\SYSTEM\WEBPATH(new PAPI(),'char/css/skilltree.css')));} +} \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree.tpl b/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree.tpl new file mode 100644 index 0000000..beaac7d --- /dev/null +++ b/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree.tpl @@ -0,0 +1,19 @@ +

    Skilltree

    +
    + \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree_icon_entry.tpl b/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree_icon_entry.tpl new file mode 100644 index 0000000..21fe2de --- /dev/null +++ b/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree_icon_entry.tpl @@ -0,0 +1,12 @@ + + ${class} + ${tree} + ${row} + ${column} + ${type} + ${border} + ${icon} + ${max} + ${parent_row} + ${parent_column} + \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree_page.tpl b/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree_page.tpl new file mode 100644 index 0000000..d9e6db0 --- /dev/null +++ b/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree_page.tpl @@ -0,0 +1,31 @@ +${skilltree} +
    +
    + + + + + + + + + + ${tree_entry} +
    class + tree1_nametree1_imgtree2_nametree2_imgtree3_nametree3_img
    +
    + + + + + + + + + + + + + + ${icon_entry} +
    classtreerowcolumntypebordericonmaxparent_rowparent_column
    \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree_tree_entry.tpl b/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree_tree_entry.tpl new file mode 100644 index 0000000..94da6e9 --- /dev/null +++ b/mojotrollz/sai/saimod_mojotrollz_skilltree/tpl/saimod_mojotrollz_skilltree_tree_entry.tpl @@ -0,0 +1,9 @@ + + ${class} + ${tree1_name} + ${tree1_img} + ${tree2_name} + ${tree2_img} + ${tree3_name} + ${tree3_img} + \ No newline at end of file diff --git a/mojotrollz/sai/sql/server_handling.sql b/mojotrollz/sai/sql/server_handling.sql index 0c25123..26a5f5f 100644 --- a/mojotrollz/sai/sql/server_handling.sql +++ b/mojotrollz/sai/sql/server_handling.sql @@ -1,2 +1,2 @@ -INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1000, 42, 0, 0, 'saimod_mojotrollz_server_handling', 'action', NULL); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5000, 42, 0, 0, 'saimod_mojotrollz_server_handling', 'action', NULL); diff --git a/mojotrollz/sai/sql/skilltree.sql b/mojotrollz/sai/sql/skilltree.sql new file mode 100644 index 0000000..5a2ec40 --- /dev/null +++ b/mojotrollz/sai/sql/skilltree.sql @@ -0,0 +1,3 @@ +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5100, 42, 0, 0, 'saimod_mojotrollz_skilltree', 'action', NULL); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5101, 42, 2, 5100, 'tree', 'tree', 'INT'); + diff --git a/system b/system index b3bf40d..8a3e165 160000 --- a/system +++ b/system @@ -1 +1 @@ -Subproject commit b3bf40d17d3c707d7af17943b1f6ff147c0e71a6 +Subproject commit 8a3e1650e630df3ea2119e6977a5a303214048a7