battles/magic/vampir.php

196 lines
12 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;
$coma = [
"Покупайте чеснок!",
"Теперь на кровь остальные сбегутся.",
"Ню-ню, а я осиновый кол точу",
"Примочки святой водой три раза в день и все пройдет.",
"По-моему, жена у меня тоже такая :(",
"А вы думали, что это просто летучие мыши?",
"Готовьте люди колья!",
"Ну, прям по расписанию, а я думал уже не укусит.",
"Это попахивает чем-то потусторонним.",
"И ничто не предвещало беды.",
"Я всегда говорил, мой любимый - чесночный суп :)",
"Тьма наступает!",
"Никогда к этому не привыкну.",
"А ведь предупреждали, садись на пенек, ешь пирожок с чесноком :)",
"Развелось, тут всякой нечисти...",
"Да что же это делается???",
"Второй раз будет не так больно.",
"Кровососы...",
"Сегодня же полнолуние, вы что, забыли ???",
"Интересно, а теперь он тоже станет вампиром???",
"Чеснок - не только при простуде.",
"Это ж надо такому случится.",
"Озверели совсем - на людей кидаются...Не дай бог так оголодать....",
"Ой, а мне бабушка тоже о вампирах рассказывала"];
if ($user['battle'] > 0) {
echo "Не в бою...";
} else {
if (empty($_SESSION['uid'])) {
header("Location: index.php");
exit;
}
$target = $_POST['target'];
$us = mysql_fetch_array(mysql_query("SELECT *, (SELECT `id` FROM `inventory` WHERE `owner` = `users`.`id` AND `name` LIKE '%Чеснок%' LIMIT 1) AS `che`, (SELECT `id` FROM `inventory` WHERE `owner` = `users`.`id` AND `name` LIKE '%Осиновый кол%' LIMIT 1) AS `kol`,(select `id` from `online` WHERE login_time >= " . (time() - 60) . " AND `id` = users.`id`) as `online` FROM `users` WHERE `login` = '{$_POST['target']}' LIMIT 1;"));
$effs = mysql_query("SELECT * FROM `effects` WHERE `owner` = '{$us['id']}' and (`type`=12 or `type`=13 or `type`=14) limit 1;");
//echo
if ($us['battle']) {
echo "Персонаж находится в поединке!";
} elseif ($us['battle']) {
echo "Персонаж ожидает поединка!";
} elseif ($us['id'] == $user['id']) {
echo "На самого себя? Хм.... может еще и ногу себе откусишь? :)";
} elseif ($us['align'] == 3) {
echo "Что ж ты делаешь, гад?! &quot;{$us['login']}&quot; - твой темный собрат!";
} elseif ($us['room'] == 31 || $us['room'] == 46 || $us['room'] == 47 || $us['room'] == 48 || $us['room'] == 49 || $us['room'] == 600 || $us['room'] == 601 || $us['room'] == 45 || $us['room'] == 602 || $us['room'] == 43 || $us['room'] == 45) {
echo "Нападения в этой локации запрещены!";
} elseif ($user['hp'] > $user['maxhp'] * 0.66) {
echo "Нет необходимости кусать, силы скоро восстановятся сами ";
} elseif ($user['hp'] < $user['maxhp'] * 0.33) {
echo "Вы слишком ослаблены для укуса.";
} elseif ($us['hp'] < $us['maxhp'] * 0.33) {
echo "Жертва слишком слаба.";
} elseif ($us['level'] == 0) {
echo "Нельзя укусить новичка, они защищены Мироздателем!";
} elseif ($us['align'] > 2 && $us['align'] < 3) {
echo "Вы решили укусить Ангела? ;)";
} elseif ($user->getRoom() != $us['room']) {
echo "Персонаж находится в другой комнате.)";
} elseif ($user['battle']) {
echo "Не в бою...";
} elseif ($user->getRoom() == 31) {
echo "Нельзя укусить в этой комнате!";
} elseif (((int)date("H") < 22) && ((int)date("H") >= 6)) {
echo "Вампиры кусают только по ночам";
} elseif ($us['level'] > $user['level']) {
echo "Нельзя укусить персонажа большего левела!)";
} elseif ($us['online'] == 0) {
echo "Персонаж находится в оффлайне";
} else {
if ($user['sex'] == 1) {
$action = "напал";
$golod = "Оголодавший";
$pil = "выпил";
} else {
$action = "напала";
$golod = "Оголодавшая";
$pil = "выпила";
}
if ($us['sex'] == 1) {
$otvet = "он дал";
$who = "его";
} else {
$otvet = "она дала";
$who = "её";
}
if (($us['che'] == 0) && ($us['kol'] == 0)) {
mysql_query("UPDATE `users` SET `hp` = 1 WHERE `id` = '" . $us['id'] . "';");
mysql_query("UPDATE `users` SET `hp` = `hp`+'" . ((($user['maxhp'] - $user['hp']) <= $us['hp']) ? ($user['maxhp'] - $user['hp']) : $us['hp']) . "' WHERE `id` = '" . $user['id'] . "';");
addch("<img src=i/magic/vampir.gif>{$golod} &quot;{$user['login']}&quot; {$action} на &quot;{$target}&quot; и {$pil} всю {$who} энергию.");
addchp($coma[rand(0, count($coma) - 1)], "Комментатор");
echo "Все прошло удачно!";
} elseif (($us['kol'] != 0 && rand(1, 100) < 30) || ($us['id'] == 83 && rand(1, 100) < 20)) {
mysql_query("UPDATE `users` SET `hp` = 1 WHERE `id` = '" . $us['id'] . "';");
mysql_query("UPDATE `users` SET `hp` = `hp`+'" . ((($user['maxhp'] - $user['hp']) <= $us['hp']) ? ($user['maxhp'] - $user['hp']) : $us['hp']) . "' WHERE `id` = '" . $user['id'] . "';");
addch("<img src=i/magic/vampir.gif>{$golod} &quot;{$user['login']}&quot; {$action} на &quot;{$target}&quot; и {$pil} всю {$who} энергию.");
addchp($coma[rand(0, count($coma) - 1)], "Комментатор");
echo "Все прошло удачно!";
} elseif (($us['kol'] != 0) || ($us['id'] == 83)) {
echo "Полный провал!..";
if ($effs['type']) {
echo "Полный провал!..";
mysql_query("UPDATE `users` SET `hp` = 1 WHERE `id` = '" . $user['id'] . "';");
mysql_query("UPDATE `inventory` SET `duration` = `duration`+1 WHERE `id` = '" . $us['kol'] . "' LIMIT 1;");
addch("<img src=i/magic/vampir.gif>{$golod} &quot;{$user['login']}&quot; {$action} на &quot;{$target}&quot;, но {$otvet} достойный отпор вампиру.");
} else {
mysql_query("UPDATE `users` SET `hp` = '" . (round($user['hp'] / 2)) . "' WHERE `id` = '" . $user['id'] . "';");
mysql_query("UPDATE `inventory` SET `duration` = `duration`+1 WHERE `id` = '" . $us['kol'] . "' LIMIT 1;");
addch("<img src=i/magic/vampir.gif>{$golod} &quot;{$user['login']}&quot; {$action} на &quot;{$target}&quot;, но {$otvet} достойный отпор вампиру.");
$jert = $us;
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'] . ";", "", implode(";", $z[0]));
mysql_query("UPDATE `zayavka` SET team{$team} = '{$teams}' WHERE id = {$jert['zayavka']};");
}
$teams = [];
$teams[$user['id']][$us['id']] = [0, 0, time()];
$teams[$us['id']][$user['id']] = [0, 0, time()];
$sv = [3, 5, 7, 10];
//$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, 3)] . "','6','0','" . $user['id'] . "','" . $us['id'] . "','" . time() . "','" . time() . "','1'
)");
$id = mysql_insert_id();
// апдейтим врага
if ($bot) {
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$us['id']} LIMIT 1;");
} else {
mysql_query("UPDATE `users` SET `battle` = {$id} WHERE `id` = {$us['id']} LIMIT 1;");
}
// создаем лог
$rr = "<b>" . Nick::id($user['id'])->full(1) . "</b> и <b>" . Nick::id($us['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($us['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>');");
GameLogs::addBattleLog($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` = {$us['id']}");
header("Location:fbattle.php");
exit("<script>location.href='fbattle.php';</script>");
}
} elseif ($us['che'] != 0 && rand(1, 100) < 30) {
mysql_query("UPDATE `users` SET `hp` = 1 WHERE `id` = '" . $us['id'] . "';");
mysql_query("UPDATE `users` SET `hp` = `hp`+'" . ((($user['maxhp'] - $user['hp']) <= $us['hp']) ? ($user['maxhp'] - $user['hp']) : $us['hp']) . "' WHERE `id` = '" . $user['id'] . "';");
addch("<img src=i/magic/vampir.gif>{$golod} &quot;{$user['login']}&quot; {$action} на &quot;{$target}&quot; и {$pil} всю {$who} энергию.");
addchp($coma[rand(0, count($coma) - 1)], "Комментатор");
echo "Все прошло удачно!";
} else {
echo "Полный провал!..";
mysql_query("UPDATE `users` SET `hp` = 1 WHERE `id` = '" . $user['id'] . "';");
mysql_query("UPDATE `inventory` SET `duration` = `duration`+1 WHERE `id` = '" . $us['che'] . "' LIMIT 1;");
addch("<img src=i/magic/vampir.gif>{$golod} &quot;{$user['login']}&quot; {$action} на &quot;{$target}&quot;, но {$otvet} достойный отпор вампиру.");
}
}
//mysql_query("INSERT INTO `effects` (`owner`,`name`,`time`,`type`) values ('".$user['id']."','Заклятие молчания',".(time()+1800).",2);");
//if (mysql_query("UPDATE `inventory` SET `needident` = 0 WHERE `id` = {$dress['id']} LIMIT 1;")) {
// echo "<font color=red><b>На персонажа \"{$target}\" наложено заклятие молчания </b></font>";
// $bet=1;
//} else {
//echo "<font color=red><b>Неправильное имя персонажа<b></font>";
//}
//} else
//{
// echo "<font color=red><b>Неудачно...<b></font>";
// $bet=1;
//}
}