134 lines
4.3 KiB
PHP
134 lines
4.3 KiB
PHP
<?php
|
|
if(!defined('GAME')) {
|
|
die();
|
|
}
|
|
/*
|
|
Прием: Активная защита
|
|
Следующий удар противника по вам нанесет на 50% меньше урона
|
|
*/
|
|
$pvr = array();
|
|
if( isset($pr_momental_this)) {
|
|
$fx_moment = function( $uid, $enemy, $j_id, $yron, $profil ) {
|
|
if(!isset($btl->stats[$btl->uids[$uid]]['um_priem'][$j_id])) {
|
|
global $u, $btl, $inlog;
|
|
$yron = $yron/2;
|
|
|
|
|
|
//
|
|
$btl->priemAddLogFast( $uid, 0, "Активная защита",
|
|
'{tm1} '.$btl->addlt(1 , 17 , $btl->users[$btl->uids[$uid]]['sex'] , NULL).'',
|
|
1, time() );
|
|
|
|
if( $yron < 0 ) {
|
|
$yron = 1;
|
|
}
|
|
//
|
|
mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `id` = "'.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].'" AND `uid` = "'.$uid.'" LIMIT 1');
|
|
unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]);
|
|
//
|
|
$btl->stats[$btl->uids[$uid]]['um_priem'][$j_id] = true;
|
|
}
|
|
return round($yron);
|
|
};
|
|
}elseif( isset($pr_tested_this) ) {
|
|
$fx_priem = function( $id , $at , $uid, $j_id ) {
|
|
// -- начало приема
|
|
global $u, $btl;
|
|
//
|
|
//Параметры приема
|
|
$pvr['used'] = 0;
|
|
//
|
|
$uid1 = $btl->atacks[$id]['uid1'];
|
|
$uid2 = $btl->atacks[$id]['uid2'];
|
|
if( $uid == $uid2 ) {
|
|
$a = 1;
|
|
$b = 2;
|
|
$u1 = $uid1;
|
|
$u2 = $uid2;
|
|
}elseif( $uid == $uid1 ) {
|
|
$a = 2;
|
|
$b = 1;
|
|
$u1 = $uid2;
|
|
$u2 = $uid1;
|
|
}
|
|
if( isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) {
|
|
mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `id` = "'.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].'" AND `uid` = "'.$uid.'" LIMIT 1');
|
|
$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id] = true;
|
|
}
|
|
//
|
|
// -- конец приема
|
|
return $at;
|
|
};
|
|
unset( $pr_used_this );
|
|
}elseif( isset($pr_used_this) ) {
|
|
$fx_priem = function( $id , $at , $uid, $j_id ) {
|
|
// -- начало приема
|
|
global $u, $btl;
|
|
//
|
|
//Параметры приема
|
|
$pvr['used'] = 0;
|
|
//
|
|
$uid1 = $btl->atacks[$id]['uid1'];
|
|
$uid2 = $btl->atacks[$id]['uid2'];
|
|
if( $uid == $uid2 ) {
|
|
$a = 1;
|
|
$b = 2;
|
|
$u1 = $uid1;
|
|
$u2 = $uid2;
|
|
}elseif( $uid == $uid1 ) {
|
|
$a = 2;
|
|
$b = 1;
|
|
$u1 = $uid2;
|
|
$u2 = $uid1;
|
|
}
|
|
if( $a > 0 ) {
|
|
$j = 0; $k = 0; $wp = 3;
|
|
while($j < count($at['p'][$a]['atack'])) {
|
|
if( isset($at['p'][$a]['atack'][$j]['yron']) && (
|
|
$at['p'][$a]['atack'][$j][1] == 1 ||
|
|
$at['p'][$a]['atack'][$j][1] == 4 ||
|
|
$at['p'][$a]['atack'][$j][1] == 5 )) {
|
|
if( $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) {
|
|
//
|
|
$at['p'][$a]['atack'][$j]['yron']['y'] -= ceil($at['p'][$a]['atack'][$j]['yron']['y']/2);
|
|
$at['p'][$a]['atack'][$j]['yron']['r'] += -(ceil($at['p'][$a]['atack'][$j]['yron']['r']/2));
|
|
$at['p'][$a]['atack'][$j]['yron']['k'] -= ceil($at['p'][$a]['atack'][$j]['yron']['k']/2);
|
|
$at['p'][$a]['atack'][$j]['yron']['m_k'] -= ceil($at['p'][$a]['atack'][$j]['yron']['m_k']/2);
|
|
$at['p'][$a]['atack'][$j]['yron']['m_y'] -= ceil($at['p'][$a]['atack'][$j]['yron']['m_y']/2);
|
|
/* старый
|
|
$at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->deleffm(7,'.(0+$uid).','.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].');
|
|
$this->priemAddLog( '.$id.', '.$b.', '.$a.', '.$u2.', '.$u1.',
|
|
"'.$btl->stats[$btl->uids[$u2]]['effects'][$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0]]['name'].'",
|
|
"{tm1} '.$btl->addlt($b , 17 , $btl->users[$btl->uids[$u2]]['sex'] , NULL).'",
|
|
'.($btl->hodID + 1).' );';
|
|
*/
|
|
|
|
//Новый
|
|
|
|
//
|
|
$at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->deleffm(7,'.(0+$uid).','.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].');
|
|
$this->priemAddLog( '.$id.', '.$b.', '.$a.', '.$u2.', '.$u1.',
|
|
"Активная защита",
|
|
"{tm1} '.$btl->addlt($b , 17 , $btl->users[$btl->uids[$u2]]['sex'] , NULL).'",
|
|
'.($btl->hodID + 1).' );';
|
|
|
|
//
|
|
$at['p'][$a]['atack'][$j]['yron']['used'][] = array($j_id,$uid,$pvr['used']);
|
|
$at['p'][$a]['atack'][$j]['yron']['kill'][] = array($j_id,$uid,$pvr['kill']);
|
|
//
|
|
$at['p'][$a]['priems']['kill'][$uid][$j_id] = true;
|
|
}
|
|
}
|
|
$j++;
|
|
}
|
|
}
|
|
// -- конец приема
|
|
return $at;
|
|
};
|
|
unset( $pr_used_this );
|
|
}else{
|
|
//Действие при клике
|
|
$this->addEffPr($pl,$id);
|
|
}
|
|
unset($pvr);
|
|
?>
|