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