game/_incl_data/class/priem/71.php

214 lines
7.0 KiB
PHP
Raw Normal View History

2023-03-31 18:42:06 +00:00
<?php
2022-06-06 21:30:34 +00:00
if(!defined('GAME')) {
die();
}
/*
2023-01-10 16:29:32 +00:00
Прием: Ядовитое облако [10]
2022-06-06 21:30:34 +00:00
*/
$pvr = array();
if( isset($pr_used_this) && isset($pr_moment) ) {
2023-01-10 16:29:32 +00:00
//Каждый ход
2022-06-06 21:30:34 +00:00
$fx_priem = function( $id , $at , $uid, $j_id ) {
2023-01-10 16:29:32 +00:00
// -- начало приема
2022-06-06 21:30:34 +00:00
global $u, $btl, $priem;
//
2023-01-10 16:29:32 +00:00
//Параметры приема
2022-06-06 21:30:34 +00:00
$pvr['used'] = 0;
//
$uid1 = $btl->atacks[$id]['uid1'];
$uid2 = $btl->atacks[$id]['uid2'];
if( $uid == $uid1 ) {
$a = 1;
$b = 2;
$u1 = ${'uid1'};
$u2 = ${'uid2'};
}elseif( $uid == $uid2 ) {
$a = 2;
$b = 1;
$u1 = ${'uid2'};
$u2 = ${'uid1'};
}
if( $a > 0 ) {
2023-01-10 16:29:32 +00:00
//Проверяем эффект
2022-06-06 21:30:34 +00:00
$prv['j_priem'] = $btl->stats[$btl->uids[$u1]]['u_priem'][$j_id][0];
$prv['priem_th'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['id'];
2023-01-10 16:29:32 +00:00
//действия
2022-06-06 21:30:34 +00:00
$pvr['hp'] = 1;
//
$pvr['data'] = $priem->lookStatsArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']);
$pvr['di'] = 0;
$pvr['dc'] = count($pvr['data']['atgm']);
$pvr['rd'] = 0;
$pvr['redata'] = '';
while( $pvr['di'] < 4 ) {
if( isset($pvr['data']['atgm'][($pvr['dc']-$pvr['di'])]) ) {
if( $pvr['rd'] < 3 ) {
$pvr['hp'] += $pvr['data']['atgm'][($pvr['dc']-$pvr['di'])];
$pvr['redata'] = 'atgm='.$pvr['data']['atgm'][($pvr['dc']-$pvr['di'])].'|'.$pvr['redata'];
$pvr['rd']++;
}
}
$pvr['di']++;
}
//
$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data'] = $pvr['redata'];
mysql_query('UPDATE `eff_users` SET `data` = "'.$pvr['redata'].'" WHERE `id` = "'.$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['id'].'" LIMIT 1');
//
$pvr['hp'] = floor($pvr['hp']);
2023-01-10 16:29:32 +00:00
/*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 );
2022-12-30 19:03:37 +00:00
$pvr['promah_type'] = $pvr['hp'][3];
$pvr['promah'] = $pvr['hp'][2];
$pvr['krit'] = $pvr['hp'][1];
$pvr['hp'] = $pvr['hp'][0];*/
2022-06-06 21:30:34 +00:00
$pvr['hpSee'] = '--';
$pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']);
$pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll'];
2023-01-10 16:29:32 +00:00
//Используем проверку на урон приемов
2022-06-06 21:30:34 +00:00
$pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], -1, true, false , 1 );
$pvr['hpSee'] = '-'.$pvr['hp'];
$pvr['hpNow'] -= $pvr['hp'];
$btl->priemYronSave($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'],$u1,$pvr['hp'],0);
if( $pvr['hpNow'] > $pvr['hpAll'] ) {
$pvr['hpNow'] = $pvr['hpAll'];
}elseif( $pvr['hpNow'] < 0 ) {
$pvr['hpNow'] = 0;
}
$btl->stats[$btl->uids[$u1]]['hpNow'] = $pvr['hpNow'];
mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$u1]]['hpNow'].'" WHERE `id` = "'.$u1.'" LIMIT 1');
//$prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u2]]['sex'] , NULL);
2023-01-10 16:29:32 +00:00
$prv['text'] = '{u2} утратил здоровье от &quot;{pr}&quot;';
2022-06-06 21:30:34 +00:00
2023-01-10 16:29:32 +00:00
//Цвет приема
2022-06-06 21:30:34 +00:00
if( $pvr['promah'] == false ) {
if( $pvr['krit'] == false ) {
$prv['color2'] = '000000';
$prv['color'] = '008000';
}else{
$prv['color2'] = 'FF0000';
$prv['color'] = 'FF0000';
}
}else{
$prv['color2'] = '909090';
$prv['color'] = '909090';
}
$prv['text2'] = '{tm1} '.$prv['text'].'. <font Color='.$prv['color'].'><b '.$btl->maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].'</b></font> ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']';
if( $pvr['promah_type'] == 2 ) {
//$prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u2]]['sex'] , NULL);
$prv['text2'] = '{tm1} '.$prv['text'].'. <font Color='.$prv['color'].'><b '.$btl->maginfoattack($u2,$u1,3).'>--</b></font> ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']';
}
$prv['xx'] = '';
if( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['x'] > 1 ) {
//$prv['xx'] = ' x'.$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['x'].'';
}
$btl->priemAddLog( $id, 1, 2, $u2, $u1,
2023-01-10 16:29:32 +00:00
'<font color^^^^#'.$prv['color2'].'>Ядовитое Облако</font>',
2022-06-06 21:30:34 +00:00
$prv['text2'],
($btl->hodID)
);
2023-01-10 16:29:32 +00:00
// спасение
2022-06-06 21:30:34 +00:00
$btl->spaCheck($u1);
2023-01-10 16:29:32 +00:00
// спасение
2022-06-06 21:30:34 +00:00
}
2023-01-10 16:29:32 +00:00
// -- конец приема
2022-06-06 21:30:34 +00:00
return $at;
};
unset( $pr_used_this );
}else{
$pvr['uen'] = $this->ue['id'];
//
$pvr['uid'] = $this->ue['id'];
$pvr['hp'] = floor(65);
2023-01-10 16:29:32 +00:00
$pvr['hp'] = $this->magatack( $u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 0 );
2022-06-06 21:30:34 +00:00
$pvr['promah_type'] = $pvr['hp'][3];
$pvr['promah'] = $pvr['hp'][2];
$pvr['krit'] = $pvr['hp'][1];
$pvr['hp'] = $pvr['hp'][0];
//
$prv['color2'] = '000000';
2023-01-10 16:29:32 +00:00
//–вет приема
2022-06-06 21:30:34 +00:00
if( $pvr['promah'] == false ) {
if( $pvr['krit'] == false ) {
$prv['color2'] = '000000';
}else{
$prv['color2'] = 'FF0000';
}
}else{
$prv['color2'] = '909090';
}
$prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL);
$prv['text2'] = '{tm1} '.$prv['text'].'.';
$btl->priemAddLog( $id, 1, 2, $u->info['id'], $pvr['uid'],
2023-01-10 16:29:32 +00:00
'<font color^^^^#'.$prv['color2'].'>Ядовитое Облако [8]</font>',
2022-06-06 21:30:34 +00:00
$prv['text2'],
($btl->hodID + 1)
);
2023-01-10 16:29:32 +00:00
//Добавляем прием
2022-06-06 21:30:34 +00:00
//$this->addEffPr($pl,$id);
if ($pvr['hp']>0)
{
2023-01-10 16:29:32 +00:00
$this->addPriem($pvr['uid'],$pl['id'],'atgm='.floor($pvr['hp']/5).'',0,77,5,$u->info['id'],1,'ядовитоеоблако',0,0,1);
2022-06-06 21:30:34 +00:00
}
2023-01-10 16:29:32 +00:00
//Отнимаем тактики
2022-06-06 21:30:34 +00:00
//$this->mintr($pl);
//
//
$pvr['rx'] = rand(20,40);
$pvr['rx'] = floor($pvr['rx']/10);
$pvr['dxx'] = 0;
$pvr['xx'] = 0;
$pvr['ix'] = 0;
while( $pvr['ix'] < rand(4, 6)) {
if( $btl->stats[$pvr['ix']]['hpNow'] > 0 && $btl->users[$pvr['ix']]['team'] != $u->info['team'] && $pvr['xx'] < $pvr['rx'] && $pvr['uen'] != $btl->users[$pvr['ix']]['id'] ) {
$pvr['dxx']++;
}
$pvr['ix']++;
}
$pvr['rx'] = $pvr['dxx'];
$pvr['xx'] = 0;
$pvr['ix'] = 0;
while( $pvr['ix'] < rand(4, 6)) {
if( $btl->stats[$pvr['ix']]['hpNow'] > 0 && $btl->users[$pvr['ix']]['team'] != $u->info['team'] && $pvr['xx'] < $pvr['rx'] && $pvr['uen'] != $btl->users[$pvr['ix']]['id'] ) {
//
$pvr['uid'] = $btl->users[$pvr['ix']]['id'];
$pvr['hp'] = floor(93/$pvr['dxx']);
2023-01-10 16:29:32 +00:00
$pvr['hp'] = $this->magatack( $u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 1 );
2022-06-06 21:30:34 +00:00
$pvr['promah_type'] = $pvr['hp'][3];
$pvr['promah'] = $pvr['hp'][2];
$pvr['krit'] = $pvr['hp'][1];
$pvr['hp'] = $pvr['hp'][0];
//
$prv['color2'] = '000000';
$prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL);
$prv['text2'] = '{tm1} '.$prv['text'].'.';
$btl->priemAddLog( $id, 1, 2, $u->info['id'], $pvr['uid'],
2023-01-10 16:29:32 +00:00
'<font color^^^^#'.$prv['color2'].'>Ядовитое Облако [10]</font>',
2022-06-06 21:30:34 +00:00
$prv['text2'],
($btl->hodID + 1)
);
2023-01-10 16:29:32 +00:00
//Добавляем прием
2022-06-06 21:30:34 +00:00
//$this->addEffPr($pl,$id);
2023-01-10 16:29:32 +00:00
$this->addPriem($pvr['uid'],$pl['id'],'atgm='.floor($pvr['hp']/5).'',0,77,5,$u->info['id'],1,'ядовитоеоблако',0,0,1);
2022-06-06 21:30:34 +00:00
2023-01-10 16:29:32 +00:00
//Отнимаем тактики
2022-06-06 21:30:34 +00:00
//$this->mintr($pl);
//
$pvr['xx']++;
}
$pvr['ix']++;
}
}
unset($pvr);
?>