File size: 3.42Kb
//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]*10;
if (!isset($player["life"])) $player["life"]=$player["life_max"];
$player["mana_max"]=10+$skills[2]*10;
if (!isset($player["mana"])) $player["mana"]=$player["mana_max"];
/*mod*/ $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") $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;
/*mod*/ $speed=$item[6]-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='';
/*mod*/ $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($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;
//кольца модиф.
if (isset($player["items"]["item.ring.hit"])) $hit=round($hit*1.1);
if (isset($player["items"]["item.ring.speed"])) $speed=round($speed*0.9);
if (isset($player["items"]["item.ring.min"])) $damage_min=round($damage_min*1.1);
if (isset($player["items"]["item.ring.max"])) $damage_max=round($damage_max*1.1);
if (isset($player["items"]["item.ring.ukl"])) $uklon=round($uklon*1.1);
if (isset($player["items"]["item.ring.par"])) $parring=round($parring*1.1);
if (isset($player["items"]["item.ring.shit"])) $shield=round($shield*1.1);
if (isset($player["items"]["item.ring.mukl"])) $magic_uklon=round($magic_uklon*1.1);
if (isset($player["items"]["item.ring.mpar"])) $magic_parring=round($magic_parring*1.1);
if (isset($player["items"]["item.ring.mshit"])) $magic_shield=round($magic_shield*1.1);
// ок, подводим итог...
$player["war"]="$hit|$damage_min|$damage_max|$speed|$ranged|$armor|$uklon|$parring|$shield|$magic_uklon|$magic_parring|$magic_shield|$weaponby|$exp|$need|$needtitle";
// }