diff --git a/.gitignore b/.gitignore
index 14bc68c..14a2aba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
-/nbproject/private/
\ No newline at end of file
+/nbproject/private/
+/config.php
diff --git a/config.php b/config.dist.php
similarity index 100%
rename from config.php
rename to config.dist.php
diff --git a/mojotrollz/api/autoload.inc.php b/mojotrollz/api/autoload.inc.php
index 1a5a814..7235e6d 100644
--- a/mojotrollz/api/autoload.inc.php
+++ b/mojotrollz/api/autoload.inc.php
@@ -4,5 +4,6 @@ SYSTEM\autoload::registerFolder(dirname(__FILE__).'/server','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/realm','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/world','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/database','');
-SYSTEM\autoload::registerFolder(dirname(__FILE__).'/charcreation','');
+SYSTEM\autoload::registerFolder(dirname(__FILE__).'/char','');
+SYSTEM\autoload::registerFolder(dirname(__FILE__).'/char/qq','DBD');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/client','');
\ No newline at end of file
diff --git a/mojotrollz/api/charcreation/charcreation.php b/mojotrollz/api/char/charcreation.php
similarity index 100%
rename from mojotrollz/api/charcreation/charcreation.php
rename to mojotrollz/api/char/charcreation.php
diff --git a/mojotrollz/api/charcreation/charcreation_validator.php b/mojotrollz/api/char/charcreation_validator.php
similarity index 100%
rename from mojotrollz/api/charcreation/charcreation_validator.php
rename to mojotrollz/api/char/charcreation_validator.php
diff --git a/mojotrollz/api/char/qq/TALENT_TREE.php b/mojotrollz/api/char/qq/TALENT_TREE.php
new file mode 100644
index 0000000..dcf80b0
--- /dev/null
+++ b/mojotrollz/api/char/qq/TALENT_TREE.php
@@ -0,0 +1,12 @@
+';}
+
+ if( count($res) > $count &&
+ $res[$count]['tree'] == $t &&
+ $res[$count]['row'] == $r &&
+ $res[$count]['column'] == $c){
+
+ $style = $res[$count]['icon'] ? 'background: url('.$res[$count]['icon'].') 50% 50% no-repeat;' : 'visibility:visible;';
+ $max = $r == 1 ? (($res[$count]['parent_row']) ? '' : '0/'.$res[$count]['max']) : '';
+ $text_color = $r == 1 ? 'icon_text_green' : '';
+
+ $vars[$tree] .= \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PAPI(),'char/tpl/skilltree_icon.tpl'),
+ array( 'id' => $id,
+ 'style' => $style,
+ 'type' => $res[$count]['type'],
+ 'border' => $res[$count]['border'],
+ 'text_color' => $text_color,
+ 'max' => $max));
+
+ $count++;
+ } else {
+ //empty
+ $vars[$tree] .= \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PAPI(),'char/tpl/skilltree_icon.tpl'),
+ array( 'id' => $id,
+ 'style' => 'visibility:hidden;',
+ 'type' => 'talent_icon',
+ 'border' => '',
+ 'text_color' => '',
+ 'max' => ''));
+ }
+
+ if($c == 4){
+ $vars[$tree] .= '';}
+ }
+ }
+ }
+
+ 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
new file mode 100644
index 0000000..a405177
--- /dev/null
+++ b/mojotrollz/api/char/tpl/skilltree.tpl
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+ ${tree1}
+ ${tree2}
+ ${tree3}
+
+
\ No newline at end of file
diff --git a/mojotrollz/api/char/tpl/skilltree_icon.tpl b/mojotrollz/api/char/tpl/skilltree_icon.tpl
new file mode 100644
index 0000000..38e83c3
--- /dev/null
+++ b/mojotrollz/api/char/tpl/skilltree_icon.tpl
@@ -0,0 +1,4 @@
+
+
+
${max}
+
\ No newline at end of file
diff --git a/mojotrollz/files/Mojologos/IMG_0084.gif b/mojotrollz/files/Mojologos/IMG_0084.gif
new file mode 100644
index 0000000..f33aaa9
Binary files /dev/null and b/mojotrollz/files/Mojologos/IMG_0084.gif differ
diff --git a/mojotrollz/files/Mojologos/Mojologo 16x16.png b/mojotrollz/files/Mojologos/Mojologo 16x16.png
new file mode 100644
index 0000000..f8ff354
Binary files /dev/null and b/mojotrollz/files/Mojologos/Mojologo 16x16.png differ
diff --git a/mojotrollz/files/Mojologos/Mojopulse.gif b/mojotrollz/files/Mojologos/Mojopulse.gif
new file mode 100644
index 0000000..97851ec
Binary files /dev/null and b/mojotrollz/files/Mojologos/Mojopulse.gif differ
diff --git a/mojotrollz/files/default_page/favicon.ico b/mojotrollz/files/default_page/favicon.ico
new file mode 100644
index 0000000..ac11a39
Binary files /dev/null and b/mojotrollz/files/default_page/favicon.ico differ
diff --git a/mojotrollz/files/skilltree/arrows.gif b/mojotrollz/files/skilltree/arrows.gif
new file mode 100644
index 0000000..66e5899
Binary files /dev/null and b/mojotrollz/files/skilltree/arrows.gif differ
diff --git a/mojotrollz/files/skilltree/skilltree_icons.gif b/mojotrollz/files/skilltree/skilltree_icons.gif
new file mode 100644
index 0000000..d78dffe
Binary files /dev/null and b/mojotrollz/files/skilltree/skilltree_icons.gif differ
diff --git a/mojotrollz/page/default_page/css/default_page.css b/mojotrollz/page/default_page/css/default_page.css
index 1940807..b80f44a 100644
--- a/mojotrollz/page/default_page/css/default_page.css
+++ b/mojotrollz/page/default_page/css/default_page.css
@@ -18,7 +18,7 @@ body {
}
.threecol_col{
- display: table-cell;
+ display: table-cell;
position: relative;
}
@@ -75,9 +75,8 @@ body {
}
#frame_content {
- margin-left: 10px;
- margin-right: 10px;
- margin-bottom: 10px;
+ padding: 15px;
+ display: table-cell;
}
#frame_content_left {
diff --git a/mojotrollz/page/default_page/default_page.tpl b/mojotrollz/page/default_page/default_page.tpl
index 4f24732..c60e7a2 100644
--- a/mojotrollz/page/default_page/default_page.tpl
+++ b/mojotrollz/page/default_page/default_page.tpl
@@ -2,7 +2,8 @@
${mojotrollz_page_title}
-
+
+
${css}
${js}
diff --git a/mojotrollz/page/wizard_details/details.tpl b/mojotrollz/page/wizard_details/details.tpl
index 3ca7c98..f0e6d54 100644
--- a/mojotrollz/page/wizard_details/details.tpl
+++ b/mojotrollz/page/wizard_details/details.tpl
@@ -39,7 +39,7 @@
-
+
Info
${infotext_default}
diff --git a/mojotrollz/page/wizard_skills/css/wizard_skills.css b/mojotrollz/page/wizard_skills/css/wizard_skills.css
index 36e9f9e..59a4e28 100644
--- a/mojotrollz/page/wizard_skills/css/wizard_skills.css
+++ b/mojotrollz/page/wizard_skills/css/wizard_skills.css
@@ -1,5 +1,4 @@
-body
-{
+body{
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 12px;
background-color: #000000;
@@ -64,52 +63,67 @@ a:visited
text-decoration: none;
}
+.treerowspacer{
+ clear: both;
+ width: 100%;
+ height: 67px;
+ padding-left: 10px;
+}
.contentarea{margin-top:5px;margin-left:5px;width:90%;}
-.button{
- //position:absolute;
- background-image:none;background-repeat:no-repeat;background-position:2px 2px;text-align:center;vertical-align:middle;width:56px;height:54px;}
-.buttonnumber{
- //position:absolute;
- color:#0F0;font-size:10px;vertical-align:middle;text-align:center;font-family:Verdana, Helvetica, Arial, sans-serif;width:21px;height:10px;right:3px;bottom:4px;}
+.icon{
+ float: left;
+ position: relative;
+ width:65px;
+ height:67px;
+ top: 0px;
+ opacity: 1;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:2px 2px;
+ text-align:center;
+ vertical-align:middle;
+}
+.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_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_green{background-position: -65px 0px;}
+.icon_border_green_right{background-position: -65px -134px;}
+
+.icon_border_yellow{background-position: -260px 0px;}
+.icon_border_yellow_inc{background-position: -260px -268px;}
+.icon_border_yellow_down{background-position: -260px -201px;}
+.icon_border_yellow_down_right{background-position: -260px -469px;}
+
+.icon_number{
+ position: relative;
+ float: right;
+ font-size:10px;
+ vertical-align:middle;
+ text-align:center;
+ font-family:Verdana, Helvetica, Arial, sans-serif;
+ width:21px;
+ height:10px;
+ right:3px;
+ bottom:19px;}
.window{
//position:absolute;
+ position: relative;
background-color:#000;left:-1000px;width:300px;top:135px;padding:1px 1px 1px 1px;color:#000;z-index:6;}
.window a{color:#000001;}
.window th{background-color:#333;border:1px solid #CCC;color:#FFF;}
.window table{background-color:#DADADA;border:0 solid #CCC;}
-.arrowrd{background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=rightdown.png);
- //position:absolute;
- background-position:right top;z-index:2;}
-.arrowd{background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=down.png);
- //position:absolute;
- background-position:right bottom;z-index:2;}
-.arrowld{background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=leftdown.png);
- //position:absolute;
- background-position:left top;z-index:2;}
-.arrowl{background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=left.png);
- //position:absolute;
- background-position:left bottom;z-index:2;}
-.arrowr{background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=right.png);
- //position:absolute;
- background-position:right bottom;z-index:2;}
-
-.arrowrd_yellow{background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=rightdown_yellow.png);
- //position:absolute;
- background-position:right top;z-index:2;}
-.arrowd_yellow{background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=down_yellow.png);
- //position:absolute;
- background-position:right bottom;z-index:2;}
-.arrowld_yellow{background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=leftdown_yellow.png);
- //position:absolute;
- background-position:left top;z-index:2;}
-.arrowl_yellow{background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=left_yellow.png);
- //position:absolute;
- background-position:left bottom;z-index:2;}
-.arrowr_yellow{background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=right_yellow.png);
- //position:absolute;
- background-position:right bottom;z-index:2;}
-
.tooltip {
//position:absolute;
z-index:9999;font-family:Verdana, Helvetica, Arial, sans-serif;color:#FFFFFF;font-size:12px;line-height:17px;width:300px;left:-1000px;}
@@ -128,13 +142,24 @@ a:visited
.yellowFont{color:#FFD100;}
-.talentheader {border-bottom:0px solid #002B55;background-image: url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=tableheader.png);}
+.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);}
-.outerbg{border:0px solid #002B55;background-color:#002B55;}
-.talenticon{background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=borders.gif);background-position:0 0;background-repeat:no-repeat;width:56px;height:54px;}
+.outerbg{border:0px solid #002B55;background-color:#002B55; padding-left: 12px;}
+.talent_icon{
+ background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=skilltree_icons.gif);
+ background-repeat:no-repeat;
+ width:65px;
+ height:67px;
+}
+.talent_arrow{
+ background-image:url(http://www.mojotrollz.eu/web/mojotrollz/api.php?call=files&cat=skilltree&id=arrows.gif);
+ background-repeat:no-repeat;
+ width:65px;
+ height:67px;
+}
.noscript{
//position:absolute;
left:462px;right:318px;top:5px;overflow:hidden;text-align:center;z-index:20;border:2px solid #600;color:#FFF;font-size:12px;padding:3px;}
diff --git a/mojotrollz/page/wizard_skills/wizard_skills.php b/mojotrollz/page/wizard_skills/wizard_skills.php
index c380234..5028028 100644
--- a/mojotrollz/page/wizard_skills/wizard_skills.php
+++ b/mojotrollz/page/wizard_skills/wizard_skills.php
@@ -1,5 +1,4 @@
js();
- $vars['css'] = $this->css();
- return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_skills/wizard_skills.tpl'), $vars);
+ $vars = array();
+ $vars['skilltree'] = skilltree::generate(11); //druid
+ return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_skills/wizard_skills.tpl'), $vars);
}
}
\ No newline at end of file
diff --git a/mojotrollz/page/wizard_skills/wizard_skills.tpl b/mojotrollz/page/wizard_skills/wizard_skills.tpl
index 313df1a..3a8aee1 100644
--- a/mojotrollz/page/wizard_skills/wizard_skills.tpl
+++ b/mojotrollz/page/wizard_skills/wizard_skills.tpl
@@ -1,418 +1,2 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+${skilltree}
+
\ No newline at end of file
diff --git a/mojotrollz/path/PAPI.php b/mojotrollz/path/PAPI.php
new file mode 100644
index 0000000..febaaf6
--- /dev/null
+++ b/mojotrollz/path/PAPI.php
@@ -0,0 +1,5 @@
+