diff --git a/mojotrollz/api/charcreation/charcreation.php b/mojotrollz/api/charcreation/charcreation.php
index 2dd846f..c56d1fe 100644
--- a/mojotrollz/api/charcreation/charcreation.php
+++ b/mojotrollz/api/charcreation/charcreation.php
@@ -1,6 +1,9 @@
self::DEFAULT_CHAR_NAME,
- 'char_gender' => 'default',
- 'char_race' => 'default',
- 'char_class' => 'default',
+ 'char_gender' => self::DEFAULT_CHAR_GENDER,
+ 'char_race' => self::DEFAULT_CHAR_RACE,
+ 'char_class' => self::DEFAULT_CHAR_CLASS,
'char_appearance' => 0,
'char_skill_tree' => 0,
'char_equip' => 0,
'char_guild' => 0,
'char_spawn' => 0);}
- public static function checkClassRace($class,$race){ return true;} //todo
+ public static function checkClassRace($class,$race){
+ switch($race){
+ case 'human': return in_array($class, array('warrior', 'rogue', 'priest', 'mage', 'warlock', 'paladin'));
+ case 'ork': return in_array($class, array('warrior', 'hunter', 'shaman', 'rogue', 'warlock'));
+ case 'dwarf': return in_array($class, array('warrior', 'hunter', 'rogue', 'priest', 'paladin'));
+ case 'undead': return in_array($class, array('warrior', 'rogue', 'priest', 'mage', 'warlock'));
+ case 'nightelf': return in_array($class, array('warrior', 'hunter', 'rogue', 'priest', 'druid'));
+ case 'tauren': return in_array($class, array('warrior', 'hunter', 'shaman', 'druid'));
+ case 'gnome': return in_array($class, array('warrior', 'rogue', 'mage', 'warlock'));
+ case 'troll': return in_array($class, array('warrior', 'hunter', 'shaman', 'rogue', 'priest', 'mage'));
+ default: return false;
+ }
+ }
}
diff --git a/mojotrollz/api/charcreation/charcreation_validator.php b/mojotrollz/api/charcreation/charcreation_validator.php
index 9c6ed2e..cddc8e4 100644
--- a/mojotrollz/api/charcreation/charcreation_validator.php
+++ b/mojotrollz/api/charcreation/charcreation_validator.php
@@ -2,26 +2,31 @@
class charcreation_validator {
public static function char_name($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY);
- if( strlen($value) > 12 ||
+ if( strlen($value) > 12 || strlen($value) < 2 ||
preg_match('/[^A-Za-z]/',$value)){
$data['char_name'] = charcreation::DEFAULT_CHAR_NAME;
} else {
$data['char_name'] = $value;}
\SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
}
+
public static function char_gender($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY);
- $data['char_gender'] = $value;
+ $data['char_gender'] = ($value == ('female' || 'male')) ? $value : charcreation::DEFAULT_CHAR_GENDER;
\SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
}
public static function char_race($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY);
$data['char_race'] = $value;
+ if(!charcreation::checkClassRace($data['char_class'], $data['char_race'])){
+ $data['char_class'] = charcreation::DEFAULT_CHAR_CLASS;}
\SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
}
public static function char_class($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY);
$data['char_class'] = $value;
+ if(!charcreation::checkClassRace($data['char_class'], $data['char_race'])){
+ $data['char_race'] = charcreation::DEFAULT_CHAR_RACE;}
\SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
}
public static function char_appearance($value){}
diff --git a/mojotrollz/files/wowicons/default.png b/mojotrollz/files/wowicons/default.png
index ce346ca..3bd7c37 100644
Binary files a/mojotrollz/files/wowicons/default.png and b/mojotrollz/files/wowicons/default.png differ
diff --git a/mojotrollz/files/wowicons/default_default.png b/mojotrollz/files/wowicons/default_default.png
index ce346ca..abb4c79 100644
Binary files a/mojotrollz/files/wowicons/default_default.png and b/mojotrollz/files/wowicons/default_default.png differ
diff --git a/mojotrollz/files/wowicons/default_female.png b/mojotrollz/files/wowicons/default_female.png
new file mode 100644
index 0000000..abb4c79
Binary files /dev/null and b/mojotrollz/files/wowicons/default_female.png differ
diff --git a/mojotrollz/files/wowicons/default_male.png b/mojotrollz/files/wowicons/default_male.png
new file mode 100644
index 0000000..abb4c79
Binary files /dev/null and b/mojotrollz/files/wowicons/default_male.png differ
diff --git a/mojotrollz/files/wowicons/warrior.png b/mojotrollz/files/wowicons/warrior.png
index 7051fab..cae71b5 100644
Binary files a/mojotrollz/files/wowicons/warrior.png and b/mojotrollz/files/wowicons/warrior.png differ
diff --git a/mojotrollz/page/wizard_toolbar/wizard_toolbar.tpl b/mojotrollz/page/wizard_toolbar/wizard_toolbar.tpl
index 9fc7d07..8db2cba 100644
--- a/mojotrollz/page/wizard_toolbar/wizard_toolbar.tpl
+++ b/mojotrollz/page/wizard_toolbar/wizard_toolbar.tpl
@@ -2,9 +2,9 @@
${char_name}
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file