Вход Регистрация
Файл: element_mission_battle.php
Строк: 620
<?php
require_once './element_options/element_options.php';
if (!
$user) { header('Location: /'); exit; }

$params = readcache('element_mission_user_'.$user['lost_id']);
if (!
$params) { header('Location: /mission'); exit; } // Если нет данных боя, переадрес в миссии

require_once './element_function/element_function_mission.php';
require_once 
'./element_function/element_function_battle.php';
$status_game = status_game($params['user_params']['life'], $params['bot_params']['life'], $params['user_params']['avto_battle']);

    
$journal = readcache('element_mission_journal'.$user['lost_id']);
    if (!
is_array($journal)) $journal = array();
    
$count_journal = count($journal);

    
$avto_battle = (isset($_GET['avto_battle'])) ? true : false;
    
// Бой руками!
if ($status_game == 0 AND !$avto_battle) {
    
$abil_ogon = AbilitiesOgon($user['lost_abilities_ogon'], $user['lost_race'], false, $user['lost_id']);
    
$abil_voda = AbilitiesVoda($user['lost_abilities_voda'], $user['lost_race'], false, $user['lost_id']);
    
$abil_zeml = AbilitiesZemlya($user['lost_abilities_zemlya'], $user['lost_race'], false, $user['lost_id']);
    
$abil_vosd = AbilitiesVozdyh($user['lost_abilities_vozduh'], $user['lost_race'], false, $user['lost_id']);
    
$add_hp = 0;
    
    
//abilities_race_zemla($time, $time_refresh)
    
if ($params['bot_params']['time']) {
        
$time_bot = explode(' ', $params['bot_params']['time']);
        
$time_fre = explode(' ', microtime());
        
$time_udar_bot = ceil(($time_fre[1] + $time_fre[0]) - ($time_bot[1] + $time_bot[0]));
    } else 
$time_udar_bot = 5;
    
$rand_udar_s = rand(3,4);
    
    
// Удары бота по мне
    
if ($time_udar_bot > $rand_udar_s) {
        
$other_count_udat = (int)($time_udar_bot / $rand_udar_s);
        
        
$bot_uron = 0;
        for(
$i = 0; $i < $other_count_udat; $i++) {
            
            
$uron = GenerationUron($params['bot_params']['strlen'], $params['bot_params']['time'], 0, 0, $abil_zeml['add_procent'], GenerationProtection($user['lost_params_protection']));
            
            
$params['user_params']['hp'] = $params['user_params']['hp'] - $uron;
            
array_unshift($journal, '<span class="small red"><img src="/images/icons/arena.gif"> '.$params['bot_params']['name'].' ударил '.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].' на <span class="bold">'.$uron.'</span> урон</span>');
            if (
count($journal) > 15) unset($journal[15]);
            
            if (
$params['user_params']['hp'] <= 0) {
                
array_unshift($journal, '<span class="small red"><img src="/images/icons/arena.gif"> '.$params['bot_params']['name'].' убил '.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].'</span>');
                
array_unshift($journal, '<span class="lngreen bold">Бой закончен</span>');
                if (
count($journal) > 15) unset($journal[15]);
                    
                    
$crst = handler_cristalls(1, $user_blessing['nagrada']);    
                    
$params['missions']['cristalls'] = $crst;    
                    
                    
update_money_exp($user, 1, $crst, 0, 0);
                    
                
$params['user_params']['life'] = 1;    
                
writecache('element_mission_user_'.$user['lost_id'],$params);
                
writecache('element_mission_journal'.$user['lost_id'], $journal);
                
writecache('element_users_battle'.$user['lost_id'], '');
                
$status_game = 2;
                break;
            }
            
            
$bot_uron = $bot_uron + $uron;
        }
    
$params['bot_params']['time'] = microtime();
    
writecache('element_mission_user_'.$user['lost_id'],$params);
    
writecache('element_mission_journal'.$user['lost_id'], $journal);
    } else {
        
$bot_uron = 0;
        
$abil_zeml = abilities_race_zemlya(0, $abilities_zeml[2], $abilities_zeml[1], $abilities_zeml[3], $abilities_zeml[4], 0);
    }
if (
$status_game != 2) {
    
    
// Мой удар по боту
    
if ($go == 'attaka') {

    
// Активация Огненной силы
    
if ($id == 1 AND !$abil_ogon['activate']) {
        
$abil_ogon = AbilitiesOgon($user['lost_abilities_ogon'], $user['lost_race'], true, $user['lost_id']);
        
$image = quality_item_name($user['lost_abilities_ogon']);
        
array_unshift($journal, '<span class="small admin">'.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].' активировал <span class="bold yellow1">'.$image['image'].' огненную силу</span></span>');
    }

    
// Активация Водяного крита
    
if ($id == 2 AND !$abil_voda['activate']) {
        
$abil_voda = AbilitiesVoda($user['lost_abilities_voda'], $user['lost_race'], true, $user['lost_id']);
        
$image = quality_item_name($user['lost_abilities_voda']);
        
array_unshift($journal, '<span class="small admin">'.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].' активировал <span class="bold yellow1">'.$image['image'].' водяной крит</span></span>');
    }

    
// Активация Ловушки ветра
    
if ($id == 3 AND !$abil_vosd['active']) {
        
$abil_vosd = AbilitiesVozdyh($user['lost_abilities_vozduh'], $user['lost_race'], true, $user['lost_id']);
        
$image = quality_item_name($user['lost_abilities_vozduh']);
        
array_unshift($journal, '<span class="small admin">'.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].' активировал <span class="bold yellow1">'.$image['image'].' ловушку ветра</span></span>');
        
        
// Если шанс сработал, забираем хп
        
if ($abil_vosd['add_hp'] > 0) {
            
$add_hp = (int)(($params['bot_params']['other_hp'] / 100) * $abil_vosd['add_hp']);
            
$my_ras_hp = $params['user_params']['other_hp'] - $params['user_params']['hp'];
            if (
$add_hp > $my_ras_hp) $add_hp = $my_ras_hp;
            
$params['bot_params']['hp'] = $params['bot_params']['hp'] - $add_hp;
            
$params['user_params']['hp'] = $params['user_params']['hp'] + $add_hp;
            
array_unshift($journal, '<span class="small admin">'.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].' забрал у '.$params['bot_params']['name'].' <span class="bold">'.$add_hp.'</span> здоровья</span>');
        }
    }
    
    
// Активация Земляной стойкости
    
if ($id == 4 AND !$abil_zeml['activate']) {
        
$abil_zeml = AbilitiesZemlya($user['lost_abilities_zemlya'], $user['lost_race'], true, $user['lost_id']);
        
$image = quality_item_name($user['lost_abilities_zemlya']);
        
array_unshift($journal, '<span class="small admin">'.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].' активировал <span class="bold yellow1">'.$image['image'].' земляной щит</span></span>');
    }
    
    
// quality_item_name($quality)
    
        
$user_uron = GenerationUron($user['lost_params_strlen'], $params['user_params']['time'], $abil_ogon['add_procent'], $abil_voda['add_procent'], 0, 40);

        
$params['bot_params']['hp'] = $params['bot_params']['hp'] - $user_uron;
        
$params['user_params']['time'] = microtime();
        
array_unshift($journal, '<span class="small yellow1">'.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].' ударил '.$params['bot_params']['name'].' на <span class="bold">'.$user_uron.'</span> урон '.(($abil_voda['add_procent'] > 0) ? 'крит' : '').'</span>');
        
        if (
$params['bot_params']['hp'] <= 0) {
        require_once 
'./element_function/element_function_item.php';
            
$params['bot_params']['life'] = 1;
            
array_unshift($journal, '<span class="small yellow1">'.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].' убил '.$params['bot_params']['name'].'</span>');
            
array_unshift($journal, '<span class="lngreen bold">Бой закончен</span>');
            if (
count($journal) > 15) unset($journal[15]);
            
$status_game = 2;
            
writecache('element_users_battle'.$user['lost_id'], '');
            
            
$shoot_item = users_shoot_item($user['lost_id']);
            
$create_item = create_item($user['lost_id'], $shoot_item, RandEquipMission($params['missions']['equip']), false, false, false, false, false, false, false, false);
            
$params['missions']['equipment'] = $create_item;
            
            if (
$params['missions']['end_count'] > $params['missions']['my_count']) $count_c = $params['missions']['my_count'] + 1; else $count_c = $params['missions']['my_count'];
            if (
$count_c > $params['missions']['other_count']) $params['missions'] = $params['other_count'];
            
$params['missions']['my_count'] = $count_c;
            
$location = $params['missions']['location'];
            
mysql_query("UPDATE `element_mission_user` SET `lost_location$location` = '$count_c' WHERE `lost_user` = '$user[lost_id]' LIMIT 1");
                    
            
$user_quests = user_quests($user['lost_id']);
            
$count_quests = quests_id_count('missions_10');
                if (
$user_quests['missions_10'] < $count_quests) {
                    
$user_quests['missions_10'] = $user_quests['missions_10'] + 1;
                    if (
$user_quests['missions_10'] == $count_quests) $user_quests['lost_new'] = $user_quests['lost_new'] + 1;
                    
writecache('element_quests_user'.$user['lost_id'], $user_quests);    
                    
quests_list_update($user['lost_id']);
                }
            
                
$expooint = handler_expoint($params['missions']['expoint'], $user['lost_add_user_exp'], $user['lost_add_town_exp']);
                
$params['missions']['expoint'] = $expooint['user'];
                
                
update_money_exp($user, $expooint, $params['missions']['cristalls'], 0, $params['missions']['gold']);
                
$lost_exp = explode(' ', $user['lost_exp']);
            
        }
        
        
writecache('element_mission_user_'.$user['lost_id'],$params);
        
writecache('element_mission_journal'.$user['lost_id'], $journal);
    } else {
        
$user_uron = 0;
        
$abit_ogon = abilities_race_ogon(0, $abilities_ogon[2], $abilities_ogon[1], $abilities_ogon[3], $abilities_ogon[4], 0);
        
$abit_voda = abilities_race_voda(0, $abilities_voda[1], $abilities_voda[2], $abilities_voda[3], 0);
    }

if (
$status_game != 2) {    
$title = 'Битва стихий';
require_once 
'./element_include/element_head.php';
echo 
'<body><div class="p5">';
    
    
    
$my_user = array('user_race' => $user['lost_race'], 'user_hp' => $params['user_params']['hp'], 
                     
'user_other_hp' => $params['user_params']['other_hp'], 'user_name' => $user['lost_login'],
                     
'user_uron' => $bot_uron, 'user_add_hp' => $add_hp);
                
    
$no_user = array('user_race' => 0, 'user_hp' => $params['bot_params']['hp'], 
                     
'user_other_hp' => $params['bot_params']['other_hp'], 'user_name' => $params['bot_params']['name'],
                     
'user_uron' => $user_uron, 'user_add_hp' => 0);    
    
    
EchoTableUsersBattle($my_user, $no_user);
    
EchoAbiliteBattle($abil_ogon, $abil_voda, $abil_vosd, $abil_zeml, false, 'w19', '35', 0, '/mission/battle');

if (
$count_journal > 0) {
    echo 
'<div class="nfl p5 mb5 small mlra">';
        foreach (
array_slice($journal, 0, 10, true) as $value) {
            echo 
'<span class="white">'.$value.'<span><br/>';
        }
    echo 
'</div>';
}
echo 
'<div class="mb5 cntr small"><a class="button w50" href="/mission/battle?avto_battle">Автобой</a><br/><a class="button mt5 w50" href="/">Сбежать с боя</a></div>';
require_once 
'./element_include/element_foot_user_battle_true.php';
exit;
}
}
}

// Автобой!
if ($status_game == 1 OR $status_game == 0 AND $avto_battle) {
    require_once 
'./element_function/element_function_battle.php'; 
    
$close = 0;
    if (!
$avto_battle) $params['user_params']['hp'] = ceil($params['user_params']['hp'] * 0.75);
    
$lost_protection = ceil($user['lost_params_protection'] * 0.75);
    
    do {
        
$bot_uron = GenerationUron($params['bot_params']['strlen'], false, 10, 0, 0, GenerationProtection($user['lost_params_protection']));    
        
$user_uron = GenerationUron($user['lost_params_strlen'], false, 0, 0, 0, 0);    
            
        
//$user_protection = Protection(50, element_settings_game('lost_max_protection'));
        //$user_uron = GenerateUron($user['lost_params_strlen'],$params['user_params']['time'],$user_protection);
        //$user_uron = ceil($user_uron * 0.75);

        
$params['user_params']['hp'] = $params['user_params']['hp'] - $bot_uron;
        
array_unshift($journal, '<span class="small red"><img src="/images/icons/arena.gif"> '.$params['bot_params']['name'].' ударил '.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].' на <span class="bold">'.$bot_uron.'</span> урон</span>');
        
        
$params['bot_params']['hp'] = $params['bot_params']['hp'] - $user_uron;    
        
array_unshift($journal, '<span class="small yellow1">'.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].' ударил '.$params['bot_params']['name'].' на <span class="bold">'.$user_uron.'</span> урон</span>');
        
        if (
$params['user_params']['hp'] <= 0) {
            
$params['user_params']['life'] = 1;    
            
array_unshift($journal, '<span class="small red"><img src="/images/icons/arena.gif"> '.$params['bot_params']['name'].' убил '.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].'</span>');
            
array_unshift($journal, '<span class="lngreen bold">Бой закончен</span>');
            
$crst = handler_cristalls(1, $user_blessing['nagrada']);    
            
$params['missions']['cristalls'] = $crst;        
                
            
update_money_exp($user, 1, $crst, 0, 0);
                    
            
writecache('element_mission_user_'.$user['lost_id'],$params);
            
writecache('element_mission_journal'.$user['lost_id'], $journal);
            
writecache('element_users_battle'.$user['lost_id'], '');
            
$status_game = 2;
            
$close = 1;
            break;
        }
        
        if (
$params['bot_params']['hp'] <= 0) {
        require_once 
'./element_function/element_function_item.php';
            
$params['bot_params']['life'] = 1;
            
array_unshift($journal, '<span class="small yellow1">'.ikonka_user($user['lost_race'], 'online').' '.$user['lost_login'].' убил '.$params['bot_params']['name'].'</span>');
            
array_unshift($journal, '<span class="lngreen bold">Бой закончен</span>');
            if (
count($journal) > 15) unset($journal[15]);
            
$status_game = 2;
            
            
$shoot_item = users_shoot_item($user['lost_id']);
            
$create_item = create_item($user['lost_id'], $shoot_item, chanse_mission(), false, false, false, false, false, false, false, false);
            
$params['missions']['equipment'] = $create_item;
            
            if (
$params['missions']['end_count'] > $params['missions']['my_count']) $count_c = $params['missions']['my_count'] + 1; else $count_c = $params['missions']['my_count'];
            if (
$count_c > $params['missions']['other_count']) $params['missions'] = $params['other_count'];
            
$params['missions']['my_count'] = $count_c;
            
$location = $params['missions']['location'];
            
mysql_query("UPDATE `element_mission_user` SET `lost_location$location` = '$count_c' WHERE `lost_user` = '$user[lost_id]' LIMIT 1");
                    
            
$expooint = handler_expoint($params['missions']['expoint'], $user['lost_add_user_exp'], $user['lost_add_town_exp']);
            
$params['missions']['expoint'] = $expooint['user'];        
                    
            
$user_quests = user_quests($user['lost_id']);
            
$count_quests = quests_id_count('missions_10');
                if (
$user_quests['missions_10'] < $count_quests) {
                    
$user_quests['missions_10'] = $user_quests['missions_10'] + 1;
                    if (
$user_quests['missions_10'] == $count_quests) $user_quests['lost_new'] = $user_quests['lost_new'] + 1;
                    
writecache('element_quests_user'.$user['lost_id'], $user_quests);    
                    
quests_list_update($user['lost_id']);
                }
            
            
            
update_money_exp($user, $expooint, $params['missions']['cristalls'], 0, $params['missions']['gold']);

                
writecache('element_users_battle'.$user['lost_id'], '');
                
writecache('element_mission_user_'.$user['lost_id'],$params);
                
writecache('element_mission_journal'.$user['lost_id'], $journal);
                
                
$lost_exp = explode(' ', $user['lost_exp']);
                
$status_game = 2;
                
$close = 1;
                break;
        }
        
//echo '<span class="lngreen">'.$params['user_params']['hp'].'/ '.$user_uron.'</span><br/>';
        //echo '<span class="ccc">'.$params['bot_params']['hp'].'/ '.$bot_uron.'</span><br/>';
    
} while($close == 0);

}

// Результат боя!
if ($status_game == 2) {
if (
$params['bot_params']['life'] == 0) $pobeda = 0; else $pobeda = 1;
$title = 'Результат боя';
require_once 
'./element_include/element_head.php';
require_once 
'./element_include/element_header_user_true.php';
echo 
'<div class="nfl p5 mb5 cntr small mlra">';

if (
$pobeda == 1) {
echo 
'<div class="medium bold"><span class="lngreen">Вы выиграли</span></div>';
echo 
'<div class="cntr p5 small yellow1">Награда: ';
echo (
$params['missions']['gold'] > 0) ? '<img src="/images/icons/gold.png">'.$params['missions']['gold'].' золота, ' : '';
echo 
'<img src="/images/icons/cristall.png">'.$params['missions']['cristalls'].' кристаллов, ';
echo 
'<img width="13" height="12" src="/images/icons/experience.png">'.$params['missions']['expoint'].' опыта';
echo 
'</div>';
    
    
// Найденная вещь
    
if ($params['missions']['equipment'] > 0) {
        require_once 
'./element_function/element_function_item.php';
        
$item_id = cache_item($params['missions']['equipment']);
        
$genaration_params = item_generation_params($item_id['lost_strlen'], $item_id['lost_heatpoints'], $item_id['lost_protection'], $item_id['lost_comparison']);
        
$quality = quality_item_name($item_id['lost_quality']);
            
        echo 
'<div class="mlra"><table class="mlra"><td><img width="50" height="50" src="'.$item_id['lost_avatar'].'"></td>';
        echo 
'<td class="small left" valign="top">';
        echo 
'<span class="ml5 small yellow1">'.$quality['image'].' <a href="/item?id='.$item_id['lost_id'].'">'.$item_id['lost_name'].'</a></span><br/>';
        echo 
'<span class="ml5 small lngreen">'.name_item_mesto($item_id['lost_mesto']).'</span>';
        echo 
'</td></table></div>';
    }


}

if (
$pobeda == 0) {
echo 
'<div class="medium bold"><span class="red">Вы проиграли</span></div>';
echo 
'<div class="cntr p5 small yellow1">Награда: ';
echo 
'<img src="/images/icons/cristall.png">'.$params['missions']['cristalls'].' кристалл, ';
echo 
'<img width="13" height="12" src="/images/icons/experience.png">1 опыта';
echo 
'</div>';
}

echo 
'<div><a class="button w50" href="/mission/location?id='.$params['missions']['location'].'&mission='.$params['missions']['mission'].'&go=start&z='.$params['missions']['end_count'].'">'.(($params['missions']['my_count'] < $params['missions']['end_count']) ? 'Ещё раз' : 'Повторить').'</a>';
echo 
'<br/><a class="button mt5 w50" href="/mission/location?id='.$params['missions']['location'].'">К списку миссий</a></div>';


echo 
'</div>';

if (
$count_journal > 0) {
    echo 
'<div class="nfl p5 mb5 small mlra">';
        foreach (
array_slice($journal, 0, 10, true) as $value) {
            echo 
'<span class="white">'.$value.'<span><br/>';
        }
    echo 
'</div>';
}

require_once 
'./element_include/element_foot_user_true.php';
}


?>
Онлайн: 0
Реклама