battles/magic/usability_vip/attack.php

138 lines
7.9 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
$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` = '".mysql_real_escape_string($_POST['target'])."' LIMIT 1"));
$owntravma = mysql_fetch_array(mysql_query("SELECT `id` FROM `effects` WHERE `owner` = ".$us['id']." AND (`type` = 13 OR `type` = 12 OR `type` = 14) LIMIT 1"));
$us_b = mysql_fetch_array(mysql_query("SELECT `type`, `open` FROM `battle` WHERE `id` = '{$us['battle']}' LIMIT 1"));
$vip = mysql_fetch_array(mysql_query('SELECT `id`, `uid`, `attack` FROM `abils_vip` WHERE `uid` = "'.$user['id'].'" LIMIT 1'));
if($user['invis'] == 1) { $lo = '<i><b>невидимка</b></i>'; } else { $lo = $user['login']; }
$los = Nick::id($user['id'])->short();
$effect = mysql_fetch_array(mysql_query("SELECT `id` FROM `effects` WHERE `owner` = '{$us['id']}' AND `time` > '".time()."' AND `type` = '227' LIMIT 1"));
if($vip['attack'] <= 0) {
echo "Магия исчерпала себя ...";
} elseif($user['battle'] > 0) {
echo "Не в бою...";
} elseif($us_b['type'] == 3 || $us_b['type'] == 5) {
echo "Запрещено входить в хаотический бой!";
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";
} elseif($us['battle'] > 0 && $us_b['open'] == 0) {
echo "Бой закрыт для вмешательства!";
} elseif(!$us['online']) {
echo "Персонаж не в игре!";
} elseif($us['align'] == 2.99) {
echo "Не атакуйте Администратора!";
} elseif($user['zayavka'] > 0) {
echo "Вы ожидаете поединка...";
} elseif($owntravma['id'] && !$us['battle']) {
echo "Персонаж тяжело травмирован...";
} elseif($user['klan'] != '' && ($user['klan'] == $us['klan'])) {
echo "Чтите честь ваших сокланов.";
} elseif($user['room'] != $us['room']) {
echo "Персонаж в другой комнате!";
} 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($us['align'] == 2.9) {
echo "Нападение на Ангелов строго запрещено!";
} elseif($us['align'] > 1 && $us['align'] < 2) {
echo "Нападение на Паладинов запрещено!";
} elseif($us['align'] == 4.99) {
echo "Нападение на Комментатора запрещено!";
} elseif($us['level'] < 1) {
echo "Новички находятся под защитой Мироздателя!";
} 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 {
if($user['sex'] == 1) { $action = "напал"; } else { $action = "напала"; }
$jert = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".mysql_real_escape_string($_POST['target'])."' LIMIT 1"));
if($jert['id'] != $user['id']) {
addch("<img src=i/magic/attack.gif> <B>{$lo}</B>, применив магию нападения, внезапно ".$action." на &quot;{$_POST['target']}&quot;");
addchp('<font color=red>Внимание!</font> На вас '.$action.' <b>'.$lo.'</b>.<br />\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ', '{[]}'.Nick::id($jert['id'])->short().'{[]}');
if($jert['id'] > _BOTSEPARATOR_) {
$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>".$los."</b> вмешался в <a href=logs.php?log=".$id." target=_blank>поединок »»</a>.", $user['room']);
if($user['invis'] == 1) { $lod = '<i><b>невидимка</b></i>'; } else { $lod = Nick::id($user['id'])->short(); }
addlog($jert['battle'], '<span class=date>'.date("H:i").'</span> '.$lod.' вмешался в поединок!<BR>');
mysql_query('UPDATE `battle` SET `teams` = \''.serialize($battle).'\', `t'.$ttt.'` = CONCAT(`t'.$ttt.'`,\';'.$user['id'].'\') WHERE `id` = "'.$jert['battle'].'" LIMIT 1');
mysql_query("UPDATE users SET `battle` = ".$jert['battle'].", `zayavka` = 0 WHERE `id` = '".$user['id']."' LIMIT 1");
header("Location:fbattle.php");
} else {
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']."' LIMIT 1"));
$teams = str_replace($jert['id'].";", "", $z[0]);
mysql_query("UPDATE `zayavka` SET `team{$team}` = '{$teams}' WHERE `id` = {$jert['zayavka']} LIMIT 1");
}
if($bot) {
mysql_query("INSERT INTO `bots` (`name`, `prototype`, `battle`, `hp`) values ('Архивариус', '83', '', '".$jert['hp']."')");
$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);
mysql_query("INSERT INTO `battle` (`teams`, `timeout`, `type`, `status`, `t1`, `t2`, `to1`, `to2`, `blood`, `open`) VALUES ('".serialize($teams)."', '".$sv[rand(0, 2)]."', '1', '0', '".$user['id']."', '".$jert['id']."', '".time()."', '".time()."', '0', '1')");
$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");
}
$ld = Nick::id($user['id'])->full(1);
$lds = Nick::id($user['id'])->short();
$rr = "<b>".$ld."</b> и <b>".Nick::id($jert['id'])->full(1)."</b>";
addch("<a href=logs.php?log=".$id." target=_blank>Бой</a> между <b>".$lds."</b> и <b>".Nick::id($jert['id'])->short()."</b> начался.", $user['room']);
addlog($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']}");
header("Location: fbattle.php");
}
$vip['attack'] -= 1;
mysql_query('UPDATE `abils_vip` SET `attack` = "'.$vip['attack'].'" WHERE `id` = "'.$vip['id'].'" LIMIT 1');
} else {
echo '<font color=red>Мазохист?...</font>';
}
}