diff --git a/mojotrollz/api/char/charcreation.php b/mojotrollz/api/char/charcreation.php
index 994ce9f..d5654e4 100644
--- a/mojotrollz/api/char/charcreation.php
+++ b/mojotrollz/api/char/charcreation.php
@@ -2,7 +2,7 @@
class charcreation {
const DEFAULT_CHAR_NAME = 'Charactername';
const DEFAULT_CHAR_GENDER = 'default';
- const DEFAULT_CHAR_RACE = 'default';
+ const DEFAULT_CHAR_RACE = 0;
const DEFAULT_CHAR_CLASS = 0;
const MOJO_CC_SESSIONKEY = 'mojo_charcreation';
const DEFAULT_CHAR_APPEARANCE = 1;
@@ -38,14 +38,14 @@ class charcreation {
public static function checkClassRace($class,$race){
switch($race){
- case 'human': return in_array($class, array(player_classes::WARRIOR, player_classes::ROGUE, player_classes::PRIEST, player_classes::MAGE, player_classes::WARLOCK, player_classes::PALADIN));
- case 'ork': return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::SHAMAN, player_classes::ROGUE, player_classes::WARLOCK));
- case 'dwarf': return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::ROGUE, player_classes::PRIEST, player_classes::PALADIN));
- case 'scorge': return in_array($class, array(player_classes::WARRIOR, player_classes::ROGUE, player_classes::PRIEST, player_classes::MAGE, player_classes::WARLOCK));
- case 'nightelf': return in_array($class,array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::ROGUE, player_classes::PRIEST, player_classes::DRUID));
- case 'tauren': return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::SHAMAN, player_classes::DRUID));
- case 'gnome': return in_array($class, array(player_classes::WARRIOR, player_classes::ROGUE, player_classes::MAGE, player_classes::WARLOCK));
- case 'troll': return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::SHAMAN, player_classes::ROGUE, player_classes::PRIEST, player_classes::MAGE));
+ case player_races::HUMAN : return in_array($class, array(player_classes::WARRIOR, player_classes::ROGUE, player_classes::PRIEST, player_classes::MAGE, player_classes::WARLOCK, player_classes::PALADIN));
+ case player_races::ORK: return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::SHAMAN, player_classes::ROGUE, player_classes::WARLOCK));
+ case player_races::DWARF: return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::ROGUE, player_classes::PRIEST, player_classes::PALADIN));
+ case player_races::SCOURGE: return in_array($class, array(player_classes::WARRIOR, player_classes::ROGUE, player_classes::PRIEST, player_classes::MAGE, player_classes::WARLOCK));
+ case player_races::NIGHTELF: return in_array($class,array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::ROGUE, player_classes::PRIEST, player_classes::DRUID));
+ case player_races::TAUREN: return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::SHAMAN, player_classes::DRUID));
+ case player_races::GNOME: return in_array($class, array(player_classes::WARRIOR, player_classes::ROGUE, player_classes::MAGE, player_classes::WARLOCK));
+ case player_races::TROLL: return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::SHAMAN, player_classes::ROGUE, player_classes::PRIEST, player_classes::MAGE));
default: return false;
}
}
diff --git a/mojotrollz/api/char/equipment.php b/mojotrollz/api/char/equipment.php
index a931094..7f3a17b 100644
--- a/mojotrollz/api/char/equipment.php
+++ b/mojotrollz/api/char/equipment.php
@@ -7,6 +7,7 @@ class equipment {
$vars['EQ_PICS'] = \SYSTEM\FILES\files::getURL('equipment');
$vars['CLASS_PICS'] = \SYSTEM\FILES\files::getURL('class');
$vars['class_name'] = player_classes::name($class);
+ $vars['race_name'] = player_races::name($race);
//$vars['char_equip'] = '';//'1,110744,3,109807,16,111412,5,111190,9,111188,10,126342,6,110003,7,120793,8,115217,21,125312,14,110641';//
return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PAPI(),'char/tpl/equipment.tpl'), $vars);
}
diff --git a/mojotrollz/api/char/race_visuals.php b/mojotrollz/api/char/race_visuals.php
new file mode 100644
index 0000000..75a49ae
--- /dev/null
+++ b/mojotrollz/api/char/race_visuals.php
@@ -0,0 +1,36 @@
+
+
@@ -16,7 +16,7 @@
-
+
diff --git a/mojotrollz/dbd/qq/RACE_VISUALS.php b/mojotrollz/dbd/qq/RACE_VISUALS.php
new file mode 100644
index 0000000..832a554
--- /dev/null
+++ b/mojotrollz/dbd/qq/RACE_VISUALS.php
@@ -0,0 +1,12 @@
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
@@ -41,7 +41,7 @@
-
Info
+
Info
${infotext_default}
diff --git a/mojotrollz/page/wizard_details/wizard_details.php b/mojotrollz/page/wizard_details/wizard_details.php
index fcf3906..992b10f 100644
--- a/mojotrollz/page/wizard_details/wizard_details.php
+++ b/mojotrollz/page/wizard_details/wizard_details.php
@@ -10,8 +10,9 @@ class wizard_details extends SYSTEM\PAGE\Page {
$vars = charcreation::data(NULL, false);
$vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=wowicons&id=';
- $vars['WOW_RACE'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=race&id=';
- $vars['WOW_CLASS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=class&id=';
+ $vars['WOW_RACE'] = \SYSTEM\FILES\files::getURL('race');
+ $vars['WOW_CLASS'] = \SYSTEM\FILES\files::getURL('class');
+ $vars['INV_PICS'] = \SYSTEM\FILES\files::getURL('inventory');
$vars['infotext_default'] = \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT)['default'];
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE));
diff --git a/mojotrollz/page/wizard_toolbar/wizard_toolbar.php b/mojotrollz/page/wizard_toolbar/wizard_toolbar.php
index 7b42672..d6e34d8 100644
--- a/mojotrollz/page/wizard_toolbar/wizard_toolbar.php
+++ b/mojotrollz/page/wizard_toolbar/wizard_toolbar.php
@@ -16,6 +16,7 @@ class wizard_toolbar extends SYSTEM\PAGE\Page {
public function html(){
$vars = charcreation::data(NULL,false);
$vars['char_class'] = player_classes::name($vars['char_class']);
+ $vars['char_race'] = player_races::name($vars['char_race']);
$vars['last'] = $this->last;
$vars['next'] = $this->next;
$vars['WOWICONS'] = \SYSTEM\FILES\files::getURL('wowicons');
diff --git a/mojotrollz/page/wizard_visuals/js/wizard_visuals.js b/mojotrollz/page/wizard_visuals/js/wizard_visuals.js
index dfd8b82..b3a47cc 100644
--- a/mojotrollz/page/wizard_visuals/js/wizard_visuals.js
+++ b/mojotrollz/page/wizard_visuals/js/wizard_visuals.js
@@ -2,17 +2,18 @@ function init_wizard_visuals_toolbar(){
wizard_toolbar();}
function init_wizard_visuals (){
- $('#sel_skin_color').change(function(){
+ $('#sel_0').change(function(){
sendInfo('{"char_skin_color" : "'+$(this).val()+'"}','wizard_visuals');});
- $('#sel_hair').change(function(){
+ $('#sel_1').change(function(){
sendInfo('{"char_hair" : "'+$(this).val()+'"}','wizard_visuals');});
- $('#sel_hair_color').change(function(){
+ $('#sel_2').change(function(){
sendInfo('{"char_hair_color" : "'+$(this).val()+'"}','wizard_visuals');});
- $('#sel_face').change(function(){
+ $('#sel_3').change(function(){
sendInfo('{"char_face" : "'+$(this).val()+'"}','wizard_visuals');});
- $('#sel_facial_hair').change(function(){
+ $('#sel_4').change(function(){
sendInfo('{"char_facial_hair" : "'+$(this).val()+'"}','wizard_visuals');});
- $('#sel_facial_hair_color').change(function(){
+ $('#sel_5').change(function(){
sendInfo('{"char_facial_hair_color" : "'+$(this).val()+'"}','wizard_visuals');});
+
//$('.item').draggable();
}
\ No newline at end of file
diff --git a/mojotrollz/page/wizard_visuals/tpl/option.tpl b/mojotrollz/page/wizard_visuals/tpl/option.tpl
new file mode 100644
index 0000000..9b6b234
--- /dev/null
+++ b/mojotrollz/page/wizard_visuals/tpl/option.tpl
@@ -0,0 +1 @@
+
${name}
\ No newline at end of file
diff --git a/mojotrollz/page/wizard_visuals/tpl/select.tpl b/mojotrollz/page/wizard_visuals/tpl/select.tpl
new file mode 100644
index 0000000..4110b42
--- /dev/null
+++ b/mojotrollz/page/wizard_visuals/tpl/select.tpl
@@ -0,0 +1,6 @@
+
+ ${type}
+
+ ${options}
+
+
\ No newline at end of file
diff --git a/mojotrollz/page/wizard_visuals/tpl/wizard_visuals.tpl b/mojotrollz/page/wizard_visuals/tpl/wizard_visuals.tpl
index 94eb4a1..206e1e4 100644
--- a/mojotrollz/page/wizard_visuals/tpl/wizard_visuals.tpl
+++ b/mojotrollz/page/wizard_visuals/tpl/wizard_visuals.tpl
@@ -1,99 +1,30 @@
${equipment}
-
+
-
- Skincolor ${char_skin_color}
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-
-
-
- Hair ${char_hair}
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-
-
-
- Hair Color ${char_hair_color}
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-
-
-
- Face ${char_face}
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-
-
-
- Facial Hair ${char_facial_hair}
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-
-
-
- Facial Hair Color ${char_facial_hair_color}
-
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-
-
+ ${visual_skin}
+ ${visual_hair}
+ ${visual_hair_color}
+ ${visual_face}
+ ${visual_facial_hair}
+ ${visual_facial_hair_color}
diff --git a/mojotrollz/page/wizard_visuals/wizard_visuals.php b/mojotrollz/page/wizard_visuals/wizard_visuals.php
index 0cf9592..3e94acf 100644
--- a/mojotrollz/page/wizard_visuals/wizard_visuals.php
+++ b/mojotrollz/page/wizard_visuals/wizard_visuals.php
@@ -3,10 +3,22 @@
class wizard_visuals extends SYSTEM\PAGE\Page {
public static function js(){
- return array( \SYSTEM\WEBPATH(new PPAGE(),'wizard_visuals/js/wizard_visuals.js'));}
+ return array( \SYSTEM\WEBPATH(new PPAGE(),'wizard_visuals/js/wizard_visuals.js'));}
public static function css (){
- return array( \SYSTEM\WEBPATH(new PAPI(),'char/css/equipment.css'));}
+ return array( \SYSTEM\WEBPATH(new PAPI(),'char/css/equipment.css'));}
+
+ private static function select($race,$type,$value){
+ $res = \DBD\RACE_VISUALS::QQ(array($race,$type));
+ $options = '';
+ while($row = $res->next()){
+ $row['selected'] = '';
+ if($row['id'] == $value){
+ $row['selected'] = 'selected';}
+ $options .= \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_visuals/tpl/option.tpl'), $row);
+ }
+ return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_visuals/tpl/select.tpl'), array('options' => $options, 'type' => race_visuals::name($type), 'id' => 'sel_'.$type));
+ }
public function html(){
$vars = json_decode(charcreation::data(),true)['result'];
@@ -15,9 +27,14 @@ class wizard_visuals extends SYSTEM\PAGE\Page {
$vars['char_hair_color'], $vars['char_face'], $vars['char_facial_hair'],
$vars['char_facial_hair_color']);
$vars['INV_PICS'] = \SYSTEM\FILES\files::getURL('inventory');
- if($vars['char_race'] == 'default' ||
- $vars['char_gender'] == 'default'){
- return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_visuals/tpl/wizard_visuals_norace.tpl'), array());
+ $vars['visual_skin'] = self::select($vars['char_race'], race_visuals::VISUAL_SKIN, $vars['char_skin_color']);
+ $vars['visual_hair'] = self::select($vars['char_race'], race_visuals::VISUAL_HAIR, $vars['char_hair']);
+ $vars['visual_hair_color'] = self::select($vars['char_race'], race_visuals::VISUAL_HAIR_COLOR, $vars['char_hair_color']);
+ $vars['visual_face'] = self::select($vars['char_race'], race_visuals::VISUAL_FACE, $vars['char_face']);
+ $vars['visual_facial_hair'] = self::select($vars['char_race'], race_visuals::VISUAL_FACIAL_HAIR, $vars['char_facial_hair']);
+ $vars['visual_facial_hair_color'] = self::select($vars['char_race'], race_visuals::VISUAL_FACIAL_HAIR_COLOR, $vars['char_facial_hair_color']);
+ if($vars['char_gender'] == 'default'){
+ return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_visuals/tpl/wizard_visuals_norace.tpl'), array());
}
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_visuals/tpl/wizard_visuals.tpl'), $vars);
}