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.
		
		
		
		
		
			
		
			
				
	
	
		
			137 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			137 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			PHP
		
	
| <?php
 | |
| /*
 | |
|  * Created on 15.04.2008
 | |
|  *
 | |
|  * @copyright (c) 2009 animegame.eu
 | |
|  * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence
 | |
|  *
 | |
|  */
 | |
|  
 | |
| // Um die ganzen Fightscheisse modularer zu machen (noch nicht fertig)
 | |
| class Kaempfer{
 | |
| 	private $charid;
 | |
| 	private $hp, $hpmax;
 | |
| 	private $mp, $mpmax;
 | |
| 	private $speed;
 | |
| 	private $verteidigung;
 | |
| 	private $starke;
 | |
| 	private $ausdauer;
 | |
| 	private $glueck;
 | |
| 	private $aufgeben;
 | |
| 
 | |
| 	private $isNPC;
 | |
| 
 | |
| 	private $attackenhandler;
 | |
| 
 | |
| 
 | |
| 	/**
 | |
| 	 * Charid = ID des Chars, Buffs = ob Ruestungsbonus mithinzugerechnet werden soll
 | |
| 	 */
 | |
| 	function __construct($char, $alternative = true, $buffs = true){
 | |
| 		if(is_numeric($char)){ // ID, wenn keine Abfrage vorhanden
 | |
| 			$char = mysqli_fetch_assoc(db_query('SELECT * FROM chars WHERE id='.$char));		
 | |
| 		} else if(!is_array($char)){ // Wenn es weder ID noch Array ist
 | |
| 			return; // breche ab, dann kann nichts mit angefangen werden
 | |
| 		}
 | |
| 		// Nun ist char auf jedenfall was wir brauchen.
 | |
| 		$this->speed = $char['speed'];
 | |
| 		$this->verteidigung = $char['verteidigung'];
 | |
| 		$this->starke = $char['starke'];
 | |
| 		$this->ausdauer = $char['ausdauer'];
 | |
| 		$this->glueck = $char['glueck'];
 | |
| 		$this->aufgeben = $char['aufgeben'];
 | |
| 		$this->charid = $char['id'];
 | |
| 		
 | |
| 		if($buffs == true){ // Ruestungen erlaubt???
 | |
| 			$char_buffs = mysqli_fetch_assoc(db_query('SELECT sum(i.hp) as hp, sum(i.mp) as mp, sum(i.starke) as starke, sum(i.verteidigung) as verteidigung, sum(i.speed) as speed FROM ware w LEFT JOIN item i ON(i.id=w.item_id) WHERE w.id IN ('.$char['kampf_item'].')'));
 | |
| 			$this->starke += $char_buffs['starke'];
 | |
| 			$k_speed[0] = $char['speed'] + $char_buffs['speed'];
 | |
| 			$this->verteidigung += $char_buffs['verteidigung'];
 | |
| 			$k_hp1[0] += $char_buffs['hp'];
 | |
| 			$k_hp1[1] += $char_buffs['hp'];
 | |
| 			$k_mp1[0] += $char_buffs['mp'];
 | |
| 			$k_mp1[1] += $char_buffs['mp'];			
 | |
| 		}
 | |
| 
 | |
| 		$this->attackenhandler = new Attackenauswahl($char);
 | |
| 	}
 | |
| }
 | |
| 
 | |
| class Monster extends Kaempfer{
 | |
| 	
 | |
| 	function __construct($monster){
 | |
| 		if(is_numeric($monster)){
 | |
| 			$qry = db_query('SELECT * FROM quest_monster WHERE id = '.$monster);
 | |
| 			$monster = mysqli_fetch_assoc($qry);
 | |
| 		} else if(!is_array($monster)){
 | |
| 			// Fehler
 | |
| 			return;
 | |
| 		}
 | |
| 		// Zuweisung
 | |
| 	}
 | |
| }
 | |
| 
 | |
| 
 | |
| class Attacke{
 | |
| 	function __construct($attacke){
 | |
| 		if(is_numeric($attacke)){ 
 | |
| 			$qry = db_query('SELECT * FROM attacken WHERE id = '.$attacke);
 | |
| 		} else if(!is_array($attacke)){
 | |
| 			// Fehler!!
 | |
| 			return;
 | |
| 		}
 | |
| 		// Zuweisung
 | |
| 	}
 | |
| }
 | |
| 
 | |
| class Attackenauswahl{
 | |
| 	private $attacke1;
 | |
| 	private $altervatives;
 | |
| 	private $attacke2;
 | |
| 	function __construct($char){
 | |
| 		if(is_numeric($char)){ // ID, wenn keine Abfrage vorhanden
 | |
| 			$char = mysqli_fetch_assoc(db_query('Select attacken, attacken2, auswahl1, auswahl2, auswahl3 from chars where id = '.$char));
 | |
| 		} else if(!is_array($char)){ // Wenn es weder ID noch Array ist
 | |
| 			return; // breche ab, dann kann nichts mit angefangen werden
 | |
| 		}
 | |
| 		$this->attacke1 = preg_split('#,#',$char['attacken']);
 | |
| 		$this->attacke2 = preg_split('#,#',$char['attacken2']);
 | |
| 		$this->altervatives[0] = preg_split('#,#', $char['auswahl1']);
 | |
| 		$this->altervatives[1] = preg_split('#,#', $char['auswahl2']);
 | |
| 		$this->altervatives[2] = preg_split('#,#', $char['auswahl3']);
 | |
| 		
 | |
| 		// Zwischenschritt ANFANG
 | |
| 		// Nun ein Zwischenschritt weil in den Feldern attacken und attacken2
 | |
| 		$qry = db_query('Select at_id, id from lernen where id IN ('.$char['attacken'].','.$char['attacken2'].')');
 | |
| 		while($row = mysqli_fetch_assoc($qry)){
 | |
| 			$transition[$row['id']] = $row['at_id'];
 | |
| 		}
 | |
| 		for($i=0;$i<count($this->attacke1);$i++){
 | |
| 			$this->attacke1[$i] = $transition[$this->attacke1[$i]];
 | |
| 			$this->attacke2[$i] = $transition[$this->attacke2[$i]];
 | |
| 		}
 | |
| 		unset($transition);
 | |
| 		// Zwischenschritt ENDE!!!
 | |
| 		
 | |
| 		// Lade die Attacken aus der DB und schreibe sie direkt in den Array
 | |
| 		$qry = db_query('Select * from attacken where id IN ('.join(',',$this->attacke1).','.join(',',$this->attacke2).')');
 | |
| 		while($row = mysqli_fetch_assoc($qry)){
 | |
| 			$temp_att[$row['id']] = $row;			
 | |
| 		}
 | |
| 		for($i=0;$i<count($this->attacke1);$i++){
 | |
| 			$this->attacke1[$i] = $temp_att[$this->attacke1[$i]];
 | |
| 			$this->attacke2[$i] = $temp_att[$this->attacke2[$i]];
 | |
| 		}
 | |
| 		// Die Kaempfer sind Kampfbereit!!
 | |
| 	}
 | |
| 	function getAttackValuesOfRound($round){
 | |
| 		$returnarray['attacke1'] = $this->attacke1[$round];
 | |
| 		$returnarray['attacke2'] = $this->attacke2[$round];
 | |
| 		$returnarray['auswahl1'] = $this->altervatives[0][$round];
 | |
| 		$returnarray['auswahl2'] = $this->altervatives[1][$round];
 | |
| 		$returnarray['auswahl3'] = $this->altervatives[2][$round];
 | |
| 		return $returnarray;
 | |
| 	}
 | |
| }
 | |
| ?>
 |