Вход Регистрация
Файл: wenr.online/app/game/mob.php
Строк: 64
<?php

if (!$user->isAuth()) {
    
redirect('/');
    exit;
}

   
$rolls $db->prepare('select * from `bag` where `user` = ? and `type` = ? limit 4');
   
$rolls -> execute([$user->get()->user_id,'rolls']);
   
$rolls $rolls -> fetchAll();
   
   
    
$mob $db->prepare('select * from monster where id = ?');
    
$mob -> execute([Clean :: int($_GET['id'])]);
    
$mob $mob -> fetch(PDO :: FETCH_OBJ);
    
    if(!isset(
$mob->id)){
        
redirect('/arena');
        exit;
    }
    
    
   
    
$mobArray $_SESSION['mob'];
      if(empty(
$_SESSION['mob'])) $mobArray false;
     if(!isset(
$mobArray['mob']) or $mobArray['mob'] != $mob->id){
         
$session = ['mob'  => $mob->id'hp'   =>  $mob->hp];
         
$_SESSION['mob'] = $session;
         
         
redirect('/arena/mob?id='.$mob->id);
         exit;
     }
    
    if(isset(
$_GET['attack'])){
        
       
        
        if(
$user->get()->hp 2){
            
Notif :: error('Слишком мало здоровья для нападения','/arena/mob?id='.$mob->id);
            exit;
        }
        
        
        
$magic $db->prepare('select * from `bag` where `id` = ? and `user` = ?');
        
$magic -> execute([Clean :: int($_GET['rolls']),$user->get()->user_id]);
        
$magic $magic -> fetch(PDO :: FETCH_OBJ);
        
                
$dop_uron 0;
                
        
$fight_skill $user->get()->one_handed+$user->get()->two_handed+$user->get()->bow+$user->get()->crossbow;
                
        if(
$figth_skill 200)    $dop_uron .= rand(1,$fight_skill);
                
        if(
$magic->mana $user->get()->mana and isset($magic->id)){
            
Notif :: error('Нехватает маны для использования свитка','/arena/mob?id='.$mob->id);
            exit;
        }
        
        if(isset(
$magic->force)) $dop_uron .= $magic->force;
        
        
        
$uron = ['user' => $user->get()->force+$user->get()->dex+$dop_uron
                 
'mob'  =>  $mob->force+$mob->dex];
        
$hp_mob $mobArray['hp']-$uron['user'];
        
$hp_user $user->get()->hp-$uron['mob'];
        if(
$hp_user <= 0$hp_user 0;
        
$udar_mob $db->prepare('update `users` set `hp` = ? where `user_id` = ?');
        
$udar_mob -> execute([$hp_user,$user->get()->user_id]);
        
         if(isset(
$magic->id)){
             
$del_magic $db->prepare('DELETE FROM `bag` WHERE `id` = ?');
             
$del_magic -> execute([$magic->id]);
         }
        if(
$hp_user == 0){
            unset(
$_SESSION['mob']);
            
$sql $db->prepare('update `users` set `exp` = ? where `user_id` = ?');
            
$sql -> execute([$user->get()->exp+1,$user->get()->user_id]);
            
Notif :: message($mob->name.' победил. Награда: <img src="/public/assets/images/xp.png"> 1','/arena/mob?id='.$mob->id);
            exit;
            
        }
        
        if(
$hp_mob 1){
            
            unset(
$_SESSION['mob']);
            
            
$drop $db->prepare('select * from `drop` where `type` = ? order by rand()');
            
$drop -> execute(['mob']);
            
$drop $drop -> fetch(PDO :: FETCH_OBJ);
            
                
$addDrop $db->prepare('insert into `bag` (`type`,`name`,`bonus`,`user`,`img`) values (?,?,?,?,?)');
                
$addDrop -> execute(['drop',$drop->name,$drop->price,$user->get()->user_id,$drop->img]);
            
            
$sql $db->prepare('update `users` set `exp` = ?, `mobs` = ? where `user_id` = ?');
            
$sql -> execute([$user->get()->exp+$mob->exp,$user->get()->mobs+1,$user->get()->user_id]);
            
$kill $db->prepare('insert into `kills` (`type`,`user`,`mob`) values (?,?,?)');
            
$kill -> execute(['mobs',$user->get()->user_id,$mob->id]);
            
            
            
Notif :: message('Вы убили монстра «'.$mob->name.'» Награда: <img src="/public/assets/images/xp.png"> '.$mob->exp.' и «'.$drop->name.'»','/arena/mob?id='.$mob->id);
            exit;
        }else{
        
$session = ['mob'  => $mob->id'hp'   =>  $hp_mob];
         
$_SESSION['mob'] = $session;
         
Notif :: message('Вы нанесли '.$uron['user'].' урона  монстру «'.$mob->name.'»','/arena/mob?id='.$mob->id);
        
redirect('/arena/mob?id='.$mob->id);
         exit;
        }
      
    }
    
    
    function 
hp_pr($hp,$max_hp){
        
        return 
intval($hp/$max_hp*100);
    }
    
    
    function 
button_name($hp,$max_hp,$name){
        if(
$hp $max_hp) return 'Добить «'.$name.'»';
        else
        return 
'Атаковать';
    }
     

    echo 
$template->render('game.mob', ['mob'   =>  $mob'hp'   =>  $mobArray['hp'],'rolls'=>$rolls]);
Онлайн: 1
Реклама