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'		=> 50,
 | 
						|
		'mp'		=> 120,
 | 
						|
		'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'));
 | 
						|
 |