battles/magic/cityattack.php

160 lines
8.7 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
use Battles\GameLogs;
use Battles\Nick;
if ($user->getRoom() == 20) {
//нападение
$us = mysql_fetch_array(mysql_query("SELECT *,(select `id` from `online` WHERE `real_time` >= " . (time() - 60) . " AND `id` = users.`id`) as `online` FROM `users` WHERE `login` = '{$_POST['target']}' LIMIT 1;"));
if ($user['invis'] == '1') {
$user['login'] = '</a><b><i>невидимка</i></b>';
$user['klan'] = '';
$user['level'] = '??';
}
echo "<font color=red><b>";
if ($user['battle'] > 0) {
echo "Не в бою...";
} elseif (!$us['online'] && ($us['login'] != "Общий Враг" or vrag != "on")) {
echo "Персонаж не в игре!";
} elseif ($user['zayavka'] > 0) {
echo "Вы ожидаете поединка...";
} elseif ($user['klan'] != '' && ($user['klan'] == $us['klan'])) {
echo "Чтите честь ваших сокланов.";
} elseif ($user->getRoom() != $us['room']) {
echo "Персонаж в другой комнате!";
} elseif ($us['level'] < 3) {
echo "Нельзя напасть на персонажа ниже 3 уровня! Даже ночью, даже на Центральной площади...";
} elseif ($us['hp'] < $us['maxhp'] * 0.33 && !$us['battle']) {
echo "Жертва слишком слаба!";
} elseif ($user['hp'] < $user['maxhp'] * 0.33) {
echo "Вы слишком ослаблены для нападения!";
} elseif ($us['hp'] < 1 && $us['battle']) {
echo "Вы не можете напасть на погибшего!";
} else {
$jert = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '{$_POST['target']}' LIMIT 1;"));
if ($jert['id'] != $user['id']) {
addch("<img src=i/magic/attack.gif> <B>{$user['login']}</B>, применив магию нападения, внезапно " . $action . " на &quot;{$_POST['target']}&quot;");
addchp('<font color=red>Внимание!</font> На вас ' . $action . ' <B>' . $user['login'] . '</B>.<BR>\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ', '{[]}' . Nick::id($jert['id'])->short() . '{[]}');
//destructitem($row['id']);
$bet = 1;
//арх
if ($jert['id'] > _BOTSEPARATOR_ or $us['login'] == "Общий Враг") {
$arha = mysql_fetch_array(mysql_query('SELECT * FROM `bots` WHERE `prototype` = ' . $jert['id'] . ' LIMIT 1;'));
$jert['battle'] = $arha['battle'];
$jert['id'] = $arha['id'];
$bot = 1;
}
if ($jert['battle'] > 0) {
//вмешиваемся
$bd = mysql_fetch_array(mysql_query('SELECT * FROM `battle` WHERE `id` = ' . $jert['battle'] . ' LIMIT 1;'));
$battle = unserialize($bd['teams']);
$ak = array_keys($battle[$jert['id']]);
$battle[$user['id']] = $battle[$ak[0]];
foreach ($battle[$user['id']] as $k => $v) {
$battle[$user['id']][$k] = array(0, 0, time());
$battle[$k][$user['id']] = array(0, 0, time());
}
$t1 = explode(";", $bd['t1']);
// проставляем кто-где
if (in_array($jert['id'], $t1)) {
$ttt = 2;
} else {
$ttt = 1;
}
addch("<b>" . Nick::id($user['id'])->short() . "</b> вмешался в <a href=logs.php?log=" . $id . " target=_blank>поединок »»</a>. ", $user->getRoom());
//mysql_query('UPDATE `logs` SET `log` = CONCAT(`log`,\'<span class=date>'.date("H:i").'</span> '.nick::id($user['id'])->short().' вмешался в поединок!<BR>\') WHERE `id` = '.$jert['battle'].'');
GameLogs::addBattleLog($jert['battle'], '<span class=date>' . date("H:i") . '</span> ' . Nick::id($user['id'])->short() . ' вмешался в поединок!<BR>');
mysql_query('UPDATE `battle` SET `teams` = \'' . serialize($battle) . '\', `t' . $ttt . '`=CONCAT(`t' . $ttt . '`,\';' . $user['id'] . '\') WHERE `id` = ' . $jert['battle'] . ' ;');
mysql_query("UPDATE users SET `battle` =" . $jert['battle'] . ",`zayavka`=0,`hit`=0,`parry`=0,`krit`=0,`counter`=0,`hp2`=0 WHERE `id`= " . $user['id']);
header("Location:fbattle.php");
//exit("<script>location.href='fbattle.php';</script>");
} else {
// начинаем бой
//$bet=1;
// если чел в заявке, выбиваем его
if ($jert['zayavka']) {
$fict1 = mysql_fetch_array(mysql_query("SELECT * FROM `zayavka` WHERE `team1` LIKE '{$jert['id']};%' OR `team1` LIKE '%;{$jert['id']};%' LIMIT 1;"));
$fict2 = mysql_fetch_array(mysql_query("SELECT * FROM `zayavka` WHERE `team2` LIKE '{$jert['id']};%' OR `team2` LIKE '%;{$jert['id']};%' LIMIT 1;"));
if ($fict1) {
$team = 1;
} elseif ($fict2) {
$team = 2;
}
mysql_query("UPDATE `users` SET `zayavka` = '' WHERE `id` = {$jert['id']} LIMIT 1;");
$z = mysql_fetch_array(mysql_query("SELECT `team{$team}` FROM `zayavka` WHERE `id`=" . $jert['zayavka'] . ";"));
$teams = str_replace($jert['id'] . ";", "", $z[0]);
mysql_query("UPDATE `zayavka` SET team{$team} = '{$teams}' WHERE id = {$jert['zayavka']};");
}
//arch
if ($bot) {
mysql_query("INSERT INTO `bots` (`name`,`prototype`,`battle`,`hp`) VALUES ('Общий Враг','3954','','30000');");
$jert['id'] = mysql_insert_id();
}
$teams = array();
$teams[$user['id']][$jert['id']] = array(0, 0, time());
$teams[$jert['id']][$user['id']] = array(0, 0, time());
$sv = array(3, 4, 5);
//$tou = array_rand($sv,1);
mysql_query("INSERT INTO `battle`
(
`id`,`coment`,`teams`,`timeout`,`type`,`status`,`t1`,`t2`,`to1`,`to2`,`blood`
)
VALUES
(
NULL,'','" . serialize($teams) . "','" . $sv[rand(0, 2)] . "','1','0','" . $user['id'] . "','" . $jert['id'] . "','" . time() . "','" . time() . "','0'
)");
$id = mysql_insert_id();
// апдейтим врага
if ($bot) {
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$jert['id']} LIMIT 1;");
} else {
mysql_query("UPDATE `users` SET `battle` = {$id} WHERE `id` = {$jert['id']} LIMIT 1;");
}
// создаем лог
$rr = "<b>" . Nick::id($user['id'])->full(1) . "</b> и <b>" . Nick::id($jert['id'])->full(1) . "</b>";
addch("<a href=logs.php?log=" . $id . " target=_blank>Бой</a> между <B><b>" . Nick::id($user['id'])->short() . "</b> и <b>" . Nick::id($jert['id'])->short() . "</b> начался. ", $user->getRoom());
//mysql_query("INSERT INTO `logs` (`id`,`log`) VALUES('{$id}',"Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." бросили вызов друг другу. <BR>");
mysql_query("UPDATE users SET `battle` ={$id},`zayavka`=0 WHERE `id`= {$user['id']} OR `id` = {$jert['id']}");
if ($us['login'] == "Общий Враг") {
$jert['id'] = 3954;
}
$rr = "<b>" . Nick::id($user['id'])->full(1) . "</b> и <b>" . Nick::id($jert['id'])->full(1) . "</b>";
GameLogs::addBattleLog($id, "Часы показывали <span class=date>" . date("Y.m.d H.i") . "</span>, когда " . $rr . " бросили вызов друг другу. <BR>");
if ($jert['id'] && $user['id'] && $jert['id'] < 999999) {
$btfl = fopen('tmp/' . $user['id'] . '.btl', 'a');
fwrite($btfl, '{[=' . $jert['id'] . '=]}');
fclose($btfl);
$btfl = fopen('tmp/' . $jert['id'] . '.btl', 'a');
fwrite($btfl, '{[=' . $user['id'] . '=]}');
fclose($btfl);
}
exit("<script>location.href='fbattle.php';</script>");
}
} else {
echo 'Мазохист?...';
}
//$bet=1;
}
echo "</b></font></div>";
}