Вход Регистрация
Файл: calcparam.php
Строк: 64
<?
//function calcparam($login) {    // пересчитаем основные параметры        // linkCalcparam
    
global $game;
    if (!isset(
$game["players"][$login])) return;
    
$player=&$game["loc"][$game["players"][$login]][$login];
    
$skills=split("|",$player["skills"]);
    
$player["life_max"]=10+$skills[0]*20;
    if (!isset(
$player["life"])) $player["life"]=$player["life_max"];
    
$war1=split("|",$player["war"]);
    
$player["mana_max"]=10+$skills[2]*20;
    if (!isset(
$player["mana"])) $player["mana"]=$player["mana_max"];
    
$uklon=10*($skills[1]+$skills[12]-15);
    
$parring=10*($skills[1]+$skills[11]-13);
    
$magic_uklon=10*($skills[2]+$skills[15]-17);
    
$magic_parring=10*($skills[2]+$skills[14]-11);
    
$magic_shield=5*($skills[14]);
    
// считаем крутость exp
    
for($i=0;$i<count($skills);$i++) if ($i!=3$exp+=$skills[$i];    // кроме level
    // что одето
    
$b=0;
    
$armor=0;
    
$shield=0;
    if (
$player["equip"]) foreach(array_keys($player["equip"]) as $i) {
    if (!isset(
$player["items"][$player["equip"][$i]]) ) {unset($player["equip"][$i]); continue;};    // нет такого предмета, ошибка
    
$item=split("|",$player["items"][$player["equip"][$i]]);
    if (
$i=="body" || $i=="hand" || $i=="leg" || $i=="head" || $i=="sap" || $i=="per" $armor+=$item[3];    //armor
        
if ($i=="shield"$shield=$item[3];
        if (
$i=="arm" && substr($player["equip"][$i],0,12)=='item.weapon.') {    //weapon
      
$b=1;
    
//if ($item[6]<3) $item[6]+=10;
      
$speed=round($skills[1]/4);
            if (
substr($player["equip"][$i],0,19)=='item.weapon.ranged.'$ranged=1; else $ranged=0;
            
$weaponby=$item[7];
      if (
$ranged) {        // стрельба
                
$need=$item[8];    // патроны
                
$needtitle=$item[9];    // патроны
                
$hit=5*($skills[1]+$skills[10]-1);
                } else {        
// холодное оружие
                    
$need=''
                    
$needtitle=''
        
$hit=5*($skills[1]+$skills[9]);
                    }
            
$damage_min=$skills[0]-$item[5]+$item[3];
            
$damage_max=$skills[0]-$item[5]+$item[4];
            if (
substr($player["equip"][$i],0,27)=="item.weapon.ranged.crossbow") {$damage_min-=$skills[0];$damage_max-=$skills[0];}    // в арбалетах сила не используется
            
}
        }
    if (!
$b) {                    // рукопашная
        
$ranged=0
        
$need=''
        
$needtitle=''
        
$damage_min=$skills[0]+$skills[8]-1;
        
$damage_max=$skills[0]+$skills[8]+1;
        
$hit=5*($skills[1]+$skills[8]+2);
        
$speed 5-round($skills[1]/4);
        
$weaponby "";
        }

    
// проверка
    
if($hit<0$hit=0;
    if(
$hit>100$hit=100;
    if(
$uklon<0$uklon=0;
    if(
$parring<0$parring=0;
    if(
$magic_uklon<0$magic_uklon=0;
    if(
$magic_parring<0$magic_parring=0;
    if(
$damage_min<0$damage_min=0;
    if(
$damage_max<0$damage_max=0;
    
    require 
"mod.php";             //модификаторы
    
    // ок, подводим итог...
    
$player["war"]="$hit|$damage_min|$damage_max|$speed|$ranged|$armor|$uklon|$parring|$shield|$magic_uklon|$magic_parring|$magic_shield|$weaponby|$exp|$need|$needtitle";
//    }
?>
Онлайн: 0
Реклама