2018-01-28 18:40:49 +02:00
< ? php
2020-09-30 16:45:10 +03:00
session_start ();
if ( empty ( $_SESSION [ 'uid' ])) {
header ( " Location: index.php " );
exit ;
2020-09-30 16:00:53 +03:00
}
2020-09-30 16:45:10 +03:00
include " functions.php " ;
$in_haos = mysql_fetch_array ( mysql_query ( " SELECT * FROM `cit_haos_status` WHERE `id` = ' { $user [ 'id' ] } ' LIMIT 1; " ));
$wait_msg = " Ждем готовности всей группы... " ;
//rooms
$ch_rooms = [
2018-01-28 18:40:49 +02:00
// 0 - empty
2020-09-30 16:45:10 +03:00
" 1 " => " Ворота (1) " ,
" 2 " => " Двор (2) " ,
" 3 " => " Внешний корридор (3) " ,
" 4 " => " Спуск в подвал (4) " ,
" 5 " => " Подвал (5) " , //босс Душа
" 6 " => " Люк на Западную стену (6) " ,
" 7 " => " Западная стена (7) " ,
" 8 " => " Галерея Страха (8) " ,
" 9 " => " Западная башня (9) " ,
" 10 " => " Галерея Смерти (10) " , //босс Зомби
" 11 " => " Проход к Северной стене (11) " ,
" 12 " => " Галерея Тьмы (12) " ,
" 13 " => " Северная стена (13) " ,
" 14 " => " Галерея Бликов (14) " ,
" 15 " => " Внутренний корридор (15) " , //босс Повелитель
" 16 " => " Гостевая (16) " ,
" 17 " => " Руины Северной башни (17) " ,
" 18 " => " Поминальная комната (18) " ,
" 19 " => " Галерея Порталов (19) " ,
" 20 " => " Зал Посвященных (20) " , //босс Хромой Билли
" 21 " => " Старая лестница (21) " ,
" 22 " => " Трофейная (22) " ,
" 23 " => " Костяной зал (23) " ,
" 24 " => " Склеп (24) " ,
" 25 " => " Лабиринт (25) " , //босс Мародер
" 26 " => " Тронный зал (26) " ,
" 27 " => " Тайный корридор (27) " ,
" 28 " => " Комната прислуги (28) " ,
" 29 " => " Королевские покои (29) " ,
" 30 " => " Переход (30) " //босс Грохобот
];
//bots
$ch_bots = [];
//1 - упырь
//2 - падший
//3 - душа
$db = mysql_fetch_array ( mysql_query ( " SELECT * FROM `cit_haos_var` WHERE `group`=' " . $in_haos [ 'group' ] . " ' limit 1; " ));
if ( ! $db [ 'bots' ]) {
$bot_low = [
2018-01-28 18:40:49 +02:00
// 0 - empty
2020-09-30 16:45:10 +03:00
" 1 " => " Упырь " ,
" 2 " => " Посланник смерти " ,
" 3 " => " Падший " ,
" 4 " => " Отморозок " ,
" 5 " => " Проклятие глубин "
];
for ( $i = 1 ; $i <= 30 ; $i ++ ) {
$ch_get_bot = rand ( 1 , 5 );
$ch_bots [ $i ] = [ " 0 " => $bot_low [ $ch_get_bot ]];
}
$ch_bots [ 5 ] = [ " 0 " => " Душа " ];
$ch_bots [ 10 ] = [ " 0 " => " Зомби " ];
$ch_bots [ 15 ] = [ " 0 " => " Повелитель " ];
$ch_bots [ 20 ] = [ " 0 " => " Хромой Билли " ];
$ch_bots [ 25 ] = [ " 0 " => " Мародер " ];
$ch_bots [ 30 ] = [ " 0 " => " Грохобот " ];
$dbb = serialize ( $ch_bots );
mysql_query ( " UPDATE `cit_haos_var` SET bots=' " . $dbb . " ' WHERE `group`=' " . $in_haos [ 'group' ] . " '; " );
} else {
$ch_bots = unserialize ( $db [ 'bots' ]);
}
// комната - опыт == доблесть
$ch_priz = [
" 5 " => [ 100 , 1 ],
" 10 " => [ 200 , 2 ],
" 15 " => [ 300 , 3 ],
" 20 " => [ 400 , 4 ],
" 25 " => [ 500 , 5 ],
" 30 " => [ 600 , 10 ]
];
// комната - кирка == уник_7 == цветок == уник_8
$ch_drop = [
" 25 " => [ 10 , 60 , 95 , 100 ],
" 30 " => [ 3 , 6 , 7 , 8 ],
];
$priz_low =
[ " 727 " ];
$priz_med =
[ " 775 " , " 776 " , " 777 " , " 778 " ];
$priz_flow =
[ " 14 " ];
$priz_high =
[ " 803 " , " 804 " , " 805 " , " 806 " ];
/*$ch_bots[1]=array
(
"0"=>"Младший страж глубин",
"1"=>"Младший страж глубин",
"2"=>"Босс глубин"
);
$ch_bots[2]=array
(
"0"=>"Младший страж глубин",
"1"=>"Босс глубин"
);*/
if ( $user -> room != 601 ) {
header ( " Location: main.php " );
exit ;
}
if ( $user -> battle ) {
header ( 'location: fbattle.php' );
exit ;
}
if ( $in_haos [ 'status' ] == 4 ) {
mysql_query ( " UPDATE `users`,`online` SET `users`.`room` = '600',`online`.`room` = '600' WHERE `online`.`id` = `users`.`id` AND `online`.`id` = ' { $_SESSION [ 'uid' ] } ' ; " );
mysql_query ( " UPDATE `cit_haos_status` SET room='0',bot='0',group='0' WHERE id = ' { $user [ 'id' ] } '; " );
header ( 'location: c_haos.php' );
}
if ( ! $ch_rooms [ $in_haos [ 'room' ]]) {
mysql_query ( " UPDATE `users`,`online` SET `users`.`room` = '600',`online`.`room` = '600' WHERE `online`.`id` = `users`.`id` AND `online`.`id` = ' { $_SESSION [ 'uid' ] } ' ; " );
if ( $in_haos [ 'status' ] == 2 ) {
mysql_query ( " UPDATE `cit_haos_status` SET room='0',status='5',bot='0' WHERE id = ' { $user [ 'id' ] } '; " );
addchp ( 'Вы пробились до двери на 2 уровень подземелий Цитадели Хаоса. Только опытный воин и храбрый страж сможет пройти через нее (10 уровень, страж 2 уровня)' , '{[]}' . Nick :: id ( $user [ 'id' ]) -> short () . '{[]}' );
2018-01-28 18:40:49 +02:00
}
2020-09-30 16:45:10 +03:00
mysql_query ( " UPDATE `cit_haos_var` SET bots='',players='' WHERE group=' " . $in_haos [ 'group' ] . " '; " );
header ( 'location: c_haos.php' );
}
2020-10-28 22:21:08 +02:00
\Battles\Template :: header ( 'c_haos_in' );
2020-09-30 16:45:10 +03:00
?>
<script>
function refreshPeriodic() {
location.href = 'c_haos_in.php';//reload()
timerID = setTimeout("refreshPeriodic()", 30000);
2018-01-28 18:40:49 +02:00
}
2020-09-30 16:45:10 +03:00
timerID = setTimeout("refreshPeriodic()", 30000);
</script>
2018-01-28 18:40:49 +02:00
2020-09-30 16:45:10 +03:00
<TABLE border=0 width=340 cellspacing="0" cellpadding="0" align=left>
2018-01-28 18:40:49 +02:00
2020-09-30 16:45:10 +03:00
<tr>
<td><h3>Цитадель Хаоса: <?= $ch_rooms[$in_haos['room']] ?><br/>
<br/></td>
</tr>
2018-01-28 18:40:49 +02:00
2020-09-30 16:45:10 +03:00
<?php
//attack
if ($_POST['go_attack']) {
if ($in_haos['status'] == 2) {
$bot_name = $ch_bots[$in_haos['room']][$in_haos['bot']];
switch ($bot_name) {
case "Упырь":
$bot_id = 2897;
$bot_count = rand(10, 30);
break;
case "Падший":
$bot_id = 2903;
$bot_count = rand(3, 9);
break;
case "Посланник смерти":
$bot_id = 2896;
$bot_count = 2;
break;
case "Отморозок":
$bot_id = 2893;
$bot_count = 3;
break;
case "Проклятие глубин":
$bot_id = 2892;
$bot_count = rand(1, 5);
break;
case "Душа":
$bot_id = 2895;
$bot_count = 1;
break;
case "Зомби":
$bot_id = 2901;
$bot_count = 5;
break;
case "Повелитель":
$bot_id = 2902;
$bot_count = 1;
break;
case "Хромой Билли":
$bot_id = 2898;
$bot_count = 1;
break;
case "Мародер":
$bot_id = 2899;
$bot_count = 1;
break;
case "Грохобот":
$bot_id = 2900;
$bot_count = 1;
break;
}
$b_pers = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id='{$bot_id}' LIMIT 1;"));
$bot_hp = $b_pers['maxhp'];
$bots = [];
$group_raw = mysql_query("SELECT * FROM `cit_haos_status` WHERE `group` = '{$in_haos['group']}' AND status='2';");
while ($gr = mysql_fetch_array($group_raw)) {
addchp('<font color=red>Внимание!</font> ' . $bot_name . ' напал на Вашу группу!', '{[]}' . Nick::id($gr['id'])->short() . '{[]}');
}
2018-01-28 18:40:49 +02:00
2020-09-30 16:45:10 +03:00
for ($bot_c = 0; $bot_c < $bot_count; $bot_c++) {
$nb = mysql_fetch_array(mysql_query("SELECT count(`id`) FROM `bots` WHERE `name` LIKE '" . $bot_name . "%';"));
mysql_query("INSERT INTO `bots` (`name`,`prototype`,`battle`,`hp`) values ('" . $bot_name . " " . ($nb[0] + 1) . "','" . $bot_id . "','','" . $bot_hp . "');");
$bot = mysql_insert_id();
$bots[] = $bot;
2018-01-28 18:40:49 +02:00
}
2020-09-30 16:45:10 +03:00
// командный вход
$group_fight = [];
$group_raw = mysql_query("SELECT * FROM `cit_haos_status` WHERE `group` = '{$in_haos['group']}' AND status='2';");
while ($gr = mysql_fetch_array($group_raw)) {
$group_fight[] = $gr['id'];
}
$teams = [];
foreach ($bots as $b) {
foreach ($group_fight as $gf) {
$teams[$gf][$b] = [0, 0, time()];
$teams[$b][$gf] = [0, 0, time()];
2018-01-28 18:40:49 +02:00
mysql_query("UPDATE `cit_haos_status` SET `status` = '3' WHERE `id` ='{$gf}'; ");
}
2020-09-30 16:45:10 +03:00
}
mysql_query("INSERT INTO `battle`
2018-01-28 18:40:49 +02:00
(
`id`,`coment`,`teams`,`timeout`,`type`,`status`,`t1`,`t2`,`to1`,`to2`
)
VALUES
(
2020-09-30 16:45:10 +03:00
NULL,'','" . serialize($teams) . "','3','1','0','" . implode(";", $group_fight) . "','" . implode(";", $bots) . "','" . time() . "','" . time() . "'
2018-01-28 18:40:49 +02:00
)");
2020-09-30 16:45:10 +03:00
$id = mysql_insert_id();
// апдейтим бота
foreach ($bots as $b) {
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$b} LIMIT 1;");
2018-01-28 18:40:49 +02:00
}
2020-09-30 16:45:10 +03:00
foreach ($group_fight as $gf) {
mysql_query("UPDATE users SET `battle` ={$id},`zayavka`=0 WHERE `id`= {$gf};");
2018-01-28 18:40:49 +02:00
}
2020-09-30 16:45:10 +03:00
exit("<script>location.href='fbattle.php';</script>");
2018-01-28 18:40:49 +02:00
}
2020-09-30 16:45:10 +03:00
}
$group_num = mysql_num_rows(mysql_query("SELECT * FROM `cit_haos_status` WHERE `group` = '{$in_haos['group']}';"));
$group_ready = mysql_num_rows(mysql_query("SELECT * FROM `cit_haos_status` WHERE (`room` = '{$in_haos['room']}' AND `group` = '{$in_haos['group']}');"));
$cit_haos_t = mysql_fetch_array(mysql_query("SELECT * FROM `variables` WHERE `var` = 'cit_haos_time' LIMIT 1;"));
$tm = time();
if ($in_haos['status'] == 2) {
if (($tm > ($cit_haos_t['value'] + 960)) || ($tm < ($cit_haos_t['value'] - 600)))//def 960
2018-01-28 18:40:49 +02:00
{
2020-09-30 16:45:10 +03:00
$flag_ref = 1;
foreach ($ch_bots[$in_haos['room']] as $bot_id => $bot_name)
if ($bot_id >= $in_haos['bot']) {
echo '<tr><td><FORM action="c_haos_in.php" method=POST>';
if ($bot_id == $in_haos['bot']) echo '<strong>' . $bot_name . '</strong>'; else echo($bot_name);
if ($bot_id == $in_haos['bot']) echo ' - <INPUT TYPE="submit" value="Напасть" name="go_attack">';
echo ' </FORM></td></tr>';
$flag_ref = 0;
}
if (!array_key_exists($in_haos['bot'], $ch_bots[$in_haos['room']])) {
echo($wait_msg);
//проверяем есть ли приз
if (array_key_exists($in_haos['room'], $ch_priz)) {
$priz_exp = $ch_priz[$in_haos['room']][0];
$priz_dobl = $ch_priz[$in_haos['room']][1];
} else {
$priz_exp = 0;
$priz_dobl = 0;
}
if (array_key_exists($in_haos['room'], $ch_drop)) {
$got_drop = rand(0, 400);//100 - norm, 400 - 25%
} else {
$got_drop = -1;
}
//выбираем приз
if ($in_haos['room'] < 30) {
if ($got_drop >= 0 && $got_drop < $ch_drop[$in_haos['room']][0]) {
$rand_k = array_rand($priz_low, 1);
$p_id = $priz_low[$rand_k];
$p_shop = "shop";
} elseif ($got_drop >= $ch_drop[$in_haos['room']][0] && $got_drop < $ch_drop[$in_haos['room']][1]) {
$rand_k = array_rand($priz_med, 1);
$p_id = $priz_med[$rand_k];
$p_shop = "shop";
} elseif ($got_drop >= $ch_drop[$in_haos['room']][1] && $got_drop < $ch_drop[$in_haos['room']][2]) {
$rand_k = array_rand($priz_flow, 1);
$p_id = $priz_flow[$rand_k];
$p_shop = "fshop";
} elseif ($got_drop >= $ch_drop[$in_haos['room']][2] && $got_drop <= $ch_drop[$in_haos['room']][3]) {
$rand_k = array_rand($priz_high, 1);
$p_id = $priz_high[$rand_k];
$p_shop = "shop";
}
} elseif ($in_haos['room'] == 30) {
if ($got_drop <= 200)//400max/4=>50%
{
$priz_low =
["808", "809"];
2019-01-16 19:45:30 +02:00
2020-09-30 16:45:10 +03:00
$rand_k = array_rand($priz_low, 1);
$p_id = $priz_low[$rand_k];
$p_shop = "shop";
}
2019-01-16 19:45:30 +02:00
2020-09-30 16:45:10 +03:00
}
//выбираем получателя
$all_get = [];
$gr_raw = mysql_query("SELECT * FROM `cit_haos_status` WHERE `group` = '{$in_haos['group']}';");
while ($g_id = mysql_fetch_array($gr_raw)) {
$all_get[] = $g_id['id'];
}
$l_id = rand(0, count($all_get) - 1);
//даем призы
if ($p_id > 0) {
$dress = mysql_fetch_array(mysql_query("SELECT * FROM `{$p_shop}` WHERE `id` = '{$p_id}' LIMIT 1;"));
mysql_query("INSERT INTO `inventory`
2018-01-28 18:40:49 +02:00
(`prototype`,`owner`,`name`,`type`,`massa`,`cost`,`img`,`maxdur`,`isrep`,
`gsila`,`glovk`,`ginta`,`gintel`,`ghp`,`gnoj`,`gtopor`,`gdubina`,`gmech`,`gfire`,`gwater`,`gair`,`gearth`,`glight`,`ggray`,`gdark`,`needident`,`nsila`,`nlovk`,`ninta`,`nintel`,`nmudra`,`nvinos`,`nnoj`,`ntopor`,`ndubina`,`nmech`,`nfire`,`nwater`,`nair`,`nearth`,`nlight`,`ngray`,`ndark`,
`mfkrit`,`mfakrit`,`mfuvorot`,`mfauvorot`,`bron1`,`bron2`,`bron3`,`bron4`,`maxu`,`minu`,`magic`,`nlevel`,`nalign`,`dategoden`,`goden`,`otdel`,`gmp`,`gmeshok`,`encicl`,`artefact`,`duration`,`present`
)
VALUES
('{$dress['id']}','{$all_get[$l_id]}','{$dress['name']}','{$dress['type']}',{$dress['massa']},{$dress['cost']},'{$dress['img']}',{$dress['maxdur']},{$dress['isrep']},'{$dress['gsila']}','{$dress['glovk']}','{$dress['ginta']}','{$dress['gintel']}','{$dress['ghp']}','{$dress['gnoj']}','{$dress['gtopor']}','{$dress['gdubina']}','{$dress['gmech']}','{$dress['gfire']}','{$dress['gwater']}','{$dress['gair']}','{$dress['gearth']}','{$dress['glight']}','{$dress['ggray']}','{$dress['gdark']}','{$dress['needident']}','{$dress['nsila']}','{$dress['nlovk']}','{$dress['ninta']}','{$dress['nintel']}','{$dress['nmudra']}','{$dress['nvinos']}','{$dress['nnoj']}','{$dress['ntopor']}','{$dress['ndubina']}','{$dress['nmech']}','{$dress['nfire']}','{$dress['nwater']}','{$dress['nair']}','{$dress['nearth']}','{$dress['nlight']}','{$dress['ngray']}','{$dress['ndark']}',
2020-09-30 16:45:10 +03:00
'{$dress['mfkrit']}','{$dress['mfakrit']}','{$dress['mfuvorot']}','{$dress['mfauvorot']}','{$dress['bron1']}','{$dress['bron3']}','{$dress['bron2']}','{$dress['bron4']}','{$dress['maxu']}','{$dress['minu']}','{$dress['magic']}','{$dress['nlevel']}','{$dress['nalign']}','" . (($dress['goden']) ? ($dress['goden'] * 24 * 60 * 60 + time()) : "") . "','{$dress['goden']}','{$dress['razdel']}','{$dress['gmp']}','{$dress['gmeshok']}','{$dress['encicl']}','{$dress['artefact']}','{$dur}','Мусорщик'
2018-01-28 18:40:49 +02:00
) ;");
2020-09-30 16:45:10 +03:00
mysql_query("INSERT INTO `delo` (`id` , `author` ,`pers`, `text`, `type`, `date`) VALUES ('','0','$all_get[$l_id]','\"" . $user['login'] . "\" получил в ЦХ предмет: \"" . $dress['name'] . "\" " . $dresscount . "id:(" . $dressid . ") [0/" . $dress['maxdur'] . "]',1,'" . time() . "');");
addchp('За убийство босса Цитадели Хаоса вы получили ' . $dress['name'], '{[]}' . Nick::id($all_get[$l_id])->short() . '{[]}');
}
if ($priz_exp > 0) {
GiveExp($all_get[$l_id], $priz_exp);
addchp('За убийство босса Цитадели Хаоса вы получили ' . $priz_exp . ' опыта', '{[]}' . Nick::id($all_get[$l_id])->short() . '{[]}');
mysql_query("INSERT INTO `delo` (`id` , `author` ,`pers`, `text`, `type`, `date`)
VALUES ('','0','{$cur_user['id']}','\"" . $all_get[$l_id] . "\" получил в ЦХ \"" . $priz_exp . "\" опыта',1,'" . time() . "');");
}
if ($priz_dobl > 0) {
mysql_query("UPDATE users SET `doblest`=`doblest`+'" . $priz_dobl . "' WHERE `id` = '" . $all_get[$l_id] . "';");
addchp('За убийство босса Цитадели Хаоса вы получили ' . $priz_dobl . ' доблести', '{[]}' . Nick::id($all_get[$l_id])->short() . '{[]}');
mysql_query("INSERT INTO `delo` (`id` , `author` ,`pers`, `text`, `type`, `date`)
VALUES ('','0','{$cur_user['id']}','\"" . $all_get[$l_id] . "\" получил в ЦХ \"" . $priz_dobl . "\" доблести',1,'" . time() . "');");
}
mysql_query("UPDATE `cit_haos_status` SET `room` = `room`+1,`bot`=0 WHERE `group` = '{$in_haos['group']}'; ");
if (!headers_sent()) {
header('location: c_haos_in.php');
}
}
if ($flag_ref == 0 && !headers_sent()) {
header('location: c_haos_in.php');
}
} else {
echo "<TR><TD>Ждем готовности группы... Приготовьтесь!</TR></TD>";
echo '<tr><td><FORM action="c_haos_in.php" method=POST><INPUT TYPE="submit" value="Обновить" name="refresh">';
echo ' </FORM></td></tr>';
2018-01-28 18:40:49 +02:00
}
}
2020-09-30 16:45:10 +03:00
?>
2018-01-28 18:40:49 +02:00
</table>
2020-09-30 16:45:10 +03:00
<?php
echo '<div align=right><img width="260" src="i/zitadel/' . ($in_haos['room'] + 1) . '.jpg" /></div>';
?>