|
|
<?php
|
|
|
/*
|
|
|
*
|
|
|
* @copyright (c) 2010 animegame.eu
|
|
|
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence
|
|
|
*
|
|
|
*/
|
|
|
/* Funktionen fuer die Clanfights */
|
|
|
|
|
|
function getStatus($charid, $buffer_enabled = true) {
|
|
|
// Prioritaet, erst Turnier, dann Schatzsuche, dann Kampf
|
|
|
if ($GLOBALS['char_status'][$charid] != null && $buffer_enabled) {
|
|
|
return $GLOBALS['char_status'][$charid];
|
|
|
}
|
|
|
|
|
|
$sql = 'SELECT count(*) as anzahl FROM turnier_kampf t where art != \'gross\' and (win = ' . $charid . ' or lose = ' . $charid . ') and dauer > now()';
|
|
|
$row = mysql_fetch_assoc(mysql_query($sql));
|
|
|
if ($row['anzahl'] > 0) {
|
|
|
$GLOBALS['char_status'][$charid] = 'Turnier';
|
|
|
return 'Turnier';
|
|
|
}
|
|
|
$sql = 'SELECT count(*) as anzahl from quests where charid = ' . $charid;
|
|
|
$row = mysql_fetch_assoc(mysql_query($sql));
|
|
|
if ($row['anzahl'] > 0) {
|
|
|
$GLOBALS['char_status'][$charid] = 'Schatz Suche';
|
|
|
return 'Schatz Suche';
|
|
|
}
|
|
|
$sql = 'SELECT count(*) as anzahl from kampf where db_satz = ' . $charid;
|
|
|
$row = mysql_fetch_assoc(mysql_query($sql));
|
|
|
if ($row['anzahl'] > 0) {
|
|
|
$GLOBALS['char_status'][$charid] = 'Kampf';
|
|
|
return 'Kampf';
|
|
|
}
|
|
|
|
|
|
$sql = 'SELECT count(*) as anzahl FROM kampf_list where charakter = ' . $charid;
|
|
|
$row = mysql_fetch_assoc(mysql_query($sql));
|
|
|
if ($row['anzahl'] > 0) {
|
|
|
$GLOBALS['char_status'][$charid] = 'Kampf erstellt';
|
|
|
return 'Kampf erstellt';
|
|
|
}
|
|
|
$sql = 'SELECT count(*) as anzahl FROM turnier1 where charakter = ' . $charid;
|
|
|
$row = mysql_fetch_assoc(mysql_query($sql));
|
|
|
if ($row['anzahl'] > 0) {
|
|
|
$GLOBALS['char_status'][$charid] = 'Angemeldet';
|
|
|
return 'Angemeldet';
|
|
|
}
|
|
|
$GLOBALS['char_status'][$charid] = 'Frei';
|
|
|
return 'Frei';
|
|
|
}
|
|
|
|
|
|
function getPicture($char){
|
|
|
// Sichergehen, dass Char geladen wurde
|
|
|
if($char['bild'] == null || $char['bild'] == ''){
|
|
|
return 'design/bilder/avatare/noavart.gif';
|
|
|
}
|
|
|
return $char['bild'];
|
|
|
}
|
|
|
|
|
|
function getChar2($charid) {
|
|
|
// Fehlerkontrolle
|
|
|
if(!is_numeric($charid)){
|
|
|
return null;
|
|
|
} else {
|
|
|
$char = mysql_fetch_assoc(mysql_query('Select * from chars where id = '.$charid));
|
|
|
if(!$char){return null;}
|
|
|
// Speichere in $char['stauts'] den aktuellen Status des Chars (buffer-Strategie ist hierbei die selbe)
|
|
|
$char['status'] = getStatus($char['id'],$buffer_enabled);
|
|
|
$char['bild'] = getPicture($char);
|
|
|
}
|
|
|
return $char;
|
|
|
}
|
|
|
|
|
|
function starteClanFight($chara_1, $chara_2, $clanfight_id, $runde, $kampf){
|
|
|
global $sieger, $verlierer;
|
|
|
include 'kampf_clan.php';
|
|
|
}
|
|
|
|
|
|
function starteClanFight_survival($chara_1, $fighter_a, $chara_2, $fighter_b, $clanfight_id, $runde, $kampf){
|
|
|
global $sieger, $verlierer, $fighter_team_a_array, $fighter_team_b_array;
|
|
|
include 'kampf_clan1.php';
|
|
|
}
|
|
|
|
|
|
function clanFightExecute($id) {
|
|
|
$pkt_a_satz= 0;
|
|
|
$pkt_b_satz= 0;
|
|
|
$pkt_runde_a= 0;
|
|
|
$pkt_runde_b= 0;
|
|
|
$rundenzaehler= 1;
|
|
|
$kampfzaehler= 1;
|
|
|
|
|
|
$clanfight_daten= mysql_fetch_assoc(mysql_query('SELECT fighter, gfighter, numberoffighter FROM clan_fight_list WHERE id='.$id.' LIMIT 1'));
|
|
|
$fighter_a_array= explode(",",$clanfight_daten['fighter']);
|
|
|
$fighter_b_array= explode(",",$clanfight_daten['gfighter']);
|
|
|
|
|
|
for ($x=1;;$x++) {
|
|
|
/*if ($rundenzaehler == 7) {
|
|
|
break;
|
|
|
}*/
|
|
|
|
|
|
$fighter_a= mt_rand(0, count($fighter_a_array)-1);
|
|
|
$fighter_b= mt_rand(0, count($fighter_b_array)-1);
|
|
|
|
|
|
$char_a= getChar2($fighter_a_array[$fighter_a]);
|
|
|
$char_b= getChar2($fighter_b_array[$fighter_b]);
|
|
|
|
|
|
starteClanFight($char_a, $char_b, $id, $rundenzaehler, $kampfzaehler);
|
|
|
|
|
|
$kampfzaehler++;
|
|
|
|
|
|
if ($fighter_a_array[$fighter_a] == $sieger) {
|
|
|
$pkt_a_satz++;
|
|
|
} else {
|
|
|
$pkt_b_satz++;
|
|
|
}
|
|
|
|
|
|
unset($fighter_a_array[$fighter_a]);
|
|
|
unset($fighter_b_array[$fighter_b]);
|
|
|
sort($fighter_a_array);
|
|
|
sort($fighter_b_array);
|
|
|
|
|
|
#if ($pkt_a_satz == 3 OR $pkt_b_satz == 3) {
|
|
|
if ($pkt_a_satz + $pkt_b_satz == $clanfight_daten['numberoffighter']) {
|
|
|
if ($pkt_a_satz > $pkt_b_satz) {
|
|
|
$pkt_runde_a++;
|
|
|
} elseif ($pkt_a_satz < $pkt_b_satz) {
|
|
|
$pkt_runde_b++;
|
|
|
}
|
|
|
|
|
|
$fighter_a_array= explode(",",$clanfight_daten['fighter']);
|
|
|
$fighter_b_array= explode(",",$clanfight_daten['gfighter']);
|
|
|
|
|
|
$rundenzaehler++;
|
|
|
$kampfzaehler= 1;
|
|
|
$pkt_a_satz= 0;
|
|
|
$pkt_b_satz= 0;
|
|
|
if ($pkt_runde_a + $pkt_runde_b == 6) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function selectFighterOfTeams($fighter_team_a_array,$fighter_team_b_array,$sieger='') {
|
|
|
global $fighter_a, $fighter_b, $sieger;
|
|
|
if (empty($sieger)) {
|
|
|
$fighter_a= mt_rand(0, count($fighter_team_a_array)-1);
|
|
|
$fighter_b= mt_rand(0, count($fighter_team_b_array)-1);
|
|
|
} else {
|
|
|
for ($y=0;$y<count($fighter_team_a_array);$y++) {
|
|
|
if ($fighter_team_a_array[$y][id] == $sieger) {
|
|
|
$siegerteam= 'a';
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if ($siegerteam == 'a') {
|
|
|
for ($y=0;$y<count($fighter_team_a_array);$y++) {
|
|
|
if ($fighter_team_a_array[$y][id] == $sieger) {
|
|
|
$fighter_a= $y;
|
|
|
$fighter_b= mt_rand(0, count($fighter_team_b_array)-1);
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
for ($y=0;$y<count($fighter_team_b_array);$y++) {
|
|
|
if ($fighter_team_b_array[$y][id] == $sieger) {
|
|
|
$fighter_b= $y;
|
|
|
$fighter_a= mt_rand(0, count($fighter_team_a_array)-1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function clanFightExecute_survival($id) {
|
|
|
global $fighter_a, $fighter_b, $sieger, $fighter_team_a_array, $fighter_team_b_array;
|
|
|
$pkt_a_satz= 0;
|
|
|
$pkt_b_satz= 0;
|
|
|
$kampfzaehler= 1;
|
|
|
$rundenzaehler= 1;
|
|
|
|
|
|
$clanfight_daten= mysql_fetch_assoc(mysql_query('SELECT fighter, gfighter, numberoffighter FROM clan_fight_list WHERE id='.$id.' LIMIT 1'));
|
|
|
$fighter_a_array= explode(",",$clanfight_daten['fighter']);
|
|
|
$fighter_b_array= explode(",",$clanfight_daten['gfighter']);
|
|
|
|
|
|
for ($x=0;$x<count($fighter_a_array);$x++) {
|
|
|
$fighter_team_a_array[$x]= getChar2($fighter_a_array[$x]);
|
|
|
}
|
|
|
for ($x=0;$x<count($fighter_b_array);$x++) {
|
|
|
$fighter_team_b_array[$x]= getChar2($fighter_b_array[$x]);
|
|
|
}
|
|
|
|
|
|
for ($x=1;;$x++) {
|
|
|
|
|
|
selectFighterOfTeams($fighter_team_a_array,$fighter_team_b_array,$sieger);
|
|
|
starteClanFight_survival($fighter_team_a_array[$fighter_a], $fighter_a, $fighter_team_b_array[$fighter_b], $fighter_b, $id, $rundenzaehler, $kampfzaehler);
|
|
|
|
|
|
$kampfzaehler++;
|
|
|
|
|
|
if ($fighter_team_a_array[$fighter_a][id] == $sieger) {
|
|
|
/* Status des Fighters aus Teams B auf "besiegt" setzen */
|
|
|
unset($fighter_team_b_array[$fighter_b]);
|
|
|
$fighter_team_b_array= array_values($fighter_team_b_array);
|
|
|
/* Die Statuswerte St<53>rke, Verteidigung und Geschwindigkeit um 10% verringern */
|
|
|
$fighter_team_a_array[$fighter_a][starke]= round($fighter_team_a_array[$fighter_a][starke]*0.9);
|
|
|
$fighter_team_a_array[$fighter_a][speed]= round($fighter_team_a_array[$fighter_a][speed]*0.9);
|
|
|
$fighter_team_a_array[$fighter_a][verteidigung]= round($fighter_team_a_array[$fighter_a][verteidigung]*0.9);
|
|
|
/* Punkt f<>r Team A hinzuf<75>gen */
|
|
|
$pkt_a_satz++;
|
|
|
} else {
|
|
|
/* Status des Fighters aus Teams A auf "besiegt" setzen */
|
|
|
unset($fighter_team_a_array[$fighter_a]);
|
|
|
$fighter_team_a_array= array_values($fighter_team_a_array);
|
|
|
/* Die Statuswerte St<53>rke, Verteidigung und Geschwindigkeit um 10% verringern */
|
|
|
$fighter_team_b_array[$fighter_b][starke]= round($fighter_team_b_array[$fighter_b][starke]*0.9);
|
|
|
$fighter_team_b_array[$fighter_b][speed]= round($fighter_team_b_array[$fighter_b][speed]*0.9);
|
|
|
$fighter_team_b_array[$fighter_b][verteidigung]= round($fighter_team_b_array[$fighter_b][verteidigung]*0.9);
|
|
|
/* Punkt f<>r Team B hinzuf<75>gen */
|
|
|
$pkt_b_satz++;
|
|
|
}
|
|
|
|
|
|
if (count($fighter_team_a_array) == 0 OR count($fighter_team_b_array) == 0) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
?>
|