You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			309 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			309 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			PHP
		
	
| <?php
 | |
| /*
 | |
|  * Created on 02.05.2014
 | |
|  *
 | |
|  * @copyright (c) 2014 animegame.eu
 | |
|  * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence
 | |
|  *
 | |
|  */
 | |
| 
 | |
| 
 | |
| #include_once(ROOT_PATH.'/include/event.inc.php');
 | |
| 
 | |
| $GLOBALS['TMP_DB_TABLE_RACE_TYPE']=array(
 | |
| 	array(
 | |
| 		'name'	=> 'Onepiece',
 | |
| 		'id'	=> 1,
 | |
| 		'gm_only' => false,
 | |
| 	),
 | |
| 	array(
 | |
| 		'name'	=> 'Dragonball',
 | |
| 		'id'	=> 2,
 | |
| 		'gm_only' => false,
 | |
| 	),
 | |
| 	array(
 | |
| 		'name'	=> 'NPC',
 | |
| 		'id'	=> 3,
 | |
| 		'gm_only' => true,
 | |
| 	),
 | |
| );
 | |
| 
 | |
| // Dieses Array ist zum simulieren der Datenbank da!
 | |
| $GLOBALS['TMP_DB_TABLE_RACES']=array(
 | |
| 
 | |
| 	array(
 | |
| 		'name'		=> 'Mensch',
 | |
| 		'type'		=> 2,
 | |
| 		'id'		=> 1,
 | |
| 		'hp'		=> 150,
 | |
| 		'mp'		=> 30,
 | |
| 		'str'		=> 15,
 | |
| 		'def'		=> 9,
 | |
| 		'spd'		=> 13,
 | |
| 		'lck'		=> 4,
 | |
| 		'stm'		=> 8,
 | |
| 		'special' 	=> false
 | |
| 	),
 | |
| 	array(
 | |
| 		'name'		=> 'Saiyajin',
 | |
| 		'type'		=> 2,
 | |
| 		'id'		=> 2,
 | |
| 		'hp'		=> 120,
 | |
| 		'mp'		=> 30,
 | |
| 		'str'		=> 18,
 | |
| 		'def'		=> 10,
 | |
| 		'spd'		=> 9,
 | |
| 		'lck'		=> 5,
 | |
| 		'stm'		=> 10,
 | |
| 		'special' 	=> false
 | |
| 	),
 | |
| 	array(
 | |
| 		'name'		=> 'Dämon',
 | |
| 		'type'		=> 2,
 | |
| 		'id'		=> 3,
 | |
| 		'hp'		=> 160,
 | |
| 		'mp'		=> 50,
 | |
| 		'str'		=> 8,
 | |
| 		'def'		=> 9,
 | |
| 		'spd'		=> 18,
 | |
| 		'lck'		=> 4,
 | |
| 		'stm'		=> 5,
 | |
| 		'special' 	=> false
 | |
| 	),
 | |
| 	array(
 | |
| 		'name'		=> 'Mutant',
 | |
| 		'type'		=> 2,
 | |
| 		'id'		=> 4,
 | |
| 		'hp'		=> 180,
 | |
| 		'mp'		=> 15,
 | |
| 		'str'		=> 13,
 | |
| 		'def'		=> 9,
 | |
| 		'spd'		=> 18,
 | |
| 		'lck'		=> 4,
 | |
| 		'stm'		=> 5,
 | |
| 		'special' 	=> false
 | |
| 	),
 | |
| 	array(
 | |
| 		'name'		=> 'Cyborg',
 | |
| 		'type'		=> 2,
 | |
| 		'id'		=> 5,
 | |
| 		'hp'		=> 250,
 | |
| 		'mp'		=> 20,
 | |
| 		'str'		=> 11,
 | |
| 		'def'		=> 30,
 | |
| 		'spd'		=> 0,
 | |
| 		'lck'		=> 0,
 | |
| 		'stm'		=> 0,
 | |
| 		'special' 	=> false
 | |
| 	),
 | |
| 	array(
 | |
| 		'name'		=> 'Namekianer',
 | |
| 		'type'		=> 2,
 | |
| 		'id'		=> 6,
 | |
| 		'hp'		=> 100,
 | |
| 		'mp'		=> 10,
 | |
| 		'str'		=> 18,
 | |
| 		'def'		=> 10,
 | |
| 		'spd'		=> 14,
 | |
| 		'lck'		=> 6,
 | |
| 		'stm'		=> 10,
 | |
| 		'special' 	=> false
 | |
| 	),
 | |
| 	array(
 | |
| 		'name'		=> 'Tsufurujin',
 | |
| 		'type'		=> 2,
 | |
| 		'id'		=> 13,
 | |
| 		'hp'		=> 40,
 | |
| 		'mp'		=> 125,
 | |
| 		'str'		=> 0,
 | |
| 		'def'		=> 0,
 | |
| 		'spd'		=> 11,
 | |
| 		'lck'		=> 30,
 | |
| 		'stm'		=> 0,
 | |
| 		'special'	=> false,
 | |
| 	),
 | |
| 	// Start 'One Piece'
 | |
| 	array(
 | |
| 		'name'		=> 'Pirat',
 | |
| 		'type'		=> 1,
 | |
| 		'id'		=> 7,
 | |
| 		'hp'		=> 100,
 | |
| 		'mp'		=> 25,
 | |
| 		'str'		=> 20,
 | |
| 		'def'		=> 10,
 | |
| 		'spd'		=> 15,
 | |
| 		'lck'		=> 3,
 | |
| 		'stm'		=> 7,
 | |
| 		'special' 	=> false
 | |
| 	),
 | |
| 	// In-Between Special chars
 | |
| 	array(
 | |
| 		'name'		=> 'Shichibukai',
 | |
| 		'type'		=> 1,
 | |
| 		'id'		=> 8,
 | |
| 		'hp'		=> 1000,
 | |
| 		'mp'		=> 150,
 | |
| 		'str'		=> 100,
 | |
| 		'def'		=> 100,
 | |
| 		'spd'		=> 100,
 | |
| 		'lck'		=> 100,
 | |
| 		'stm'		=> 100,
 | |
| 		'tp'		=> 500,
 | |
| 		'special' 	=> true
 | |
| 	),
 | |
| 	array(
 | |
| 		'name'		=> 'Kaioshin',
 | |
| 		'type'		=> 2,
 | |
| 		'id'		=> 9,
 | |
| 		'hp'		=> 1000,
 | |
| 		'mp'		=> 150,
 | |
| 		'str'		=> 100,
 | |
| 		'def'		=> 100,
 | |
| 		'spd'		=> 100,
 | |
| 		'lck'		=> 100,
 | |
| 		'stm'		=> 100,
 | |
| 		'tp'		=> 500,
 | |
| 		'special' 	=> true
 | |
| 	),
 | |
| 	// Continue 'One Piece'
 | |
| 	array(
 | |
| 		'name'		=> 'Schwertkämpfer',
 | |
| 		'type'		=> 1,
 | |
| 		'id'		=> 10,
 | |
| 		'hp'		=> 100,
 | |
| 		'mp'		=> 25,
 | |
| 		'str'		=> 25,
 | |
| 		'def'		=> 10,
 | |
| 		'spd'		=> 10,
 | |
| 		'lck'		=> 2,
 | |
| 		'stm'		=> 8,
 | |
| 		'special' 	=> false
 | |
| 	),
 | |
| 	array(
 | |
| 		'name'		=> 'Grandline Maschine',
 | |
| 		'type'		=> 1,
 | |
| 		'id'		=> 11,
 | |
| 		'hp'		=> 400,
 | |
| 		'mp'		=> 5,
 | |
| 		'str'		=> 5,
 | |
| 		'def'		=> 5,
 | |
| 		'spd'		=> 5,
 | |
| 		'lck'		=> 0,
 | |
| 		'stm'		=> 10,
 | |
| 		'special' 	=> false
 | |
| 	),
 | |
| 	// NPC chars
 | |
| 	array(
 | |
| 		'name'		=> 'NPC',
 | |
| 		'type'		=> 3,
 | |
| 		'id'		=> 12,
 | |
| 		'hp'		=> 0,
 | |
| 		'mp'		=> 0,
 | |
| 		'str'		=> 0,
 | |
| 		'def'		=> 0,
 | |
| 		'spd'		=> 0,
 | |
| 		'lck'		=> 0,
 | |
| 		'stm'		=> 0,
 | |
| 		'special'	=> true
 | |
| 	),
 | |
| );
 | |
| 
 | |
| // now sort the arrays 
 | |
| 
 | |
| 
 | |
| // Dieses Array ist dafuer da, dass nicht unnötig viele SQL-Abfragen gemacht werden!
 | |
| // Fehlgriff im Design, aber solange wir nichts Klassenbasiert machen, gehts nicht anders
 | |
| $GLOBALS['char_buffered_races'] = array ();
 | |
| $GLOBALS['char_buffered_race_types'] = array(); 
 | |
| 
 | |
| 
 | |
| function getRassen() {
 | |
| 	return getRaces();
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Diese Funktion gibt ein array mit allen rassen aus 'id' => array('name', 'type', ...);
 | |
|  */
 | |
| function getRaces() {
 | |
| 	if(count($GLOBALS['char_buffered_races']) == 0) {
 | |
| 		// FIXME: This is a simulated SQL Request!
 | |
| 		foreach($GLOBALS['TMP_DB_TABLE_RACES'] as $race) {
 | |
| 			$GLOBALS['char_buffered_races'][$race['id']] = $race;
 | |
| 		}
 | |
| 	}
 | |
| 	return $GLOBALS['char_buffered_races'];
 | |
| }
 | |
| 
 | |
| function getRassenTypeMapping() {
 | |
| 	return getRaceTypes();
 | |
| }
 | |
| 
 | |
| function getRaceTypes(){
 | |
| 	if(count($GLOBALS['char_buffered_race_types']) == 0) {
 | |
| 		foreach($GLOBALS['TMP_DB_TABLE_RACE_TYPE'] as $racetype) {
 | |
| 			$GLOBALS['char_buffered_race_types'][$racetype['id']] = $racetype;
 | |
| 		}
 | |
| 	}
 | |
| 	return $GLOBALS['char_buffered_race_types'];
 | |
| }
 | |
| 
 | |
| function getRaceById($id) {
 | |
| 	$races = getRassen();
 | |
| 	return $races[$id];
 | |
| }
 | |
| 
 | |
| function getRaceByName($name) {
 | |
| 	// TODO: Improve performance for this
 | |
| 	$races = getRaces();
 | |
| 	foreach($races as $race) {
 | |
| 		if($race['name'] == $name) {
 | |
| 			return $race;
 | |
| 		}
 | |
| 	}
 | |
| 	return NULL;
 | |
| }
 | |
| 
 | |
| function getRacesByType($type) {
 | |
| 	$races = getRaces();
 | |
| 	$result = array();
 | |
| 	foreach($races as $race) {
 | |
| 		if($race['type'] == $type['id']) {
 | |
| 			$result[] = $race;
 | |
| 		}
 | |
| 	}
 | |
| 	return $result;
 | |
| }
 | |
| 
 | |
| function getRaceTypeById($id) {
 | |
| 	$types = getRaceTypes();
 | |
| 	return $types[$id];
 | |
| }
 | |
| 
 | |
| function getRaceTypeName($name) {
 | |
| 	$types = getRaceTypes();
 | |
| 	foreach($types as $type) {
 | |
| 		if($type['name'] == $name) {
 | |
| 			return $type;
 | |
| 		}
 | |
| 	}
 | |
| 	return NULL;
 | |
| }
 | |
| 
 | |
| function getSpecialRaceIds() {
 | |
| 	$races = getRaces();
 | |
| 	$result = array();
 | |
| 	foreach($races as $race) {
 | |
| 		if($race['special']) {
 | |
| 			$result[] = $race;
 | |
| 		}
 | |
| 	}
 | |
| 	return $result;
 | |
| }
 | |
| 
 | |
| #print_r(getRassen());
 | |
| 
 | |
| #print_r(getRaceById(1));
 | |
| 
 | |
| #print_r(getRaceByName('Dämon'));
 | |
| 
 |