<?php
// использование скиллов
$skills=explode("|",$l_i[$loc][$login]["skills"]);
if ($use=='skill.necro') include "f_necro.dat";
if ($use=='skill.meditation') {
if ($char[3]>=$char[4]) msg("Ваш запас маны полон");
if ($skills[5]==0) msg("Ваш навык медитации равен нулю, вы не умеете медитировать");
$char[6]=time()+5;
$l_i[$loc][$login]["char"]=implode("|",$char);
require "f_time.dat";
if ($time >= 06.00 and $time <= 11.00) $z+=25; else $z=0;
if (rand(0,100)<=$skills[5]*12+$z) {$mana=rand(1,$skills[5]); if ($char[3]+$mana>$char[4]) $mana=$char[4]-$char[3]; $char[3]+=$mana; $l_i[$loc][$login]["char"]=implode("|",$char); addjournal($loc,$login,"Мана +".$mana);} else addjournal($loc,$login,"Медитация прервалась");
}
if ($use=='skill.animaltaming') {
if (!$to) {$list='all';} else {
if (!isset($l_i[$loc][$to]) || substr($to,0,4)!="n.a.") msg("<p>Нет цели или вы пытаетесь приручить не животное");
$tchar=explode("|",$l_i[$loc][$to]["char"]);
if ($tchar[8]) {
$tame=10*($skills[7]+1-$tchar[8]);
if ($tame>0 && $skills[20]>0) {
$char[6]=time()+5;
$l_i[$loc][$login]["char"]=implode("|",$char);
require "f_time.dat";
if ($time >= 09.00 and $time <= 18.00) $z+=10; else $z-=5;
if (rand(0,100)<=$tame+$z) {
$st=explode("|",$l_i[$loc][$login]["st"]);
$st[8]++; // +1 игрок
$l_i[$loc][$login]["st"]=implode("|",$st); $l_i[$loc][$to]["owner"]=$login."|".$login."||".(time()+60+rand(0,$skills[20]*10*60))."|0"; addjournal($loc,$login,"Вы приручили ".$tchar[0]); addexp($loc,$login,rand(0,$tchar[8]));} else addjournal($loc,$login,"Не удалось приручить ".$tchar[0]);
}else addjournal($loc,$login,"У вас слишком низкие навыки изучения и/или приручения животных");
}else addjournal($loc,$login,"Это существо не приручаемо");
}
}
if ($use=='skill.steal') {
if (!$to) {$list='all';} else {
if ($to==$login) msg("<p><small><b>Нельзя воровать у самого себя</b></small>");
if ($loc=='x30x30') msg("<p><small><b>В банке воровать нельзя</b></small>");
if ($loc=='arena') msg("<p><small><b>Нельзя воровать на арене</b></small>");
if (isset($l_i[$loc][$to]) && (substr($to,0,2)=="n." || substr($to,0,2)=="u.")) {
if (substr($to,0,2)!='n.' && substr($to,0,2)!='u.') msg("<p><small><b>Воровать можно только у других игроков и NPC</b></small>");
if (substr($to,0,2)=='u.') {$tskills=explode("|",$l_i[$loc][$to]["skills"]); $tskills=$tskills[18];} else $tskills=3; // у npc наблюдательность всегда 3
$tchar=explode("|",$l_i[$loc][$to]["char"]);
if ($tchar[7]!=$login && $char[7]!=$to) {
if (!$id) { // список инвентори
//***мод***//
$zakladka=time()+60;
$char[6]=time()+5;
$l_i[$loc][$login]["char"]=implode("|",$char);
if (rand(0,100)<6*($skills[1]+$skills[19]-$tskills)) {//***мод***//if (rand(0,100)<7*($skills[1]+$skills[19]-$tskills))
if (!$l_i[$loc][$to]["items"]) msg("<p>У ".$tchar[0]." нет ни одного предмета.");
$stmp="<p>Предметы:";
$items=explode("|",$l_i[$loc][$to]["items"]);
foreach(array_keys($items) as $i) if ($items[$i]) {
$k=explode(":",$items[$i]);
if (strpos($k[0],"_")!==false) $ti=substr($k[0],0,strpos($k[0],"_")); else
if (strpos($k[0],"-")!==false) $ti=substr($k[0],0,strpos($k[0],"-")); else $ti=$k[0];
if (substr($k[0],0,5)=="i.rr.") $title_v=explode("|","руна|50"); else if (file_exists("items/".$ti)) {$title_v=explode("|",implode("",file("items/".$ti)));} else continue;
$stmp.="<br/><a href=\"$PHP_SELF?sid=$sid&use=skill.steal&to=".$to."&id=".$k[0]."&vk=".$zakladka."\">";
if (strpos($k[0],"..")!==false) $title_v[0].=" *";
if ($k[1]>1) $stmp.=$title_v[0]." (".$k[1].")"; else $stmp.=$title_v[0];
$stmp.="</a>";
}
msg($stmp,$char[0],0);
} else {docrim($loc,$login,"вор",600); addjournal($loc,$login,"<small><b>Вас заметили!</b></small>"); addjournal($loc,$to,$char[0]." пытался подглядеть в ваш рюкзак!"); addjournal($loc,"all",$char[0]." пытался подглядеть в рюкзак ".$tchar[0]."!",$login,$to); if (substr($to,0,2)=="n.") {$tchar[7]=$login;$l_i[$loc][$to]["char"]=implode("|",$tchar);}}
//***мод***//
} else if(time()<$vk && time()>$vk-60) { // воруем предмет $id (все что есть)
$char[6]=time()+10;
$l_i[$loc][$login]["char"]=implode("|",$char);
$steal=4*($skills[1]+$skills[6]-$tskills); //***мод***//$steal=5*($skills[1]+$skills[6]-$tskills);
if (strpos($l_i[$loc][$to]["equip"],$id)!==false) $steal=$steal/2;
if ($steal>0) {
if (rand(0,100)<$steal) {
$count=intval(preg_replace('/.*'.$id.':(\d+).*/',"\\1",$l_i[$loc][$to]["items"]));
if (strpos($id,"_")!==false) $ti=substr($id,0,strpos($id,"_")); else
if (strpos($id,"-")!==false) $ti=substr($id,0,strpos($id,"-")); else $ti=$id;
if (substr($id,0,5)=="i.rr.") $item=explode("|","руна|50"); else if (file_exists("items/".$ti)) {$item=explode("|",implode("",file("items/".$ti)));} else $count=0;
if ($count==0) msg("<p>У ".$tchar[0]." нет этого предмета");
additem($loc,$to,$login,$id,$count,"items","items",0,-1,1);//не сообщая в журнал
$st=explode("|",$l_i[$loc][$login]["st"]);
$st[3]++; // +1 игрок
$l_i[$loc][$login]["st"]=implode("|",$st);
addjournal($loc,$login,"Вы украли у ".$tchar[0]." ".$count." ".$item[0]."!");
if ($tskills && $loc_c[1]) addexp($loc,$login,rand(0,$tskills));
}else {docrim($loc,$login,"вор",600); addjournal($loc,$login,$tchar[0]. " застал вас за воровством!"); addjournal($loc,$to,$char[0]." пытался вас обворовать!"); addjournal($loc,"all",$char[0]." пытался обворовать ".$tchar[0]."!",$login,$to); if (substr($to,0,2)=="n.") {$tchar[7]=$login;$l_i[$loc][$to]["char"]=implode("|",$tchar);}}
}else addjournal($loc,$login,"У вас слишком низкие навыки воровства и подглядывания");
} else { docrim($loc,$login,"вор",600); addjournal($loc,$login,$tchar[0]. " заметил что вы хотите его обворовать, в следующий раз будьте побыстрей и не пользуйтись закладками ;-)"); addjournal($loc,$to,$char[0]." пытался вас обворовать!"); addjournal($loc,"all",$char[0]." пытался обворовать ".$tchar[0]."!",$login,$to); if (substr($to,0,2)=="n.") {$tchar[7]=$login;$l_i[$loc][$to]["char"]=implode("|",$tchar);}}
} else msg("Нельзя воровать у того, кто вас атакует или кого атакуете вы");
} else msg("<p>Не у кого воровать");
}
}//skill.steal