diff --git a/_incl_data/__config.php b/_incl_data/__config.php index adb311d7..1baae7ba 100644 --- a/_incl_data/__config.php +++ b/_incl_data/__config.php @@ -12,9 +12,6 @@ header('Expires: 0'); require_once 'mysql_override.php'; -// Для всех доработок, пока нет автозагрузки классов. -require_once 'class/Insallah/Config.php'; - // Попробуем в автозагрузку. // Никогда не заработает с такими названиями классов и файлов! // "На потом." diff --git a/_incl_data/autoload.php b/_incl_data/autoload.php index c11d54e9..bf013444 100644 --- a/_incl_data/autoload.php +++ b/_incl_data/autoload.php @@ -7,7 +7,6 @@ const GAME_VERSION = 'alpha-7.4'; // ВНИМАНИЕ! Не введено в эксплуатацию! require_once 'mysql_override.php'; -require_once 'class/Insallah/Config.php'; spl_autoload_register(function (string $className) { $rootdir = $_SERVER['DOCUMENT_ROOT'] . '/_incl_data'; @@ -15,7 +14,8 @@ spl_autoload_register(function (string $className) { # 2 without $fileName = [ $rootdir . '/class/' . str_replace('\\', DIRECTORY_SEPARATOR, $className . '.php'), - $rootdir . '/class/' . $className . '.php' + $rootdir . '/class/' . $className . '.php', + $rootdir . '/vendor/' . $className . '.php', ]; foreach ($fileName as $file) { if (file_exists($file)) { diff --git a/_incl_data/class/Insallah/Achievements.php b/_incl_data/class/Achievements.php similarity index 93% rename from _incl_data/class/Insallah/Achievements.php rename to _incl_data/class/Achievements.php index da4fb2fc..a0338e7b 100644 --- a/_incl_data/class/Insallah/Achievements.php +++ b/_incl_data/class/Achievements.php @@ -1,9 +1,9 @@ 'Выполнить задания бабки.', 'check' => ['Заданий', 5, 25, 50, 100, 250], 'prize' => ['Жетон
успеха
', 5, 20, 40, 60, 100], - 'startlink' => 11 + 'startlink' => 11, ], 'vx' => [ 'questname' => 'Хаотические бои', 'quest' => 'Победить в хаотических боях.', 'check' => ['Побед', 50, 300, 400, 500, 1000], 'prize' => ['екр.', 25, 50, 75, 100, 200], - 'startlink' => 21 + 'startlink' => 21, ], 'snt' => [ 'questname' => 'Сундук трупожора', 'quest' => 'Открыть сундук трупожора.', 'check' => ['Открытий', 5, 25, 50, 100, 250], 'prize' => ['екр.', 10, 25, 50, 75, 200], - 'startlink' => 31 + 'startlink' => 31, ], 'rp' => [ 'questname' => 'Руны 8 лвл.', 'quest' => 'Получить руну при плавке плохих заготовок. [S]', 'check' => ['Рун', 5, 10, 25, 50, 100], 'prize' => ['Плохие
заготовки
', 5, 7, 10, 12, 15], - 'startlink' => 41 + 'startlink' => 41, ], 'rn' => [ 'questname' => 'Руны 9 лвл.', 'quest' => 'Получить руну при плавке нормальных заготовок. [M]', 'check' => ['Рун', 5, 10, 15, 25, 50], 'prize' => ['Нормальные
заготовки
', 5, 7, 9, 12, 15], - 'startlink' => 51 + 'startlink' => 51, ], 'rb' => [ 'questname' => 'Руны 10 лвл.', 'quest' => 'Получить руну при плавке идеальных заготовок. [L]', 'check' => ['Рун', 2, 5, 8, 11, 15], 'prize' => ['Идеальные
заготовки
', 2, 4, 6, 10, 15], - 'startlink' => 61 + 'startlink' => 61, ], 'pg' => [ 'questname' => 'Героич. Сражения', 'quest' => 'Поучаствовать в героическом сражении.', 'check' => ['Участий', 100, 200, 400, 600, 1000], 'prize' => ['Жетон
успеха
', 10, 20, 40, 60, 80], - 'startlink' => 71 + 'startlink' => 71, ], 'bv' => [ 'questname' => 'Продажи Бабушке', 'quest' => 'Продать бабушке найденные вещи в пещере.', 'check' => ['Продаж', 5, 25, 50, 100, 250], 'prize' => ['кр.', 500, 1000, 2000, 4000, 5000], - 'startlink' => 81 + 'startlink' => 81, ], 'kw' => [ 'questname' => 'Клан Поединки', 'quest' => 'Победить в клановой войне.', 'check' => ['Побед', 5, 10, 15, 20, 25], 'prize' => ['Свиток
кланового
опыта ', 1, 2, 5, 10, 15], - 'startlink' => 91 + 'startlink' => 91, ], 'pa' => [ # not implemented! 'questname' => 'Покровительство', 'quest' => 'Получить покровительство Ангела.', 'check' => ['Получено', 5, 25, 50, 100, 250], 'prize' => null, - 'startlink' => null + 'startlink' => null, ], 'bs' => [ 'questname' => 'Башня смерти', 'quest' => 'Победы в башне смерти.', 'check' => ['Побед', 1, 5, 10, 50, 500], 'prize' => ['екр.', 1, 5, 10, 50, 200], - 'startlink' => 101 + 'startlink' => 101, ], 'trn' => [ # not implemented! 'questname' => 'Турниры', 'quest' => 'Поучавствовать в турнирах.', 'check' => ['Побед', 25, 50, 100, 200, 500], 'prize' => ['екр.', 25, 25, 25, 25, 50], - 'startlink' => 111 + 'startlink' => 111, ], ]; @@ -103,24 +103,6 @@ class Achievements } //fixme: сюда иногда приходит (NULL, NULL). - private function prizeName(?int $int, ?string $string): string - { - return in_array($string, ['екр.', 'кр.']) ? $int . ' ' . $string : $string . ' ' . $int; - } - - private function drawSunduk($nagr, $whatInside, $tier): string - { - return vsprintf( - 'Сундук', - [ - "location.href='\main.php?titul&nagr=$nagr'", - "top.hi(this, 'Сундук $tier ранга
Содержит:
$whatInside
', event, 2, 0, 1, 1, 'max-width:307px')", - "top.hic();", - "top.hic();", - "//img.new-combats.tech/i/titul/nagr$tier.gif" - ] - ); - } public function getList(): string { @@ -161,8 +143,8 @@ class Achievements $this->prizeName($value['prize'][2], $value['prize'][0]), $this->prizeName($value['prize'][3], $value['prize'][0]), $this->prizeName($value['prize'][4], $value['prize'][0]), - $this->prizeName($value['prize'][5], $value['prize'][0]) - ] + $this->prizeName($value['prize'][5], $value['prize'][0]), + ], ], 'prizelist', true); # If has new tier, AND only first 5 tiers AND prize is set. if ( @@ -221,10 +203,29 @@ class Achievements } } + private function prizeName(?int $int, ?string $string): string + { + return in_array($string, ['екр.', 'кр.']) ? $int . ' ' . $string : $string . ' ' . $int; + } + + private function drawSunduk($nagr, $whatInside, $tier): string + { + return vsprintf( + 'Сундук', + [ + "location.href='\main.php?titul&nagr=$nagr'", + "top.hi(this, 'Сундук $tier ранга
Содержит:
$whatInside
', event, 2, 0, 1, 1, 'max-width:307px')", + "top.hic();", + "top.hic();", + "//img.new-combats.tech/i/titul/nagr$tier.gif", + ] + ); + } + public function getInfo(?int $uid = null) { if (!is_null($uid)) { - $this->info = \Core\Db::getRow('select * from users_achiv where id = ?', [$uid]); + $this->info = Db::getRow('select * from users_achiv where id = ?', [$uid]); } $this->calculateCurrent(); return $this->info; @@ -236,11 +237,6 @@ class Achievements return $this->info; } - private function addOne($name) - { - \Core\Db::sql("update users_achiv set $name = $name + 1 where id = ?", [$this->user->info['id']]); - } - public function updateTier($name) { if (in_array($name, array_keys($this->data))) { @@ -248,6 +244,11 @@ class Achievements } } + private function addOne($name) + { + Db::sql("update users_achiv set $name = $name + 1 where id = ?", [$this->user->info['id']]); + } + public function updateCounter($name) { if (in_array($name, array_keys($this->data))) { @@ -271,7 +272,7 @@ class Achievements public function givePrizeItems($itemId, $aType) { for ($i = 1; $i <= $this->data[$aType]['prize'][$this->info[$aType . '_n'] + 1]; $i++) { - $this->user->addItem($itemId, $this->user->info['id']); + ItemsModel::addItem($itemId, $this->user->info['id']); } } @@ -279,4 +280,4 @@ class Achievements { return array_keys($this->data); } -} \ No newline at end of file +} diff --git a/_incl_data/class/Battle.php b/_incl_data/class/Battle.php index d213f01f..df939811 100644 --- a/_incl_data/class/Battle.php +++ b/_incl_data/class/Battle.php @@ -1,8 +1,9 @@ items['add']; $x = 0; - $ed = ConversionHelper::dataStringToArray($eff[$i]['data']); + $ed = Conversion::dataStringToArray($eff[$i]['data']); while ($x < count($ti)) { $n = $ti[$x]; if (isset($ed['add_' . $n], $u->is[$n]) && $n != 'pog') { @@ -791,7 +792,7 @@ class Battle } //генерируем предметы $ttl = '' . $itm[$i]['name'] . ''; - $td = ConversionHelper::dataStringToArray($itm[$i]['data']); + $td = Conversion::dataStringToArray($itm[$i]['data']); $lvar = ''; if ($td['add_hpAll'] > 0) { $td['add_hpAll'] = '+' . $td['add_hpAll']; @@ -1413,7 +1414,7 @@ class Battle $i01 = 1; while ($i01 <= (($this->info['izlomObr'] - $this->info['izlomObrNow'])) * 7) { - \User\ItemsModel::addItem(1226, $u->info['id'], '|sudba=' . $u->info['login']); + ItemsModel::addItem(1226, $u->info['id'], '|sudba=' . $u->info['login']); $i01++; } mysql_query( @@ -2146,7 +2147,7 @@ class Battle ); if ($this->users[$i]['team'] == $this->info['team_win'] && rand(1, 100) <= 5) { - \User\ItemsModel::addItem(10020, $pld['id'], ''); + ItemsModel::addItem(10020, $pld['id'], ''); $pld['battle_text'] .= ' За Героическое Сражение вы получаете Жетон Успеха. '; } } else { @@ -3093,7 +3094,7 @@ class Battle } $tmoni = 1; while ($tmoni <= floor($tmon / 2)) { - \User\ItemsModel::addItem(0, $this->users[$i]['id'], ''); // тут были реликвии ангела. + ItemsModel::addItem(0, $this->users[$i]['id'], ''); // тут были реликвии ангела. $tmoni++; } $this->users[$i]['battle_text'] .= ' За призовой хаот вы получаете Призовой Жетон (x' . floor( @@ -3230,7 +3231,7 @@ class Battle if (date('d.m') == '31.10' || (date('m') == 11 && date('d') < 7)) { //Хэллоуин 4504 $this->users[$i]['battle_text'] .= ' Вы получаете Тыква (x1).'; - \User\ItemsModel::addItem(4504, $this->users[$i]['id'], '|sudba=1'); + ItemsModel::addItem(4504, $this->users[$i]['id'], '|sudba=1'); } } @@ -4110,7 +4111,7 @@ class Battle if ($itm_e[0] > 0) { $j = 0; while ($j < $itm_e[1]) { - \User\ItemsModel::addItem($itm_e[0], $uid, '|' . $itm_e[2]); + ItemsModel::addItem($itm_e[0], $uid, '|' . $itm_e[2]); $j++; } if (!isset($this->ainm[$itm_e[0]])) { @@ -4157,7 +4158,7 @@ class Battle 'add_pog2=' . $j['y'], 'add_pog2=$', $this->stats[$this->uids[$uid]]['effects'][$j['id'] - 1]['data'] ); - $dt3 = ConversionHelper::dataStringToArray($this->stats[$this->uids[$uid]]['effects'][$j['id'] - 1]['data']); + $dt3 = Conversion::dataStringToArray($this->stats[$this->uids[$uid]]['effects'][$j['id'] - 1]['data']); if (isset($dt3['add_pog2mp'])) { $priem->minMana($uid, round(round($yr2 / 100 * (100 - $dt3['add_pog2p'])) * $dt3['add_pog2mp'])); } @@ -4167,7 +4168,7 @@ class Battle } unset($dt3); if ($j['y'] < 0 || ($this->stats[$this->uids[$uid]]['mpNow'] <= 0 && $dt3['add_pog2mp'] > 0)) { - $dt2 = ConversionHelper::dataStringToArray($this->stats[$this->uids[$uid]]['effects'][$j['id'] - 1]['data']); + $dt2 = Conversion::dataStringToArray($this->stats[$this->uids[$uid]]['effects'][$j['id'] - 1]['data']); if (isset($dt2['endPog']) && $dt2['endPog'] == 1) { //удаляем прием $this->stats[$this->uids[$uid]]['effects'][$j['id'] - 1]['priem'] = mysql_fetch_array( @@ -4326,7 +4327,7 @@ class Battle $ii = 0; while ($ii < count($s['items'])) { if (isset($s['items'][$ii]) && $s['items'][$ii]['inOdet'] == $zi[$i]) { - $po = ConversionHelper::dataStringToArray($s['items'][$ii]['data']); + $po = Conversion::dataStringToArray($s['items'][$ii]['data']); $x = 0; while ($x < count($t)) { $n = $t[$x]; @@ -4616,6 +4617,109 @@ class Battle //Добавляем размены в лог + /** + * Расчет опыта + * @param $y + * @param $s2 + * @return int + */ + private function testExp($y, $s2): int + { + if ($s2['levels'] == 'undefined' || $this->users[$this->uids[$s2['id']]]['pass'] == 'saintlucia') { + return 0; + } + + $y = max(0, (int)$y); + $expmultiplier = 1; + if ($this->users[$this->uids[$s2['id']]]['level'] >= 8) { + $expmultiplier = $this->users[$this->uids[$s2['id']]]['level'] - 5; + } + + if ($s2['hpNow'] < 0) { + $y = 0; + } + if ($s2['hpNow'] < $y) { + $y = max(0, $s2['hpNow']); + } + $addExp = $y * $expmultiplier; + if ($s2['hpAll'] - $y <= 0) { + $addExp = 100; + } + + if ($this->info['razdel'] != 5 && Config::get('exp_limit_many')) { + $texp = Db::getValue( + 'select count(*) from battle_users as a where uid = ? and battle in (select battle from battle_users where uid = ? and team != a.team and time_enter > unix_timestamp() - 86400)' + ); + // + if ($texp > 5) { + $addExp = 0; + } elseif ($texp > 4) { + $addExp = $addExp * 0.50; + } elseif ($texp > 3) { + $addExp = $addExp * 0.75; + } elseif ($texp > 2) { + $addExp = $addExp * 1.00; + } elseif ($texp > 1) { + $addExp = $addExp * 1.00; + } else { + $addExp = $addExp * 1.00; + } + } + return (int)round($addExp); + } + + //Добавляем в лог действия приема + + public function addNewStat($stat) + { + if (isset($stat[1])) { + mysql_query( + 'INSERT INTO `battle_stat` + ( `battle`,`uid1`,`uid2`,`time`,`type`,`a`,`b`,`ma`,`mb`,`type_a`,`type_b`,`yrn`,`yrn_krit`,`tm1`,`tm2` ) VALUES ( + "' . $this->info['id'] . '", + "' . $stat[1]['uid1'] . '", + "' . $stat[1]['uid2'] . '", + "' . $stat[1]['time'] . '", + "' . $stat[1]['type'] . '", + "' . $stat[1]['a'] . '", + "' . $stat[1]['b'] . '", + "' . $stat[1]['ma'] . '", + "' . $stat[1]['mb'] . '", + "' . $stat[1]['type_a'] . '", + "' . $stat[1]['type_b'] . '", + "' . $stat[1]['yrn'] . '", + "' . $stat[1]['yrn_krit'] . '", + "' . $stat[1]['tm1'] . '", + "' . $stat[1]['tm2'] . '" + )' + ); + } + if (isset($stat[2])) { + mysql_query( + 'INSERT INTO `battle_stat` + ( `battle`,`uid1`,`uid2`,`time`,`type`,`a`,`b`,`ma`,`mb`,`type_a`,`type_b`,`yrn`,`yrn_krit`,`tm1`,`tm2` ) VALUES ( + "' . $this->info['id'] . '", + "' . $stat[2]['uid1'] . '", + "' . $stat[2]['uid2'] . '", + "' . $stat[2]['time'] . '", + "' . $stat[2]['type'] . '", + "' . $stat[2]['a'] . '", + "' . $stat[2]['b'] . '", + "' . $stat[1]['ma'] . '", + "' . $stat[2]['mb'] . '", + "' . $stat[2]['type_a'] . '", + "' . $stat[2]['type_b'] . '", + "' . $stat[2]['yrn'] . '", + "' . $stat[2]['yrn_krit'] . '", + "' . $stat[2]['tm1'] . '", + "' . $stat[2]['tm2'] . '" + )' + ); + } + } + + //Добавляем в лог действия приема (без атаки) + public function hpSee($now, $all, $type = 1): string { $r = '[' . $now . '/' . $all . ']'; @@ -4629,7 +4733,7 @@ class Battle return $r; } - //Добавляем в лог действия приема + //Считаем контру public function lookLog(): string { @@ -4720,7 +4824,8 @@ class Battle return $js; } - //Добавляем в лог действия приема (без атаки) + + //Расчитываем статы для конкретной зоны атаки public function lookmLog(): string { @@ -4807,14 +4912,14 @@ class Battle return $js; } - //Считаем контру + //Расчитываем ед. урона public function weaponAt($item, $st, $x): int { $tp = 0; $tp20 = 0; if (isset($item['id'])) { - $itm = \Core\ConversionHelper::dataStringToArray($item['data']); + $itm = Helper\Conversion::dataStringToArray($item['data']); //начинаем расчет урона $min = $itm['sv_yron_min'] + $itm['yron_min'] + $st['minAtack']; $max = $itm['sv_yron_max'] + $itm['yron_max'] + $st['maxAtack']; @@ -4869,15 +4974,14 @@ class Battle return $tp; } - - //Расчитываем статы для конкретной зоны атаки + //Считаем урон public function weaponAt22($item, $st): array { $min = 0; $max = 0; if (isset($item['id'])) { - $itm = \Core\ConversionHelper::dataStringToArray($item['data']); + $itm = Helper\Conversion::dataStringToArray($item['data']); //начинаем расчет урона $min = $itm['sv_yron_min'] + $itm['yron_min'] + $st['minAtack']; $max = $itm['sv_yron_max'] + $itm['yron_max'] + $st['maxAtack']; @@ -4885,7 +4989,7 @@ class Battle return [$min, $max]; } - //Расчитываем ед. урона + //Обновление здоровья public function form_mf($u, $au): float { @@ -4897,7 +5001,7 @@ class Battle return round($r); } - //Считаем урон + //Добавляем новую статистику игрока public function autoSmena() { @@ -4963,7 +5067,7 @@ class Battle } } - //Обновление здоровья + //Проверяем приемы public function smena($uid, $auto = false, $lastdie = false) { @@ -5001,7 +5105,7 @@ class Battle } } - //Добавляем новую статистику игрока + //Приемы которые используются моментально public function testActions() { @@ -5176,7 +5280,7 @@ class Battle } } - //Проверяем приемы + //Приемы которые используются моментально (в конце хода) public function botAtack($uid, $pl, $tp) { @@ -5240,7 +5344,7 @@ class Battle } } - //Приемы которые используются моментально + //Используем приемы public function startAtack($id) { @@ -5801,7 +5905,7 @@ class Battle } } - //Приемы которые используются моментально (в конце хода) + //Повторная проверка приемов public function testZonb($uid, $uid2) { @@ -5878,7 +5982,7 @@ class Battle } } - //Используем приемы + //Проверка действия приема public function magicItems($uid1, $uid2, $end) { @@ -5890,7 +5994,7 @@ class Battle while ($i < count($this->stats[$this->uids[$uid1]]['items'])) { $itm = $this->stats[$this->uids[$uid1]]['items'][$i]; if (isset($itm['id'])) { - $e = ConversionHelper::dataStringToArray($itm['data']); + $e = Conversion::dataStringToArray($itm['data']); if (isset($e['bm_a1'])) { if ($end > 0) { if (file_exists('../../_incl_data/class/priems/' . $e['bm_a1'] . '.end.php')) { @@ -5908,7 +6012,7 @@ class Battle unset($itm); } - //Повторная проверка приемов + //Проверка урона приемов public function priemsRazmen($id, $at) { @@ -5956,8 +6060,6 @@ class Battle } } - //Проверка действия приема - public function priemsRazmenMoment($id, $at) { $uid1 = $this->atacks[$id]['uid1']; @@ -6074,7 +6176,7 @@ class Battle return $at; } - //Проверка урона приемов + //Опыт + набитый урон за удар приемом\магией /** * @param $i @@ -6092,6 +6194,8 @@ class Battle return true; } + //Наносим удар между игроками + public function newRazmen($id, $at = null) { $uid1 = $this->atacks[$id]['uid1']; @@ -6111,8 +6215,6 @@ class Battle return $at; } - //Опыт + набитый урон за удар приемом\магией - public function usersTestAtack($id, $uid1, $uid2): array { $r = []; @@ -6182,127 +6284,9 @@ class Battle return $r; } - //Наносим удар между игроками - - public function mf5Razmen($id, $at, $v, $rjd = 0) + public function mf2Razmen($id, $at, $v, $pat = false, $rjd = 0) { global $u; - - $uid1 = $this->atacks[$id]['uid1']; - $uid2 = $this->atacks[$id]['uid2']; - - if ($this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod'] > 0) { - $uid1 = $this->yhod_user( - $this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'], - $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod'] - ); - } elseif ($this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod'] > 0) { - $uid2 = $this->yhod_user( - $this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'], - $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod'] - ); - } - - $i = 1; - while ($i <= 2) { - if ($i == 1) { - $a = 1; - $b = 2; - $u1 = ${'uid1'}; - $u2 = ${'uid2'}; - } else { - $a = 2; - $b = 1; - $u1 = ${'uid2'}; - $u2 = ${'uid1'}; - } - - //Расчет контрудара Цели (u2) по Атакующему (u1) - $j = 0; - if ($rjd > 0) { - $j = $rjd - 1; - } - while ($j < count($at[$a]['atack']) && $j < 8) { - // КУДА БИЛ , ТИП УДАРА - if ($at[$a]['atack'][$j][2] == $v) { - if ($at[$a]['atack'][$j][1] == 2) { - if ($this->mfs( - 6, [ - 'u1' => $u1, - 'u2' => $u2, - 'a' => $this->stats[$this->uids[$u2]]['m6'], - 'b' => $this->stats[$this->uids[$u1]]['m6'], - ], $this->users[$this->uids[$u1]]['level'], $this->users[$this->uids[$u2]]['level'] - ) == 1) { - //контрудар, гад :) - $at[$a]['atack'][$j][1] = 8; - $rnd_a = rand(1, 5); - $rjd = count($at[$b]['atack']); - if (!$this->testRazmenblock1($id, $u2, $u1, $rnd_a)) { - $at[$b]['atack'][] = [$rnd_a, 1, 0, 1]; // 3 , 0 , 1 - } else { - $at[$b]['atack'][] = [$rnd_a, 3, 0, 1]; // 3 , 0 , 1 - } - $at = $this->contrRestart($id, $at, 1, $rjd); - } - } - } - $j++; - } - $i++; - } - return $at; - } - - public function testRazmenblock1($id, $uid1, $uid2, $atack): bool - { - $r = false; - //Проверка блоков - $i = 1; - if ($uid1 == $this->atacks[$id]['uid1']) { - $j = $this->atacks[$id]['b2']; - } elseif ($uid2 == $this->atacks[$id]['uid1']) { - $j = $this->atacks[$id]['b1']; - } - if ($this->atacks[$id]['out2'] == 0) { - while ($i <= $this->stats[$this->uids[$uid2]]['zonb']) { - $block[$j] = 1; - $j++; - if ($j > 5 || $j < 1) { - $j = 1; - } - $i++; - } - } - //Проверка ударов - if ($atack > 0) { - $r = $block[$atack] == 1; - } - return $r; - } - - public function contrRestart($id, $at, $v, $rjd = 0) - { - //уворот - $at = $this->mf1Razmen($id, $at, $v, true, $rjd); - //парирование - $at = $this->mf3Razmen($id, $at, $v, true, $rjd); - //контрудар - //$at = $this->mf5Razmen($id,$at,$v,true,$rjd); - //блок щитом (если есть щит, конечно) - $at = $this->mf4Razmen($id, $at, $v, true, $rjd); - //Проверяем урон - //$at = $this->yronRazmen($id,$at); - //крит - $at = $this->mf2Razmen($id, $at, $v, true, $rjd); - $at = $this->yronRazmen($id, $at, true, $rjd); - return $at; - } - - public function mf1Razmen($id, $at, $v, $pat = false, $rjd = 0) - { - global $u; - if ($pat) { $pat = $at; $at = $pat['p']; @@ -6339,15 +6323,16 @@ class Battle $u2 = ${'uid1'}; } - //Расчет уворота Цели (u2) от Атакующего (u1) + //Расчет крита Атакующего (u1) по Цели (u2) $j = 0; - $wp01 = 3; + $wp01 = 0; $k01 = 0; if ($rjd > 0) { $j = $rjd - 1; } + if (is_array($at[$a]['atack'])) { - while ($j < count($at[$a]['atack']) && $j < 8) { + while ($j < count($at[$a]['atack']) && $j <= 8) { // КУДА БИЛ , ТИП УДАРА if ($k01 == 0 && isset($this->stats[$this->uids[$u1]]['wp3id'])) { //Левая рука @@ -6365,29 +6350,26 @@ class Battle $witm01 = 0; $witm_type01 = 0; $witm01 = $this->stats[$this->uids[$u1]]['items'][$this->stats[$this->uids[$u1]]['wp' . $wp01 . 'id']]; - $witm_data01 = ConversionHelper::dataStringToArray($witm01['data']); - if ($at[$a]['atack'][$j][2] == $v) { - $tyv = $this->mfs( - 2, [ + $witm_data01 = Conversion::dataStringToArray($witm01['data']); + if ($this->mfs( + 1, [ 'u1' => $u1, 'u2' => $u2, - 'mf' => $this->stats[$this->uids[$u2]]['m4'], - 'amf' => (int)$this->stats[$this->uids[$u2]]['m15'], - 'smf' => ($this->stats[$this->uids[$u1]]['m5'] + $witm_data01['sv_m5']), - 'asmf' => $this->stats[$this->uids[$u1]]['m21'], + 'mf' => $this->stats[$this->uids[$u1]]['m1'] + $witm_data01['sv_m1'], + 'amf' => $this->stats[$this->uids[$u1]]['m14'], + 'smf' => $this->stats[$this->uids[$u2]]['m2'], + 'aamf1' => (int)$this->stats[$this->uids[$u2]]['enemy_am1'], ], $this->users[$this->uids[$u1]]['level'], $this->users[$this->uids[$u2]]['level'] - ); - if ($tyv == 1 && $this->atacks[$id]['out' . $b] == 0) { - //увернулся, гад :) - $this->stats[$this->uids[$u1]]['nopryh'] = floor( - 0 + (int)$this->stats[$this->uids[$u1]]['nopryh'] - ); - if (!isset($this->stats[$this->uids[$u1]]['nopryh']) || $this->stats[$this->uids[$u1]]['nopryh'] <= 0) { - $at[$a]['atack'][$j][1] = 2; - } else { - $this->stats[$this->uids[$u1]]['nopryh']--; - $this->stats[$this->uids[$u1]]['nopryh_act']++; - } + ) == 1) { + //кританул, гад :) + if ($at[$a]['atack'][$j][1] == 3) { + //в блок + $at[$a]['atack'][$j][1] = 4; //Тут тест + } elseif ($at[$a]['atack'][$j][1] != 2 && $at[$a]['atack'][$j][1] != 6 && $at[$a]['atack'][$j][1] != 7 && $at[$a]['atack'][$j][1] != 8) { + //обычный крит + $at[$a]['atack'][$j][1] = 5; + } else { + $at[$a]['atack'][$j][1] = 1; } } $j++; @@ -6395,12 +6377,13 @@ class Battle } $i++; } - unset($witm01, $witm_type01, $wp01, $k01); + unset($witm01, $witm_type01, $k01, $wp01); if (isset($pat) && $pat) { $pat['p'] = $at; $at = $pat; } + return $at; } @@ -6465,8 +6448,6 @@ class Battle return $r; } - //Сохранение данные - public function mfs($type, $mf, $lvl1, $lvl2): int { $rval = 0; @@ -6588,7 +6569,7 @@ class Battle return $this->get_chanse($rval) ? 1 : 0; } - //Отображение НР + //Сохранение данные public function mf3Razmen($id, $at, $v, $pat = false, $rjd = 0) { @@ -6672,8 +6653,7 @@ class Battle return $at; } - - //Выводим лог боя + //Отображение НР public function mf4Razmen($id, $at, $v, $pat = false, $rjd = 0) { @@ -6742,11 +6722,13 @@ class Battle return $at; } - //Новый лог Мой Лог - public function mf2Razmen($id, $at, $v, $pat = false, $rjd = 0) + //Выводим лог боя + + public function mf1Razmen($id, $at, $v, $pat = false, $rjd = 0) { global $u; + if ($pat) { $pat = $at; $at = $pat['p']; @@ -6783,16 +6765,15 @@ class Battle $u2 = ${'uid1'}; } - //Расчет крита Атакующего (u1) по Цели (u2) + //Расчет уворота Цели (u2) от Атакующего (u1) $j = 0; - $wp01 = 0; + $wp01 = 3; $k01 = 0; if ($rjd > 0) { $j = $rjd - 1; } - if (is_array($at[$a]['atack'])) { - while ($j < count($at[$a]['atack']) && $j <= 8) { + while ($j < count($at[$a]['atack']) && $j < 8) { // КУДА БИЛ , ТИП УДАРА if ($k01 == 0 && isset($this->stats[$this->uids[$u1]]['wp3id'])) { //Левая рука @@ -6810,26 +6791,29 @@ class Battle $witm01 = 0; $witm_type01 = 0; $witm01 = $this->stats[$this->uids[$u1]]['items'][$this->stats[$this->uids[$u1]]['wp' . $wp01 . 'id']]; - $witm_data01 = ConversionHelper::dataStringToArray($witm01['data']); - if ($this->mfs( - 1, [ + $witm_data01 = Conversion::dataStringToArray($witm01['data']); + if ($at[$a]['atack'][$j][2] == $v) { + $tyv = $this->mfs( + 2, [ 'u1' => $u1, 'u2' => $u2, - 'mf' => $this->stats[$this->uids[$u1]]['m1'] + $witm_data01['sv_m1'], - 'amf' => $this->stats[$this->uids[$u1]]['m14'], - 'smf' => $this->stats[$this->uids[$u2]]['m2'], - 'aamf1' => (int)$this->stats[$this->uids[$u2]]['enemy_am1'], + 'mf' => $this->stats[$this->uids[$u2]]['m4'], + 'amf' => (int)$this->stats[$this->uids[$u2]]['m15'], + 'smf' => ($this->stats[$this->uids[$u1]]['m5'] + $witm_data01['sv_m5']), + 'asmf' => $this->stats[$this->uids[$u1]]['m21'], ], $this->users[$this->uids[$u1]]['level'], $this->users[$this->uids[$u2]]['level'] - ) == 1) { - //кританул, гад :) - if ($at[$a]['atack'][$j][1] == 3) { - //в блок - $at[$a]['atack'][$j][1] = 4; //Тут тест - } elseif ($at[$a]['atack'][$j][1] != 2 && $at[$a]['atack'][$j][1] != 6 && $at[$a]['atack'][$j][1] != 7 && $at[$a]['atack'][$j][1] != 8) { - //обычный крит - $at[$a]['atack'][$j][1] = 5; - } else { - $at[$a]['atack'][$j][1] = 1; + ); + if ($tyv == 1 && $this->atacks[$id]['out' . $b] == 0) { + //увернулся, гад :) + $this->stats[$this->uids[$u1]]['nopryh'] = floor( + 0 + (int)$this->stats[$this->uids[$u1]]['nopryh'] + ); + if (!isset($this->stats[$this->uids[$u1]]['nopryh']) || $this->stats[$this->uids[$u1]]['nopryh'] <= 0) { + $at[$a]['atack'][$j][1] = 2; + } else { + $this->stats[$this->uids[$u1]]['nopryh']--; + $this->stats[$this->uids[$u1]]['nopryh_act']++; + } } } $j++; @@ -6837,19 +6821,139 @@ class Battle } $i++; } - unset($witm01, $witm_type01, $k01, $wp01); + unset($witm01, $witm_type01, $wp01, $k01); if (isset($pat) && $pat) { $pat['p'] = $at; $at = $pat; } + return $at; + } + //Новый лог Мой Лог + + public function mf5Razmen($id, $at, $v, $rjd = 0) + { + global $u; + + $uid1 = $this->atacks[$id]['uid1']; + $uid2 = $this->atacks[$id]['uid2']; + + if ($this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod'] > 0) { + $uid1 = $this->yhod_user( + $this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'], + $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod'] + ); + } elseif ($this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod'] > 0) { + $uid2 = $this->yhod_user( + $this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'], + $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod'] + ); + } + + $i = 1; + while ($i <= 2) { + if ($i == 1) { + $a = 1; + $b = 2; + $u1 = ${'uid1'}; + $u2 = ${'uid2'}; + } else { + $a = 2; + $b = 1; + $u1 = ${'uid2'}; + $u2 = ${'uid1'}; + } + + //Расчет контрудара Цели (u2) по Атакующему (u1) + $j = 0; + if ($rjd > 0) { + $j = $rjd - 1; + } + while ($j < count($at[$a]['atack']) && $j < 8) { + // КУДА БИЛ , ТИП УДАРА + if ($at[$a]['atack'][$j][2] == $v) { + if ($at[$a]['atack'][$j][1] == 2) { + if ($this->mfs( + 6, [ + 'u1' => $u1, + 'u2' => $u2, + 'a' => $this->stats[$this->uids[$u2]]['m6'], + 'b' => $this->stats[$this->uids[$u1]]['m6'], + ], $this->users[$this->uids[$u1]]['level'], $this->users[$this->uids[$u2]]['level'] + ) == 1) { + //контрудар, гад :) + $at[$a]['atack'][$j][1] = 8; + $rnd_a = rand(1, 5); + $rjd = count($at[$b]['atack']); + if (!$this->testRazmenblock1($id, $u2, $u1, $rnd_a)) { + $at[$b]['atack'][] = [$rnd_a, 1, 0, 1]; // 3 , 0 , 1 + } else { + $at[$b]['atack'][] = [$rnd_a, 3, 0, 1]; // 3 , 0 , 1 + } + $at = $this->contrRestart($id, $at, 1, $rjd); + } + } + } + $j++; + } + $i++; + } return $at; } //====================== //Добавляем в лог + public function testRazmenblock1($id, $uid1, $uid2, $atack): bool + { + $r = false; + //Проверка блоков + $i = 1; + if ($uid1 == $this->atacks[$id]['uid1']) { + $j = $this->atacks[$id]['b2']; + } elseif ($uid2 == $this->atacks[$id]['uid1']) { + $j = $this->atacks[$id]['b1']; + } + if ($this->atacks[$id]['out2'] == 0) { + while ($i <= $this->stats[$this->uids[$uid2]]['zonb']) { + $block[$j] = 1; + $j++; + if ($j > 5 || $j < 1) { + $j = 1; + } + $i++; + } + } + //Проверка ударов + if ($atack > 0) { + $r = $block[$atack] == 1; + } + return $r; + } + + ///Комментатор + + public function contrRestart($id, $at, $v, $rjd = 0) + { + //уворот + $at = $this->mf1Razmen($id, $at, $v, true, $rjd); + //парирование + $at = $this->mf3Razmen($id, $at, $v, true, $rjd); + //контрудар + //$at = $this->mf5Razmen($id,$at,$v,true,$rjd); + //блок щитом (если есть щит, конечно) + $at = $this->mf4Razmen($id, $at, $v, true, $rjd); + //Проверяем урон + //$at = $this->yronRazmen($id,$at); + //крит + $at = $this->mf2Razmen($id, $at, $v, true, $rjd); + $at = $this->yronRazmen($id, $at, true, $rjd); + return $at; + } + + //Расчет типа удара от оружия + public function yronRazmen($id, $at, $pat = false, $rjd = 0) { if ($pat) { @@ -6968,7 +7072,8 @@ class Battle return $at; } - ///Комментатор + + //Расчет урона от оружия public function weaponTx($item) { @@ -6981,7 +7086,7 @@ class Battle $i++; } } - $itm = ConversionHelper::dataStringToArray($item['data']); + $itm = Conversion::dataStringToArray($item['data']); $t[0]['z'] = 0; $t[0]['t'] = 0; //колящий урон @@ -7054,7 +7159,7 @@ class Battle return $tp; } - //Расчет типа удара от оружия + //Расчет урона от оружия public function yronGetrazmen($uid1, $uid2, $wp, $zona): array { @@ -7076,7 +7181,7 @@ class Battle if ($wp > 0) { $witm = $this->stats[$this->uids[$uid1]]['items'][$this->stats[$this->uids[$uid1]]['wp' . $wp . 'id']]; - $witm_data = ConversionHelper::dataStringToArray($witm['data']); + $witm_data = Conversion::dataStringToArray($witm['data']); $witm_type = $this->weaponTx($witm); } if ($witm_type == 0 || $witm_type == 12) { @@ -7282,7 +7387,7 @@ class Battle } - //Расчет урона от оружия + //Расчет защиты public function yrn( $st1, @@ -7354,7 +7459,7 @@ class Battle */ ]; - $witmdata = \Core\ConversionHelper::dataStringToArray($witm['data']); + $witmdata = Helper\Conversion::dataStringToArray($witm['data']); //Расчет типа урона @@ -7518,7 +7623,7 @@ class Battle return $r; } - //Расчет урона от оружия + //Расчет защиты (магия) public function zago($v): float { @@ -7528,16 +7633,11 @@ class Battle return round((1 - (pow(0.5, ($v / 399.51)))) * 100, 2); } - - //Расчет защиты - public function zmgo($v) { return (1 - (pow(0.5, ($v / 250)))) * 100; } - //Расчет защиты (магия) - public function priemsTestRazmen($id, $at) { $uid1 = $this->atacks[$id]['uid1']; @@ -7909,7 +8009,7 @@ class Battle 'add_pog2=' . $j['y'], 'add_pog2=$', $this->stats[$this->uids[$uid]]['effects'][$j['id'] - 1]['data'] ); - $dt3 = ConversionHelper::dataStringToArray($this->stats[$this->uids[$uid]]['effects'][$j['id'] - 1]['data']); + $dt3 = Conversion::dataStringToArray($this->stats[$this->uids[$uid]]['effects'][$j['id'] - 1]['data']); $dt30 = 0; $dt30 = floor($j['y'] / $yr2 * 100); if ($dt30 < $dt3['add_pog2p']) { @@ -7947,7 +8047,7 @@ class Battle $yr2 = round($yr2 / 100 * (100 - $dt3['add_pog2p'])); } if ($j['y'] < 0 || ($this->stats[$this->uids[$uid]]['mpNow'] <= 0 && $dt3['add_pog2mp'] > 0)) { - $dt2 = ConversionHelper::dataStringToArray($this->stats[$this->uids[$uid]]['effects'][$j['id'] - 1]['data']); + $dt2 = Conversion::dataStringToArray($this->stats[$this->uids[$uid]]['effects'][$j['id'] - 1]['data']); if (isset($dt2['endPog']) && $dt2['endPog'] == 1) { //удаляем прием //Добавляем в лог @@ -7988,6 +8088,8 @@ class Battle return $yr2; } + //Расчет мф. (новая) + public function updateHealth($id, $at): array { $uid1 = $this->atacks[$id]['uid1']; @@ -8155,6 +8257,8 @@ class Battle return $at; } + //Расчет МФ + /** * Добавляем опыт \ нанесенный урон. * Кривовсрато, на переделку. @@ -8313,61 +8417,6 @@ class Battle } } - //Расчет мф. (новая) - - /** - * Расчет опыта - * @param $y - * @param $s2 - * @return int - */ - private function testExp($y, $s2): int - { - if ($s2['levels'] == 'undefined' || $this->users[$this->uids[$s2['id']]]['pass'] == 'saintlucia') { - return 0; - } - - $y = max(0, (int)$y); - $expmultiplier = 1; - if ($this->users[$this->uids[$s2['id']]]['level'] >= 8) { - $expmultiplier = $this->users[$this->uids[$s2['id']]]['level'] - 5; - } - - if ($s2['hpNow'] < 0) { - $y = 0; - } - if ($s2['hpNow'] < $y) { - $y = max(0, $s2['hpNow']); - } - $addExp = $y * $expmultiplier; - if ($s2['hpAll'] - $y <= 0) { - $addExp = 100; - } - - if ($this->info['razdel'] != 5 && Config::get('exp_limit_many')) { - $texp = Db::getValue( - 'select count(*) from battle_users as a where uid = ? and battle in (select battle from battle_users where uid = ? and team != a.team and time_enter > unix_timestamp() - 86400)' - ); - // - if ($texp > 5) { - $addExp = 0; - } elseif ($texp > 4) { - $addExp = $addExp * 0.50; - } elseif ($texp > 3) { - $addExp = $addExp * 0.75; - } elseif ($texp > 2) { - $addExp = $addExp * 1.00; - } elseif ($texp > 1) { - $addExp = $addExp * 1.00; - } else { - $addExp = $addExp * 1.00; - } - } - return (int)round($addExp); - } - - //Расчет МФ - private function clearСache($uid) { if ($uid > 0 && !isset($this->uclearc[$uid])) { @@ -8871,6 +8920,8 @@ class Battle return true; } + //Смена противника + public function asr($u1, $u2, $type) { mysql_query( @@ -8882,7 +8933,7 @@ class Battle ); } - //Смена противника + //авто-смена противника //ТУТ баг выбора public function addlt($a, $id, $s, $rnd = null): string { @@ -8893,56 +8944,6 @@ class Battle return '{' . $a . 'x' . $id . 'x' . $rnd . '}'; } - //авто-смена противника //ТУТ баг выбора - - public function addNewStat($stat) - { - if (isset($stat[1])) { - mysql_query( - 'INSERT INTO `battle_stat` - ( `battle`,`uid1`,`uid2`,`time`,`type`,`a`,`b`,`ma`,`mb`,`type_a`,`type_b`,`yrn`,`yrn_krit`,`tm1`,`tm2` ) VALUES ( - "' . $this->info['id'] . '", - "' . $stat[1]['uid1'] . '", - "' . $stat[1]['uid2'] . '", - "' . $stat[1]['time'] . '", - "' . $stat[1]['type'] . '", - "' . $stat[1]['a'] . '", - "' . $stat[1]['b'] . '", - "' . $stat[1]['ma'] . '", - "' . $stat[1]['mb'] . '", - "' . $stat[1]['type_a'] . '", - "' . $stat[1]['type_b'] . '", - "' . $stat[1]['yrn'] . '", - "' . $stat[1]['yrn_krit'] . '", - "' . $stat[1]['tm1'] . '", - "' . $stat[1]['tm2'] . '" - )' - ); - } - if (isset($stat[2])) { - mysql_query( - 'INSERT INTO `battle_stat` - ( `battle`,`uid1`,`uid2`,`time`,`type`,`a`,`b`,`ma`,`mb`,`type_a`,`type_b`,`yrn`,`yrn_krit`,`tm1`,`tm2` ) VALUES ( - "' . $this->info['id'] . '", - "' . $stat[2]['uid1'] . '", - "' . $stat[2]['uid2'] . '", - "' . $stat[2]['time'] . '", - "' . $stat[2]['type'] . '", - "' . $stat[2]['a'] . '", - "' . $stat[2]['b'] . '", - "' . $stat[1]['ma'] . '", - "' . $stat[2]['mb'] . '", - "' . $stat[2]['type_a'] . '", - "' . $stat[2]['type_b'] . '", - "' . $stat[2]['yrn'] . '", - "' . $stat[2]['yrn_krit'] . '", - "' . $stat[2]['tm1'] . '", - "' . $stat[2]['tm2'] . '" - )' - ); - } - } - //Действия бота (атака) public function spaCheck($u1) @@ -9508,7 +9509,7 @@ class Battle } } // - $anl = ConversionHelper::dataStringToArray($anl); + $anl = Conversion::dataStringToArray($anl); $vLog = 'time1=' . time() . '||s1=' . $this->users[$i]['sex'] . '||t1=' . $this->users[$i]['team'] . '||login1=' . $this->users[$i]['login'] . ''; $vLog .= '||s2=1||t2=' . $this->users[$i]['team'] . '||login2=' . $a['name'] . ' (Зверь ' . $this->users[$i]['login'] . ')'; diff --git a/_incl_data/class/BotPriemLogic.php b/_incl_data/class/BotPriemLogic.php index fdbc105f..2abd08df 100644 --- a/_incl_data/class/BotPriemLogic.php +++ b/_incl_data/class/BotPriemLogic.php @@ -1,6 +1,6 @@ error; } $col = User::start()->itemsX(($itemId)); - $idata = ConversionHelper::dataStringToArray($item['data']); + $idata = Conversion::dataStringToArray($item['data']); if (!isset($idata['toclan'])) { $idata['toclan'] = $user['clan'] . '#' . $user['id']; - $item['data'] = ConversionHelper::arrayToDataString($idata); + $item['data'] = Conversion::arrayToDataString($idata); User::start()->addDelo( 2, $user['id'], @@ -58,7 +58,7 @@ class ItemStorage if (empty($item['inslot']) || !empty($item['gift'])) { $this->error = 'Предмет не найден.'; } - $idata = ConversionHelper::dataStringToArray($item['data']); + $idata = Conversion::dataStringToArray($item['data']); if ( !empty($idata['frompisher']) || !empty($idata['sudba']) || @@ -117,7 +117,7 @@ class ItemStorage ); $res = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $cl . '" LIMIT 1')); if (isset($itm_['id'])) { - $po = ConversionHelper::dataStringToArray($itm_['data']); + $po = Conversion::dataStringToArray($itm_['data']); if (isset($po['toclan'])) { $cls = explode('#', $po['toclan']); $cls = $cls[1]; @@ -144,7 +144,7 @@ class ItemStorage 'SELECT * FROM `items_users` WHERE (`uid` = "-21' . $user['clan'] . '" OR `data` LIKE "%toclan=' . $user['clan'] . '#%")' ); while ($pl = mysql_fetch_array($itms)) { - $po = ConversionHelper::dataStringToArray($pl['data']); + $po = Conversion::dataStringToArray($pl['data']); if (isset($po['toclan'])) { $cls = explode('#', $po['toclan']); $cls = $cls[1]; @@ -156,7 +156,7 @@ class ItemStorage } } unset($po['toclan']); - $pl['data'] = ConversionHelper::arrayToDataString($po); + $pl['data'] = Conversion::arrayToDataString($po); $col = $this->itemsX(((int)$pl['id'])); $it_n = mysql_fetch_array( mysql_query('SELECT `name` FROM `items_main` WHERE `id` = "' . $pl['item_id'] . '"') diff --git a/_incl_data/class/ComissionShop.php b/_incl_data/class/ComissionShop.php index 87f973c6..ddf6a3da 100644 --- a/_incl_data/class/ComissionShop.php +++ b/_incl_data/class/ComissionShop.php @@ -158,9 +158,9 @@ ORDER BY `1price`ASC , inGroupCount DESC' ) ); if ($steck[0] > 1 && $preview == "preview") { - $po = \Core\ConversionHelper::dataStringToArray($d['data']); + $po = Helper\Conversion::dataStringToArray($d['data']); } else { - $po = \Core\ConversionHelper::dataStringToArray($pl['data']); + $po = Helper\Conversion::dataStringToArray($pl['data']); } if (($pl['type'] >= 18 && $pl['type'] <= 24) || $pl['type'] == 26 || $pl['type'] == 27) { //Зоны блока + @@ -452,7 +452,7 @@ ORDER BY `1price`ASC , inGroupCount DESC' //действие комплекта $i1c = 0; $i2c = 0; - $i1e = \Core\ConversionHelper::dataStringToArray($plc['data']); + $i1e = Helper\Conversion::dataStringToArray($plc['data']); while ($i1c < count($this->items['add'])) { if (isset($i1e[$this->items['add'][$i1c]])) { $i3c = $i1e[$this->items['add'][$i1c]]; @@ -488,7 +488,7 @@ ORDER BY `1price`ASC , inGroupCount DESC' //действие комплекта $i1c = 0; $i2c = 0; - $i1e = \Core\ConversionHelper::dataStringToArray($plc['data']); + $i1e = Helper\Conversion::dataStringToArray($plc['data']); while ($i1c < count($this->items['add'])) { if (isset($i1e[$this->items['add'][$i1c]])) { $i3c = $i1e[$this->items['add'][$i1c]]; diff --git a/_incl_data/class/DTO/BattleSpell.php b/_incl_data/class/DTO/BattleSpell.php new file mode 100644 index 00000000..ece126a7 --- /dev/null +++ b/_incl_data/class/DTO/BattleSpell.php @@ -0,0 +1,26 @@ +elemental = 'raw'; + } + if ($elemental === 'fire') { + $this->elemental = $elemental; + $this->color = '#a00'; + $this->colorCrit = '#f00'; + $this->colorMiss = '#909090'; + } + } +} diff --git a/_incl_data/class/DTO/KnowledgeTempleItem.php b/_incl_data/class/DTO/KnowledgeTempleItem.php index 9080f0f4..97114837 100644 --- a/_incl_data/class/DTO/KnowledgeTempleItem.php +++ b/_incl_data/class/DTO/KnowledgeTempleItem.php @@ -2,7 +2,7 @@ namespace DTO; -use Core\ConversionHelper; +use Helper\Conversion; use ItemModel; class KnowledgeTempleItem @@ -26,8 +26,8 @@ class KnowledgeTempleItem // Общий + конкретный. $itemData = array_merge( - ConversionHelper::dataStringToArray(ItemModel::getItemData($this->id)), - ConversionHelper::dataStringToArray($item['data']), + Conversion::dataStringToArray(ItemModel::getItemData($this->id)), + Conversion::dataStringToArray($item['data']), ); $this->level = intval($itemData['tr_lvl']); } diff --git a/_incl_data/class/FightRequest.php b/_incl_data/class/FightRequest.php index 2dae33ad..2a8f06da 100644 --- a/_incl_data/class/FightRequest.php +++ b/_incl_data/class/FightRequest.php @@ -1,21 +1,17 @@ u->info['id']] - ); - return $tr ? $tr - 1 : 0; + if ($this->u->info['zv'] > 0) { + $z = Db::getValue( + 'select count(*) from zayvki where id = ? and (cancel > 0 or btl_id >0 or time < unix_timestamp() - 3600)', + [$this->u->info['zv']] + ); + if ($z > 0) { + $this->u->info['zv'] = 0; + Db::sql('update stats set zv = 0 where id = ?', [$this->u->info['id']]); + } + } + $this->testGroupAndChaotic(); } private function testGroupAndChaotic() @@ -124,24 +124,6 @@ class FightRequest } } - /** Проверяем заявки - * @return void - */ - private function test() - { - if ($this->u->info['zv'] > 0) { - $z = Db::getValue( - 'select count(*) from zayvki where id = ? and (cancel > 0 or btl_id >0 or time < unix_timestamp() - 3600)', - [$this->u->info['zv']] - ); - if ($z > 0) { - $this->u->info['zv'] = 0; - Db::sql('update stats set zv = 0 where id = ?', [$this->u->info['id']]); - } - } - $this->testGroupAndChaotic(); - } - private function testGroup($groups, $zayavka, $toChat, $toWhere) { if ($zayavka['razdel'] != 4) { @@ -163,154 +145,6 @@ class FightRequest } } - private function testCronChaotic($zayavka, $toChat, $toWhere) - { - $chat = new Chat(); - $levelToExp = [ - 0 => 0, - 1 => 110, - 2 => 420, - 3 => 1300, - 4 => 2500, - 5 => 5000, - 6 => 12500, - 7 => 30000, - 8 => 300000, - 9 => 3000000, - 10 => 10000000, - 11 => 52000000, - 12 => 63000000, - 13 => 182000000, - 14 => 212000000, - 15 => 352000000, - 16 => 504000000, - 17 => 1187000000, - 18 => 2455000000, - 19 => 4387000000, - 20 => 6355000000, - 21 => 15500000000, - 22 => 755500000000, - ]; - $botUsers = []; - define('FAST_FIGHT_REQUIRED_FIGHTERS_COUNT', 2); - define('FIGHT_REQUIRED_FIGHTERS_COUNT', 6); - - $requiredFightersToStartBattle = FIGHT_REQUIRED_FIGHTERS_COUNT; - if ($zayavka['fastfight'] > 0) { - $requiredFightersToStartBattle = FAST_FIGHT_REQUIRED_FIGHTERS_COUNT; - } - - $pendingFightersCount = $this->countUsersAll($zayavka['id']); - if ($pendingFightersCount < $requiredFightersToStartBattle) { - //группа не набрана - //Добавляем недостающих игроков - if (!$zayavka['nobot']) { // Если нет запрета на ботов. - //$getRealPlayersQuery = 'select * from stats left join users on stats.id = users.id where exp >= ? and exp < ? and bot = 0 order by btl_cof desc limit 50'; - $getBotsQuery = 'select * from stats left join users on stats.id = users.id where bot = 2 and exp >= ? and exp < ?'; - $botUsers = Db::getRows( - $getBotsQuery, - [$levelToExp[$zayavka['min_lvl_1']], $levelToExp[$zayavka['max_lvl_1'] + 1]] - ); - } - - if (empty($botUsers)) { - $text = ' Не удалось начать поединок по причине: Группа не набрана. (' . $zayavka['id'] . ': 0 ' . $levelToExp[$zayavka['min_lvl_1']] . '-' . $levelToExp[$zayavka['max_lvl_1'] + 1] . ')'; - $chat->sendsys($text, 'Merlin'); - $this->cancelGroup($zayavka, $toChat, ' Боты проспали.'); - } else { - $pendingBotsCount = 0; - for ($i = 0; $i < $requiredFightersToStartBattle - $pendingFightersCount; $i++) { - shuffle($botUsers); - $botInfo = array_shift($botUsers); - $botData = [ - 'id' => $botInfo['id'], - 'login' => $botInfo['login'], - 'level' => $botInfo['level'], - 'city' => $botInfo['city'], - 'cityreg' => $botInfo['city'], - 'name' => $botInfo['login'], - 'sex' => $botInfo['sex'], - 'hobby' => '', - 'time_reg' => time(), - 'obraz' => $botInfo['obraz'], - 'stats' => $botInfo['stats'], - 'upLevel' => $botInfo['upLevel'], - 'priems' => $botInfo['priems'], - 'loclon' => true, - ]; - $bot = $this->u->addNewbot(1, null, $botData, null, true); - if (!$bot) { - continue; - } - Db::sql( - 'update stats set btl_cof = ?, zv = ?, hpNow = 1000000, mpNow = 1000000 where id = ?', - [$botInfo['btl_cof'], $zayavka['id'], $bot] - ); - Db::sql('update users set room = 303, battle = 0 where id = ?', [$bot]); - $pendingBotsCount++; - } - unset($botUsers, $botInfo, $botData, $bot); - - if ($pendingBotsCount + $pendingFightersCount >= $requiredFightersToStartBattle) { - $this->backTest = true; - self::$bcktst = true; - } - } - } else { - //Начинаем поединок - $this->startBattle($zayavka['id'], $toChat . '|-|' . $toWhere); - } - } - - /** Проверяем хаотичные и групповые бои [в этом городе ?] */ - private function testCronGroupAndChaotic(): void - { - $zv1k = Db::getRows( - 'select * from zayvki where btl_id = 0 and cancel = 0 and start = 0 and razdel in (4, 5) order by id desc' - ); - foreach ($zv1k as $zv) { - $i = []; - $toChat = $toWhere = ''; - $users = Db::getRows( - 'select * from stats left join users on stats.id = users.id where zv = ?', - [$zv['id']] - ); - foreach ($users as $user) { - ${'tm' . $user['team']} ??= []; - $i[$user['team']] ??= 0; - ${'tm' . $user['team']}[$i[$user['team']]] = $user; - $toChat .= $user['login'] . ','; - $toWhere .= 'OR id = ' . $user['id'] . ' '; - $i[$user['team']]++; - } - if ( - $zv['time_start'] > time() - $zv['time'] && - ($zv['razdel'] != self::BATTLE_RAZDEL_GROUP || $i[1] < $zv['tm1max'] || $i[2] < $zv['tm2max']) - ) { - continue; - } - $toChat = rtrim($toChat, ','); - $toWhere = ltrim($toWhere, 'OR '); - - if ($zv['razdel'] == self::BATTLE_RAZDEL_GROUP) { - $this->testGroup($i, $zv, $toChat, $toWhere); - } else { - $this->testCronChaotic($zv, $toChat, $toWhere); - } - } - } - - public function testCronZv() - { - $this->testCronGroupAndChaotic(); - - if ($this->backTest || self::$bcktst) { - self::$bcktst = false; - $this->testCronZv(); - } - - } - private function cancelGroup($zv, $uids, $debug = null) { Db::sql('update stats set zv = default where zv = ?', [$zv['id']]); @@ -342,10 +176,10 @@ class FightRequest Db::sql('delete from stats where id = ?', [$user['id']]); Db::sql('delete from items_users where uid = ?', [$user['id']]); Db::sql('delete from eff_users where uid = ?', [$user['id']]); - // \Core\ConversionHelper::dataStringToArray(4754, $user['id']); + // \Core\ConversionHelper::dataStringToArray(4754, $user['id']); } } else { - // \Core\ConversionHelper::dataStringToArray(4754, $user['id']); реликвии ангела + // \Core\ConversionHelper::dataStringToArray(4754, $user['id']); реликвии ангела } } return [ @@ -354,259 +188,6 @@ class FightRequest ]; } - private function addGroupRequest() - { - - } - - public function addGroupOrChaoticRequest(int $r) - { - if (!in_array($r, [self::BATTLE_RAZDEL_GROUP, self::BATTLE_RAZDEL_CHAOTIC])) { - return; - } - $k = (int)$_POST['k']; - $az = 1; - - if ($this->testTravm() == 1 && $k !== 1) { - $this->error = 'Вы травмированы. С такими увечьями доступны кулачные бои.'; - $az = 0; - } elseif ($this->testTravm() == 2) { - $this->error = 'Вы травмированы. С такими увечьями невозможно сражаться.'; - $az = 0; - } elseif ($this->u->isWeakened()) { - $this->error = 'Вы еще слишком ослаблены чтобы начать новый бой'; - $az = 0; - } - if ($this->u->info['zv'] > 0) { - $this->error = 'Вы уже находитесь в заявке.'; - $az = 0; - } - if ($az === 0) { - return; - } - - $timeout = (int)$_POST['timeout']; - - $nz = []; - $nz['travmaChance'] = 0; - $nz['time_start'] = 0; - $nz['tm1max'] = 0; - $nz['tm2max'] = 0; - $nz['invise'] = 0; - $nz['tm1'] = 0; - $nz['tm2'] = 0; - $nz['otmorozok'] = 0; - $nz['fastfight'] = 0; - $nz['noinc'] = 0; - $nz['type'] = 0; - - if ($k === 1) { - $nz['type'] = 1; - } - if ($k === 2) { - $nz['type'] = 6; - $nz['travmaChance'] = 100; - } - - if (!in_array($timeout, [1, 2, 3, 4, 5])) { - $timeout = 3; - } - - $nz['timeout'] = $timeout * 60; - $nz['razdel'] = $r; - - $nz['comment'] = substr($_POST['cmt'], 0, 40); - $nz['comment'] = str_replace('"', '"', $nz['comment']); - - $gad = 1; - - if ($r == self::BATTLE_RAZDEL_CHAOTIC) { - //хаотичный бой - if ($_POST['startime2']) { - $nz['time_start'] = (int)$_POST['startime2']; - - if (!in_array($nz['time_start'], [60, 180, 300])) { - $nz['time_start'] = 600; - } - - if (isset($_POST['mut_hidden'])) { - $nz['invise'] = 1; - } - if (isset($_POST['noinc'])) { - $nz['noinc'] = 1; - } - if (isset($_POST['fastfight'])) { - $nz['fastfight'] = 1; - } - if (isset($_POST['otmorozok'])) { - $nz['otmorozok'] = 1; - } - if (isset($_POST['nobot'])) { - $nz['nobot'] = 1; - } - if (isset($_POST['kingfight'])) { - $nz['kingfight'] = 1; - } - if (isset($_POST['arand'])) { - $nz['arand'] = 1; - } - if (isset($_POST['travma'])) { - $nz['travmaChance'] = 100; - } - if (isset($_POST['noatack'])) { - $nz['noatack'] = 1; - } - if (isset($_POST['noeff'])) { - $nz['noeff'] = 1; - } - if (isset($_POST['smert'])) { - $nz['smert'] = 1; - } - if (isset($_POST['noart'])) { - $nz['noart'] = 1; - } - if ($nz['kingfight'] == 1 && $nz['fastfight'] == 1) { - $nz['kingfight'] = 0; - } - - //Генерируем уровни - $levels = FRHelper::getChaoticTeammatesLevel($_POST['levellogin1'], $this->u->info['level']); - $nz['min_lvl_1'] = $levels->min; - $nz['max_lvl_1'] = $levels->max; - $nz['min_lvl_2'] = $levels->min; - $nz['max_lvl_2'] = $levels->max; - - $nz['tm1'] = $this->u->stats['reting']; - - if ( - !$this->u->info['no_zv_key'] && - ( - $_POST['code21'] == 0 || - $_POST['code21'] != $_SESSION['code2'] || - $_SESSION['code2'] == 0 || - !isset($_SESSION['code2']) - ) - ) { - $this->error = 'Неправильный код подтверждения'; - $gad = 0; - } - } else { - $gad = 0; - $this->error = 'Что-то не так...
'; - } - } elseif ($r == self::BATTLE_RAZDEL_GROUP) { - //групповой бой - //здесь заносим и проверяем данные на гурпповой бой - if ($_POST['startime']) { - $nz['time_start'] = (int)$_POST['startime']; - if (!in_array($nz['time_start'], [300, 600, 900, 1200, 1800])) { - $nz['time_start'] = 600; - } - - $nz['tm1max'] = ComparsionHelper::minimax((int)$_POST['nlogin1'], 1, 99); - $nz['tm2max'] = ComparsionHelper::minimax((int)$_POST['nlogin2'], 1, 99); - - //Генерируем уровни союзника - $levels = FRHelper::getTeammatesLevel($_POST['levellogin1'], $this->u->info['level']); - $nz['min_lvl_1'] = $levels->min; - $nz['max_lvl_1'] = $levels->max; - - //Генерируем уровни противника - $levels = FRHelper::getTeammatesLevel($_POST['levellogin2'], $this->u->info['level']); - $nz['min_lvl_2'] = $levels->min; - $nz['max_lvl_2'] = $levels->max; - - } else { - $gad = 0; - $this->error = 'Что-то не так...
'; - } - } - - $bt2 = (int)$_POST['bots2']; - if ($bt2 != 0 && $r == self::BATTLE_RAZDEL_GROUP) { - $bt2 = 1; - $nz['min_lvl_2'] = $this->u->info['level']; - $nz['max_lvl_2'] = $this->u->info['level']; - $nz['min_lvl_1'] = $this->u->info['level']; - $nz['max_lvl_1'] = $this->u->info['level']; - } else { - $bt2 = 0; - } - - if ($gad == 1) { - if ($nz['razdel'] == self::BATTLE_RAZDEL_CHAOTIC) { - $nz['maxplayers'] = (int)$_POST['players']; - } - - $dbvalues = [ - $nz['maxplayers'], - $nz['otmorozok'], - $nz['smert'], - $nz['noart'], - $nz['noeff'], - $nz['noatack'], - $nz['arand'], - $nz['kingfight'], - $nz['nobot'], - $nz['fastfight'], - $nz['noinc'], - $bt2, - strtotime(date('d.m.Y H:i:00')), - $this->u->info['city'], - $this->u->info['id'], - $nz['type'], - $nz['time_start'], - $nz['timeout'], - $nz['min_lvl_1'], - $nz['min_lvl_2'], - $nz['max_lvl_1'], - $nz['max_lvl_2'], - $nz['tm1max'], - $nz['tm2max'], - $nz['travmaChance'], - $nz['invise'], - $nz['razdel'], - $nz['comment'], - $nz['tm1'], - $nz['tm2'], - ]; - $dbquery = 'insert into zayvki (`maxplayers`,`otmorozok`,`smert`,`noart`,`noeff`,`noatack`,`arand`,`kingfight`,`nobot`,`fastfight`,`noinc`,`bot2`,`time`,`city`,`creator`,`type`,`time_start`,`timeout`,`min_lvl_1`,`min_lvl_2`,`max_lvl_1`,`max_lvl_2`,`tm1max`,`tm2max`,`travmaChance`,`invise`,`razdel`,`comment`,`tm1`,`tm2`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)'; - Db::run($dbquery, $dbvalues); - $zid = Db::lastInsertId(); - if ($zid) { - Db::sql('update stats set zv = ?, team = 1 where id = ?', [$zid, $this->u->info['id']]); - $this->u->info['zv'] = $zid; - $this->error = 'Заявка на бой подана'; - } else { - $this->error = 'Ошибка: Заявка не подана!'; - } - } - } - - /** - * Звуковой пинг в чат? - * @return void - * @todo убрать колхоз с условиями когда станет ясно как оно работает. - */ - private function sendSysChatSound(string $to = '', int $room = 0) - { - $cmsg = new ChatMessage(); - if (empty($to)) { - $cmsg->setTo($this->u->info['login']); - } else { - $cmsg->setTo($to); - } - if (empty($room)) { - $cmsg->setRoom($this->u->info['room']); - } else { - $cmsg->setRoom($room); - } - $cmsg->setCity($this->u->info['city']); - $cmsg->setType(11); - $cmsg->setSound(117); - (new Chat())->sendMsg($cmsg); - } - public function startBattle($id, $vars = null) { // что это? @@ -800,6 +381,411 @@ class FightRequest } } + /** + * Звуковой пинг в чат? + * @return void + * @todo убрать колхоз с условиями когда станет ясно как оно работает. + */ + private function sendSysChatSound(string $to = '', int $room = 0) + { + $cmsg = new ChatMessage(); + if (empty($to)) { + $cmsg->setTo($this->u->info['login']); + } else { + $cmsg->setTo($to); + } + if (empty($room)) { + $cmsg->setRoom($this->u->info['room']); + } else { + $cmsg->setRoom($room); + } + $cmsg->setCity($this->u->info['city']); + $cmsg->setType(11); + $cmsg->setSound(117); + (new Chat())->sendMsg($cmsg); + } + + private function testCronChaotic($zayavka, $toChat, $toWhere) + { + $chat = new Chat(); + $levelToExp = [ + 0 => 0, + 1 => 110, + 2 => 420, + 3 => 1300, + 4 => 2500, + 5 => 5000, + 6 => 12500, + 7 => 30000, + 8 => 300000, + 9 => 3000000, + 10 => 10000000, + 11 => 52000000, + 12 => 63000000, + 13 => 182000000, + 14 => 212000000, + 15 => 352000000, + 16 => 504000000, + 17 => 1187000000, + 18 => 2455000000, + 19 => 4387000000, + 20 => 6355000000, + 21 => 15500000000, + 22 => 755500000000, + ]; + $botUsers = []; + define('FAST_FIGHT_REQUIRED_FIGHTERS_COUNT', 2); + define('FIGHT_REQUIRED_FIGHTERS_COUNT', 6); + + $requiredFightersToStartBattle = FIGHT_REQUIRED_FIGHTERS_COUNT; + if ($zayavka['fastfight'] > 0) { + $requiredFightersToStartBattle = FAST_FIGHT_REQUIRED_FIGHTERS_COUNT; + } + + $pendingFightersCount = $this->countUsersAll($zayavka['id']); + if ($pendingFightersCount < $requiredFightersToStartBattle) { + //группа не набрана + //Добавляем недостающих игроков + if (!$zayavka['nobot']) { // Если нет запрета на ботов. + //$getRealPlayersQuery = 'select * from stats left join users on stats.id = users.id where exp >= ? and exp < ? and bot = 0 order by btl_cof desc limit 50'; + $getBotsQuery = 'select * from stats left join users on stats.id = users.id where bot = 2 and exp >= ? and exp < ?'; + $botUsers = Db::getRows( + $getBotsQuery, + [$levelToExp[$zayavka['min_lvl_1']], $levelToExp[$zayavka['max_lvl_1'] + 1]] + ); + } + + if (empty($botUsers)) { + $text = ' Не удалось начать поединок по причине: Группа не набрана. (' . $zayavka['id'] . ': 0 ' . $levelToExp[$zayavka['min_lvl_1']] . '-' . $levelToExp[$zayavka['max_lvl_1'] + 1] . ')'; + $chat->sendsys($text, 'Merlin'); + $this->cancelGroup($zayavka, $toChat, ' Боты проспали.'); + } else { + $pendingBotsCount = 0; + for ($i = 0; $i < $requiredFightersToStartBattle - $pendingFightersCount; $i++) { + shuffle($botUsers); + $botInfo = array_shift($botUsers); + $botData = [ + 'id' => $botInfo['id'], + 'login' => $botInfo['login'], + 'level' => $botInfo['level'], + 'city' => $botInfo['city'], + 'cityreg' => $botInfo['city'], + 'name' => $botInfo['login'], + 'sex' => $botInfo['sex'], + 'hobby' => '', + 'time_reg' => time(), + 'obraz' => $botInfo['obraz'], + 'stats' => $botInfo['stats'], + 'upLevel' => $botInfo['upLevel'], + 'priems' => $botInfo['priems'], + 'loclon' => true, + ]; + $bot = $this->u->addNewbot(1, null, $botData, null, true); + if (!$bot) { + continue; + } + Db::sql( + 'update stats set btl_cof = ?, zv = ?, hpNow = 1000000, mpNow = 1000000 where id = ?', + [$botInfo['btl_cof'], $zayavka['id'], $bot] + ); + Db::sql('update users set room = 303, battle = 0 where id = ?', [$bot]); + $pendingBotsCount++; + } + unset($botUsers, $botInfo, $botData, $bot); + + if ($pendingBotsCount + $pendingFightersCount >= $requiredFightersToStartBattle) { + $this->backTest = true; + self::$bcktst = true; + } + } + } else { + //Начинаем поединок + $this->startBattle($zayavka['id'], $toChat . '|-|' . $toWhere); + } + } + + public function testCronZv() + { + $this->testCronGroupAndChaotic(); + + if ($this->backTest || self::$bcktst) { + self::$bcktst = false; + $this->testCronZv(); + } + + } + + /** Проверяем хаотичные и групповые бои [в этом городе ?] */ + private function testCronGroupAndChaotic(): void + { + $zv1k = Db::getRows( + 'select * from zayvki where btl_id = 0 and cancel = 0 and start = 0 and razdel in (4, 5) order by id desc' + ); + foreach ($zv1k as $zv) { + $i = []; + $toChat = $toWhere = ''; + $users = Db::getRows( + 'select * from stats left join users on stats.id = users.id where zv = ?', + [$zv['id']] + ); + foreach ($users as $user) { + ${'tm' . $user['team']} ??= []; + $i[$user['team']] ??= 0; + ${'tm' . $user['team']}[$i[$user['team']]] = $user; + $toChat .= $user['login'] . ','; + $toWhere .= 'OR id = ' . $user['id'] . ' '; + $i[$user['team']]++; + } + if ( + $zv['time_start'] > time() - $zv['time'] && + ($zv['razdel'] != self::BATTLE_RAZDEL_GROUP || $i[1] < $zv['tm1max'] || $i[2] < $zv['tm2max']) + ) { + continue; + } + $toChat = rtrim($toChat, ','); + $toWhere = ltrim($toWhere, 'OR '); + + if ($zv['razdel'] == self::BATTLE_RAZDEL_GROUP) { + $this->testGroup($i, $zv, $toChat, $toWhere); + } else { + $this->testCronChaotic($zv, $toChat, $toWhere); + } + } + } + + public function addGroupOrChaoticRequest(int $r) + { + if (!in_array($r, [self::BATTLE_RAZDEL_GROUP, self::BATTLE_RAZDEL_CHAOTIC])) { + return; + } + $k = (int)$_POST['k']; + $az = 1; + + if ($this->testTravm() == 1 && $k !== 1) { + $this->error = 'Вы травмированы. С такими увечьями доступны кулачные бои.'; + $az = 0; + } elseif ($this->testTravm() == 2) { + $this->error = 'Вы травмированы. С такими увечьями невозможно сражаться.'; + $az = 0; + } elseif ($this->u->isWeakened()) { + $this->error = 'Вы еще слишком ослаблены чтобы начать новый бой'; + $az = 0; + } + if ($this->u->info['zv'] > 0) { + $this->error = 'Вы уже находитесь в заявке.'; + $az = 0; + } + if ($az === 0) { + return; + } + + $timeout = (int)$_POST['timeout']; + + $nz = []; + $nz['travmaChance'] = 0; + $nz['time_start'] = 0; + $nz['tm1max'] = 0; + $nz['tm2max'] = 0; + $nz['invise'] = 0; + $nz['tm1'] = 0; + $nz['tm2'] = 0; + $nz['otmorozok'] = 0; + $nz['fastfight'] = 0; + $nz['noinc'] = 0; + $nz['type'] = 0; + + if ($k === 1) { + $nz['type'] = 1; + } + if ($k === 2) { + $nz['type'] = 6; + $nz['travmaChance'] = 100; + } + + if (!in_array($timeout, [1, 2, 3, 4, 5])) { + $timeout = 3; + } + + $nz['timeout'] = $timeout * 60; + $nz['razdel'] = $r; + + $nz['comment'] = substr($_POST['cmt'], 0, 40); + $nz['comment'] = str_replace('"', '"', $nz['comment']); + + $gad = 1; + + if ($r == self::BATTLE_RAZDEL_CHAOTIC) { + //хаотичный бой + if ($_POST['startime2']) { + $nz['time_start'] = (int)$_POST['startime2']; + + if (!in_array($nz['time_start'], [60, 180, 300])) { + $nz['time_start'] = 600; + } + + if (isset($_POST['mut_hidden'])) { + $nz['invise'] = 1; + } + if (isset($_POST['noinc'])) { + $nz['noinc'] = 1; + } + if (isset($_POST['fastfight'])) { + $nz['fastfight'] = 1; + } + if (isset($_POST['otmorozok'])) { + $nz['otmorozok'] = 1; + } + if (isset($_POST['nobot'])) { + $nz['nobot'] = 1; + } + if (isset($_POST['kingfight'])) { + $nz['kingfight'] = 1; + } + if (isset($_POST['arand'])) { + $nz['arand'] = 1; + } + if (isset($_POST['travma'])) { + $nz['travmaChance'] = 100; + } + if (isset($_POST['noatack'])) { + $nz['noatack'] = 1; + } + if (isset($_POST['noeff'])) { + $nz['noeff'] = 1; + } + if (isset($_POST['smert'])) { + $nz['smert'] = 1; + } + if (isset($_POST['noart'])) { + $nz['noart'] = 1; + } + if ($nz['kingfight'] == 1 && $nz['fastfight'] == 1) { + $nz['kingfight'] = 0; + } + + //Генерируем уровни + $levels = FRHelper::getChaoticTeammatesLevel($_POST['levellogin1'], $this->u->info['level']); + $nz['min_lvl_1'] = $levels->min; + $nz['max_lvl_1'] = $levels->max; + $nz['min_lvl_2'] = $levels->min; + $nz['max_lvl_2'] = $levels->max; + + $nz['tm1'] = $this->u->stats['reting']; + + if ( + !$this->u->info['no_zv_key'] && + ( + $_POST['code21'] == 0 || + $_POST['code21'] != $_SESSION['code2'] || + $_SESSION['code2'] == 0 || + !isset($_SESSION['code2']) + ) + ) { + $this->error = 'Неправильный код подтверждения'; + $gad = 0; + } + } else { + $gad = 0; + $this->error = 'Что-то не так...
'; + } + } elseif ($r == self::BATTLE_RAZDEL_GROUP) { + //групповой бой + //здесь заносим и проверяем данные на гурпповой бой + if ($_POST['startime']) { + $nz['time_start'] = (int)$_POST['startime']; + if (!in_array($nz['time_start'], [300, 600, 900, 1200, 1800])) { + $nz['time_start'] = 600; + } + + $nz['tm1max'] = Comparsion::minimax((int)$_POST['nlogin1'], 1, 99); + $nz['tm2max'] = Comparsion::minimax((int)$_POST['nlogin2'], 1, 99); + + //Генерируем уровни союзника + $levels = FRHelper::getTeammatesLevel($_POST['levellogin1'], $this->u->info['level']); + $nz['min_lvl_1'] = $levels->min; + $nz['max_lvl_1'] = $levels->max; + + //Генерируем уровни противника + $levels = FRHelper::getTeammatesLevel($_POST['levellogin2'], $this->u->info['level']); + $nz['min_lvl_2'] = $levels->min; + $nz['max_lvl_2'] = $levels->max; + + } else { + $gad = 0; + $this->error = 'Что-то не так...
'; + } + } + + $bt2 = (int)$_POST['bots2']; + if ($bt2 != 0 && $r == self::BATTLE_RAZDEL_GROUP) { + $bt2 = 1; + $nz['min_lvl_2'] = $this->u->info['level']; + $nz['max_lvl_2'] = $this->u->info['level']; + $nz['min_lvl_1'] = $this->u->info['level']; + $nz['max_lvl_1'] = $this->u->info['level']; + } else { + $bt2 = 0; + } + + if ($gad == 1) { + if ($nz['razdel'] == self::BATTLE_RAZDEL_CHAOTIC) { + $nz['maxplayers'] = (int)$_POST['players']; + } + + $dbvalues = [ + $nz['maxplayers'], + $nz['otmorozok'], + $nz['smert'], + $nz['noart'], + $nz['noeff'], + $nz['noatack'], + $nz['arand'], + $nz['kingfight'], + $nz['nobot'], + $nz['fastfight'], + $nz['noinc'], + $bt2, + strtotime(date('d.m.Y H:i:00')), + $this->u->info['city'], + $this->u->info['id'], + $nz['type'], + $nz['time_start'], + $nz['timeout'], + $nz['min_lvl_1'], + $nz['min_lvl_2'], + $nz['max_lvl_1'], + $nz['max_lvl_2'], + $nz['tm1max'], + $nz['tm2max'], + $nz['travmaChance'], + $nz['invise'], + $nz['razdel'], + $nz['comment'], + $nz['tm1'], + $nz['tm2'], + ]; + $dbquery = 'insert into zayvki (`maxplayers`,`otmorozok`,`smert`,`noart`,`noeff`,`noatack`,`arand`,`kingfight`,`nobot`,`fastfight`,`noinc`,`bot2`,`time`,`city`,`creator`,`type`,`time_start`,`timeout`,`min_lvl_1`,`min_lvl_2`,`max_lvl_1`,`max_lvl_2`,`tm1max`,`tm2max`,`travmaChance`,`invise`,`razdel`,`comment`,`tm1`,`tm2`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)'; + Db::run($dbquery, $dbvalues); + $zid = Db::lastInsertId(); + if ($zid) { + Db::sql('update stats set zv = ?, team = 1 where id = ?', [$zid, $this->u->info['id']]); + $this->u->info['zv'] = $zid; + $this->error = 'Заявка на бой подана'; + } else { + $this->error = 'Ошибка: Заявка не подана!'; + } + } + } + + private function testTravm() + { + $tr = Db::getValue( + 'select v1 from eff_users where id_eff = 4 and `delete` = 0 and uid = ? order by v1 desc limit 1', + [$this->u->info['id']] + ); + return $tr ? $tr - 1 : 0; + } + public function getCurrentStatus(array $zi, int $r) { // нахуй статус @@ -823,6 +809,16 @@ class FightRequest echo '
Ваш бой начнется через ' . $tm_start . ' мин.'; } + /** Дописывает значение после точки, если такового нет. 1 -> 1.0, 1.1 -> 1.1 + * @param string $str + * @return string + */ + public function rzv(string $str): string + { + $symbols = explode('.', $str); + return isset($symbols[1]) ? $symbols[0] . '.' . $symbols[1] : $symbols[0] . '.0'; + } + public function getEndedBattlesList(string $slogin, int $dt) { $code = PassGen::intCode(); @@ -1000,16 +996,6 @@ class FightRequest /** Конец турниров от Insallah. */ } - /** Дописывает значение после точки, если такового нет. 1 -> 1.0, 1.1 -> 1.1 - * @param string $str - * @return string - */ - public function rzv(string $str): string - { - $symbols = explode('.', $str); - return isset($symbols[1]) ? $symbols[0] . '.' . $symbols[1] : $symbols[0] . '.0'; - } - public function seeZv(array $zi, int $r) { $code = PassGen::intCode(); @@ -1253,6 +1239,41 @@ class FightRequest return $this->u->info['id']; } + /** Считаем количество людей в конкретной заявке во второй команде. + * @param int $frId id заявки + * @return int + */ + private function countUsersInTeam2(int $frId): int + { + return Db::getValue('select count(*) from stats where zv = ? and team = 2', [$frId]); + } + + public function go(int $id) + { + global $zi; + if (empty($id) || !empty($this->u->info['battle'])) { + return; + } + if (isset($zi['id'])) { + $this->error = 'Вы не можете принять бой. Сначала отзовите свою заявку.'; + return; + } + + $z = Db::getRow( + 'select * from zayvki where id = ? and start = 0 and cancel = 0 and time > unix_timestamp() - 60*60*2', + [$id] + ); + if (!isset($z['id'])) { + $this->error = 'Заявка на бой не найдена.'; + return; + } + if ($z['razdel'] == self::BATTLE_RAZDEL_GROUP) { + $this->joinGroup($z); + } elseif ($z['razdel'] == self::BATTLE_RAZDEL_CHAOTIC) { + $this->joinChaotic($z); + } + } + /** Принять групповую заявку. * @param array $z заявка * @return void @@ -1592,7 +1613,7 @@ class FightRequest $items = $classItems[$sellclass]; foreach ($items as $slot => $itemId) { - $re = \Core\ConversionHelper::dataStringToArray($itemId, $uidb); + $re = Helper\Conversion::dataStringToArray($itemId, $uidb); $stmt1->execute([$slot, $re]); $stmt2->execute([$itemId, $re]); } @@ -1609,29 +1630,8 @@ class FightRequest echo ''; } - public function go(int $id) + private function addGroupRequest() { - global $zi; - if (empty($id) || !empty($this->u->info['battle'])) { - return; - } - if (isset($zi['id'])) { - $this->error = 'Вы не можете принять бой. Сначала отзовите свою заявку.'; - return; - } - $z = Db::getRow( - 'select * from zayvki where id = ? and start = 0 and cancel = 0 and time > unix_timestamp() - 60*60*2', - [$id] - ); - if (!isset($z['id'])) { - $this->error = 'Заявка на бой не найдена.'; - return; - } - if ($z['razdel'] == self::BATTLE_RAZDEL_GROUP) { - $this->joinGroup($z); - } elseif ($z['razdel'] == self::BATTLE_RAZDEL_CHAOTIC) { - $this->joinChaotic($z); - } } } diff --git a/_incl_data/class/Core/ArraySorter.php b/_incl_data/class/Helper/ArraySorter.php similarity index 99% rename from _incl_data/class/Core/ArraySorter.php rename to _incl_data/class/Helper/ArraySorter.php index ab59288d..115bffc0 100644 --- a/_incl_data/class/Core/ArraySorter.php +++ b/_incl_data/class/Helper/ArraySorter.php @@ -1,6 +1,6 @@ 1, b=>2, c=>3]. * @param string $dataString diff --git a/_incl_data/class/Insallah/Core/Math.php b/_incl_data/class/Helper/Math.php similarity index 97% rename from _incl_data/class/Insallah/Core/Math.php rename to _incl_data/class/Helper/Math.php index 32430fa9..1a81186a 100644 --- a/_incl_data/class/Insallah/Core/Math.php +++ b/_incl_data/class/Helper/Math.php @@ -1,6 +1,6 @@ ' . implode('', $row) . ''; } diff --git a/_incl_data/class/Insallah/Config.php b/_incl_data/class/Insallah/Config.php deleted file mode 100644 index e63d9149..00000000 --- a/_incl_data/class/Insallah/Config.php +++ /dev/null @@ -1,16 +0,0 @@ -startAllBattles(); -//} \ No newline at end of file diff --git a/_incl_data/class/Insallah/Math.php b/_incl_data/class/Insallah/Math.php deleted file mode 100644 index 8b329b08..00000000 --- a/_incl_data/class/Insallah/Math.php +++ /dev/null @@ -1,37 +0,0 @@ - 0 ? round(($number * 100) / $total, 2) : 0; - } - - - public static function get100Percentage($total, int $number) - { - return min(self::getPercentage($total, $number), 100); - } - - /** Number-20% and Number+20% */ - public static function get20PercentRange($number): array - { - return [ - 'min' => $number * ((100 - 20) / 100), - 'max' => $number * ((100 + 20) / 100), - ]; - } - - public static function addPercent($num, $percent) - { - return $num + (($percent / 100) * $num); - } -} \ No newline at end of file diff --git a/_incl_data/class/Insallah/Table.php b/_incl_data/class/Insallah/Table.php deleted file mode 100644 index b704f81a..00000000 --- a/_incl_data/class/Insallah/Table.php +++ /dev/null @@ -1,22 +0,0 @@ -' . implode('', $row) . ''; - } - - return (!empty($class) ? "" : '
') . $c . '
' . PHP_EOL; - } -} \ No newline at end of file diff --git a/_incl_data/class/Item/DataModel.php b/_incl_data/class/Item/DataModel.php index 00877e4d..69e476c1 100644 --- a/_incl_data/class/Item/DataModel.php +++ b/_incl_data/class/Item/DataModel.php @@ -2,8 +2,8 @@ namespace Item; -use Core\ConversionHelper; use Core\Db; +use Helper\Conversion; class DataModel { @@ -15,7 +15,7 @@ class DataModel if (empty($datastring)) { return; } - $this->data = ConversionHelper::dataStringToArray($datastring); + $this->data = Conversion::dataStringToArray($datastring); } public function getAll(): array diff --git a/_incl_data/class/Location/Shop.php b/_incl_data/class/Location/Shop.php index a5eaabbc..bc46b03a 100644 --- a/_incl_data/class/Location/Shop.php +++ b/_incl_data/class/Location/Shop.php @@ -3,9 +3,9 @@ namespace Location; use Core\Config; -use Core\ConversionHelper; use Core\Db; use Delo; +use Helper\Conversion; use Item\Data\Bonuses; use Item\Data\Properties; use Item\Data\Requirements; @@ -234,7 +234,7 @@ class Shop } if ($itemData['battleUseZd'] > 0) { - $is2 .= 'Задержка использования: ' . ConversionHelper::secondsToTimeout($itemData['battleUseZd']) . '
'; + $is2 .= 'Задержка использования: ' . Conversion::secondsToTimeout($itemData['battleUseZd']) . '
'; } $is2 = rtrim($is2, '
'); @@ -244,7 +244,7 @@ class Shop $pl['srok'] = $itemData['srok']; } if ($pl['srok'] > 0) { - $is2 .= '
Срок годности: ' . ConversionHelper::secondsToTimeout($pl['srok']); + $is2 .= '
Срок годности: ' . Conversion::secondsToTimeout($pl['srok']); } if ($pl['magic_chance'] > 0) { $is2 .= '
Вероятность срабатывания: ' . min([$pl['magic_chance'], 100]) . '%'; @@ -255,7 +255,7 @@ class Shop $magicDuration = Db::getValue('select actiontime from eff_main where id2 = ?', [(int)$pl['magic_inci']]); if ($magicDuration > 0) { - $is2 .= '
Продолжительность действия: ' . ConversionHelper::secondsToTimeout($magicDuration); + $is2 .= '
Продолжительность действия: ' . Conversion::secondsToTimeout($magicDuration); } } @@ -503,7 +503,7 @@ HTML; $cname = $row['name']; $text .= '  • ' . $row['x'] . ' предметов:
'; //действие комплекта - $complectBonuses = new Bonuses(ConversionHelper::dataStringToArray($row['data'])); + $complectBonuses = new Bonuses(Conversion::dataStringToArray($row['data'])); foreach ($complectBonuses->get() as $name => $value) { $text .= '    '; if ($name === 'Броня') { diff --git a/_incl_data/class/Magic.php b/_incl_data/class/Magic.php index 6db881c3..aadacbbd 100644 --- a/_incl_data/class/Magic.php +++ b/_incl_data/class/Magic.php @@ -1,7 +1,7 @@ unstack($itm['id'], 1); } - $st = ConversionHelper::dataStringToArray($itm['data']); + $st = Conversion::dataStringToArray($itm['data']); if (isset($st['tr_lvl']) && $st['tr_lvl'] > $u->info['level']) { $u->error = 'Вы слишком малы чтобы использовать данный предмет '; @@ -100,7 +100,7 @@ class Magic } elseif (isset($st['usefromfile'])) { //используем заклятие - $st = ConversionHelper::dataStringToArray($itm['data']); + $st = Conversion::dataStringToArray($itm['data']); if (isset($st['zazuby']) && $_GET['login'] != $u->info['login']) { //unset($st['useOnLogin']); $_GET['login'] = $u->info['login']; @@ -321,7 +321,7 @@ class Magic //--------------- } elseif ($itm['type'] == 29) { //используем заклятие - $st = ConversionHelper::dataStringToArray($itm['data']); + $st = Conversion::dataStringToArray($itm['data']); if (isset($st['zazuby']) && $_GET['login'] != $u->info['login']) { //unset($st['useOnLogin']); $_GET['login'] = $u->info['login']; @@ -665,7 +665,7 @@ class Magic } } elseif ($itm['magic_inci'] == 'cureHP') { //Реген НР,MP - $po = ConversionHelper::dataStringToArray($itm['data']); + $po = Conversion::dataStringToArray($itm['data']); if ($u->info['battle'] > 0) { //используем свиток в поединке $bu = mysql_fetch_array( @@ -833,7 +833,7 @@ class Magic } } elseif ($itm['magic_inci'] == 'cureMP') { //Реген НР,MP - $po = ConversionHelper::dataStringToArray($itm['data']); + $po = Conversion::dataStringToArray($itm['data']); if ($u->info['battle'] > 0) { //используем свиток в поединке $bu = mysql_fetch_array( diff --git a/_incl_data/class/Magic/Attack.php b/_incl_data/class/Magic/Attack.php index 77c67e72..a3b1b840 100644 --- a/_incl_data/class/Magic/Attack.php +++ b/_incl_data/class/Magic/Attack.php @@ -6,7 +6,7 @@ use Chat; use ChatMessage; use Core\Config; use Core\Db; -use Insallah\Math; +use Helper\Math; use Magic; use User; diff --git a/_incl_data/class/Magic/Elemental/Fire.php b/_incl_data/class/Magic/Elemental/Fire.php index 21205599..20a95c97 100644 --- a/_incl_data/class/Magic/Elemental/Fire.php +++ b/_incl_data/class/Magic/Elemental/Fire.php @@ -3,14 +3,13 @@ namespace Magic\Elemental; use Battle; -use Insallah\Math; +use DTO\BattleSpell; +use Helper\Math; class Fire { - private $btl; - private $color = '#a00'; - private $colorCrit = '#f00'; - private $colorMiss = '#909090'; + private static string $magicElement = 'fire'; + private Battle $btl; public function __construct(Battle $btl) { @@ -18,11 +17,11 @@ class Fire } /** Вспышка. Приёмы: 34(8), 67(9), 68 (10), 69(11) - * @param $level - * @param $fireTargetMultiplier - * @return array + * @param int $level + * @param int $fireTargetMultiplier + * @return BattleSpell */ - public function Flash($level, $fireTargetMultiplier = 0) + public function flash(int $level, int $fireTargetMultiplier = 0): BattleSpell { $baseDamage = [ 8 => [40, 40], @@ -30,17 +29,16 @@ class Fire 10 => [50, 50], 11 => [60, 60], ]; + if (!is_numeric($fireTargetMultiplier)) { $fireTargetMultiplier = 0; } $rawDamage = mt_rand($baseDamage[$level][0], $baseDamage[$level][1]); $rawDamage = Math::addPercent($rawDamage, $fireTargetMultiplier); - return [ - 'name' => "Вспышка [$level]", - 'damage' => $rawDamage, - 'color' => $this->color, - 'colorCrit' => $this->colorCrit, - 'colorMiss' => $this->colorMiss, - ]; + + $spell = new BattleSpell(self::$magicElement); + $spell->name = "Вспышка [$level]"; + $spell->damage = $rawDamage; + return $spell; } -} \ No newline at end of file +} diff --git a/_incl_data/class/Magic/feerverks.php b/_incl_data/class/Magic/feerverks.php index 3d1459f9..4faa4fad 100644 --- a/_incl_data/class/Magic/feerverks.php +++ b/_incl_data/class/Magic/feerverks.php @@ -1,6 +1,6 @@ room['id'] != '9') { $cmsg->setType(6); $cmsg->setTypeTime(2); - $po = ConversionHelper::dataStringToArray($itm['data']); + $po = Conversion::dataStringToArray($itm['data']); $fid = 'fw04'; if (isset($po['feerverk_eff'])) { $fid = $po['feerverk_eff']; diff --git a/_incl_data/class/Priems.php b/_incl_data/class/Priems.php index 23657abe..b017b4ce 100644 --- a/_incl_data/class/Priems.php +++ b/_incl_data/class/Priems.php @@ -1,9 +1,9 @@ users[]['eff'] после использования, в противном случаи некотрые приемы используются через 1 ход @@ -11,12 +11,13 @@ use Insallah\Math; class Priems { - private $btl; - private $u; const FIRE = 'fire'; const WATER = 'water'; const AIR = 'air'; const EARTH = 'earth'; + public $ue = []; + private $btl; + private $u; private $mname = [ 'огонь' => 1, 'воздух' => 2, @@ -26,7 +27,6 @@ class Priems 'тьма' => 6, 'серая' => 7, ]; - public $ue = []; private $logColor = [ 'crit' => '#f00', 'miss' => '#888', @@ -43,59 +43,6 @@ class Priems $this->u = User::start(); } - /**@deprecated try to use getDynamicInfo()*/ - private function getdr($s, $v, $d) - { - $i = 0; - while ($i < count($v)) { - if (isset($v[$i])) { - $s = str_replace('{' . $v[$i] . '}', $d[$i], $s); - } - $i++; - } - $s = eval("return (" . $s . ");"); - return floor($s); - } - - /** - * @param $match - * @return false|float - */ - private function getDynamicInfo($match) - { - $tmpl = [ - 'lvl1' => $this->u->info['level'], - 'ts5' => $this->u->stats['s5'], - 'mpAll' => $this->u->stats['mpAll'], - ]; - foreach ($tmpl as $k => $v) { - $match = str_ireplace('{' . $k . '}', $v, $match); - } - $p = $match[2]; - - if (preg_match('/(\d+)(?:\s*)([+\-*\/])(?:\s*)(\d+)/', $match[2], $matches) !== false) { - $operator = $matches[2]; - - switch ($operator) { - case '+': - $p = $matches[1] + $matches[3]; - break; - case '-': - $p = $matches[1] - $matches[3]; - break; - case '*': - $p = $matches[1] * $matches[3]; - break; - case '/': - $p = $matches[1] / $matches[3]; - break; - default: - } - } - return floor($p); - } - - /** Набив Статики * @param int $uid если 0, будет использоваться id противника напротив. * @return void @@ -114,7 +61,7 @@ class Priems } $x++; $data['add_mg2static_points'] = $x; - $data = ConversionHelper::arrayToDataString($data); + $data = Conversion::arrayToDataString($data); Db::sql( 'update eff_users set x = ?, data = ? where uid = ? and `delete` = 0 and v2 = 260 and user_use = ?', [$x, $data, $uid, $this->u->info['id']] @@ -144,33 +91,15 @@ class Priems return $mpNow > 0; } - /** Какой-то нестандартный частный расчет маг.крита - * @param $l2 - * @param $t - * @return int - */ - public function magKrit($l2, $t) + private function zeromax($num, $max) { - $r = $l2 * 2 - 7; - if ($r > $t) { - //магический промах (серый удар, в 2 раза меньше) 6% - //250 ед. защиты от магии дает 1% шанса увернуться от магии - //$r = -1; , промах -- - $r = 0; - } else { - //каждая владелка дает 3% шанс крита - $r = ceil($t * 0.75); - if ($r > 30) { - $r = 30; - } - if (rand(0, 10000) < $r * 100) { - //крит удар - $r = 1; - } else { - $r = 0; - } + if ($num <= 0) { + return 0; } - return $r; + if ($num > $max) { + $num = $max; + } + return $num; } /** используем прием каждый ход @@ -202,220 +131,6 @@ class Priems return $return_main; } - /** Получает строку data c шаблонной записью типа add_m11=2*{lvl1} и конвертирует в реальную строку. - *
Шаблон:
lvl1 = $uid[level]
ts5 = $uid[s5]
mpAll = $uid[mpAll] - * @param string $pl строка в формате data - * @param int $uid пользователь, параметры которого используются для подставки в шаблон. - * @return string строка в формате data с развёрнутыми шаблонами. - */ - public function redate($pl, $uid) - { - global $btl; - $i = 0; - if ($pl != '') { - $e = explode('|', $pl); - while ($i < count($e)) { - $f = explode('=', $e[$i]); -// $f[1] = $this->getdr( -// $f[1], [0 => 'lvl1', 1 => 'ts5', 2 => 'mpAll'], [ -// 0 => $btl->users[$btl->uids[$uid]]['level'], -// 1 => $btl->stats[$btl->uids[$uid]]['s5'], -// 2 => $btl->stats[$btl->uids[$uid]]['mpAll'], -// ] -// ); - $f[1] = $this->getDynamicInfo($f[1]); - if ($f[0] != '' && $f[1] != '') { - $e[$i] = implode('=', $f); - } - $i++; - } - $pl = implode('|', $e); - } - return $pl; - } - - private function cancelEffects($effects_ids, $uid, Battle $btl) - { - $arr = explode(',', $effects_ids); - if (!is_array($arr) || empty($arr)) { - return; - } - foreach ($arr as $eid) { - if ($eid <= 0) { - continue; - } - $p = Db::getRow( - 'select * from eff_users where uid = ? and v1 = ? and v2 = ? and `delete` = 0', [$uid, 'priem', $eid] - ); - if (!$p['id']) { - continue; - } - $p['priem'] = Db::getRow('select * from priems where id = ?', [$eid]); - $btl->delPriem($p, $btl->users[$btl->uids[$uid]], 2); - } - } - - /* uid - на кого кастуем - pr - id приема - data - дата, если -1, то добавляем дату3 - d2 - добавляем дату3 - tm - время использования, 77 - вечно - h - кол-во "вечных" ходов - uu - id юзера который использовал - tp - тип приема - */ - /** - * @param int $uid на кого кастуем - * @param int $pr id приема - * @param int|string $data дата, если -1, то добавляем дату3 - * @param int $d2 - * @param $tm - * @param int $h ход - * @param int $uu id юзера который использовал - * @param $max - * @param $bj - * @param $tp - * @param $ch - * @param $rdt - * @param $tr_life_user - * @param $noupdatebtl - * @param $noplus - * @param $pname - * @return bool - */ - public function addPriem( - $uid, - $pr, - $data, - $d2, - $tm, - $h, - $uu, - $max, - $bj, - $tp = 0, - $ch = 0, - $rdt = 0, - $tr_life_user = 0, - $noupdatebtl = 0, - $noplus = 0, - $pname = null - ) { - global $btl; - //$pl = mysql_fetch_assoc(mysql_query('SELECT * FROM `priems` WHERE `id` = ' . (int)$pr)); - $pl = Db::getRow('select * from priems where id = ?', [$pr]); - - $r = false; - - if (!$pl['id']) { - return false; - } - - if ($data == -1) { - $data = $this->redate($pl['date3'], $this->u->info['id']); - } elseif ($d2 == 1) { - $data .= '|' . $this->redate($pl['date3'], $this->u->info['id']); - } - - $this->cancelEffects($pl['cancel_eff2'], $uid, $btl); - - if ($max <= 0) { - return false; - } - - if ($noplus == 0) { - if ($pl['zmu'] == 1) { - $num = Db::getRow( - 'select * from eff_users where bj = ? and user_use = ? and uid = ? and `delete` = 0', - [$bj, $this->u->info['id'], $uid] - ); - } else { - $num = Db::getRow( - 'select * from eff_users where bj = ? and uid = ? and `delete` = 0', - [$bj, $uid] - ); - } - } - - if (isset($num['id']) && ($num['user_use'] != $this->u->info['id'] && $pl['zmu'] != 2)) { - // удаляем эффект - Db::sql( - 'update eff_users set `delete` = unix_timestamp() where id = ?', - [$num['id']] - ); - $i = 0; - while ($i < count($btl->stats[$btl->uids[$uid]]['effects'])) { - if ($btl->stats[$btl->uids[$uid]]['effects'][$i]['id'] == $num['id']) { - //обновляем - $btl->stats[$btl->uids[$uid]]['effects'][$i]['delete'] = time(); - } - $i++; - } - unset($num); - } - if (!isset($num['id'])) { - $q = 'insert into eff_users (tr_life_user, bj, user_use, hod, v2, img2, id_eff, uid, name, data, overType, timeUse, v1) values (?,?,?,?,?,?,?,?,?,?,?,?,?)'; - $image = !empty($pl['img']) ? $pl['img'] : $pl['id']; - $name = !empty($pname) ? $pname : $pl['name']; - $image .= '.gif'; - Db::sql( - $q, [floor($tr_life_user), $bj, $uu, $h, $pl['id'], $image, 22, $uid, $name, $data, 0, $tm, 'priem'] - ); - $lid = Db::lastInsertId(); - if ($lid) { - $r = true; - } - - /* добавляем данные к $btl->eff */ - if ($noupdatebtl == 0) { - $btl->stats[$btl->uids[$uid]] = $this->u->getStats($uid, 0); - } - } elseif ($num['x'] < $max) { - //Добавляем еще и обновляем заряды - $num['x']++; - $num['hod'] = $h; - if ($data != -1 && $data != '' && $d2 == 2) { - $num['data'] .= '|' . $data; - Db::sql( - 'update eff_users set x = x + 1, hod = ?, data = ? where id = ?', - [$h, $num['data'], $num['id']] - ); - } else { - Db::sql( - 'update eff_users set x = x + 1, hod = ? where id = ?', - [$h, $num['id']] - ); - } - $r = true; - } else { - //обновляем заряды - $num['hod'] = $h; - if ($data != -1 && $data != '' && $d2 == 2) { - $num['data'] .= '|' . $data; - Db::sql("update eff_users set hod = ?, data = ? where id = ?", [$h, $num['data'], $num['id']]); - } else { - Db::sql( - 'update eff_users set hod = ? where id = ?', - [$h, $num['id']] - ); - } - $r = true; - } - - if (isset($num['id'])) { - foreach ($btl->stats[$btl->uids[$uid]]['effects'] as $effect) { - if ($effect['id'] != $num['id']) { - continue; - } - $effect['data'] = $num['data']; - $effect['hod'] = $num['hod']; - $effect['x'] = $num['x']; - } - } - - return $r; - } - public function magicRegen($ue, $hpmin, $tmp, $pl, $eff, $rp = 0, $dp = 0, $krituet = true, $dopyrn = 0) { global $btl; @@ -500,7 +215,7 @@ class Priems mysql_query('SELECT * FROM `priems` WHERE `id` = "' . $pl2['v2'] . '" LIMIT 1') ); if (isset($pl2['priem']['id'])) { - $dt1 = ConversionHelper::dataStringToArray($pl2['priem']['date2']); + $dt1 = Conversion::dataStringToArray($pl2['priem']['date2']); if (isset($dt1['yron_u2'])) { $minu = $this->getdr( @@ -591,47 +306,166 @@ class Priems return $rr; } - /** Проверка есть ли на персонаже призрачные защиты для рассчёта урона через magicAttack - * @return array + /** Какой-то нестандартный частный расчет маг.крита + * @param $l2 + * @param $t + * @return int */ - private function hasGhostDefence($uid) + public function magKrit($l2, $t) { - $def = [ - 'all' => false, - self::FIRE => false, - self::AIR => false, - self::EARTH => false, - self::WATER => false, - ]; - $priems = Db::getRows('select v2 from eff_users where uid = ? and v2 in (141, 142, 144, 145, 146)', [$uid]); - foreach ($priems as $priem) { - if ($priem['v2'] == 141) { - $def['all'] = true; + $r = $l2 * 2 - 7; + if ($r > $t) { + //магический промах (серый удар, в 2 раза меньше) 6% + //250 ед. защиты от магии дает 1% шанса увернуться от магии + //$r = -1; , промах -- + $r = 0; + } else { + //каждая владелка дает 3% шанс крита + $r = ceil($t * 0.75); + if ($r > 30) { + $r = 30; } - if ($priem['v2'] == 142) { - $def[self::FIRE] = true; - } - if ($priem['v2'] == 144) { - $def[self::AIR] = true; - } - if ($priem['v2'] == 145) { - $def[self::WATER] = true; - } - if ($priem['v2'] == 146) { - $def[self::EARTH] = true; + if (rand(0, 10000) < $r * 100) { + //крит удар + $r = 1; + } else { + $r = 0; } } - return $def; + return $r; + } + + public function testPower($s1, $s2, $y, $t, $t2) + { + global $u, $btl; + + $r = 0; + if ($t2 == 2) { + //урон магией + $pm = [0 => 0, 1 => 0, 2 => 0, 3 => 0]; + if ($t < 5) { + $pm[0] = $s1['m11']; + $pm[1] = $s2['zm']; + $pm[2] = $s2['antm11']; + } + + if (isset($btl->info['id'])) { + $pm[3] = $btl->zmgo($s2['zm' . $t]); + $pm[3] = round($pm[3]); + } + + //урон = b*(1+m/100)*2^((p*10-z)/k) + $fx_vl = [ + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 250, + 350, + 400, + 450, + 500, + 550, + 600, + 650, + 700, + 750, + 800, + 850, + 900, + 950, + ]; + + $fx = [ + 'b' => $y, //базовый урон + 'm' => round($s1['pm' . $t] * 1 - $s2['antpm' . $t]), //мощь + 'z' => round($s2['zm' . $t]), //защита цели ед. + 'p' => round(($s1['pzm'] + $s1['pzm' . $t])), //подавление + 'k' => $fx_vl[(0 + $s1['lvl'])], //коэффициент ; k=250 для 8ки, k=300 для 9ки и т.д. +20% на уровень + ]; + if (($fx['z'] + 250) - $fx['p'] * 10 < 0) { //защита не может уйти больше, чем в 250 ед. + $fx['p'] = ($fx['z'] + 250) / 10; + } + $fx['p'] = 0; + // + $p = $fx['b'] * (1 + $fx['m'] / 100) * pow(2, (($fx['z'] - $fx['p'] * 10) / $fx['k'])); + //$p += $p/100*10; + $p -= $p / 100 * $pm[3]; + //$p += floor($s1['s5']*0.25); + + if ($p < round($y * 0.1)) { + $p = round($y * 0.1); + } elseif ($p > round($y * 10)) { + $p = $y * 10; + } + + if (isset($s2['zm' . $t . 'proc'])) //защита от магии стихий (призрачки) + { + $p = floor($p / 100 * (100 - $s2['zm' . $t . 'proc'])); + if ($p < 0) { + $p = 0; + } + } + if (isset($s2['zmproc'])) //защита от магии стихий (призрачки) + { + if ($s2['zmproc'] >= 75) { + $p = floor($p / 100 * (100 - 75)); + } else { + $p = floor($p / 100 * (100 - $s2['zmproc'])); + if ($p < 0) { + $p = 0; + } + } + } + $r = $p; + } + + return round($r / 100 * 70); + } + + /**@deprecated try to use getDynamicInfo() */ + private function getdr($s, $v, $d) + { + $i = 0; + while ($i < count($v)) { + if (isset($v[$i])) { + $s = str_replace('{' . $v[$i] . '}', $d[$i], $s); + } + $i++; + } + $s = eval("return (" . $s . ");"); + return floor($s); + } + + /* uid - на кого кастуем + pr - id приема + data - дата, если -1, то добавляем дату3 + d2 - добавляем дату3 + tm - время использования, 77 - вечно + h - кол-во "вечных" ходов + uu - id юзера который использовал + tp - тип приема + */ + + /** Оставлена для совместимости. На неё ссылается куча всего. */ + public function magatack($u1, $u2, $yron, $type, $krit) + { + global $btl; + return $this->magicAttack($btl, $u1, $u2, $yron, $type, $krit); } /** * Новая функция магического заклинания с приёма. * Работает с числовыми приёмами в папке [priem]. - * @param int $attackerId кто использует приём - * @param int $defenderId на кого использует приём - * @param float $damage базовый урон приёма - * @param string $damageType тип урона (стихия?) приходит строкой, и конвертируется функцией. - * @param bool $hasCritical флаг, что приём МОЖЕТ критовать + * @param int $attackerId кто использует приём + * @param int $defenderId на кого использует приём + * @param float $damage базовый урон приёма + * @param string $damageType тип урона (стихия?) приходит строкой, и конвертируется функцией. + * @param bool $hasCritical флаг, что приём МОЖЕТ критовать * @return array [0|damage] int урон, [1|crit] bool был ли крит, [2|miss] bool был ли промах, [3|miss_type] int тип промаха (всегда = 2). * @author Insallah */ @@ -766,11 +600,37 @@ class Priems ]; } - /** Оставлена для совместимости. На неё ссылается куча всего. */ - public function magatack($u1, $u2, $yron, $type, $krit) + /** Проверка есть ли на персонаже призрачные защиты для рассчёта урона через magicAttack + * @return array + */ + private function hasGhostDefence($uid) { - global $btl; - return $this->magicAttack($btl, $u1, $u2, $yron, $type, $krit); + $def = [ + 'all' => false, + self::FIRE => false, + self::AIR => false, + self::EARTH => false, + self::WATER => false, + ]; + $priems = Db::getRows('select v2 from eff_users where uid = ? and v2 in (141, 142, 144, 145, 146)', [$uid]); + foreach ($priems as $priem) { + if ($priem['v2'] == 141) { + $def['all'] = true; + } + if ($priem['v2'] == 142) { + $def[self::FIRE] = true; + } + if ($priem['v2'] == 144) { + $def[self::AIR] = true; + } + if ($priem['v2'] == 145) { + $def[self::WATER] = true; + } + if ($priem['v2'] == 146) { + $def[self::EARTH] = true; + } + } + return $def; } public function magatackfiz($u1, $u2, $yron, $type, $krit, $ymelki) @@ -811,7 +671,7 @@ class Priems 'ym' => $btl->stats[$btl->uids[$u1]]['mg' . $this->mname[$ymelki]], //умелки (магические умелки) 'y' => $btl->stats[$btl->uids[$u1]]['a' . $this->mname[$ymelki]], //умелки 'yv' => 0, //умения, значение коф. - 'max_krit' => 0 //вероятность крита + 'max_krit' => 0, //вероятность крита ]; // // (уровень цени)*2 - 7 - минимальное умелок, чтобы не было промахов @@ -908,7 +768,6 @@ class Priems return [floor($r), $krit, $promah, $promah_type]; } - //для папки priems public function magicAtack( $ue, $hpmin, @@ -922,7 +781,8 @@ class Priems $krituet = true, $heal = 0, $namenew = null - ) { + ) + { $trawm_off = false; global $btl; if ($namenew != null) { @@ -1008,7 +868,7 @@ class Priems mysql_query('SELECT * FROM `priems` WHERE `id` = "' . $pl2['v2'] . '" LIMIT 1') ); if (isset($pl2['priem']['id'])) { - $dt1 = ConversionHelper::dataStringToArray($pl2['priem']['date2']); + $dt1 = Conversion::dataStringToArray($pl2['priem']['date2']); if (isset($dt1['yron_u2'])) { $minu = $this->getdr( $dt1['yron_u2'], [0 => 'lvl1', 1 => 'yr1', 2 => 'ts5', 3 => 'ts6'], @@ -1101,8 +961,7 @@ class Priems ); //заносим в лог боя - $vLog = 'time1=' . time( - ) . '||s1=' . $btl->users[$btl->uids[$usu]]['sex'] . '||t1=' . $btl->users[$btl->uids[$usu]]['team'] . '||login1=' . $btl->users[$btl->uids[$usu]]['login'] . '||s2=' . $btl->users[$btl->uids[$uen]]['sex'] . '||t2=' . $btl->users[$btl->uids[$uen]]['team'] . '||login2=' . $btl->users[$btl->uids[$uen]]['login'] . ''; + $vLog = 'time1=' . time() . '||s1=' . $btl->users[$btl->uids[$usu]]['sex'] . '||t1=' . $btl->users[$btl->uids[$usu]]['team'] . '||login1=' . $btl->users[$btl->uids[$usu]]['login'] . '||s2=' . $btl->users[$btl->uids[$uen]]['sex'] . '||t2=' . $btl->users[$btl->uids[$uen]]['team'] . '||login2=' . $btl->users[$btl->uids[$uen]]['login'] . ''; $mas1 = [ 'time' => time(), 'battle' => $btl->info['id'], @@ -1223,60 +1082,6 @@ class Priems return $rr; } - private function testActiv($id) - { - $r = 0; - if ( - $this->u->info['admin'] > 0 || - $this->u->info['nadmin'] > 0 || - $this->u->info['id'] > 0) { - $r = 1; - } else { - $tst = $this->u->testAction( - '`uid` = "' . $this->u->info['id'] . '" AND `time` < ' . time( - ) . ' AND `vars` = "read" AND `vals` = "' . $id . '" LIMIT 1', - 1 - ); - if (isset($tst['id'])) { - $r = 1; - } - } - return $r; - } - - private function testRazmenOldUser($u2, $u1, $plid) - { - global $btl, $u; - $r = 0; - //Уровень -противника- ниже уровня -цели- - if ($btl->users[$btl->uids[$u2]]['id'] != $this->u->info['id']) { - if ($btl->users[$btl->uids[$u1]]['level'] < $btl->users[$btl->uids[$u2]]['level']) { - $r = 1; - echo '
Нельзя кастовать через слабого противника в сильного
'; - } elseif ($btl->users[$btl->uids[$u1]]['bot'] > 0 && $btl->users[$btl->uids[$u2]]['bot'] == 0) { - echo '
Нельзя кастовать через монстров или зверя
'; - $r = 1; - } elseif ( - $btl->users[$btl->uids[$u1]]['id'] != $btl->users[$btl->uids[$u2]]['id'] && - !in_array($plid, [35, 63, 64, 65, 66, 85, 86, 87, 88, 89, 90, 104, 105, 106, 107, 134, 135, 136, 137]) - ) //Атака в темную 90,89,88,87,86,85,35 - { - $this->addPriem( - $this->u->info['id'], '344', 'add_m11=-' . round($this->u->stats['m11'] * 75 / 100), 1, 77, 1, - $this->u->stats['id'], 3, 'тьма', 0, 0, 1 - ); //ТУТ понижение урона при уроне через персонажа - } - } - return $r; - } - - public function testDie($u1) - { - global $btl; - //Персонаж 1 погиб от рук персонаж 2 - $btl->spaCheck($btl->stats[$btl->uids[$u1]]['id']); - } - public function pruse($id) { global $btl; @@ -1320,8 +1125,7 @@ class Priems $a['eda'] = 0; } - $vLog = 'time1=' . time( - ) . '||s1=' . $this->u->info['sex'] . '||t1=' . $this->u->info['team'] . '||login1=' . $this->u->info['login'] . ''; + $vLog = 'time1=' . time() . '||s1=' . $this->u->info['sex'] . '||t1=' . $this->u->info['team'] . '||login1=' . $this->u->info['login'] . ''; $mas1 = [ 'time' => time(), 'battle' => $btl->info['id'], @@ -1547,595 +1351,33 @@ class Priems } } - private function rezadEff($uid, $mg) - { - global $btl; - //$this->rezadEff($this->u->info['id'],'wis_fire_'); - $md = ''; - $md2 = ''; - $ex = explode('|', $btl->users[$btl->uids[$uid]]['priems']); - $ex2 = explode('|', $btl->users[$btl->uids[$uid]]['priems_z']); - $i = 0; - $ty = []; - while ($i < count($ex)) { - if ($ex[$i] > 0) { - $md .= '`id` = "' . ((int)$ex[$i]) . '" OR '; - $ty[$ex[$i]] = $i; - } - $i++; - } - $md = rtrim($md, ' OR '); - if ($md != '') { - $md = '( ' . $md . ' ) AND '; - } - $sp = mysql_query('SELECT * FROM `priems` WHERE ' . $md . ' `img` LIKE "%' . $mg . '%"'); - while ($pl = mysql_fetch_assoc($sp)) { - $ex2[$ty[$pl['id']]] = 0; - } - $md2 = implode('|', $ex2); - $btl->users[$btl->uids[$uid]]['priems_z'] = $md2; - $this->u->info['priems_z'] = $md2; - $upd = mysql_query('UPDATE `stats` SET `priems_z` = "' . $md2 . '" WHERE `id` = "' . ((int)$uid) . '" LIMIT 1'); - unset($md, $md2, $ty); - return $upd; - } + //для папки priems - private function trhod($pl) + private function testActiv($id) { - global $u, $btl; - if ($this->u->info['notrhod'] == -1) { - $this->u->info['notrhod'] = 0; - if ($this->u->stats['magic_cast'] > 0) { - $this->u->info['notrhod'] = $this->u->stats['magic_cast']; - } - mysql_query( - 'UPDATE `users` SET `notrhod` = "' . $this->u->info['notrhod'] . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1' - ); - } - if ($this->u->info['notrhod'] > 0) { - if ($pl['tr_hod'] > 0) { - $this->u->info['notrhod']--; - mysql_query( - 'UPDATE `users` SET `notrhod` = "' . $this->u->info['notrhod'] . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1' - ); - } + $r = 0; + if ( + $this->u->info['admin'] > 0 || + $this->u->info['nadmin'] > 0 || + $this->u->info['id'] > 0) { + $r = 1; } else { - $a1 = mysql_fetch_assoc( - mysql_query( - 'SELECT * FROM `battle_act` WHERE `battle` = "' . $btl->info['id'] . '" AND `uid2` = "' . $this->u->info['id'] . '" AND `uid1` = "' . $this->u->info['enemy'] . '" LIMIT 1' - ) - ); - if (isset($a1['id'])) { - //противник ударил, пишем что игрок 2 пропустил ход - mysql_query( - 'UPDATE `battle_act` SET `out2` = "1",`tpo2` = "2" WHERE `id` = "' . $a1['id'] . '" LIMIT 1' - ); - $a1['out2'] = 1; - $a1['tpo2'] = 2; - $btl->atacks[$a1['id']] = $a1; - $btl->users[$this->u->info['id']]['priems_z'] = $this->u->info['priems_z']; - $btl->startAtack($a1['id']); - } else { - //бьем противника с пропуском хода - mysql_query( - 'INSERT INTO `battle_act` (`battle`,`uid1`,`uid2`,`time`,`out1`,`type`,`tpo1`) VALUES ("' . $btl->info['id'] . '","' . $this->u->info['id'] . '","' . $this->u->info['enemy'] . '","' . time( - ) . '","1","1","2")' - ); - } - } - } - - public function plusData($d1, $d2) - { - global $u; - $j1 = ConversionHelper::dataStringToArray($d1); - $j2 = ConversionHelper::dataStringToArray($this->redate($d2, $this->u->info['id'])); - $v = $this->u->lookKeys($this->redate($d2, $this->u->info['id']), 0); // ключи 2 - //добавляем данные друг к другу - $i = 0; - $inf = ''; - while ($i < count($v)) { - $j1[$v[$i]] += $j2[$v[$i]]; - $vi = str_replace('add_', '', $v[$i]); - if ($this->u->is[$vi] != '') { - if ($j2[$v[$i]] > 0) { - $inf .= $this->u->is[$vi] . ': +' . ($j2[$v[$i]] * (1 + $mpr['x'])) . ', '; - } elseif ($j2[$v[$i]] < 0) { - $inf .= $this->u->is[$vi] . ': ' . ($j2[$v[$i]] * (1 + $mpr['x'])) . ', '; - } - } - $i++; - } - $inf = rtrim($inf, ', '); - $j1 = ConversionHelper::arrayToDataString($j1); - return $j1; - } - - private function addEffPr($pl, $id) - { - global $u, $btl; - $rcu = false; - $j = ConversionHelper::dataStringToArray($pl['date2']); - $mpr = false; - $addch = 0; - $uid = $this->u->info['id']; - if (isset($this->ue['id'])) { - $uid = $this->ue['id']; - } - if (isset($j['onlyOne'])) { - $mpr = Db::getRow( - 'select * from eff_users where v2 = ? and uid = ? and `delete` = 0 and mark = 1', - [$pl['id'], $uid] - ); - //$mpr = mysql_fetch_assoc(mysql_query('SELECT * FROM `eff_users` WHERE `v2` = "' . $pl['id'] . '" AND `uid` = "' . $uid . '" AND `delete` = "0" AND `mark` = 1 LIMIT 1')); - } - - // if ($pl['cancel_eff2'] != '') { - // $i = 0; - // $e = explode(',', $pl['cancel_eff2']); - // while ($i < count($e)) { - // if ($e[$i] > 0) { - // $nem = mysql_fetch_assoc(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $uid . '" AND `v1` = "priem" AND `v2` = "' . $e[$i] . '" AND `delete` = "0" AND `mark` = 1 LIMIT 1')); - // if (isset($nem['id'])) { - // $nem['priem'] = mysql_fetch_assoc(mysql_query('SELECT * FROM `priems` WHERE `id` = "' . $e[$i] . '" LIMIT 1')); - // if (isset($nem['id'])) { - // $btl->delPriem($nem, $btl->users[$btl->uids[$uid]], 2); - // if ($nem['id'] == $mpr['id']) { - // unset($mpr); - // } - // } - // } - // } - // $i++; - // } - // } - - if (!empty($pl['cancel_eff2'])) { - $this->cancelEffects($pl['cancel_eff2'], $uid, $btl); - } - - $pld = [0 => '']; - $nc = 0; - if (isset($mpr['id']) && $j['onlyOne'] == 1) { - //отнимаем тактики - $addch = 1; - $this->mintr($pl); - $this->uppz($pl, $id); - //добавляем прием в эффекты - if (isset($this->ue['id'])) { - $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->ue, 0); - } else { - $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->u->info, 0); - } - $nc = 1; - } elseif (!isset($mpr['id'])) { - $data = ''; - if (isset($j['date3Plus'])) { - $data = $this->redate($pl['date3'], $this->u->info['id']); - } - - $hd1 = -1; - if ($pl['limit'] > 0) { - $tm = 77; - $hd1 = $pl['limit']; - } else { - $tm = 77; - } - if ($pl['limit'] == -2) { - $hd1 = $pl['limit']; - } - if ($pl['id'] == 239) //Вывод приемов которые не моментальные как бы - { - $btl->priemAddLogFast( - $uid, 0, $pl['name'], - '{tm' . $this->u->info['team'] . '} ' . $btl->addlt( - 1, 17, $btl->users[$btl->uids[$uid]]['sex'], - null - ) . '', - 1, time() - ); - } - - $uu = $pl['id'] === 260 ? '' : $this->u->info['id']; - Db::sql( - 'insert into eff_users (hod, v1, v2, img2, id_eff, uid, name, data, overType, timeUse, user_use) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', - [$hd1, 'priem', $pl['id'], $pl['img'] . '.gif', 22, $uid, $pl['name'], $data, 0, $tm, $uu] - ); - - unset($hd1, $uu); - //отнимаем тактики - $addch = 1; - $rcu = true; - $nc = 1; - $this->mintr($pl); - //$this->uppz($pl,$id); - //добавляем прием в эффекты - if (isset($this->ue['id'])) { - $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->ue, 0); - } else { - $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->u->info, 0); - } - } elseif ($j['onlyOne'] > 1) { - if ($mpr['x'] < $j['onlyOne'] && isset($j['date3Plus'])) { - $j1 = ConversionHelper::dataStringToArray($mpr['data']); - $j2 = ConversionHelper::dataStringToArray($this->redate($pl['date3'], $this->u->info['id'])); - $v = $this->u->lookKeys($this->redate($pl['date3'], $this->u->info['id']), 0); // ключи 2 - //добавляем данные друг к другу - $i = 0; - $inf = ''; - while ($i < count($v)) { - $j1[$v[$i]] += $j2[$v[$i]]; - $vi = str_replace('add_', '', $v[$i]); - if ($this->u->is[$vi] != '') { - if ($j2[$v[$i]] > 0) { - $inf .= $this->u->is[$vi] . ': +' . ($j2[$v[$i]] * (1 + $mpr['x'])) . ', '; - } elseif ($j2[$v[$i]] < 0) { - $inf .= $this->u->is[$vi] . ': ' . ($j2[$v[$i]] * (1 + $mpr['x'])) . ', '; - } - } - $i++; - } - $inf = rtrim($inf, ', '); - $j1 = ConversionHelper::arrayToDataString($j1); - $pld[0] = ' x' . ($mpr['x'] + 1); - if ($j['refHod'] == 1) { - $mpr['hod'] = $pl['limit']; - } - $upd = mysql_query( - 'UPDATE `eff_users` SET `hod` = "' . $mpr['hod'] . '",`data` = "' . $j1 . '",`x` = `x`+1 WHERE `id` = "' . $mpr['id'] . '" LIMIT 1' - ); - if ($upd) { - //отнимаем тактики - $this->mintr($pl); - $this->uppz($pl, $id); - //добавляем прием в эффекты - if (isset($this->ue['id'])) { - $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->ue, 0); - } else { - $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->u->info, 0); - } - $addch = 1; - $rcu = true; - $nc = 1; - } - } - } - /* тратим свой ход */ - if ($nc == 1 && $pl['tr_hod'] > 0) { - $this->trhod($pl); - } - //return $rcu; - } - - public function mintr($pl) - { - global $u, $btl; - $x = 1; - $rt = ''; - while ($x <= 7) { - if ($pl['ndt' . $x] == 0) { - $this->u->info['tactic' . $x] -= $pl['tt' . $x]; - $btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] -= $pl['tt' . $x]; - } - if ($this->u->info['tactic' . $x] < 0) { - $this->u->info['tactic' . $x] = 0; - } - if ($btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] < 0) { - $btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] = 0; - } - //$rt .= ',`tactic'.$x.'`="'.$this->u->info['tactic'.$x].'"'; - $rt .= ',`tactic' . $x . '`="' . $btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] . '"'; - $x++; - } - if ($pl['xuse'] > 0) { - $this->u->addAction(time(), 'use_priem_' . $btl->info['id'] . '_' . $this->u->info['id'], $pl['id']); - } - $rt = ltrim($rt, ','); - mysql_query('UPDATE `stats` SET ' . $rt . ' WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1'); - } - - public function maxtr($x, $val) - { - global $u, $btl; - $this->u->info['tactic' . $x] += $val; - $btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] += $val; - if ($this->u->info['tactic' . $x] < 0) { - $this->u->info['tactic' . $x] = 0; - } - if ($btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] < 0) { - $btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] = 0; - } - $rt = '`tactic' . $x . '`="' . $this->u->info['tactic' . $x] . '"'; - mysql_query('UPDATE `stats` SET ' . $rt . ' WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1'); - } - - private function actpridMax($pl) - { - global $u, $btl; - if ($pl['actprid2'] > 0 || $pl['actprid3'] > 0) { - $i = 0; - $pe = explode('|', $this->u->info['priems']); - $piz = []; - while ($i < count($pe)) { - if ($pl['sbr'] == 0) { - //все блокируем - $psp = mysql_fetch_assoc( - mysql_query('SELECT * FROM `priems` WHERE `id` = "' . ((int)$pe[$i]) . '" LIMIT 1') - ); - } else { - //Только текущую школу магии - $imgnm = ''; - $nm = explode('_', $pl['img']); - if ($nm[0] == 'wis') { //магия - $imgnm = $nm[0] . '_' . $nm[1] . '%'; - } else { - $imgnm = $nm[0] . '%'; - } - //только данной школы - $psp = mysql_fetch_assoc( - mysql_query( - 'SELECT * FROM `priems` WHERE `id` = "' . ((int)$pe[$i]) . '" AND `img` LIKE "' . $imgnm . '" LIMIT 1' - ) - ); - } - if ($pl['noprid'] == 0 && isset($psp['id']) && $psp['tr_hod'] == 0 && $psp['type_pr'] == 1 && $psp['noprid'] == 0) { - if ($pl['actprid2'] > 0) { - $piz[$pe[$i]] = (int)$pl['actprid2']; - } elseif ($pl['actprid3'] > 0) { - $piz[$pe[$i]] = $psp['zad']; - } - } - $i++; - } - $pz = explode('|', $this->u->info['priems_z']); - $p = explode('|', $this->u->info['priems']); - $i = 0; - while ($i < count($p)) { - if ($p[$i] > 0 && isset($piz[$p[$i]]) && $pz[$i] == 0) { - $pz[$i] = $piz[$p[$i]]; - } - $i++; - } - $pz = implode('|', $pz); - $this->u->info['priems_z'] = $pz; - $btl->users[$btl->uids[$this->u->info['id']]]['priems_z'] = $pz; - $btl->stats[$btl->uids[$this->u->info['id']]]['priems_z'] = $pz; - } - } - - public function uppz($pl, $id) - { - global $u, $btl; - $this->actpridMax($pl); - $p = explode('|', $this->u->info['priems']); - $pz = explode('|', $this->u->info['priems_z']); - $pz[(int)$id] = $pl['zad']; - $i = 0; - $pe = explode(',', $pl['actprid']); - $piz = []; - while ($i < count($pe)) { - $piz[$pe[$i]] = 1; - $i++; - } - $i = 0; - $pe = explode(',', $pl['actprid_one']); - $piz2 = []; - while ($i < count($pe)) { - $piz2[$pe[$i]] = 1; - $i++; - } - $i = 0; - while ($i < count($p)) { - if ($p[$i] > 0) { - if (isset($piz[$p[$i]])) { - if ($pl['id'] == 281) { - //Жертва воде + воздуху дает 5 ед. задержки на землю и огонь - if ($p[$i] == 246 || $p[$i] == 186) { - $pz[$i] = 5; - } else { - $pz[$i] = $pl['zad']; - } - } else { - $pz[$i] = $pl['zad']; - } - } - if (isset($piz2[$p[$i]]) && $pz[$i] == 0) { - $pz[$i] = 1; - } - } - $i++; - } - $pz = implode('|', $pz); - $this->u->info['priems_z'] = $pz; - $btl->users[$btl->uids[$this->u->info['id']]]['priems_z'] = $pz; - $btl->stats[$btl->uids[$this->u->info['id']]]['priems_z'] = $pz; - $tr = ConversionHelper::dataStringToArray($pl['tr']); - if (isset($tr['tr_mpNow'])) { - $tr['tr_mpNow'] = round($tr['tr_mpNow'] / 100 * (100 - $this->u->stats['min_use_mp'])); - $btl->users[$btl->uids[$this->u->info['id']]]['mpNow'] -= $tr['tr_mpNow']; - $btl->stats[$btl->uids[$this->u->info['id']]]['mpNow'] -= $tr['tr_mpNow']; - if ($btl->stats[$btl->uids[$this->u->info['id']]]['mpNow'] < $btl->users[$btl->uids[$this->u->info['id']]]['mpNow']) { - $btl->users[$btl->uids[$this->u->info['id']]]['mpNow'] = $btl->stats[$btl->uids[$this->u->info['id']]]['mpNow']; - } - } - $this->u->info['mpNow'] = $btl->users[$btl->uids[$this->u->info['id']]]['mpNow']; - mysql_query( - 'UPDATE `stats` SET `mpNow` = "' . $this->u->info['mpNow'] . '",`priems_z` = "' . $pz . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1' - ); - } - - public function reuns($id) - { - global $u, $c, $code; - $p = explode('|', $this->u->info['priems']); - if ($p[(int)$id] > 0) { - //снимаем прием - $p[(int)$id] = 0; - $p = implode('|', $p); - mysql_query( - 'UPDATE `stats` SET `priems` = "' . mysql_real_escape_string( - $p - ) . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1' - ); - $this->u->info['priems'] = $p; - } - } - - /** Одеть приём в слот? - * @param $id - * @return void - */ - public function uns($id) - { - global $u, $c, $code; - - $pl = $this->getTechniquesInfo($id); - - if (!isset($pl['id']) || $this->testpriem($pl, 1) != 0) { - return; - } - $yes = -1; - $non = -1; - $i = 0; - $p = explode('|', $this->u->info['priems']); - while ($i < $this->u->info['priemslot']) { - if ($non == -1 && $p[$i] == 0) { - $non = $i; - } - if ($p[$i] == $pl['id']) { - $yes = $i; - } - $i++; - } - - if ($yes != -1) { - //такой прием уже стоит, ничего не делаем - return; - } - if ($non != -1) { - //одеваем прием - $p[$non] = $pl['id']; - $p = implode('|', $p); - $upd = mysql_query( - 'UPDATE `stats` SET `priems` = "' . $p . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1' - ); - if ($upd) { - TrainingManager::getInstance() - ->addPoint('my_user_fourth_quest', function (TrainingManager $manager) { - $manager->store(); - }); - $this->u->info['priems'] = $p; - } - } else { - //снимаем последний прием - echo 'Снимаем последний прием...'; - } - } - - //выводим приемы $id - 1 (вне боя), 2 - в бою - public function seeMy($t) - { - global $btl; - $i = 0; - $p = explode('|', $this->u->info['priems']); - $lvar = ''; - $pr = ''; - while ($i < $this->u->info['priemslot']) { - if ($p[$i] > 0) { - $pl = mysql_fetch_assoc( - mysql_query( - 'SELECT * FROM `priems` WHERE `level`<="' . $this->u->info['level'] . '" AND `activ` > "0" AND `id` = "' . mysql_real_escape_string( - $p[$i] - ) . '" LIMIT 1' - ) - ); - $lvar = $this->priemInfo($pl, $t, $i); - $pz = $lvar[1]; - $lvar = $lvar[0]; - if ($t == 1) { - if (isset($_GET['inv'])) { - $cl = 'href="javascript:void(0)" onclick="location.href=\'main.php?all=' . ((int)$_GET['all']) . '&skills=1&rz=4&p_raz=all\'"'; - } else { - $cl = 'href="javascript:void(0)" onclick="location.href=\'main.php?all=' . ((int)$_GET['all']) . '&skills=1&unuse_priem=' . $i . '&rz=4&p_raz=\' + p_raz"'; - } - } else { - if ($pl['type'] == 1) { - //моментально - if ($pl['onUser'] == 1) { - $oninuser = ''; - if ($pl['team'] == 1) { - if ($this->u->info['login2'] != '') { - $oninuser = $this->u->info['login2']; - } else { - $oninuser = $this->u->info['login']; - } - } else { - if ($btl->users[$btl->uids[$this->u->info['enemy']]]['login2'] != '') { - $oninuser = $btl->users[$btl->uids[$this->u->info['enemy']]]['login2']; - } else { - $oninuser = $btl->users[$btl->uids[$this->u->info['enemy']]]['login']; - } - } - $cl = 'href="javascript:void(0);" onClick="top.priemOnUser(' . $i . ',1,\'' . $pl['name'] . '\',\'' . $oninuser . '\',\'' . $pl['img'] . '\');"'; - unset($oninuser); - } else { - $cl = 'href="javascript:void(0);" onClick="usepriem(' . $i . ',1,\'' . $pl['img'] . '\');"'; - } - } elseif ($pl['type'] == 2) { - //длительное - $cl = 'href="javascript:void(0);" onClick="usepriem(' . $i . ',1,\'' . $pl['img'] . '\');"'; - } elseif ($pl['type'] == 3) { - $cl = 'href="javascript:void(0);" onClick="alert(\'Возможно используем?\');"'; - } - } - - - $notr = $this->testpriem($pl, $t); - - - $cl2 = ''; - $cli2 = ''; - if ((($pz[$i] > 0 || $notr > 0) && $t == 2) || (isset($this->u->stats['nopriems']) && $pl['nosh'] == 0) || $this->u->stats['notuse_last_pr'] == $pl['id']) { - $cli2 = ' class="nopriemuse" '; - } - - $pr .= ''; - } else { - - if (isset($_GET['inv'])) { - $pr .= ''; - } else { - $pr .= ''; - } - - } - $i++; - } - if ($this->u->info['animal'] > 0 && $t == 2) { - $use_lst = $this->u->testAction( - '`uid` = "' . $this->u->info['id'] . '" AND `vars` = "animal_use' . $btl->info['id'] . '" LIMIT 1', + $tst = $this->u->testAction( + '`uid` = "' . $this->u->info['id'] . '" AND `time` < ' . time() . ' AND `vars` = "read" AND `vals` = "' . $id . '" LIMIT 1', 1 ); - if (!isset($use_lst['id'])) { - $cl2 = ''; - $pr .= ''; - } else { - $cl2 = '" class="nopriemuse'; - $pr .= ''; + if (isset($tst['id'])) { + $r = 1; } } - if ($t == 1) { - echo '
' . $pr . '
'; - } elseif ($t == 2) { - return str_replace('"', '\\"', $pr); - } + return $r; } public function testpriem($pl, $t = 1, $o = 0) { global $c, $u, $code, $btl; - $tr = ConversionHelper::dataStringToArray($pl['tr']); - $d2 = ConversionHelper::dataStringToArray($pl['date2']); + $tr = Conversion::dataStringToArray($pl['tr']); + $d2 = Conversion::dataStringToArray($pl['date2']); $x = 1; $notr = 0; @@ -2305,11 +1547,667 @@ class Priems return $notr; } + private function testRazmenOldUser($u2, $u1, $plid) + { + global $btl, $u; + $r = 0; + //Уровень -противника- ниже уровня -цели- + if ($btl->users[$btl->uids[$u2]]['id'] != $this->u->info['id']) { + if ($btl->users[$btl->uids[$u1]]['level'] < $btl->users[$btl->uids[$u2]]['level']) { + $r = 1; + echo '
Нельзя кастовать через слабого противника в сильного
'; + } elseif ($btl->users[$btl->uids[$u1]]['bot'] > 0 && $btl->users[$btl->uids[$u2]]['bot'] == 0) { + echo '
Нельзя кастовать через монстров или зверя
'; + $r = 1; + } elseif ( + $btl->users[$btl->uids[$u1]]['id'] != $btl->users[$btl->uids[$u2]]['id'] && + !in_array($plid, [35, 63, 64, 65, 66, 85, 86, 87, 88, 89, 90, 104, 105, 106, 107, 134, 135, 136, 137]) + ) //Атака в темную 90,89,88,87,86,85,35 + { + $this->addPriem( + $this->u->info['id'], '344', 'add_m11=-' . round($this->u->stats['m11'] * 75 / 100), 1, 77, 1, + $this->u->stats['id'], 3, 'тьма', 0, 0, 1 + ); //ТУТ понижение урона при уроне через персонажа + } + } + return $r; + } + + /** + * @param int $uid на кого кастуем + * @param int $pr id приема + * @param int|string $data дата, если -1, то добавляем дату3 + * @param int $d2 + * @param $tm + * @param int $h ход + * @param int $uu id юзера который использовал + * @param $max + * @param $bj + * @param $tp + * @param $ch + * @param $rdt + * @param $tr_life_user + * @param $noupdatebtl + * @param $noplus + * @param $pname + * @return bool + */ + public function addPriem( + $uid, + $pr, + $data, + $d2, + $tm, + $h, + $uu, + $max, + $bj, + $tp = 0, + $ch = 0, + $rdt = 0, + $tr_life_user = 0, + $noupdatebtl = 0, + $noplus = 0, + $pname = null + ) + { + global $btl; + //$pl = mysql_fetch_assoc(mysql_query('SELECT * FROM `priems` WHERE `id` = ' . (int)$pr)); + $pl = Db::getRow('select * from priems where id = ?', [$pr]); + + $r = false; + + if (!$pl['id']) { + return false; + } + + if ($data == -1) { + $data = $this->redate($pl['date3'], $this->u->info['id']); + } elseif ($d2 == 1) { + $data .= '|' . $this->redate($pl['date3'], $this->u->info['id']); + } + + $this->cancelEffects($pl['cancel_eff2'], $uid, $btl); + + if ($max <= 0) { + return false; + } + + if ($noplus == 0) { + if ($pl['zmu'] == 1) { + $num = Db::getRow( + 'select * from eff_users where bj = ? and user_use = ? and uid = ? and `delete` = 0', + [$bj, $this->u->info['id'], $uid] + ); + } else { + $num = Db::getRow( + 'select * from eff_users where bj = ? and uid = ? and `delete` = 0', + [$bj, $uid] + ); + } + } + + if (isset($num['id']) && ($num['user_use'] != $this->u->info['id'] && $pl['zmu'] != 2)) { + // удаляем эффект + Db::sql( + 'update eff_users set `delete` = unix_timestamp() where id = ?', + [$num['id']] + ); + $i = 0; + while ($i < count($btl->stats[$btl->uids[$uid]]['effects'])) { + if ($btl->stats[$btl->uids[$uid]]['effects'][$i]['id'] == $num['id']) { + //обновляем + $btl->stats[$btl->uids[$uid]]['effects'][$i]['delete'] = time(); + } + $i++; + } + unset($num); + } + if (!isset($num['id'])) { + $q = 'insert into eff_users (tr_life_user, bj, user_use, hod, v2, img2, id_eff, uid, name, data, overType, timeUse, v1) values (?,?,?,?,?,?,?,?,?,?,?,?,?)'; + $image = !empty($pl['img']) ? $pl['img'] : $pl['id']; + $name = !empty($pname) ? $pname : $pl['name']; + $image .= '.gif'; + Db::sql( + $q, [floor($tr_life_user), $bj, $uu, $h, $pl['id'], $image, 22, $uid, $name, $data, 0, $tm, 'priem'] + ); + $lid = Db::lastInsertId(); + if ($lid) { + $r = true; + } + + /* добавляем данные к $btl->eff */ + if ($noupdatebtl == 0) { + $btl->stats[$btl->uids[$uid]] = $this->u->getStats($uid, 0); + } + } elseif ($num['x'] < $max) { + //Добавляем еще и обновляем заряды + $num['x']++; + $num['hod'] = $h; + if ($data != -1 && $data != '' && $d2 == 2) { + $num['data'] .= '|' . $data; + Db::sql( + 'update eff_users set x = x + 1, hod = ?, data = ? where id = ?', + [$h, $num['data'], $num['id']] + ); + } else { + Db::sql( + 'update eff_users set x = x + 1, hod = ? where id = ?', + [$h, $num['id']] + ); + } + $r = true; + } else { + //обновляем заряды + $num['hod'] = $h; + if ($data != -1 && $data != '' && $d2 == 2) { + $num['data'] .= '|' . $data; + Db::sql("update eff_users set hod = ?, data = ? where id = ?", [$h, $num['data'], $num['id']]); + } else { + Db::sql( + 'update eff_users set hod = ? where id = ?', + [$h, $num['id']] + ); + } + $r = true; + } + + if (isset($num['id'])) { + foreach ($btl->stats[$btl->uids[$uid]]['effects'] as $effect) { + if ($effect['id'] != $num['id']) { + continue; + } + $effect['data'] = $num['data']; + $effect['hod'] = $num['hod']; + $effect['x'] = $num['x']; + } + } + + return $r; + } + + /** Получает строку data c шаблонной записью типа add_m11=2*{lvl1} и конвертирует в реальную строку. + *
Шаблон:
lvl1 = $uid[level]
ts5 = $uid[s5]
mpAll = $uid[mpAll] + * @param string $pl строка в формате data + * @param int $uid пользователь, параметры которого используются для подставки в шаблон. + * @return string строка в формате data с развёрнутыми шаблонами. + */ + public function redate($pl, $uid) + { + global $btl; + $i = 0; + if ($pl != '') { + $e = explode('|', $pl); + while ($i < count($e)) { + $f = explode('=', $e[$i]); +// $f[1] = $this->getdr( +// $f[1], [0 => 'lvl1', 1 => 'ts5', 2 => 'mpAll'], [ +// 0 => $btl->users[$btl->uids[$uid]]['level'], +// 1 => $btl->stats[$btl->uids[$uid]]['s5'], +// 2 => $btl->stats[$btl->uids[$uid]]['mpAll'], +// ] +// ); + $f[1] = $this->getDynamicInfo($f[1]); + if ($f[0] != '' && $f[1] != '') { + $e[$i] = implode('=', $f); + } + $i++; + } + $pl = implode('|', $e); + } + return $pl; + } + + /** + * @param $match + * @return false|float + */ + private function getDynamicInfo($match) + { + $tmpl = [ + 'lvl1' => $this->u->info['level'], + 'ts5' => $this->u->stats['s5'], + 'mpAll' => $this->u->stats['mpAll'], + ]; + foreach ($tmpl as $k => $v) { + $match = str_ireplace('{' . $k . '}', $v, $match); + } + $p = $match[2]; + + if (preg_match('/(\d+)(?:\s*)([+\-*\/])(?:\s*)(\d+)/', $match[2], $matches) !== false) { + $operator = $matches[2]; + + switch ($operator) { + case '+': + $p = $matches[1] + $matches[3]; + break; + case '-': + $p = $matches[1] - $matches[3]; + break; + case '*': + $p = $matches[1] * $matches[3]; + break; + case '/': + $p = $matches[1] / $matches[3]; + break; + default: + } + } + return floor($p); + } + + private function cancelEffects($effects_ids, $uid, Battle $btl) + { + $arr = explode(',', $effects_ids); + if (!is_array($arr) || empty($arr)) { + return; + } + foreach ($arr as $eid) { + if ($eid <= 0) { + continue; + } + $p = Db::getRow( + 'select * from eff_users where uid = ? and v1 = ? and v2 = ? and `delete` = 0', [$uid, 'priem', $eid] + ); + if (!$p['id']) { + continue; + } + $p['priem'] = Db::getRow('select * from priems where id = ?', [$eid]); + $btl->delPriem($p, $btl->users[$btl->uids[$uid]], 2); + } + } + + public function testDie($u1) + { + global $btl; + //Персонаж 1 погиб от рук персонаж 2 + $btl->spaCheck($btl->stats[$btl->uids[$u1]]['id']); + } + + public function uppz($pl, $id) + { + global $u, $btl; + $this->actpridMax($pl); + $p = explode('|', $this->u->info['priems']); + $pz = explode('|', $this->u->info['priems_z']); + $pz[(int)$id] = $pl['zad']; + $i = 0; + $pe = explode(',', $pl['actprid']); + $piz = []; + while ($i < count($pe)) { + $piz[$pe[$i]] = 1; + $i++; + } + $i = 0; + $pe = explode(',', $pl['actprid_one']); + $piz2 = []; + while ($i < count($pe)) { + $piz2[$pe[$i]] = 1; + $i++; + } + $i = 0; + while ($i < count($p)) { + if ($p[$i] > 0) { + if (isset($piz[$p[$i]])) { + if ($pl['id'] == 281) { + //Жертва воде + воздуху дает 5 ед. задержки на землю и огонь + if ($p[$i] == 246 || $p[$i] == 186) { + $pz[$i] = 5; + } else { + $pz[$i] = $pl['zad']; + } + } else { + $pz[$i] = $pl['zad']; + } + } + if (isset($piz2[$p[$i]]) && $pz[$i] == 0) { + $pz[$i] = 1; + } + } + $i++; + } + $pz = implode('|', $pz); + $this->u->info['priems_z'] = $pz; + $btl->users[$btl->uids[$this->u->info['id']]]['priems_z'] = $pz; + $btl->stats[$btl->uids[$this->u->info['id']]]['priems_z'] = $pz; + $tr = Conversion::dataStringToArray($pl['tr']); + if (isset($tr['tr_mpNow'])) { + $tr['tr_mpNow'] = round($tr['tr_mpNow'] / 100 * (100 - $this->u->stats['min_use_mp'])); + $btl->users[$btl->uids[$this->u->info['id']]]['mpNow'] -= $tr['tr_mpNow']; + $btl->stats[$btl->uids[$this->u->info['id']]]['mpNow'] -= $tr['tr_mpNow']; + if ($btl->stats[$btl->uids[$this->u->info['id']]]['mpNow'] < $btl->users[$btl->uids[$this->u->info['id']]]['mpNow']) { + $btl->users[$btl->uids[$this->u->info['id']]]['mpNow'] = $btl->stats[$btl->uids[$this->u->info['id']]]['mpNow']; + } + } + $this->u->info['mpNow'] = $btl->users[$btl->uids[$this->u->info['id']]]['mpNow']; + mysql_query( + 'UPDATE `stats` SET `mpNow` = "' . $this->u->info['mpNow'] . '",`priems_z` = "' . $pz . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1' + ); + } + + private function actpridMax($pl) + { + global $u, $btl; + if ($pl['actprid2'] > 0 || $pl['actprid3'] > 0) { + $i = 0; + $pe = explode('|', $this->u->info['priems']); + $piz = []; + while ($i < count($pe)) { + if ($pl['sbr'] == 0) { + //все блокируем + $psp = mysql_fetch_assoc( + mysql_query('SELECT * FROM `priems` WHERE `id` = "' . ((int)$pe[$i]) . '" LIMIT 1') + ); + } else { + //Только текущую школу магии + $imgnm = ''; + $nm = explode('_', $pl['img']); + if ($nm[0] == 'wis') { //магия + $imgnm = $nm[0] . '_' . $nm[1] . '%'; + } else { + $imgnm = $nm[0] . '%'; + } + //только данной школы + $psp = mysql_fetch_assoc( + mysql_query( + 'SELECT * FROM `priems` WHERE `id` = "' . ((int)$pe[$i]) . '" AND `img` LIKE "' . $imgnm . '" LIMIT 1' + ) + ); + } + if ($pl['noprid'] == 0 && isset($psp['id']) && $psp['tr_hod'] == 0 && $psp['type_pr'] == 1 && $psp['noprid'] == 0) { + if ($pl['actprid2'] > 0) { + $piz[$pe[$i]] = (int)$pl['actprid2']; + } elseif ($pl['actprid3'] > 0) { + $piz[$pe[$i]] = $psp['zad']; + } + } + $i++; + } + $pz = explode('|', $this->u->info['priems_z']); + $p = explode('|', $this->u->info['priems']); + $i = 0; + while ($i < count($p)) { + if ($p[$i] > 0 && isset($piz[$p[$i]]) && $pz[$i] == 0) { + $pz[$i] = $piz[$p[$i]]; + } + $i++; + } + $pz = implode('|', $pz); + $this->u->info['priems_z'] = $pz; + $btl->users[$btl->uids[$this->u->info['id']]]['priems_z'] = $pz; + $btl->stats[$btl->uids[$this->u->info['id']]]['priems_z'] = $pz; + } + } + + private function trhod($pl) + { + global $u, $btl; + if ($this->u->info['notrhod'] == -1) { + $this->u->info['notrhod'] = 0; + if ($this->u->stats['magic_cast'] > 0) { + $this->u->info['notrhod'] = $this->u->stats['magic_cast']; + } + mysql_query( + 'UPDATE `users` SET `notrhod` = "' . $this->u->info['notrhod'] . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1' + ); + } + if ($this->u->info['notrhod'] > 0) { + if ($pl['tr_hod'] > 0) { + $this->u->info['notrhod']--; + mysql_query( + 'UPDATE `users` SET `notrhod` = "' . $this->u->info['notrhod'] . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1' + ); + } + } else { + $a1 = mysql_fetch_assoc( + mysql_query( + 'SELECT * FROM `battle_act` WHERE `battle` = "' . $btl->info['id'] . '" AND `uid2` = "' . $this->u->info['id'] . '" AND `uid1` = "' . $this->u->info['enemy'] . '" LIMIT 1' + ) + ); + if (isset($a1['id'])) { + //противник ударил, пишем что игрок 2 пропустил ход + mysql_query( + 'UPDATE `battle_act` SET `out2` = "1",`tpo2` = "2" WHERE `id` = "' . $a1['id'] . '" LIMIT 1' + ); + $a1['out2'] = 1; + $a1['tpo2'] = 2; + $btl->atacks[$a1['id']] = $a1; + $btl->users[$this->u->info['id']]['priems_z'] = $this->u->info['priems_z']; + $btl->startAtack($a1['id']); + } else { + //бьем противника с пропуском хода + mysql_query( + 'INSERT INTO `battle_act` (`battle`,`uid1`,`uid2`,`time`,`out1`,`type`,`tpo1`) VALUES ("' . $btl->info['id'] . '","' . $this->u->info['id'] . '","' . $this->u->info['enemy'] . '","' . time() . '","1","1","2")' + ); + } + } + } + + public function plusData($d1, $d2) + { + global $u; + $j1 = Conversion::dataStringToArray($d1); + $j2 = Conversion::dataStringToArray($this->redate($d2, $this->u->info['id'])); + $v = $this->u->lookKeys($this->redate($d2, $this->u->info['id']), 0); // ключи 2 + //добавляем данные друг к другу + $i = 0; + $inf = ''; + while ($i < count($v)) { + $j1[$v[$i]] += $j2[$v[$i]]; + $vi = str_replace('add_', '', $v[$i]); + if ($this->u->is[$vi] != '') { + if ($j2[$v[$i]] > 0) { + $inf .= $this->u->is[$vi] . ': +' . ($j2[$v[$i]] * (1 + $mpr['x'])) . ', '; + } elseif ($j2[$v[$i]] < 0) { + $inf .= $this->u->is[$vi] . ': ' . ($j2[$v[$i]] * (1 + $mpr['x'])) . ', '; + } + } + $i++; + } + $inf = rtrim($inf, ', '); + $j1 = Conversion::arrayToDataString($j1); + return $j1; + } + + public function maxtr($x, $val) + { + global $u, $btl; + $this->u->info['tactic' . $x] += $val; + $btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] += $val; + if ($this->u->info['tactic' . $x] < 0) { + $this->u->info['tactic' . $x] = 0; + } + if ($btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] < 0) { + $btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] = 0; + } + $rt = '`tactic' . $x . '`="' . $this->u->info['tactic' . $x] . '"'; + mysql_query('UPDATE `stats` SET ' . $rt . ' WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1'); + } + + public function reuns($id) + { + global $u, $c, $code; + $p = explode('|', $this->u->info['priems']); + if ($p[(int)$id] > 0) { + //снимаем прием + $p[(int)$id] = 0; + $p = implode('|', $p); + mysql_query( + 'UPDATE `stats` SET `priems` = "' . mysql_real_escape_string( + $p + ) . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1' + ); + $this->u->info['priems'] = $p; + } + } + + /** Одеть приём в слот? + * @param $id + * @return void + */ + public function uns($id) + { + global $u, $c, $code; + + $pl = $this->getTechniquesInfo($id); + + if (!isset($pl['id']) || $this->testpriem($pl, 1) != 0) { + return; + } + $yes = -1; + $non = -1; + $i = 0; + $p = explode('|', $this->u->info['priems']); + while ($i < $this->u->info['priemslot']) { + if ($non == -1 && $p[$i] == 0) { + $non = $i; + } + if ($p[$i] == $pl['id']) { + $yes = $i; + } + $i++; + } + + if ($yes != -1) { + //такой прием уже стоит, ничего не делаем + return; + } + if ($non != -1) { + //одеваем прием + $p[$non] = $pl['id']; + $p = implode('|', $p); + $upd = mysql_query( + 'UPDATE `stats` SET `priems` = "' . $p . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1' + ); + if ($upd) { + TrainingManager::getInstance() + ->addPoint('my_user_fourth_quest', function (TrainingManager $manager) { + $manager->store(); + }); + $this->u->info['priems'] = $p; + } + } else { + //снимаем последний прием + echo 'Снимаем последний прием...'; + } + } + + //выводим приемы $id - 1 (вне боя), 2 - в бою + + public function getTechniquesInfo(?int $id = null): array + { + if (isset($id)) { + return Db::getRow('SELECT * FROM techniques_categories LEFT JOIN priems ON techniques_categories.technique_id = priems.id + WHERE priems.level <= ? AND priems.activ > 0 AND priems.id = ? ORDER BY priems.img,priems.level', [User::start()->info['level'], $id]); + } + + return Db::getRows('SELECT * FROM techniques_categories LEFT JOIN priems ON techniques_categories.technique_id = priems.id + WHERE priems.level <= ? AND priems.activ > 0 ORDER BY priems.img,priems.level', [User::start()->info['level']]); + } + + public function seeMy($t) + { + global $btl; + $i = 0; + $p = explode('|', $this->u->info['priems']); + $lvar = ''; + $pr = ''; + while ($i < $this->u->info['priemslot']) { + if ($p[$i] > 0) { + $pl = mysql_fetch_assoc( + mysql_query( + 'SELECT * FROM `priems` WHERE `level`<="' . $this->u->info['level'] . '" AND `activ` > "0" AND `id` = "' . mysql_real_escape_string( + $p[$i] + ) . '" LIMIT 1' + ) + ); + $lvar = $this->priemInfo($pl, $t, $i); + $pz = $lvar[1]; + $lvar = $lvar[0]; + if ($t == 1) { + if (isset($_GET['inv'])) { + $cl = 'href="javascript:void(0)" onclick="location.href=\'main.php?all=' . ((int)$_GET['all']) . '&skills=1&rz=4&p_raz=all\'"'; + } else { + $cl = 'href="javascript:void(0)" onclick="location.href=\'main.php?all=' . ((int)$_GET['all']) . '&skills=1&unuse_priem=' . $i . '&rz=4&p_raz=\' + p_raz"'; + } + } else { + if ($pl['type'] == 1) { + //моментально + if ($pl['onUser'] == 1) { + $oninuser = ''; + if ($pl['team'] == 1) { + if ($this->u->info['login2'] != '') { + $oninuser = $this->u->info['login2']; + } else { + $oninuser = $this->u->info['login']; + } + } else { + if ($btl->users[$btl->uids[$this->u->info['enemy']]]['login2'] != '') { + $oninuser = $btl->users[$btl->uids[$this->u->info['enemy']]]['login2']; + } else { + $oninuser = $btl->users[$btl->uids[$this->u->info['enemy']]]['login']; + } + } + $cl = 'href="javascript:void(0);" onClick="top.priemOnUser(' . $i . ',1,\'' . $pl['name'] . '\',\'' . $oninuser . '\',\'' . $pl['img'] . '\');"'; + unset($oninuser); + } else { + $cl = 'href="javascript:void(0);" onClick="usepriem(' . $i . ',1,\'' . $pl['img'] . '\');"'; + } + } elseif ($pl['type'] == 2) { + //длительное + $cl = 'href="javascript:void(0);" onClick="usepriem(' . $i . ',1,\'' . $pl['img'] . '\');"'; + } elseif ($pl['type'] == 3) { + $cl = 'href="javascript:void(0);" onClick="alert(\'Возможно используем?\');"'; + } + } + + + $notr = $this->testpriem($pl, $t); + + + $cl2 = ''; + $cli2 = ''; + if ((($pz[$i] > 0 || $notr > 0) && $t == 2) || (isset($this->u->stats['nopriems']) && $pl['nosh'] == 0) || $this->u->stats['notuse_last_pr'] == $pl['id']) { + $cli2 = ' class="nopriemuse" '; + } + + $pr .= ''; + } else { + + if (isset($_GET['inv'])) { + $pr .= ''; + } else { + $pr .= ''; + } + + } + $i++; + } + if ($this->u->info['animal'] > 0 && $t == 2) { + $use_lst = $this->u->testAction( + '`uid` = "' . $this->u->info['id'] . '" AND `vars` = "animal_use' . $btl->info['id'] . '" LIMIT 1', + 1 + ); + if (!isset($use_lst['id'])) { + $cl2 = ''; + $pr .= ''; + } else { + $cl2 = '" class="nopriemuse'; + $pr .= ''; + } + } + if ($t == 1) { + echo '
' . $pr . '
'; + } elseif ($t == 2) { + return str_replace('"', '\\"', $pr); + } + } + public function priemInfo($pl, $t, $id = false) { global $u, $c, $code, $btl; $pz = explode('|', $this->u->info['priems_z']); - $tr = ConversionHelper::dataStringToArray($pl['tr']); + $tr = Conversion::dataStringToArray($pl['tr']); $trs = ''; $x = 0; $notr = 0; @@ -2379,96 +2277,28 @@ class Priems } //Мощность / подавление / сопротивление и т.д. - public function testPower($s1, $s2, $y, $t, $t2) + + public function getByCategory(?int $category_id = null) { - global $u, $btl; - $r = 0; - if ($t2 == 2) { - //урон магией - $pm = [0 => 0, 1 => 0, 2 => 0, 3 => 0]; - if ($t < 5) { - $pm[0] = $s1['m11']; - $pm[1] = $s2['zm']; - $pm[2] = $s2['antm11']; + $priems = $this->getTechniquesInfo(); + + $cl = ''; + + foreach ($priems as $priem) { + + if ($this->pyes($priem['id']) || $this->testpriem($priem, 1) > 0) { + $cl = 'filter: alpha(opacity=35); -moz-opacity: 0.35; -khtml-opacity: 0.35; opacity: 0.35;'; } - if (isset($btl->info['id'])) { - $pm[3] = $btl->zmgo($s2['zm' . $t]); - $pm[3] = round($pm[3]); - } - - //урон = b*(1+m/100)*2^((p*10-z)/k) - $fx_vl = [ - 250, - 250, - 250, - 250, - 250, - 250, - 250, - 250, - 250, - 350, - 400, - 450, - 500, - 550, - 600, - 650, - 700, - 750, - 800, - 850, - 900, - 950, - ]; - - $fx = [ - 'b' => $y, //базовый урон - 'm' => round($s1['pm' . $t] * 1 - $s2['antpm' . $t]), //мощь - 'z' => round($s2['zm' . $t]), //защита цели ед. - 'p' => round(($s1['pzm'] + $s1['pzm' . $t])), //подавление - 'k' => $fx_vl[(0 + $s1['lvl'])] //коэффициент ; k=250 для 8ки, k=300 для 9ки и т.д. +20% на уровень - ]; - if (($fx['z'] + 250) - $fx['p'] * 10 < 0) { //защита не может уйти больше, чем в 250 ед. - $fx['p'] = ($fx['z'] + 250) / 10; - } - $fx['p'] = 0; - // - $p = $fx['b'] * (1 + $fx['m'] / 100) * pow(2, (($fx['z'] - $fx['p'] * 10) / $fx['k'])); - //$p += $p/100*10; - $p -= $p / 100 * $pm[3]; - //$p += floor($s1['s5']*0.25); - - if ($p < round($y * 0.1)) { - $p = round($y * 0.1); - } elseif ($p > round($y * 10)) { - $p = $y * 10; - } - - if (isset($s2['zm' . $t . 'proc'])) //защита от магии стихий (призрачки) - { - $p = floor($p / 100 * (100 - $s2['zm' . $t . 'proc'])); - if ($p < 0) { - $p = 0; - } - } - if (isset($s2['zmproc'])) //защита от магии стихий (призрачки) - { - if ($s2['zmproc'] >= 75) { - $p = floor($p / 100 * (100 - 75)); - } else { - $p = floor($p / 100 * (100 - $s2['zmproc'])); - if ($p < 0) { - $p = 0; - } - } - } - $r = $p; + echo + <<< HTML + + + + HTML; } - return round($r / 100 * 70); } private function pyes($id) @@ -2486,49 +2316,95 @@ class Priems return $r; } - public function getTechniquesInfo(?int $id = null): array + public function devouringFlame($id, $uid, $j_id, Battle $btl) { - if(isset($id)) { - return Db::getRow('SELECT * FROM techniques_categories LEFT JOIN priems ON techniques_categories.technique_id = priems.id - WHERE priems.level <= ? AND priems.activ > 0 AND priems.id = ? ORDER BY priems.img,priems.level', [User::start()->info['level'], $id]); + $a = 0; + $u1 = 0; + $u2 = 0; + // + $uid1 = $btl->atacks[$id]['uid1']; + $uid2 = $btl->atacks[$id]['uid2']; + if ($uid == $uid1) { + $a = 1; + $u1 = $uid1; + $u2 = $uid2; + } elseif ($uid == $uid2) { + $a = 2; + $u1 = $uid2; + $u2 = $uid1; } + if ($a <= 0) { + return; + }//Проверяем эффект + $prv['j_priem'] = $btl->stats[$btl->uids[$u1]]['u_priem'][$j_id][0]; - return Db::getRows('SELECT * FROM techniques_categories LEFT JOIN priems ON techniques_categories.technique_id = priems.id - WHERE priems.level <= ? AND priems.activ > 0 ORDER BY priems.img,priems.level', [User::start()->info['level']]); + $pvr['data'] = Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $pName = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['name']; + + $pvr['hp'] = $pvr['data']['atgm']; + + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem( + $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, true, false, 1 + ); + + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, $pvr['hp'], 0); + + $pvr['hpNow'] = $this->zeromax($pvr['hpNow'], $pvr['hpAll']); + + $btl->stats[$btl->uids[$u1]]['hpNow'] = $pvr['hpNow']; + + Db::sql('update stats set hpNow = ? where id = ?', [$btl->stats[$btl->uids[$u1]]['hpNow'], $u1]); + + $color = $this->logColor[self::FIRE]; + $prv['text'] = '{u2} утратил здоровье от "{pr}" '; + if ($pvr['promah_type'] == 2) { + $pvr['hp'] = '-'; + } + $prv['text'] .= sprintf( + "%s [%d/%d]", $color, -$pvr['hp'], $pvr['hpNow'], $pvr['hpAll'] + ); + + $btl->priemAddLog( + $id, 1, 2, $u2, $u1, "$pName", $prv['text'], ($btl->hodID) + ); } - public function getByCategory(?int $category_id = null) + private function rezadEff($uid, $mg) { - - $priems = $this->getTechniquesInfo(); - - $cl = ''; - - foreach ($priems as $priem) { - - if ($this->pyes($priem['id']) || $this->testpriem($priem, 1) > 0) { - $cl = 'filter: alpha(opacity=35); -moz-opacity: 0.35; -khtml-opacity: 0.35; opacity: 0.35;'; + global $btl; + //$this->rezadEff($this->u->info['id'],'wis_fire_'); + $md = ''; + $md2 = ''; + $ex = explode('|', $btl->users[$btl->uids[$uid]]['priems']); + $ex2 = explode('|', $btl->users[$btl->uids[$uid]]['priems_z']); + $i = 0; + $ty = []; + while ($i < count($ex)) { + if ($ex[$i] > 0) { + $md .= '`id` = "' . ((int)$ex[$i]) . '" OR '; + $ty[$ex[$i]] = $i; } - - echo - <<< HTML - - - - HTML; + $i++; } - - } - - private function zeromax($num, $max) - { - if ($num <= 0) { - return 0; + $md = rtrim($md, ' OR '); + if ($md != '') { + $md = '( ' . $md . ' ) AND '; } - if ($num > $max) { - $num = $max; + $sp = mysql_query('SELECT * FROM `priems` WHERE ' . $md . ' `img` LIKE "%' . $mg . '%"'); + while ($pl = mysql_fetch_assoc($sp)) { + $ex2[$ty[$pl['id']]] = 0; } - return $num; + $md2 = implode('|', $ex2); + $btl->users[$btl->uids[$uid]]['priems_z'] = $md2; + $this->u->info['priems_z'] = $md2; + $upd = mysql_query('UPDATE `stats` SET `priems_z` = "' . $md2 . '" WHERE `id` = "' . ((int)$uid) . '" LIMIT 1'); + unset($md, $md2, $ty); + return $upd; } /** Приём: Вспышка. @@ -2635,7 +2511,7 @@ class Priems ) : $pl['date3']; // Костыль. Будет работать, пока приём изменяет ОДИН параметр. - $effect = "Защита от магии {$data[$element][1]}: " . current(ConversionHelper::dataStringToArray($dataStr)); + $effect = "Защита от магии {$data[$element][1]}: " . current(Conversion::dataStringToArray($dataStr)); $color = $this->logColor[$element]; $name = "Цель {$data[$element][1]}"; @@ -2660,62 +2536,187 @@ class Priems return false; } - public function devouringFlame($id, $uid, $j_id, Battle $btl) + private function addEffPr($pl, $id) { - $a = 0; - $u1 = 0; - $u2 = 0; - // - $uid1 = $btl->atacks[$id]['uid1']; - $uid2 = $btl->atacks[$id]['uid2']; - if ($uid == $uid1) { - $a = 1; - $u1 = $uid1; - $u2 = $uid2; - } elseif ($uid == $uid2) { - $a = 2; - $u1 = $uid2; - $u2 = $uid1; + global $u, $btl; + $rcu = false; + $j = Conversion::dataStringToArray($pl['date2']); + $mpr = false; + $addch = 0; + $uid = $this->u->info['id']; + if (isset($this->ue['id'])) { + $uid = $this->ue['id']; } - if ($a <= 0) { - return; - }//Проверяем эффект - $prv['j_priem'] = $btl->stats[$btl->uids[$u1]]['u_priem'][$j_id][0]; - - $pvr['data'] = ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - $pName = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['name']; - - $pvr['hp'] = $pvr['data']['atgm']; - - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( - $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, true, false, 1 - ); - - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, $pvr['hp'], 0); - - $pvr['hpNow'] = $this->zeromax($pvr['hpNow'], $pvr['hpAll']); - - $btl->stats[$btl->uids[$u1]]['hpNow'] = $pvr['hpNow']; - - Db::sql('update stats set hpNow = ? where id = ?', [$btl->stats[$btl->uids[$u1]]['hpNow'], $u1]); - - $color = $this->logColor[self::FIRE]; - $prv['text'] = '{u2} утратил здоровье от "{pr}" '; - if ($pvr['promah_type'] == 2) { - $pvr['hp'] = '-'; + if (isset($j['onlyOne'])) { + $mpr = Db::getRow( + 'select * from eff_users where v2 = ? and uid = ? and `delete` = 0 and mark = 1', + [$pl['id'], $uid] + ); + //$mpr = mysql_fetch_assoc(mysql_query('SELECT * FROM `eff_users` WHERE `v2` = "' . $pl['id'] . '" AND `uid` = "' . $uid . '" AND `delete` = "0" AND `mark` = 1 LIMIT 1')); } - $prv['text'] .= sprintf( - "%s [%d/%d]", $color, -$pvr['hp'], $pvr['hpNow'], $pvr['hpAll'] - ); - $btl->priemAddLog( - $id, 1, 2, $u2, $u1, "$pName", $prv['text'], ($btl->hodID) - ); + // if ($pl['cancel_eff2'] != '') { + // $i = 0; + // $e = explode(',', $pl['cancel_eff2']); + // while ($i < count($e)) { + // if ($e[$i] > 0) { + // $nem = mysql_fetch_assoc(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $uid . '" AND `v1` = "priem" AND `v2` = "' . $e[$i] . '" AND `delete` = "0" AND `mark` = 1 LIMIT 1')); + // if (isset($nem['id'])) { + // $nem['priem'] = mysql_fetch_assoc(mysql_query('SELECT * FROM `priems` WHERE `id` = "' . $e[$i] . '" LIMIT 1')); + // if (isset($nem['id'])) { + // $btl->delPriem($nem, $btl->users[$btl->uids[$uid]], 2); + // if ($nem['id'] == $mpr['id']) { + // unset($mpr); + // } + // } + // } + // } + // $i++; + // } + // } + + if (!empty($pl['cancel_eff2'])) { + $this->cancelEffects($pl['cancel_eff2'], $uid, $btl); + } + + $pld = [0 => '']; + $nc = 0; + if (isset($mpr['id']) && $j['onlyOne'] == 1) { + //отнимаем тактики + $addch = 1; + $this->mintr($pl); + $this->uppz($pl, $id); + //добавляем прием в эффекты + if (isset($this->ue['id'])) { + $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->ue, 0); + } else { + $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->u->info, 0); + } + $nc = 1; + } elseif (!isset($mpr['id'])) { + $data = ''; + if (isset($j['date3Plus'])) { + $data = $this->redate($pl['date3'], $this->u->info['id']); + } + + $hd1 = -1; + if ($pl['limit'] > 0) { + $tm = 77; + $hd1 = $pl['limit']; + } else { + $tm = 77; + } + if ($pl['limit'] == -2) { + $hd1 = $pl['limit']; + } + if ($pl['id'] == 239) //Вывод приемов которые не моментальные как бы + { + $btl->priemAddLogFast( + $uid, 0, $pl['name'], + '{tm' . $this->u->info['team'] . '} ' . $btl->addlt( + 1, 17, $btl->users[$btl->uids[$uid]]['sex'], + null + ) . '', + 1, time() + ); + } + + $uu = $pl['id'] === 260 ? '' : $this->u->info['id']; + Db::sql( + 'insert into eff_users (hod, v1, v2, img2, id_eff, uid, name, data, overType, timeUse, user_use) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', + [$hd1, 'priem', $pl['id'], $pl['img'] . '.gif', 22, $uid, $pl['name'], $data, 0, $tm, $uu] + ); + + unset($hd1, $uu); + //отнимаем тактики + $addch = 1; + $rcu = true; + $nc = 1; + $this->mintr($pl); + //$this->uppz($pl,$id); + //добавляем прием в эффекты + if (isset($this->ue['id'])) { + $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->ue, 0); + } else { + $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->u->info, 0); + } + } elseif ($j['onlyOne'] > 1) { + if ($mpr['x'] < $j['onlyOne'] && isset($j['date3Plus'])) { + $j1 = Conversion::dataStringToArray($mpr['data']); + $j2 = Conversion::dataStringToArray($this->redate($pl['date3'], $this->u->info['id'])); + $v = $this->u->lookKeys($this->redate($pl['date3'], $this->u->info['id']), 0); // ключи 2 + //добавляем данные друг к другу + $i = 0; + $inf = ''; + while ($i < count($v)) { + $j1[$v[$i]] += $j2[$v[$i]]; + $vi = str_replace('add_', '', $v[$i]); + if ($this->u->is[$vi] != '') { + if ($j2[$v[$i]] > 0) { + $inf .= $this->u->is[$vi] . ': +' . ($j2[$v[$i]] * (1 + $mpr['x'])) . ', '; + } elseif ($j2[$v[$i]] < 0) { + $inf .= $this->u->is[$vi] . ': ' . ($j2[$v[$i]] * (1 + $mpr['x'])) . ', '; + } + } + $i++; + } + $inf = rtrim($inf, ', '); + $j1 = Conversion::arrayToDataString($j1); + $pld[0] = ' x' . ($mpr['x'] + 1); + if ($j['refHod'] == 1) { + $mpr['hod'] = $pl['limit']; + } + $upd = mysql_query( + 'UPDATE `eff_users` SET `hod` = "' . $mpr['hod'] . '",`data` = "' . $j1 . '",`x` = `x`+1 WHERE `id` = "' . $mpr['id'] . '" LIMIT 1' + ); + if ($upd) { + //отнимаем тактики + $this->mintr($pl); + $this->uppz($pl, $id); + //добавляем прием в эффекты + if (isset($this->ue['id'])) { + $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->ue, 0); + } else { + $btl->stats[$btl->uids[$uid]] = $this->u->getStats($this->u->info, 0); + } + $addch = 1; + $rcu = true; + $nc = 1; + } + } + } + /* тратим свой ход */ + if ($nc == 1 && $pl['tr_hod'] > 0) { + $this->trhod($pl); + } + //return $rcu; + } + + public function mintr($pl) + { + global $u, $btl; + $x = 1; + $rt = ''; + while ($x <= 7) { + if ($pl['ndt' . $x] == 0) { + $this->u->info['tactic' . $x] -= $pl['tt' . $x]; + $btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] -= $pl['tt' . $x]; + } + if ($this->u->info['tactic' . $x] < 0) { + $this->u->info['tactic' . $x] = 0; + } + if ($btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] < 0) { + $btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] = 0; + } + //$rt .= ',`tactic'.$x.'`="'.$this->u->info['tactic'.$x].'"'; + $rt .= ',`tactic' . $x . '`="' . $btl->users[$btl->uids[$this->u->info['id']]]['tactic' . $x] . '"'; + $x++; + } + if ($pl['xuse'] > 0) { + $this->u->addAction(time(), 'use_priem_' . $btl->info['id'] . '_' . $this->u->info['id'], $pl['id']); + } + $rt = ltrim($rt, ','); + mysql_query('UPDATE `stats` SET ' . $rt . ' WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1'); } /** Пожирающее пламя. Первичный каст на противника, на котором нет эффекта. @@ -2723,7 +2724,7 @@ class Priems * Конечный damage после множителей делится на 5 и пишется в БД (atgm=). * Файлы: 33, 56, 57, 58, 59, 60. * @param $id - * @param array $pl массив значений из БД priems. + * @param array $pl массив значений из БД priems. * @param Battle $btl * @return void */ @@ -2744,7 +2745,7 @@ class Priems $logText, $btl->hodID + 1 ); - $data = ConversionHelper::arrayToDataString(['atgm' => max(floor($damage / 5), 1)]); + $data = Conversion::arrayToDataString(['atgm' => max(floor($damage / 5), 1)]); $this->addPriem( $this->ue['id'], $pl['id'], $data, 0, 77, 5, $this->u->info['id'], 1, 'пожирающеепламя', 0, 0, 1 @@ -2755,7 +2756,7 @@ class Priems * Если есть одинаковые статы из них выбирается случайный. * Файл:267, приём 268. Понимай как хочешь. * @param $id - * @param array $pl + * @param array $pl * @param Battle $btl * @return void */ @@ -2768,7 +2769,7 @@ class Priems $datas = Db::getColumn($q, array_fill(0, 3, $this->ue['id'])); $stats = array_fill_keys(['s1', 's2', 's3', 's5', 's6'], 0); foreach ($datas as $data) { - $data = ConversionHelper::dataStringToArray($data); + $data = Conversion::dataStringToArray($data); print_r($data); foreach (array_keys($stats) as $stat) { if (isset($data[$stat])) { diff --git a/_incl_data/class/Insallah/Runes/Runes.php b/_incl_data/class/Runes.php similarity index 97% rename from _incl_data/class/Insallah/Runes/Runes.php rename to _incl_data/class/Runes.php index e8531c1b..dd141db0 100644 --- a/_incl_data/class/Insallah/Runes/Runes.php +++ b/_incl_data/class/Runes.php @@ -1,6 +1,5 @@ info['id'] . '"'); //одеваем вещи, если они не удалены - $cm = ConversionHelper::dataStringToArray($cmp['val']); + $cm = Conversion::dataStringToArray($cmp['val']); $i = 1; while ($i <= 250) { if (isset($cm[$i])) { @@ -939,7 +939,7 @@ class User ); $t = $this->items['tr']; $x = 0; - $po = ConversionHelper::dataStringToArray($o['tr']); + $po = Conversion::dataStringToArray($o['tr']); if ($o['itm'] > 0) { $o['itm'] = explode(',', $o['itm']); $j = 0; @@ -999,7 +999,7 @@ class User ); $t = $this->items['tr']; $x = 0; - $po = ConversionHelper::dataStringToArray($o['tr']); + $po = Conversion::dataStringToArray($o['tr']); if ($o['itm'] > 0) { $o['itm'] = explode(',', $o['itm']); $j = 0; @@ -1789,7 +1789,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' ) . '" AND (`endTime` > "' . time() . '" OR `endTime` = 0)' ); while ($e = mysql_fetch_array($efs)) { - $sts = ConversionHelper::dataStringToArray($e['bonus']); + $sts = Conversion::dataStringToArray($e['bonus']); $i = 0; while ($i < count($ia)) { if (isset($ia[$i])) { @@ -1886,7 +1886,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' } $st['effects'][$h] = $e; $h++; - $sts = ConversionHelper::dataStringToArray($e['data']); + $sts = Conversion::dataStringToArray($e['data']); if (isset($sts['itempl']) && $sts['itempl'] > 0) { $nbs[$sts['itempl']] += 1; } @@ -2077,7 +2077,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' } $st['effects'][$h] = $e; $h++; - $sts = ConversionHelper::dataStringToArray($e['data']); + $sts = Conversion::dataStringToArray($e['data']); if ($e['v2'] == 217) { $st['raztac'] = 1; } @@ -2252,7 +2252,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' if (isset($com['id'])) { //добавляем действия комплекта $ij = 0; - $sti = ConversionHelper::dataStringToArray($com['data']); + $sti = Conversion::dataStringToArray($com['data']); while ($ij < count($ia)) { if (isset($ia[$ij]) && isset($sti[$ia[$ij]])) { $st[$ia[$ij]] += $sti[$ia[$ij]]; @@ -2967,7 +2967,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' 'UPDATE `eff_users` SET `delete`="' . time() . '" WHERE `id` = "' . $e['id'] . '" LIMIT 1' ); if ($upd) { - $po = ConversionHelper::dataStringToArray($e['data']); + $po = Conversion::dataStringToArray($e['data']); if (isset($po['finish_file'])) { if (file_exists('_incl_data/class/Magic/' . $po['finish_file'] . '.php')) { require('_incl_data/class/Magic/' . $po['finish_file'] . '.php'); @@ -3084,7 +3084,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' if ($this->info['wipe'] > 0 && $this->info['battle'] == 0) { //wipe = 1 , значит обнуляем статы и умения if ($this->info['wipe'] < 4) { - $st = ConversionHelper::dataStringToArray($this->info['stats']); + $st = Conversion::dataStringToArray($this->info['stats']); $n1 = $this->info['ability']; //способности $n2 = $this->info['skills']; //владение магией и оружием $n3 = $this->info['sskills']; //особенности @@ -3137,7 +3137,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' } } //сохраняем данные - $st = ConversionHelper::arrayToDataString($st); + $st = Conversion::arrayToDataString($st); $upd = mysql_query( 'UPDATE `stats` SET `wipe`="0",`stats`="' . $st . '",`ability`="' . $n1 . '",`skills`="' . $n2 . '",`sskills`="' . $n3 . '",`nskills`="' . $n4 . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' ); @@ -3262,7 +3262,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $v = Db::getValue('select time from vortex where uid = ? and type = 1 order by time desc limit 1'); if ($v > time() - 60 * 60) { //Уже юзали - $this->error = 'Необходимо подождать еще ' . ConversionHelper::secondsToTimeout($v + 60 * 60 - time()); + $this->error = 'Необходимо подождать еще ' . Conversion::secondsToTimeout($v + 60 * 60 - time()); } else { if ($this->stats['hpNow'] < 1) { $this->stats['hpNow'] = 0; @@ -3279,7 +3279,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $v = Db::getValue('select time from vortex where uid = ? and type = 2 order by time desc limit 1'); if ($v > time() - 60 * 60) { //Уже юзали - $this->error = 'Необходимо подождать еще ' . ConversionHelper::secondsToTimeout($v + 60 * 60 - time()); + $this->error = 'Необходимо подождать еще ' . Conversion::secondsToTimeout($v + 60 * 60 - time()); } else { if ($this->stats['mpNow'] < 1) { $this->stats['mpNow'] = 0; @@ -3338,7 +3338,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' */ public function timeOut($ttm): string { - return ConversionHelper::secondsToTimeout($ttm); + return Conversion::secondsToTimeout($ttm); } public function insertAlign($an, $uid) @@ -3379,7 +3379,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' `iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "' . ((int)$id) . '" LIMIT 1;' ) ); - $po = ConversionHelper::dataStringToArray($pl['data']); + $po = Conversion::dataStringToArray($pl['data']); if ((!isset($po['frompisher']) || $po['tr_lvl'] < 4) && $pl['type'] != 31) { $e = 'Не удалось обменять предмет на репутацию.'; } else { @@ -3447,7 +3447,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $tp = 0; $t = 0; $i = 1; - $d = ConversionHelper::dataStringToArray($w1['data']); + $d = Conversion::dataStringToArray($w1['data']); while ($i <= 4) { if (isset($d['tya' . $i]) && $t < $d['tya' . $i]) { $t = $d['tya' . $i]; @@ -3486,7 +3486,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $tp = 0; $t = 0; $i = 1; - $d = ConversionHelper::dataStringToArray($w2['data']); + $d = Conversion::dataStringToArray($w2['data']); while ($i <= 4) { if ($t < $d['tya' . $i]) { $t = $d['tya' . $i]; @@ -3522,7 +3522,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $tp = 0; $t = 0; $i = 1; - $d = ConversionHelper::dataStringToArray($w1['data']); + $d = Conversion::dataStringToArray($w1['data']); while ($i <= 4) { if (isset($d['tya' . $i]) && $t < $d['tya' . $i]) { $t = $d['tya' . $i]; @@ -3555,7 +3555,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $tp = 0; $t = 0; $i = 1; - $d = ConversionHelper::dataStringToArray($w2['data']); + $d = Conversion::dataStringToArray($w2['data']); while ($i <= 4) { if ($t < $d['tya' . $i]) { $t = $d['tya' . $i]; @@ -3588,7 +3588,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $tp = 0; $t = 0; $i = 1; - $d = ConversionHelper::dataStringToArray($w1['data']); + $d = Conversion::dataStringToArray($w1['data']); $y = 0; if (isset($d['sv_' . $v])) { $y += $d['sv_' . $v]; @@ -3608,7 +3608,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $tp = 0; $t = 0; $i = 1; - $d = ConversionHelper::dataStringToArray($w2['data']); + $d = Conversion::dataStringToArray($w2['data']); $y = @$this->stats[$v] + @$d['sv_' . $v]; if ($y != $ry) { $r .= ' / ' . $y . ''; @@ -3625,7 +3625,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' { $tp = 0; if (isset($item['id'])) { - $itm = ConversionHelper::dataStringToArray($item['data']); + $itm = Conversion::dataStringToArray($item['data']); //начинаем расчет урона if (!isset($st['minAtack'])) { $st['minAtack'] = 0; @@ -3915,7 +3915,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' if ($ins1) { if ($round > 0) { //Улучшаем мф. и статы и НР 1 раунд = +10% - $statss = ConversionHelper::dataStringToArray($clon['stats']); + $statss = Conversion::dataStringToArray($clon['stats']); // $statss['s1'] = ceil($statss['s1'] * (1 + 0.1 * ($round))); $statss['s2'] = ceil($statss['s2'] * (1 + 0.1 * ($round))); @@ -3932,12 +3932,12 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $statss['m5'] = ceil($statss['m5'] * (1 + 0.1 * ($round))); $statss['za'] = ceil($statss['za'] * (1 + 0.1 * ($round))); $statss['zm'] = ceil($statss['zm'] * (1 + 0.1 * ($round))); - $clon['stats'] = ConversionHelper::arrayToDataString($statss); + $clon['stats'] = Conversion::arrayToDataString($statss); unset($statss); } if ($luser && $clon['level'] < 8) { //Хуже уворот, крит и защита - $statss = ConversionHelper::dataStringToArray($clon['stats']); + $statss = Conversion::dataStringToArray($clon['stats']); $statss['m1'] = ceil($statss['m1'] * 0.75); $statss['m2'] = ceil($statss['m2'] * 0.75); $statss['m3'] = ceil($statss['m3'] * 0.75); @@ -3945,7 +3945,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $statss['m5'] = ceil($statss['m5'] * 0.75); $statss['za'] = ceil($statss['za'] * 0.25); - $clon['stats'] = ConversionHelper::arrayToDataString($statss); + $clon['stats'] = Conversion::arrayToDataString($statss); unset($statss); } $uid = mysql_insert_id(); @@ -4038,7 +4038,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $uid = mysql_insert_id(); if ($round > 0) { //Улучшаем мф. и статы и НР 1 раунд = +20% - $statss = ConversionHelper::dataStringToArray($bot['stats']); + $statss = Conversion::dataStringToArray($bot['stats']); // $statss['s1'] = ceil($statss['s1'] * (1 + 0.20 * ($round))); $statss['s2'] = ceil($statss['s2'] * (1 + 0.20 * ($round))); @@ -4055,7 +4055,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $statss['m5'] = ceil($statss['m5'] * (1 + 0.20 * ($round))); $statss['za'] = ceil($statss['za'] * (1 + 0.20 * ($round))); $statss['zm'] = ceil($statss['zm'] * (1 + 0.20 * ($round))); - $bot['stats'] = ConversionHelper::arrayToDataString($statss); + $bot['stats'] = Conversion::arrayToDataString($statss); unset($statss); } $ins2 = mysql_query( @@ -4293,7 +4293,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' 'SELECT `id`, `item_id`, `data`, `inGroup`, `uid` FROM `items_users` WHERE `id` = ' . $iid . ' LIMIT 1' ) ); - $ChSudba = ConversionHelper::dataStringToArray($ChImtem['data']); + $ChSudba = Conversion::dataStringToArray($ChImtem['data']); if (!isset($ChSudba['sudba']) && $ChSudba['sudba'] == 0 && $ChSudba['sudba'] != 1 && !isset($ChSudba['toclan'])) { if (isset($ChImtem['inGroup']) and $ChImtem['inGroup'] > 0) { $col = $this->itemsX($ChImtem['id']); @@ -4445,7 +4445,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' ) ); if (isset($itm['id'])) { - $po = ConversionHelper::dataStringToArray($itm['data']); + $po = Conversion::dataStringToArray($itm['data']); //статы if ($_GET['mf'] == 's1' || $_GET['mf'] == 's2' || $_GET['mf'] == 's3' || $_GET['mf'] == 's5') { @@ -4454,7 +4454,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $po['mf_stats'] -= 1; $po['add_' . $_GET['mf']] += 1; - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query( 'UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' ); @@ -4465,7 +4465,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $po['mf_mod'] -= 1; $po['add_' . $_GET['mf']] += 1; - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query( 'UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' ); @@ -4484,7 +4484,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $po['add_mib' . $s] += 1; } - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query( 'UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' ); @@ -4568,7 +4568,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' ) ); if (isset($itm['id']) && ($s == 1 || $s == 2 || $s == 3 || $s == 5)) { - $po = ConversionHelper::dataStringToArray($itm['data']); + $po = Conversion::dataStringToArray($itm['data']); if (isset($po['free_stats']) && $po['free_stats'] > 0) { $s = (int)$s; if ($s >= 1 || $s <= 3 || $s == 5) { @@ -4577,7 +4577,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' $po['add_s' . $s] += 1; } } - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'); } @@ -4658,7 +4658,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' ) ); if (isset($itm['id'])) { - $po = ConversionHelper::dataStringToArray($itm['data']); + $po = Conversion::dataStringToArray($itm['data']); if ($itm['so'] > 0) { $s = (int)$s; if ($tp == 1) { @@ -4726,7 +4726,7 @@ FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1' } } } - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query( 'UPDATE `items_users` SET `data` = "' . $po . '",`so` = "' . $itm['so'] . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' ); @@ -5006,14 +5006,14 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` return; } $s = (int)$s; - $po = ConversionHelper::dataStringToArray($itm['data']); + $po = Conversion::dataStringToArray($itm['data']); if (isset($po['sudba']) && $po['sudba'] == '0') { return; } if (isset($po['sm_skill']) && $s > 100) { $mx2 = 1; $mx1 = 0; - $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); + $mx3 = Conversion::dataStringToArray($this->info['stats']); while ($mx2 <= 7) { $mx1 += ($mx3['a' . $mx2] + $mx3['mg' . $mx2]) - ($po['add_a' . $mx2] + $po['add_mg' . $mx2]); $mx2++; @@ -5033,7 +5033,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } elseif (isset($po['sm_abil']) && $s < 11 && $s > 0) { $mx2 = 1; $mx1 = 0; - $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); + $mx3 = Conversion::dataStringToArray($this->info['stats']); while ($mx2 <= 7) { $mx1 += $mx3['s' . $mx2] - $po['add_s' . $mx2]; $mx2++; @@ -5044,7 +5044,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } } - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'); unset($mx1, $mx2, $mx3, $po); @@ -5110,7 +5110,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` while ($pl = mysql_fetch_array($sp)) { $vibor .= '
'; if (!isset($id['id'])) { - $dt = ConversionHelper::dataStringToArray($pl['data']); + $dt = Conversion::dataStringToArray($pl['data']); $id = []; $id = $pl; $id_type = $pl['type']; @@ -5161,7 +5161,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` if ($idt['type'] == 4) { $idt['type'] = 6; } - $data = ConversionHelper::dataStringToArray($id['data']); + $data = Conversion::dataStringToArray($id['data']); $type_rune = [ 'хи' => 9, //Серьги 'хэ' => 10, //Ожерелье @@ -5204,7 +5204,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` ) ); $j = 0; - $data_r = ConversionHelper::dataStringToArray($ritm['data']); + $data_r = Conversion::dataStringToArray($ritm['data']); while ($j < count($this->items['add'])) { if (isset($data_r['add_' . $this->items['add'][$j]])) { $data['add_' . $this->items['add'][$j]] -= $data_r['add_' . $this->items['add'][$j]]; @@ -5217,7 +5217,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $data['rune_name'] = $rune['name']; $data['rune_lvl'] = $rune['level']; //Добавляем характеристики руны - $add = ConversionHelper::dataStringToArray($rune['data']); + $add = Conversion::dataStringToArray($rune['data']); $i = 0; while ($i < count($this->items['add'])) { if (isset($add['add_' . $this->items['add'][$i]])) { @@ -5226,7 +5226,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $i++; } - $data = ConversionHelper::arrayToDataString($data); + $data = Conversion::arrayToDataString($data); mysql_query( 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' ); @@ -5257,8 +5257,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` ) ); - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); + $data = Conversion::dataStringToArray($id['data']); + $add = Conversion::dataStringToArray($rune['data']); if (isset($data['nomodif'])) { $this->error = 'Улучшить данный предмет невозможно'; } elseif (isset($data['art']) && $data['tr_lvl'] < 0) { @@ -5325,7 +5325,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` // - $data = ConversionHelper::arrayToDataString($data); + $data = Conversion::arrayToDataString($data); unset($srune, $irun, $nrune, $ntrune, $addrune, $addrunes); $tid = mysql_query( 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' @@ -5359,8 +5359,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } //$id['type'] = $idt['type']; //Встраиваем руну - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); + $data = Conversion::dataStringToArray($id['data']); + $add = Conversion::dataStringToArray($rune['data']); if (isset($data['nomodif'])) { $this->error = 'Улучшить данный предмет невозможно'; } elseif (isset($data['art']) && $data['tr_lvl'] < 0) { @@ -5399,7 +5399,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $imposed['sudba'] = 1; $data = array_merge($data, $imposed); - $data = ConversionHelper::arrayToDataString($data); + $data = Conversion::arrayToDataString($data); mysql_query( 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' @@ -5420,7 +5420,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` ) ); - $data_l = ConversionHelper::dataStringToArray($litm['data']); + $data_l = Conversion::dataStringToArray($litm['data']); $pvr = [ 'i' => 0, 'spell' => [], @@ -5445,7 +5445,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` ) ); $j = 0; - $data_r = ConversionHelper::dataStringToArray($ritm['data']); + $data_r = Conversion::dataStringToArray($ritm['data']); while ($j < count($this->items['add'])) { if (isset($data_r['add_' . $this->items['add'][$j]])) { $pvr['rune'][$this->items['add'][$j]] = $data_r['add_' . $this->items['add'][$j]]; @@ -5540,7 +5540,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` if (!isset($this->is[$rnda]) && isset($imposed)) { $data = array_merge($data, $imposed); - $data = ConversionHelper::arrayToDataString($data); + $data = Conversion::arrayToDataString($data); mysql_query( 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' @@ -5591,7 +5591,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } else { unset($data['spell_st_val_hp']); } - $data = ConversionHelper::arrayToDataString($data); + $data = Conversion::arrayToDataString($data); $this->is['mab1'] = 'Броня головы'; $this->is['mab2'] = 'Броня корпуса'; @@ -5621,8 +5621,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } } } elseif ($rune['type'] == 47) { - $add = ConversionHelper::dataStringToArray($id['data']); - $data = ConversionHelper::dataStringToArray($rune['data']); + $add = Conversion::dataStringToArray($id['data']); + $data = Conversion::dataStringToArray($rune['data']); if ($add['art'] == 1) { if ($id['iznosNOW'] > 0) { $id['iznosNOW'] -= $data['repairLevel']; @@ -5653,9 +5653,9 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } $id['type'] = $idt['type']; if ($id_type < 18 || $id_type > 24) { - $add = ConversionHelper::dataStringToArray($rune['data']); + $add = Conversion::dataStringToArray($rune['data']); if (isset($add['uptimeitem'])) { - $data = ConversionHelper::dataStringToArray($id['data']); + $data = Conversion::dataStringToArray($id['data']); if ($data['srok'] > 0 || $id['srok'] > 0) { if (!isset($data['srok'])) { $data['srok'] = $id['srok']; @@ -5671,7 +5671,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` unset($data['sleep_moroz']); } - $data = ConversionHelper::arrayToDataString($data); + $data = Conversion::arrayToDataString($data); mysql_query( 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' @@ -5692,8 +5692,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } } else { //Заточка - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); + $data = Conversion::dataStringToArray($id['data']); + $add = Conversion::dataStringToArray($rune['data']); if (isset($data['upatack_id'])) { $this->error = 'Предмет уже заточен, вытащите заточку в Ремонтной мастерской.'; } elseif (isset($data['nomodif'])) { @@ -5707,7 +5707,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` 'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $data['upatack_id'] . '" LIMIT 1' ) ); - $data_r = ConversionHelper::dataStringToArray($ritm['data']); + $data_r = Conversion::dataStringToArray($ritm['data']); if ($id_type == 22) { $data['add_m11'] -= $data_r['upatack']; //*2 } @@ -5738,7 +5738,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` time(), $this->info['city'], 'System.remont.upatack', 0, 0 ); - $data = ConversionHelper::arrayToDataString($data); + $data = Conversion::arrayToDataString($data); mysql_query( 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' @@ -5751,8 +5751,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } } elseif ($rune['type'] == 48) { //Профиль - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); + $data = Conversion::dataStringToArray($id['data']); + $add = Conversion::dataStringToArray($rune['data']); if ($data['tya1'] >= 90 || $data['tya2'] >= 90 || $data['tya3'] >= 90 || $data['tya4'] >= 90) { $this->error = 'Предмет уже имеет 90 своего профиля'; @@ -5790,7 +5790,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` time(), $this->info['city'], 'System.remont.upatack', 0, 0 ); $this->error = 'Заточка "' . $id['name'] . '" прошла успешно! Колка:' . $data['tya1'] . ' Руб:' . $data['tya2'] . ' Дробь:' . $data['tya3'] . ' Реж:' . $data['tya4'] . ' '; - $data = ConversionHelper::arrayToDataString($data); + $data = Conversion::arrayToDataString($data); mysql_query( 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' ); @@ -5832,8 +5832,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $id['type'] = $idt['type']; //Встраиваем руну - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); + $data = Conversion::dataStringToArray($id['data']); + $add = Conversion::dataStringToArray($rune['data']); if (isset($data['nomodif'])) { $this->error = 'Улучшить данный предмет невозможно'; } elseif (!isset($data['close']) && $data['close'] != 0) { @@ -5847,7 +5847,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $data['open'] = 1; - $data = ConversionHelper::arrayToDataString($data); + $data = Conversion::arrayToDataString($data); mysql_query( 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' @@ -5863,8 +5863,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` ); if ($idt['type'] != 37) { // - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); + $data = Conversion::dataStringToArray($id['data']); + $add = Conversion::dataStringToArray($rune['data']); // if ($id['gift'] == '' || $id['gift'] == '0') { if (isset($data['notransfer'])) { @@ -5881,7 +5881,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $add['item_inbox'] = $id['id']; $add['open'] = 1; $add['nosale'] = 1; - $add = ConversionHelper::arrayToDataString($add); + $add = Conversion::arrayToDataString($add); // mysql_query( 'UPDATE `items_users` SET `inGroup` = 0,`data` = "' . $add . '" WHERE `id` = "' . $rune['id'] . '" LIMIT 1' @@ -6047,7 +6047,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } while ($pl = mysql_fetch_array($cl)) { if ($type == 30) { - $ChSudba = ConversionHelper::dataStringToArray($pl['data']); + $ChSudba = Conversion::dataStringToArray($pl['data']); if (isset($ChSudba['sudba']) || $ChSudba['sudba'] != 0 || $ChSudba['nosale'] == 1) { continue; } @@ -6062,7 +6062,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $d[0] = 0; $d[1] = 1; $d[2] = 0; - $po = ConversionHelper::dataStringToArray($pl['data']); + $po = Conversion::dataStringToArray($pl['data']); $see1 = 1; if ($type == 15) { //кормушка зверя @@ -6574,7 +6574,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` //Возможно сохранять и распределять скилы $mx2 = 1; $mx1 = 0; - $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); + $mx3 = Conversion::dataStringToArray($this->info['stats']); while ($mx2 <= 7) { $mx1 += $mx3['s' . $mx2] - $po['add_s' . $mx2]; $mx2++; @@ -6604,7 +6604,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` //Возможно сохранять и распределять скилы $mx2 = 1; $mx1 = 0; - $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); + $mx3 = Conversion::dataStringToArray($this->info['stats']); while ($mx2 <= 7) { $mx1 += ($mx3['a' . $mx2] + $mx3['mg' . $mx2]) - ($po['add_a' . $mx2] + $po['add_mg' . $mx2]); $mx2++; @@ -6651,7 +6651,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` //действие комплекта $i1c = 0; $i2c = 0; - $i1e = ConversionHelper::dataStringToArray($plc['data']); + $i1e = Conversion::dataStringToArray($plc['data']); while ($i1c < count($this->items['add'])) { if (isset($i1e[$this->items['add'][$i1c]])) { $i3c = $i1e[$this->items['add'][$i1c]]; @@ -6687,7 +6687,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` //действие комплекта $i1c = 0; $i2c = 0; - $i1e = ConversionHelper::dataStringToArray($plc['data']); + $i1e = Conversion::dataStringToArray($plc['data']); while ($i1c < count($this->items['add'])) { if (isset($i1e[$this->items['add'][$i1c]])) { $i3c = $i1e[$this->items['add'][$i1c]]; @@ -6792,7 +6792,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $pl['inOdet'] = 0; $pl['uid'] = $plpo['id']; unset($po['toclan1'], $po['toclan']); - $pl['data'] = ConversionHelper::arrayToDataString($po); + $pl['data'] = Conversion::arrayToDataString($po); mysql_query( 'UPDATE `items_users` SET `data` = "' . mysql_real_escape_string( $pl['data'] @@ -6888,7 +6888,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $itemrun = mysql_fetch_array( mysql_query('SELECT * FROM `items_users` WHERE `id` ="' . $pl['id'] . '" LIMIT 1') ); - $it = ConversionHelper::dataStringToArray($itemrun['data']); + $it = Conversion::dataStringToArray($itemrun['data']); if (!isset($it['rune_name']) || $_GET['otdel'] == 2) //отдел 2(заточки) { $is1 .= 'items['tr']; @@ -7865,7 +7865,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } if (isset($po['sudba']) && $po['sudba'] == 1) { $po['sudba'] = $u['login']; - $itm['data'] = ConversionHelper::arrayToDataString($po); + $itm['data'] = Conversion::arrayToDataString($po); mysql_query( 'UPDATE `items_users` SET `data` = "' . $itm['data'] . '" WHERE `id` = "' . $itm['iduid'] . '" AND `uid` = "' . $u['id'] . '" LIMIT 1' ); @@ -7873,7 +7873,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` if (isset($po['zazuby']) && !isset($po['srok']) && ($itm['type'] == 29 || $itm['type'] == 30 || $itm['type'] == 36 || $itm['type'] == 49 || $itm['type'] == 46 || $itm['type'] == 34)) { //Предметы за зубы со сроком годности $po['srok'] = 86400 * 7; - $itm['data'] = ConversionHelper::arrayToDataString($po); + $itm['data'] = Conversion::arrayToDataString($po); mysql_query( 'UPDATE `items_users` SET `data` = "' . $itm['data'] . '" WHERE `id` = "' . $itm['iduid'] . '" AND `uid` = "' . $u['id'] . '" LIMIT 1' ); @@ -7965,7 +7965,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` if ($zub > 0) { $zzba = '|zazuby=1'; } - $po = ConversionHelper::dataStringToArray($this->stats['items'][$i]['data']); + $po = Conversion::dataStringToArray($this->stats['items'][$i]['data']); if ($id2 > 0) { if ($id2 == 4708) { $this->addItem($id2, $uid, '|notransfer=1|nosale=1' . $zzba); @@ -8041,7 +8041,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` if ($this->stats['items'][$i]['useInBattle'] == 0 || $this->stats['items'][$i]['btl_zd'] > 0 || $this->stats['items'][$i]['iznosNOW'] >= $this->stats['items'][$i]['iznosMAX'] || $this->stats['items'][$i]['magic_inci'] == '' || $this->stats['items'][$i]['magic_inci'] == '0') { $vl = ' class="nopriemuse"'; } else { - $po = ConversionHelper::dataStringToArray($this->stats['items'][$i]['data']); + $po = Conversion::dataStringToArray($this->stats['items'][$i]['data']); if ($po['useOnLogin'] == 1) { $useUrl = 'top.useMagicBattle(\'' . $this->stats['items'][$i]['name'] . '\',' . $this->stats['items'][$i]['id'] . ',\'' . $this->stats['items'][$i]['img'] . '\',1,1,\'\',\'' . $this->stats['items'][$i]['useInBattle'] . '\');'; } else { @@ -8226,7 +8226,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $b1 = '
'; while ($pl = mysql_fetch_array($cl)) { - $td = ConversionHelper::dataStringToArray($pl['data']); + $td = Conversion::dataStringToArray($pl['data']); if (isset($td['modif'])) { $pl['name'] = $pl['name'] . ' (мф)'; @@ -8300,13 +8300,13 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $wj1i .= $br; } $td = []; - $td = ConversionHelper::dataStringToArray($wj[1]['data']); + $td = Conversion::dataStringToArray($wj[1]['data']); $wj[1]['name'] = $this->nameItemMf($wj[1], $td); $wj1i .= '' . $wj[1]['name'] . ''; $wj1i .= $this->getInfoItemInfo($wj[1]); } if (isset($wj[52]) && $wj[52]) { - $td = ConversionHelper::dataStringToArray($wj[52]['data']); + $td = Conversion::dataStringToArray($wj[52]['data']); $wj[52]['name'] = $this->nameItemMf($wj[52], $td); @@ -8321,7 +8321,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $wj4i = ''; if ($wj[6]) { $td = []; - $td = ConversionHelper::dataStringToArray($wj[6]['data']); + $td = Conversion::dataStringToArray($wj[6]['data']); $wj[6]['name'] = $this->nameItemMf($wj[6], $td); $wj4i .= '' . $wj[6]['name'] . ''; @@ -8332,7 +8332,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } if ($wj[5]) { $td = []; - $td = ConversionHelper::dataStringToArray($wj[5]['data']); + $td = Conversion::dataStringToArray($wj[5]['data']); $wj[5]['name'] = $this->nameItemMf($wj[5], $td); $wj4i .= '' . $wj[5]['name'] . ''; @@ -8343,7 +8343,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } if ($wj[4]) { $td = []; - $td = ConversionHelper::dataStringToArray($wj[4]['data']); + $td = Conversion::dataStringToArray($wj[4]['data']); $wj[4]['name'] = $this->nameItemMf($wj[4], $td); $wj4i .= '' . $wj[4]['name'] . ''; @@ -8598,7 +8598,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $tr = ''; $t = $this->items['add']; $x = 0; - $ed = ConversionHelper::dataStringToArray($e['data']); + $ed = Conversion::dataStringToArray($e['data']); while ($x < count($t)) { $n = $t[$x]; if (isset($ed['add_' . $n], $this->is[$n])) { @@ -8625,7 +8625,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $eff .= ''; } elseif ($e['timeUse'] + $e['timeAce'] + $e['actionTime'] < time() && $e['timeUse'] != 77) { //удаляем эффект - $ed = ConversionHelper::dataStringToArray($e['data']); + $ed = Conversion::dataStringToArray($e['data']); if (!isset($ed['finish_file']) || $this->info['id'] == $e['uid']) { $this->endEffect($e['id'], $u); } @@ -8948,7 +8948,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` public function getInfoItemInfo($pl): string { $lvar = ''; - $td = ConversionHelper::dataStringToArray($pl['data']); + $td = Conversion::dataStringToArray($pl['data']); if (isset($td['sv_yron_max']) && $td['sv_yron_max'] > 0) { $lvar .= '
Урон: ' . $td['sv_yron_min'] . '-' . $td['sv_yron_max'] . ''; @@ -9179,7 +9179,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` } - $tr = ConversionHelper::dataStringToArray($itm['data']); + $tr = Conversion::dataStringToArray($itm['data']); $notr = $this->trItem($tr); $msb = ''; if (isset($tr['maks_itm_one']) && $tr['maks_itm_one'] > 0) { @@ -9214,7 +9214,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.` $notr++; } elseif ($tr['sudba'] == '0') { $tr['sudba'] = $this->info['login']; - $itm['data'] = ConversionHelper::arrayToDataString($tr); + $itm['data'] = Conversion::arrayToDataString($tr); $msb = ',`data`="' . $itm['data'] . '"'; } } @@ -9750,7 +9750,7 @@ LIMIT 1' } if ($upd) { if (isset($_GET['deleteall7'])) { - $st = ConversionHelper::dataStringToArray($itm['data']); + $st = Conversion::dataStringToArray($itm['data']); $whr = ''; if (isset($st['frompisher'])) { $whr .= 'AND `data` LIKE "%frompisher=' . $st['frompisher'] . '%"'; @@ -10025,10 +10025,10 @@ LIMIT 1' } } - $tst = ConversionHelper::dataStringToArray($this->info['stats']); + $tst = Conversion::dataStringToArray($this->info['stats']); $tst['s4'] += $lvl['vinos']; $tst['s7'] += $lvl['duh']; - $this->info['stats'] = ConversionHelper::arrayToDataString($tst); + $this->info['stats'] = Conversion::arrayToDataString($tst); $this->info['level'] = $lvl['nextLevel']; $this->stats['levels'] = $lvln; @@ -10308,7 +10308,7 @@ LIMIT 1' ); $res = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $cl . '" LIMIT 1')); if (isset($itm_['id'])) { - $po = ConversionHelper::dataStringToArray($itm_['data']); + $po = Conversion::dataStringToArray($itm_['data']); if (isset($po['toclan'])) { $cls = explode('#', $po['toclan']); $cls = $cls[1]; @@ -10337,7 +10337,7 @@ LIMIT 1' 'SELECT * FROM `items_users` WHERE (`uid` = "-21' . $user['clan'] . '" OR `data` LIKE "%toclan=' . $user['clan'] . '#%")' ); while ($pl = mysql_fetch_array($itms)) { - $po = ConversionHelper::dataStringToArray($pl['data']); + $po = Conversion::dataStringToArray($pl['data']); if (isset($po['toclan'])) { $cls = explode('#', $po['toclan']); $cls = $cls[1]; @@ -10349,7 +10349,7 @@ LIMIT 1' } } unset($po['toclan']); - $pl['data'] = ConversionHelper::arrayToDataString($po); + $pl['data'] = Conversion::arrayToDataString($po); $col = $this->itemsX(((int)$pl['id'])); $it_n = mysql_fetch_array( mysql_query('SELECT `name` FROM `items_main` WHERE `id` = "' . $pl['item_id'] . '"') diff --git a/_incl_data/class/User/ItemsModel.php b/_incl_data/class/User/ItemsModel.php index ade225d9..f2183ab5 100644 --- a/_incl_data/class/User/ItemsModel.php +++ b/_incl_data/class/User/ItemsModel.php @@ -2,9 +2,9 @@ namespace User; -use Core\ConversionHelper; use Core\Db; use Delo; +use Helper\Conversion; use User; class ItemsModel @@ -93,8 +93,8 @@ class ItemsModel } if ($md != null) { $data .= $md; - $data = ConversionHelper::dataStringToArray($data); // Если в функции имеются две одинаковых константы SROK? - $data = ConversionHelper::arrayToDataString($data); + $data = Conversion::dataStringToArray($data); // Если в функции имеются две одинаковых константы SROK? + $data = Conversion::arrayToDataString($data); } //предмет с настройками из подземелья diff --git a/_incl_data/class/priem/121.php b/_incl_data/class/priem/121.php index ac4027f9..650f1b47 100644 --- a/_incl_data/class/priem/121.php +++ b/_incl_data/class/priem/121.php @@ -1,168 +1,167 @@ 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 ) { - - //Проверяем эффект - $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']; - - if( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] == 1 ) { - - $pvr['user_use'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use']; - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 11, $pvr['hp'], 8, true, false, 1 ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($pvr['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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($pvr['user_use'],$u1,4).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($pvr['user_use'],$u1,4).'>-- ['.$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, $pvr['user_use'], $u1, - 'Метеорит [7]'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(rand(55,59)); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'земля', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - //Цвет приема - 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['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'], $this->ue['id'], - 'Метеорит [7]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']).'',0,77,4,$u->info['id'],1,'метеорит',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + if ($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] == 1) { + + $pvr['user_use'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use']; + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 11, $pvr['hp'], 8, true, false, 1); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($pvr['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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($pvr['user_use'], $u1, 4) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($pvr['user_use'], $u1, 4) . '>-- [' . $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, $pvr['user_use'], $u1, + 'Метеорит [7]' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(rand(55, 59)); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'земля', 0); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + //Цвет приема + 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['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'], $this->ue['id'], + 'Метеорит [7]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp']) . '', 0, 77, 4, $u->info['id'], 1, 'метеорит', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/122.php b/_incl_data/class/priem/122.php index 3b4ab91d..cb29fba0 100644 --- a/_incl_data/class/priem/122.php +++ b/_incl_data/class/priem/122.php @@ -1,168 +1,167 @@ 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 ) { - - //Проверяем эффект - $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']; - - if( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] == 1 ) { - - $pvr['user_use'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use']; - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $pvr['user_use'], $u1, 11, $pvr['hp'], 8, true, false, 1 ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($pvr['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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($pvr['user_use'],$u1,4).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($pvr['user_use'],$u1,4).'>-- ['.$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, $pvr['user_use'], $u1, - 'Метеорит [8]'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(rand(70,81)); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'земля', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - //$pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - //Цвет приема - 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['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'], $this->ue['id'], - 'Метеорит [8]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']).'',0,77,4,$u->info['id'],1,'метеорит',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + if ($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] == 1) { + + $pvr['user_use'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use']; + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($pvr['user_use'], $u1, 11, $pvr['hp'], 8, true, false, 1); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($pvr['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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($pvr['user_use'], $u1, 4) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($pvr['user_use'], $u1, 4) . '>-- [' . $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, $pvr['user_use'], $u1, + 'Метеорит [8]' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(rand(70, 81)); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'земля', 0); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + //$pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + //Цвет приема + 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['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'], $this->ue['id'], + 'Метеорит [8]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp']) . '', 0, 77, 4, $u->info['id'], 1, 'метеорит', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/123.php b/_incl_data/class/priem/123.php index be8efbcb..ebf80ae9 100644 --- a/_incl_data/class/priem/123.php +++ b/_incl_data/class/priem/123.php @@ -1,155 +1,154 @@ 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 ) { - - //Проверяем эффект - $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']; - - if( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] == 1 ) { - - $pvr['user_use'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use']; - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $pvr['user_use'], $u1, 11, $pvr['hp'], 8, true, false, 1 ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($pvr['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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($pvr['user_use'],$u1,4).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($pvr['user_use'],$u1,4).'>-- ['.$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, $pvr['user_use'], $u1, - 'Метеорит [9]'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(rand(79,86)); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'земля', 0 ); - $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'], $this->ue['id'], - 'Метеорит [9]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']).'',0,77,4,$u->info['id'],1,'метеорит',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + if ($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] == 1) { + + $pvr['user_use'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use']; + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($pvr['user_use'], $u1, 11, $pvr['hp'], 8, true, false, 1); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($pvr['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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($pvr['user_use'], $u1, 4) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($pvr['user_use'], $u1, 4) . '>-- [' . $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, $pvr['user_use'], $u1, + 'Метеорит [9]' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(rand(79, 86)); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'земля', 0); + $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'], $this->ue['id'], + 'Метеорит [9]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp']) . '', 0, 77, 4, $u->info['id'], 1, 'метеорит', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/124.php b/_incl_data/class/priem/124.php index 1e524b05..cea48064 100644 --- a/_incl_data/class/priem/124.php +++ b/_incl_data/class/priem/124.php @@ -1,168 +1,167 @@ 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 ) { - - //Проверяем эффект - $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']; - - if( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] == 1 ) { - - $pvr['user_use'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use']; - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $pvr['user_use'], $u1, 11, $pvr['hp'], 8, true, false, 1 ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($pvr['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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($pvr['user_use'],$u1,4).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($pvr['user_use'],$u1,4).'>-- ['.$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, $pvr['user_use'], $u1, - 'Метеорит [10]'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(rand(93,103)); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'земля', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - //Цвет приема - 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['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'], $this->ue['id'], - 'Метеорит [10]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']).'',0,77,4,$u->info['id'],1,'метеорит',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + if ($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] == 1) { + + $pvr['user_use'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use']; + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($pvr['user_use'], $u1, 11, $pvr['hp'], 8, true, false, 1); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($pvr['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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($pvr['user_use'], $u1, 4) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($pvr['user_use'], $u1, 4) . '>-- [' . $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, $pvr['user_use'], $u1, + 'Метеорит [10]' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(rand(93, 103)); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'земля', 0); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + //Цвет приема + 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['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'], $this->ue['id'], + 'Метеорит [10]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp']) . '', 0, 77, 4, $u->info['id'], 1, 'метеорит', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/125.php b/_incl_data/class/priem/125.php index ca66fd9f..02347cc4 100644 --- a/_incl_data/class/priem/125.php +++ b/_incl_data/class/priem/125.php @@ -1,169 +1,168 @@ 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 ) { - - //Проверяем эффект - $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']; - - if( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] == 1 ) { - - $pvr['user_use'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use']; - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $pvr['user_use'], $u1, 11, $pvr['hp'], 8, true, false, 1 ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($pvr['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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($pvr['user_use'],$u1,4).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($pvr['user_use'],$u1,4).'>-- ['.$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, $pvr['user_use'], $u1, - 'Метеорит [11]'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение} - - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(rand(114,124)); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'земля', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - //Цвет приема - 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['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'], $this->ue['id'], - 'Метеорит [11]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']).'',0,77,4,$u->info['id'],1,'метеорит',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + if ($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] == 1) { + + $pvr['user_use'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use']; + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($pvr['user_use'], $u1, 11, $pvr['hp'], 8, true, false, 1); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($pvr['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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($pvr['user_use'], $u1, 4) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($pvr['user_use'], $u1, 4) . '>-- [' . $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, $pvr['user_use'], $u1, + 'Метеорит [11]' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение} + + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(rand(114, 124)); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'земля', 0); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + //Цвет приема + 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['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'], $this->ue['id'], + 'Метеорит [11]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp']) . '', 0, 77, 4, $u->info['id'], 1, 'метеорит', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/13.php b/_incl_data/class/priem/13.php index c2d376ca..1ee3aab3 100644 --- a/_incl_data/class/priem/13.php +++ b/_incl_data/class/priem/13.php @@ -1,57 +1,58 @@ addEffPr($pl,$id); +$this->addEffPr($pl, $id); - $pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "'.$u->info['id'].'" AND `v2` = 13 AND `delete` = 0 LIMIT 1')); +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" AND `v2` = 13 AND `delete` = 0 LIMIT 1')); - echo 'Вы успешно использовали прием "Стойкость"'; +echo 'Вы успешно использовали прием "Стойкость"'; - // - $prv['effx'] = ''; - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*($pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*($pvr['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 17 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Стойкость', - $prv['text2'], - ($btl->hodID + 0) - ); +// +$prv['effx'] = ''; +//Разбираем дату $pl['date3'] +$prv['eda'] = $pl['date3']; +// +if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * ($pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * ($pvr['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); +} +// +if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; +} +// +$prv['color2'] = '000000'; +$prv['text'] = $btl->addlt(1, 17, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); +$prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; +$btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Стойкость', + $prv['text2'], + ($btl->hodID + 0) +); unset($pvr); ?> \ No newline at end of file diff --git a/_incl_data/class/priem/139.php b/_incl_data/class/priem/139.php index 7908a6d3..aa050afc 100644 --- a/_incl_data/class/priem/139.php +++ b/_incl_data/class/priem/139.php @@ -1,56 +1,57 @@ addEffPr($pl,$id); +$this->addEffPr($pl, $id); - $pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "'.$u->info['id'].'" AND `v2` = 139 AND `delete` = 0 LIMIT 1')); +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" AND `v2` = 139 AND `delete` = 0 LIMIT 1')); - echo 'Вы успешно использовали прием "Превосходство"'; +echo 'Вы успешно использовали прием "Превосходство"'; - // - $prv['effx'] = ''; - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*($pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*($pvr['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 17 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Превосходство', - $prv['text2'], - ($btl->hodID + 0) - ); +// +$prv['effx'] = ''; +//Разбираем дату $pl['date3'] +$prv['eda'] = $pl['date3']; +// +if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * ($pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * ($pvr['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); +} +// +if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; +} +// +$prv['color2'] = '000000'; +$prv['text'] = $btl->addlt(1, 17, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); +$prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; +$btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Превосходство', + $prv['text2'], + ($btl->hodID + 0) +); unset($pvr); ?> \ No newline at end of file diff --git a/_incl_data/class/priem/14.php b/_incl_data/class/priem/14.php index c7bdfb5c..90e0dd12 100644 --- a/_incl_data/class/priem/14.php +++ b/_incl_data/class/priem/14.php @@ -1,56 +1,57 @@ addEffPr($pl,$id); +//Действие при клике +$this->addEffPr($pl, $id); - $pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "'.$u->info['id'].'" AND `v2` = 14 AND `delete` = 0 LIMIT 1')); +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" AND `v2` = 14 AND `delete` = 0 LIMIT 1')); - echo 'Вы успешно использовали прием "Ярость"'; +echo 'Вы успешно использовали прием "Ярость"'; - // - $prv['effx'] = ''; - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*($pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*($pvr['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 17 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Ярость', - $prv['text2'], - ($btl->hodID + 0) - ); +// +$prv['effx'] = ''; +//Разбираем дату $pl['date3'] +$prv['eda'] = $pl['date3']; +// +if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * ($pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * ($pvr['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); +} +// +if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; +} +// +$prv['color2'] = '000000'; +$prv['text'] = $btl->addlt(1, 17, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); +$prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; +$btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Ярость', + $prv['text2'], + ($btl->hodID + 0) +); unset($pvr); ?> \ No newline at end of file diff --git a/_incl_data/class/priem/180.php b/_incl_data/class/priem/180.php index ed46087c..b78134b3 100644 --- a/_incl_data/class/priem/180.php +++ b/_incl_data/class/priem/180.php @@ -1,75 +1,76 @@ ue['id'].'" AND `v2` = 180 AND `delete` = 0 LIMIT 1')); -if( $pvr['x5']['x'] < 5 ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id); - // - $prv['effx'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "'.$pvr['x5']['id'].'" LIMIT 1')); - if( isset($prv['eff']['id']) ) { - //Разбираем дату $prv['eff']['data'] - $prv['eda'] = $prv['eff']['data']; - } - }else{ - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - } - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*(1+$pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*(1+$prv['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Переохлаждение'.$prv['x'].'', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество переохлаждений'; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $this->ue['id'] . '" AND `v2` = 180 AND `delete` = 0 LIMIT 1')); +if ($pvr['x5']['x'] < 5) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id); + // + $prv['effx'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "' . $pvr['x5']['id'] . '" LIMIT 1')); + if (isset($prv['eff']['id'])) { + //Разбираем дату $prv['eff']['data'] + $prv['eda'] = $prv['eff']['data']; + } + } else { + //Разбираем дату $pl['date3'] + $prv['eda'] = $pl['date3']; + } + // + if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $prv['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Переохлаждение' . $prv['x'] . '', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество переохлаждений'; } unset($pvr); diff --git a/_incl_data/class/priem/187.php b/_incl_data/class/priem/187.php index ab792fb2..4d88e1d2 100644 --- a/_incl_data/class/priem/187.php +++ b/_incl_data/class/priem/187.php @@ -1,72 +1,73 @@ ue['id'].'" AND `v2` = 258 AND `delete` = 0 LIMIT 1')); -if( !isset($pvr['x5']['id']) ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id,''); - // - $prv['effx'] = ''; - // - $pl['date3'] = 'add_pm1=100'; - $prv['eda'] = $pl['date3']; - // - if( isset($prv['eda']) ) { - $u->is['mab1'] = 'Броня головы'; - $u->is['mab2'] = 'Броня корпуса'; - $u->is['mab3'] = 'Броня пояса'; - $u->is['mab4'] = 'Броня ног'; - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$this->ue['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$this->ue['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*(1+$pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*(1+$prv['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 21 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Разогрев'.$prv['x'].'', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество заклятий'; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $this->ue['id'] . '" AND `v2` = 258 AND `delete` = 0 LIMIT 1')); +if (!isset($pvr['x5']['id'])) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id, ''); + // + $prv['effx'] = ''; + // + $pl['date3'] = 'add_pm1=100'; + $prv['eda'] = $pl['date3']; + // + if (isset($prv['eda'])) { + $u->is['mab1'] = 'Броня головы'; + $u->is['mab2'] = 'Броня корпуса'; + $u->is['mab3'] = 'Броня пояса'; + $u->is['mab4'] = 'Броня ног'; + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $this->ue['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $this->ue['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $prv['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 21, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Разогрев' . $prv['x'] . '', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество заклятий'; } unset($pvr); diff --git a/_incl_data/class/priem/188.php b/_incl_data/class/priem/188.php index 59d72328..56a1d7c2 100644 --- a/_incl_data/class/priem/188.php +++ b/_incl_data/class/priem/188.php @@ -1,56 +1,57 @@ addEffPr($pl,$id); +$this->addEffPr($pl, $id); - $pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "'.$u->info['id'].'" AND `v2` = 188 AND `delete` = 0 LIMIT 1')); +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" AND `v2` = 188 AND `delete` = 0 LIMIT 1')); - echo 'Вы успешно использовали прием "Жажда Крови"'; +echo 'Вы успешно использовали прием "Жажда Крови"'; - // - $prv['effx'] = ''; - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*($pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*($pvr['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 17 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Жажда Крови', - $prv['text2'], - ($btl->hodID + 0) - ); +// +$prv['effx'] = ''; +//Разбираем дату $pl['date3'] +$prv['eda'] = $pl['date3']; +// +if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * ($pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * ($pvr['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); +} +// +if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; +} +// +$prv['color2'] = '000000'; +$prv['text'] = $btl->addlt(1, 17, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); +$prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; +$btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Жажда Крови', + $prv['text2'], + ($btl->hodID + 0) +); unset($pvr); ?> \ No newline at end of file diff --git a/_incl_data/class/priem/192.php b/_incl_data/class/priem/192.php index 1c88a828..0e924539 100644 --- a/_incl_data/class/priem/192.php +++ b/_incl_data/class/priem/192.php @@ -1,11 +1,11 @@ info['id'].'" AND `a`.`delete` = 0 AND `a`.`v1` = "priem" '.$pvr['no'].' AND ( (`b`.`neg` > 0 AND `a`.`v2` != 260) OR `a`.`v2` = 191 OR ( `a`.`v2` = 260 AND `a`.`data` NOT LIKE "%add_mg2static_points=0%" ) ) ORDER BY `a`.`id` DESC LIMIT 2'); -mysql_query('DELETE FROM `eff_users` WHERE `uid` = "'.$u->info['id'].'" AND `v1`="priem" AND `v2`="345"'); -while ($pvr['pl'] = mysql_fetch_array($pvr['sp'])) -{ -$pvr['pl']['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "'.$pvr['pl']['v2'].'" LIMIT 1')); -if( isset($pvr['pl']['priem']) && isset($pvr['pl']['id']) ) { - - echo 'Вы успешно использовали прием "Очиститься кровью"'; - - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $u->info['enemy'], - 'Очиститься кровью', - '{tm1} '.$btl->addlt(1 , 17 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL).'', - ($btl->hodID) - ); - - $pvr['edt'] = \Core\ConversionHelper::dataStringToArray($pvr['pl']['data']); - $pvr['edt']['add_zm2proc'] = 0; - $pvr['edt']['add_mg2static_points'] = 0; - $pvr['edt'] = \Core\ConversionHelper::arrayToDataString($pvr['edt']); - - if( $pvr['pl']['priem']['id'] == 260 ) { - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} Закончилось действие эффекта "Заряд" для {u1}.'; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], 0, - '', - $prv['text2'], - ($btl->hodID + 0) - ); - mysql_query('UPDATE `eff_users` SET `x` = 1, `data` = "'.$pvr['edt'].'" WHERE `id` = "'.$pvr['pl']['ueffid'].'" LIMIT 1'); - }else{ - $btl->delPriem($pvr['pl'],$btl->users[$btl->uids[$u->info['id']]],100); - } - $this->mintr($pl); -}else{ - echo 'Вам нечего очищать...'; - $cup = true; -} +$pvr['sp'] = mysql_query('SELECT `a`.*, `a`.`id` AS `ueffid` FROM `eff_users` AS `a` LEFT JOIN `priems` AS `b` ON `b`.`id` = `a`.`v2` WHERE `a`.`uid` = "' . $u->info['id'] . '" AND `a`.`delete` = 0 AND `a`.`v1` = "priem" ' . $pvr['no'] . ' AND ( (`b`.`neg` > 0 AND `a`.`v2` != 260) OR `a`.`v2` = 191 OR ( `a`.`v2` = 260 AND `a`.`data` NOT LIKE "%add_mg2static_points=0%" ) ) ORDER BY `a`.`id` DESC LIMIT 2'); +mysql_query('DELETE FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" AND `v1`="priem" AND `v2`="345"'); +while ($pvr['pl'] = mysql_fetch_array($pvr['sp'])) { + $pvr['pl']['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "' . $pvr['pl']['v2'] . '" LIMIT 1')); + if (isset($pvr['pl']['priem']) && isset($pvr['pl']['id'])) { + + echo 'Вы успешно использовали прием "Очиститься кровью"'; + + $btl->priemAddLog($id, 1, 2, $u->info['id'], $u->info['enemy'], + 'Очиститься кровью', + '{tm1} ' . $btl->addlt(1, 17, $btl->users[$btl->uids[$u->info['id']]]['sex'], null) . '', + ($btl->hodID) + ); + + $pvr['edt'] = Helper\Conversion::dataStringToArray($pvr['pl']['data']); + $pvr['edt']['add_zm2proc'] = 0; + $pvr['edt']['add_mg2static_points'] = 0; + $pvr['edt'] = Helper\Conversion::arrayToDataString($pvr['edt']); + + if ($pvr['pl']['priem']['id'] == 260) { + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} Закончилось действие эффекта "Заряд" для {u1}.'; + $btl->priemAddLog($id, 1, 2, $u->info['id'], 0, + '', + $prv['text2'], + ($btl->hodID + 0) + ); + mysql_query('UPDATE `eff_users` SET `x` = 1, `data` = "' . $pvr['edt'] . '" WHERE `id` = "' . $pvr['pl']['ueffid'] . '" LIMIT 1'); + } else { + $btl->delPriem($pvr['pl'], $btl->users[$btl->uids[$u->info['id']]], 100); + } + $this->mintr($pl); + } else { + echo 'Вам нечего очищать...'; + $cup = true; + } } //Отнимаем тактики //$this->mintr($pl); diff --git a/_incl_data/class/priem/205.php b/_incl_data/class/priem/205.php index c355aa5f..32fe4f72 100644 --- a/_incl_data/class/priem/205.php +++ b/_incl_data/class/priem/205.php @@ -1,110 +1,110 @@ users) ) { - if( $btl->users[$i]['team'] == $btl->users[$btl->uids[$u->info['id']]]['team'] ) { - $add_where .= ' and `a`.`user_use`!="'.$btl->users[$i]['id'].'"'; - } - $i++; - } - // - $pvr['no'] = ' AND `a`.`v2` != 201'; - $pvr['no'] = ' AND `a`.`v2` != 31'; - //$pvr['no'] .= ' AND `a`.`v2` != 260'; - $pvr['no'] .= ' AND `a`.`v2` != 191'; - $pvr['no'] .= ' AND `a`.`v2` != 280'; - $pvr['no'] .= ' AND `a`.`v2` != 201'; - $pvr['no'] .= ' AND `a`.`v2` != 42 AND `a`.`v2` != 121 AND `a`.`v2` != 122 AND `a`.`v2` != 123 AND `a`.`v2` != 124 AND `a`.`v2` != 125'; - $pvr['no'] .= ' AND `a`.`v2` != 186 AND `a`.`v2` != 246 AND `a`.`v2` != 257 AND `a`.`v2` != 281'; - $pvr['no'] .= ' AND `a`.`v2` != 282'; - $pvr['no'] .= ' AND `a`.`v2` != 21 AND `a`.`v2` != 73 AND `a`.`v2` != 74 AND `a`.`v2` != 75 AND `a`.`v2` != 76 AND `a`.`v2` != 77 AND `a`.`v2` != 78 AND `a`.`v2` != 79'; - //$pvr['no'] .= ' AND `a`.`name` NOT LIKE "Цель%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Оледенение%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Серое Мастерство%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Метеорит%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Регенерация%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Туманный образ%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Жертва%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Призрачн%" '; - // - $prv['dell'] = mysql_fetch_array(mysql_query('SELECT `a`.* FROM `eff_users` AS `a` WHERE `a`.`user_use`!= "" and `a`.`delete`="0" and `a`.`uid`="'.$this->ue['id'].'" and `a`.`v1`="priem" '.$add_where.' '.$pvr['no'].' LIMIT 1')); - if( $prv['dell'] ) { - $prv['dell']['priem']['id'] = $prv['dell']['id']; - $btl->delPriem($prv['dell'],$btl->users[$btl->uids[$this->ue['id']]],99,false,$pl['name']); - }*/ - $pvr['no'] = ' AND `a`.`v2` != 201'; - $pvr['no'] = ' AND `a`.`v2` != 31'; - - //$pvr['no'] .= ' AND `a`.`v2` != 260'; - - $pvr['no'] .= ' AND `a`.`v2` != 191'; - $pvr['no'] .= ' AND `a`.`v2` != 280'; - $pvr['no'] .= ' AND `a`.`v2` != 201'; - $pvr['no'] .= ' AND `a`.`v2` != 42 AND `a`.`v2` != 121 AND `a`.`v2` != 122 AND `a`.`v2` != 123 AND `a`.`v2` != 124 AND `a`.`v2` != 125'; - $pvr['no'] .= ' AND `a`.`v2` != 186 AND `a`.`v2` != 246 AND `a`.`v2` != 257 AND `a`.`v2` != 281'; - $pvr['no'] .= ' AND `a`.`v2` != 282'; - $pvr['no'] .= ' AND `a`.`v2` != 21 AND `a`.`v2` != 73 AND `a`.`v2` != 74 AND `a`.`v2` != 75 AND `a`.`v2` != 76 AND `a`.`v2` != 77 AND `a`.`v2` != 78 AND `a`.`v2` != 79'; - - //$pvr['no'] .= ' AND `a`.`name` NOT LIKE "Цель%" '; - - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Оледенение%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Серое Мастерство%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Метеорит%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Регенерация%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Туманный образ%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Жертва%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Призрачн%" '; - - $pvr['sp'] = mysql_query('SELECT `a`.*, `a`.`id` AS `ueffid` FROM `eff_users` AS `a` LEFT JOIN `priems` AS `b` ON `b`.`id` = `a`.`v2` WHERE `a`.`uid` = "'.$u->info['id'].'" AND `a`.`delete` = 0 AND `a`.`v1` = "priem" '.$pvr['no'].' AND ( (`b`.`neg` > 0 AND `a`.`v2` != 260) OR `a`.`v2` = 191 OR ( `a`.`v2` = 260 AND `a`.`data` NOT LIKE "%add_mg2static_points=0%" ) ) ORDER BY `a`.`id` DESC LIMIT 1'); - $pvr['pl'] = mysql_fetch_array($pvr['sp']); - $pvr['pl']['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "'.$pvr['pl']['v2'].'" LIMIT 1')); - if( isset($pvr['pl']['priem']) && isset($pvr['pl']['id']) ) { - - $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; - $prv['text'] = $btl->addlt(1 , 17 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].''; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], 0, - 'Чистота Воды', - $prv['text2'], - ($btl->hodID + 0) - ); - - $pvr['edt'] = \Core\ConversionHelper::dataStringToArray($pvr['pl']['data']); - $pvr['edt']['add_zm2proc'] = 0; - $pvr['edt']['add_mg2static_points'] = 0; - $pvr['edt'] = \Core\ConversionHelper::arrayToDataString($pvr['edt']); - - if( $pvr['pl']['priem']['id'] == 260 ) { - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} Закончилось действие эффекта "Заряд" для {u1}.'; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], 0, - '', - $prv['text2'], - ($btl->hodID + 0) - ); - mysql_query('UPDATE `eff_users` SET `x` = 1, `data` = "'.$pvr['edt'].'" WHERE `id` = "'.$pvr['pl']['ueffid'].'" LIMIT 1'); - }else{ - $btl->delPriem($pvr['pl'],$btl->users[$btl->uids[$u->info['id']]],100); - } - $this->mintr($pl); - }else{ - echo 'Вам нечего очищать...'; - $cup = true; - } - // -}else{ - $cup = true; +if (true == true) { + // + /*$i = 0; + $add_where = ''; + while( $i < count($btl->users) ) { + if( $btl->users[$i]['team'] == $btl->users[$btl->uids[$u->info['id']]]['team'] ) { + $add_where .= ' and `a`.`user_use`!="'.$btl->users[$i]['id'].'"'; + } + $i++; + } + // + $pvr['no'] = ' AND `a`.`v2` != 201'; + $pvr['no'] = ' AND `a`.`v2` != 31'; + //$pvr['no'] .= ' AND `a`.`v2` != 260'; + $pvr['no'] .= ' AND `a`.`v2` != 191'; + $pvr['no'] .= ' AND `a`.`v2` != 280'; + $pvr['no'] .= ' AND `a`.`v2` != 201'; + $pvr['no'] .= ' AND `a`.`v2` != 42 AND `a`.`v2` != 121 AND `a`.`v2` != 122 AND `a`.`v2` != 123 AND `a`.`v2` != 124 AND `a`.`v2` != 125'; + $pvr['no'] .= ' AND `a`.`v2` != 186 AND `a`.`v2` != 246 AND `a`.`v2` != 257 AND `a`.`v2` != 281'; + $pvr['no'] .= ' AND `a`.`v2` != 282'; + $pvr['no'] .= ' AND `a`.`v2` != 21 AND `a`.`v2` != 73 AND `a`.`v2` != 74 AND `a`.`v2` != 75 AND `a`.`v2` != 76 AND `a`.`v2` != 77 AND `a`.`v2` != 78 AND `a`.`v2` != 79'; + //$pvr['no'] .= ' AND `a`.`name` NOT LIKE "Цель%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Оледенение%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Серое Мастерство%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Метеорит%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Регенерация%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Туманный образ%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Жертва%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Призрачн%" '; + // + $prv['dell'] = mysql_fetch_array(mysql_query('SELECT `a`.* FROM `eff_users` AS `a` WHERE `a`.`user_use`!= "" and `a`.`delete`="0" and `a`.`uid`="'.$this->ue['id'].'" and `a`.`v1`="priem" '.$add_where.' '.$pvr['no'].' LIMIT 1')); + if( $prv['dell'] ) { + $prv['dell']['priem']['id'] = $prv['dell']['id']; + $btl->delPriem($prv['dell'],$btl->users[$btl->uids[$this->ue['id']]],99,false,$pl['name']); + }*/ + $pvr['no'] = ' AND `a`.`v2` != 201'; + $pvr['no'] = ' AND `a`.`v2` != 31'; + + //$pvr['no'] .= ' AND `a`.`v2` != 260'; + + $pvr['no'] .= ' AND `a`.`v2` != 191'; + $pvr['no'] .= ' AND `a`.`v2` != 280'; + $pvr['no'] .= ' AND `a`.`v2` != 201'; + $pvr['no'] .= ' AND `a`.`v2` != 42 AND `a`.`v2` != 121 AND `a`.`v2` != 122 AND `a`.`v2` != 123 AND `a`.`v2` != 124 AND `a`.`v2` != 125'; + $pvr['no'] .= ' AND `a`.`v2` != 186 AND `a`.`v2` != 246 AND `a`.`v2` != 257 AND `a`.`v2` != 281'; + $pvr['no'] .= ' AND `a`.`v2` != 282'; + $pvr['no'] .= ' AND `a`.`v2` != 21 AND `a`.`v2` != 73 AND `a`.`v2` != 74 AND `a`.`v2` != 75 AND `a`.`v2` != 76 AND `a`.`v2` != 77 AND `a`.`v2` != 78 AND `a`.`v2` != 79'; + + //$pvr['no'] .= ' AND `a`.`name` NOT LIKE "Цель%" '; + + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Оледенение%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Серое Мастерство%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Метеорит%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Регенерация%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Туманный образ%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Жертва%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Призрачн%" '; + + $pvr['sp'] = mysql_query('SELECT `a`.*, `a`.`id` AS `ueffid` FROM `eff_users` AS `a` LEFT JOIN `priems` AS `b` ON `b`.`id` = `a`.`v2` WHERE `a`.`uid` = "' . $u->info['id'] . '" AND `a`.`delete` = 0 AND `a`.`v1` = "priem" ' . $pvr['no'] . ' AND ( (`b`.`neg` > 0 AND `a`.`v2` != 260) OR `a`.`v2` = 191 OR ( `a`.`v2` = 260 AND `a`.`data` NOT LIKE "%add_mg2static_points=0%" ) ) ORDER BY `a`.`id` DESC LIMIT 1'); + $pvr['pl'] = mysql_fetch_array($pvr['sp']); + $pvr['pl']['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "' . $pvr['pl']['v2'] . '" LIMIT 1')); + if (isset($pvr['pl']['priem']) && isset($pvr['pl']['id'])) { + + $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; + $prv['text'] = $btl->addlt(1, 17, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . ''; + $btl->priemAddLog($id, 1, 2, $u->info['id'], 0, + 'Чистота Воды', + $prv['text2'], + ($btl->hodID + 0) + ); + + $pvr['edt'] = Helper\Conversion::dataStringToArray($pvr['pl']['data']); + $pvr['edt']['add_zm2proc'] = 0; + $pvr['edt']['add_mg2static_points'] = 0; + $pvr['edt'] = Helper\Conversion::arrayToDataString($pvr['edt']); + + if ($pvr['pl']['priem']['id'] == 260) { + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} Закончилось действие эффекта "Заряд" для {u1}.'; + $btl->priemAddLog($id, 1, 2, $u->info['id'], 0, + '', + $prv['text2'], + ($btl->hodID + 0) + ); + mysql_query('UPDATE `eff_users` SET `x` = 1, `data` = "' . $pvr['edt'] . '" WHERE `id` = "' . $pvr['pl']['ueffid'] . '" LIMIT 1'); + } else { + $btl->delPriem($pvr['pl'], $btl->users[$btl->uids[$u->info['id']]], 100); + } + $this->mintr($pl); + } else { + echo 'Вам нечего очищать...'; + $cup = true; + } + // +} else { + $cup = true; } // unset($pvr); diff --git a/_incl_data/class/priem/21.php b/_incl_data/class/priem/21.php index 234a790f..a205dc2d 100644 --- a/_incl_data/class/priem/21.php +++ b/_incl_data/class/priem/21.php @@ -1,193 +1,193 @@ info['id']) && !isset($this->info['id']) ) { - -}elseif( isset($pr_used_this) && isset($pr_moment) ) { - //Каждый ход - $fx_priem = function( $id , $at , $uid, $j_id ) { - // -- начало приема - global $u, $btl, $priem; - // - //Параметры приема - $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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = 0; - $pvr['promah'] = false; - $pvr['krit'] = false; - //$pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Оледенение'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - //Действие при клике - $pvr['hp'] = 21; - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($u->info['id'],$this->ue['id'],$pvr['hp'],0); - - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - - $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; - - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$this->ue['id']]]['hpNow'].'" WHERE `id` = "'.$this->ue['id'].'" LIMIT 1'); - - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - - //Цвет приема - if( $pvr['promah'] == false ) { - if( $pvr['krit'] == false ) { - $prv['color2'] = '006699'; - if(isset($btl->mcolor[$btl->mname['вода']])) { - $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; - } - $prv['color'] = '000000'; - if(isset($btl->mncolor[$btl->mname['вода']])) { - $prv['color'] = $btl->mncolor[$btl->mname['вода']]; - } - }else{ - $prv['color2'] = 'FF0000'; - $prv['color'] = 'FF0000'; - } - }else{ - $prv['color2'] = '909090'; - $prv['color'] = '909090'; - } - - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - if( $pvr['promah_type'] == 2 ) { - $prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>-- ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - } - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Оледенение [4]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.($pvr['hp']/16).'',2,77,4,$u->info['id'],3,'оледенение',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment) && !isset($btl->info['id']) && !isset($this->info['id'])) { + +} elseif (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = 0; + $pvr['promah'] = false; + $pvr['krit'] = false; + //$pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Оледенение' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + //Действие при клике + $pvr['hp'] = 21; + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($u->info['id'], $this->ue['id'], $pvr['hp'], 0); + + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + + $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; + + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] . '" WHERE `id` = "' . $this->ue['id'] . '" LIMIT 1'); + + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + + //Цвет приема + if ($pvr['promah'] == false) { + if ($pvr['krit'] == false) { + $prv['color2'] = '006699'; + if (isset($btl->mcolor[$btl->mname['вода']])) { + $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; + } + $prv['color'] = '000000'; + if (isset($btl->mncolor[$btl->mname['вода']])) { + $prv['color'] = $btl->mncolor[$btl->mname['вода']]; + } + } else { + $prv['color2'] = 'FF0000'; + $prv['color'] = 'FF0000'; + } + } else { + $prv['color2'] = '909090'; + $prv['color'] = '909090'; + } + + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + if ($pvr['promah_type'] == 2) { + $prv['text'] = $btl->addlt(1, 20, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>-- [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + } + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Оледенение [4]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . ($pvr['hp'] / 16) . '', 2, 77, 4, $u->info['id'], 3, 'оледенение', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/22.php b/_incl_data/class/priem/22.php index e91d1713..bd8e8b5f 100644 --- a/_incl_data/class/priem/22.php +++ b/_incl_data/class/priem/22.php @@ -1,154 +1,153 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Отравление [6]'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(61); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - if( $pvr['promah'] == true ) { - $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'], $this->ue['id'], - 'Отравление [6]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,10,$u->info['id'],1,'отравление',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Отравление [6]' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(61); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + if ($pvr['promah'] == true) { + $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'], $this->ue['id'], + 'Отравление [6]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 10) . '', 0, 77, 10, $u->info['id'], 1, 'отравление', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/223.php b/_incl_data/class/priem/223.php index 54ef7754..7572352a 100644 --- a/_incl_data/class/priem/223.php +++ b/_incl_data/class/priem/223.php @@ -1,60 +1,60 @@ Вы успешно использовали прием "Рывок"'; - - $this->maxtr(1,3); - $this->addEffPr($pl,$id); - // - $prv['effx'] = ''; - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 17 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $pvr['i']=1; - $btl->users[$btl->uids[$u->info['id']]]['tactic'.$pvr['i']] = $btl->users[$btl->uids[$u->info['id']]]['tactic'.$pvr['i']] + 3; - - if ( $btl->users[$btl->uids[$u->info['id']]]['tactic'.$pvr['i']] > 25 ) - { - $btl->users[$btl->uids[$u->info['id']]]['tactic'.$pvr['i']] = 25; - } - - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Рывок', - $prv['text2'], - ($btl->hodID + 0) - ); +$pvr = []; + +echo 'Вы успешно использовали прием "Рывок"'; + +$this->maxtr(1, 3); +$this->addEffPr($pl, $id); +// +$prv['effx'] = ''; +//Разбираем дату $pl['date3'] +$prv['eda'] = $pl['date3']; +// +if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]]) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]]) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); +} +// +if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; +} +// +$prv['color2'] = '000000'; +$prv['text'] = $btl->addlt(1, 17, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); +$prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; +$pvr['i'] = 1; +$btl->users[$btl->uids[$u->info['id']]]['tactic' . $pvr['i']] = $btl->users[$btl->uids[$u->info['id']]]['tactic' . $pvr['i']] + 3; + +if ($btl->users[$btl->uids[$u->info['id']]]['tactic' . $pvr['i']] > 25) { + $btl->users[$btl->uids[$u->info['id']]]['tactic' . $pvr['i']] = 25; +} + +$btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Рывок', + $prv['text2'], + ($btl->hodID + 0) +); unset($pvr); ?> \ No newline at end of file diff --git a/_incl_data/class/priem/23.php b/_incl_data/class/priem/23.php index 16e85b84..019e401f 100644 --- a/_incl_data/class/priem/23.php +++ b/_incl_data/class/priem/23.php @@ -1,213 +1,212 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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'].''; - } - - $pvrname = mysql_fetch_array(mysql_query('SELECT `name` FROM `eff_users` WHERE `id` = "'.$btl->stats[$btl->uids[$u1]]['u_priem'][$j_id][3].'" LIMIT 1')); - $btl->priemAddLog( $id, 1, 2, $u2, $u1, - ''.$pvrname['name'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - - $pvr['uen'] = $this->ue['id']; - // - $pvr['uid'] = $this->ue['id']; - $pvr['hp'] = floor(65); - $pvr['hp'] = $this->magatack( $u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - //–вет приема - 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'], - 'Ядовитое Облако [9]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($pvr['uid'],$pl['id'],'atgm='.floor($pvr['hp']/5).'',0,77,5,$u->info['id'],1,'ядовитоеоблако',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); - // - // - $pvr['rx'] = rand(20,40); - $pvr['rx'] = floor($pvr['rx']/10); - $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(79/$pvr['dxx']); - $pvr['hp'] = $this->magatack( $u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 1 ); - $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'], - 'Ядовитое Облако [9]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($pvr['uid'],$pl['id'],'atgm='.floor($pvr['hp']/5).'',0,77,5,$u->info['id'],1,'ядовитоеоблако',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); - // - $pvr['xx']++; - } - $pvr['ix']++; - } +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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'].''; + } + + $pvrname = mysql_fetch_array(mysql_query('SELECT `name` FROM `eff_users` WHERE `id` = "' . $btl->stats[$btl->uids[$u1]]['u_priem'][$j_id][3] . '" LIMIT 1')); + $btl->priemAddLog($id, 1, 2, $u2, $u1, + '' . $pvrname['name'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + + $pvr['uen'] = $this->ue['id']; + // + $pvr['uid'] = $this->ue['id']; + $pvr['hp'] = floor(65); + $pvr['hp'] = $this->magatack($u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 0); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + //–вет приема + 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'], + 'Ядовитое Облако [9]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($pvr['uid'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 5) . '', 0, 77, 5, $u->info['id'], 1, 'ядовитоеоблако', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); + // + // + $pvr['rx'] = rand(20, 40); + $pvr['rx'] = floor($pvr['rx'] / 10); + $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(79 / $pvr['dxx']); + $pvr['hp'] = $this->magatack($u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 1); + $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'], + 'Ядовитое Облако [9]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($pvr['uid'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 5) . '', 0, 77, 5, $u->info['id'], 1, 'ядовитоеоблако', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); + // + $pvr['xx']++; + } + $pvr['ix']++; + } } diff --git a/_incl_data/class/priem/233.php b/_incl_data/class/priem/233.php index 0e5ac5c0..9522a883 100644 --- a/_incl_data/class/priem/233.php +++ b/_incl_data/class/priem/233.php @@ -1,57 +1,58 @@ stats['items'][$u->stats['wp14id']]['type'] == 13 ) { - echo 'Вы успешно использовали прием "Путь щита"'; - $this->addEffPr($pl,$id); - $pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "'.$u->info['id'].'" AND `v2` = 233 AND `delete` = 0 LIMIT 1')); - // - $prv['effx'] = ''; - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*($pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*($pvr['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 17 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Путь Щита', - $prv['text2'], - ($btl->hodID + 0) - ); -}else{ - echo 'Для использования "Путь щита" требуется наличие щита'; - $cup = true; +if ($u->stats['items'][$u->stats['wp14id']]['type'] == 13) { + echo 'Вы успешно использовали прием "Путь щита"'; + $this->addEffPr($pl, $id); + $pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" AND `v2` = 233 AND `delete` = 0 LIMIT 1')); + // + $prv['effx'] = ''; + //Разбираем дату $pl['date3'] + $prv['eda'] = $pl['date3']; + // + if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * ($pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * ($pvr['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 17, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Путь Щита', + $prv['text2'], + ($btl->hodID + 0) + ); +} else { + echo 'Для использования "Путь щита" требуется наличие щита'; + $cup = true; } unset($pvr); diff --git a/_incl_data/class/priem/239.php b/_incl_data/class/priem/239.php index e9b6135f..12363c2f 100644 --- a/_incl_data/class/priem/239.php +++ b/_incl_data/class/priem/239.php @@ -1,127 +1,130 @@ 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( isset($at['p'][$a]['priems']['used_good'][$uid][$j_id]) ) { - $prv['j'] = $at['p'][$a]['priems']['used_good'][$uid][$j_id]; - if( $at['p'][$a]['atack'][$prv['j']][1] == 1 || $at['p'][$a]['atack'][$prv['j']][1] == 4 || $at['p'][$a]['atack'][$prv['j']][1] == 5 ) { - $prv['j_priem'] = $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0]; - $prv['priem_th'] = $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id']; - $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['hod'] = 3; - $prv['data_re'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['data']); - - if($prv['data_re']['step'] < 5) { - $prv['data_re']['add_maxAtack'] += $btl->users[$btl->uids[$uid]]['level']; - $prv['data_re']['step'] += $at['p'][$a]['priems']['used_good_x'][$uid][$j_id]; - if( $prv['data_re']['step'] > 5 ) { - $prv['data_re']['step'] = 5; - } - } - $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['data'] = 'add_maxAtack='.$prv['data_re']['add_maxAtack'].'|step='.$prv['data_re']['step'].''; - mysql_query('UPDATE `eff_users` SET `hod` = "3",`x` = "'.($prv['data_re']['step']).'",`data` = "'.$btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['data'].'" WHERE `id` = "'.$prv['priem_th'].'" LIMIT 1'); - /*$btl->priemAddLogFast( $uid, 0, "Поступь смерти x".$prv['data_re']['step']."", - '{tm1} '.$btl->addlt(1 , 17 , $btl->users[$btl->uids[$uid]]['sex'] , NULL).'', - 1, time() );*/ - } - } - // - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}elseif( isset($pr_used_this) && isset($btl) ) { +$pvr = []; +if (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 == $uid1) { + $a = 1; + $b = 2; + $u1 = ${'uid1'}; + $u2 = ${'uid2'}; + } elseif ($uid == $uid2) { + $a = 2; + $b = 1; + $u1 = ${'uid2'}; + $u2 = ${'uid1'}; + } + if (isset($at['p'][$a]['priems']['used_good'][$uid][$j_id])) { + $prv['j'] = $at['p'][$a]['priems']['used_good'][$uid][$j_id]; + if ($at['p'][$a]['atack'][$prv['j']][1] == 1 || $at['p'][$a]['atack'][$prv['j']][1] == 4 || $at['p'][$a]['atack'][$prv['j']][1] == 5) { + $prv['j_priem'] = $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0]; + $prv['priem_th'] = $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id']; + $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['hod'] = 3; + $prv['data_re'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['data']); -}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 == $uid1 ) { - $a = 1; - $b = 2; - $u1 = ${'uid1'}; - $u2 = ${'uid2'}; - }elseif( $uid == $uid2 ) { - $a = 2; - $b = 1; - $u1 = ${'uid2'}; - $u2 = ${'uid1'}; - } - if( $a > 0 ) { - $j = 0; $k = 0; $wp = 3; $mark=0; - $prv['j_priem'] = $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0]; - while($j < count($at['p'][$a]['atack']) && $mark!=1) { - 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'] += 0; - $at['p'][$a]['atack'][$j]['yron']['r'] -= 0; - $at['p'][$a]['atack'][$j]['yron']['k'] += 0; - $at['p'][$a]['atack'][$j]['yron']['m_y'] += 0; - $at['p'][$a]['atack'][$j]['yron']['m_k'] += 0; - // - /*if( $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['x'] < 2 ) { - $at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->priemAddLog( '.$id.', '.$a.', '.$b.', '.$u1.', '.$u2.', - "Поступь смерти", - "{tm1} '.$btl->addlt($a , 17 , $btl->users[$btl->uids[$u1]]['sex'] , NULL).'", - '.($btl->hodID + 1).' );'; - }*/ - // - $at['p'][$a]['priems']['used_good'][$uid][$j_id] = $j; - $at['p'][$a]['priems']['used_good_x'][$uid][$j_id]++; - // - $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; - $mark=1; - } - } - $j++; - } - } - //Удаляем прием - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - //Действие при клике - $this->addEffPr($pl,$id); + if ($prv['data_re']['step'] < 5) { + $prv['data_re']['add_maxAtack'] += $btl->users[$btl->uids[$uid]]['level']; + $prv['data_re']['step'] += $at['p'][$a]['priems']['used_good_x'][$uid][$j_id]; + if ($prv['data_re']['step'] > 5) { + $prv['data_re']['step'] = 5; + } + } + $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['data'] = 'add_maxAtack=' . $prv['data_re']['add_maxAtack'] . '|step=' . $prv['data_re']['step'] . ''; + mysql_query('UPDATE `eff_users` SET `hod` = "3",`x` = "' . ($prv['data_re']['step']) . '",`data` = "' . $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['data'] . '" WHERE `id` = "' . $prv['priem_th'] . '" LIMIT 1'); + /*$btl->priemAddLogFast( $uid, 0, "Поступь смерти x".$prv['data_re']['step']."", + '{tm1} '.$btl->addlt(1 , 17 , $btl->users[$btl->uids[$uid]]['sex'] , NULL).'', + 1, time() );*/ + } + } + // + // -- конец приема + return $at; + }; + unset($pr_used_this); +} elseif (isset($pr_used_this) && isset($btl)) { + +} 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 == $uid1) { + $a = 1; + $b = 2; + $u1 = ${'uid1'}; + $u2 = ${'uid2'}; + } elseif ($uid == $uid2) { + $a = 2; + $b = 1; + $u1 = ${'uid2'}; + $u2 = ${'uid1'}; + } + if ($a > 0) { + $j = 0; + $k = 0; + $wp = 3; + $mark = 0; + $prv['j_priem'] = $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0]; + while ($j < count($at['p'][$a]['atack']) && $mark != 1) { + 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'] += 0; + $at['p'][$a]['atack'][$j]['yron']['r'] -= 0; + $at['p'][$a]['atack'][$j]['yron']['k'] += 0; + $at['p'][$a]['atack'][$j]['yron']['m_y'] += 0; + $at['p'][$a]['atack'][$j]['yron']['m_k'] += 0; + // + /*if( $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['x'] < 2 ) { + $at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->priemAddLog( '.$id.', '.$a.', '.$b.', '.$u1.', '.$u2.', + "Поступь смерти", + "{tm1} '.$btl->addlt($a , 17 , $btl->users[$btl->uids[$u1]]['sex'] , NULL).'", + '.($btl->hodID + 1).' );'; + }*/ + // + $at['p'][$a]['priems']['used_good'][$uid][$j_id] = $j; + $at['p'][$a]['priems']['used_good_x'][$uid][$j_id]++; + // + $at['p'][$a]['atack'][$j]['yron']['used'][] = [$j_id, $uid, $pvr['used']]; + $at['p'][$a]['atack'][$j]['yron']['kill'][] = [$j_id, $uid, $pvr['kill']]; + // + $at['p'][$a]['priems']['kill'][$uid][$j_id] = true; + $mark = 1; + } + } + $j++; + } + } + //Удаляем прием + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + //Действие при клике + $this->addEffPr($pl, $id); } unset($pvr); ?> \ No newline at end of file diff --git a/_incl_data/class/priem/240.php b/_incl_data/class/priem/240.php index c3ad9522..f146219e 100644 --- a/_incl_data/class/priem/240.php +++ b/_incl_data/class/priem/240.php @@ -1,168 +1,169 @@ 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'}; - } - // - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}elseif( isset($pr_used_this) && !isset($this->info['id']) ) { +$pvr = []; +if (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 == $uid1) { + $a = 1; + $b = 2; + $u1 = ${'uid1'}; + $u2 = ${'uid2'}; + } elseif ($uid == $uid2) { + $a = 2; + $b = 1; + $u1 = ${'uid2'}; + $u2 = ${'uid1'}; + } + // + // -- конец приема + return $at; + }; + unset($pr_used_this); +} elseif (isset($pr_used_this) && !isset($this->info['id'])) { -}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 == $uid1 ) { - $a = 1; - $b = 2; - $u1 = ${'uid1'}; - $u2 = ${'uid2'}; - }elseif( $uid == $uid2 ) { - $a = 2; - $b = 1; - $u1 = ${'uid2'}; - $u2 = ${'uid1'}; - } - if( $a > 0 ) { - $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']; - $prv['data_re'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - $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] == 4 || - $at['p'][$a]['atack'][$j][1] == 5 || - ( $prv['data_re']['step'] > 0 && $at['p'][$a]['atack'][$j][1] == 1 ) )) { - if( $prv['data_re']['step'] <= 2 && !isset($at['p'][$a]['priems']['kill'][$u1][$j_id]) ) { - // - if( $at['p'][$a]['atack'][$j][1] == 5 ) { - $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['k']); - }elseif( $at['p'][$a]['atack'][$j][1] == 4 ) { - $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['k']/2); - }elseif( $at['p'][$a]['atack'][$j][1] == 1 ) { - $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['y']); - } - // - $at['p'][$a]['atack'][$j]['yron']['used'][] = array($j_id,$u1,$pvr['used']); - //обновляем параметры - // - //$pvr['hp'] = $btl->testYronPriem( $u1, $u2, 12, $pvr['hp'], -1, true, false, 0 ); - $pvr['hp'] = round($pvr['hp']/2); - $pvr['hp'] = $btl->hphe( $u1 , $pvr['hp'] , true ); - if( $btl->users[$btl->uids[$u2]] <= 7 ) { - $pvr['hp'] = min( $pvr['hp'] , 89 ); - }elseif( $btl->users[$btl->uids[$u2]] == 8 ) { - $pvr['hp'] = min( $pvr['hp'] , 107 ); - }elseif( $btl->users[$btl->uids[$u2]] == 8 ) { - $pvr['hp'] = min( $pvr['hp'] , 107 ); - }elseif( $btl->users[$btl->uids[$u2]] == 9 ) { - $pvr['hp'] = min( $pvr['hp'] , 128 ); - }elseif( $btl->users[$btl->uids[$u2]] >= 10 ) { - $pvr['hp'] = min( $pvr['hp'] , 154 ); - } - $pvr1['hp'] = $btl->testYronPriem( $u1, $u2, 12, $pvr['hp'], -1, true, false, 0 ); - if( $pvr1['hp'] <= 1 ) - { - $pvr['hp'] = 0; - } - $pvr['hpSee'] = 0; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; - if( $pvr['hpTr'] > 0 ) { - //Требуется хилл - if( $pvr['hpTr'] < $pvr['hp'] ) { - $pvr['hp'] = $pvr['hpTr']; - } - $pvr['hpSee'] = '+'.$pvr['hp']; - $pvr['hpNow'] += $pvr['hp']; - } - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - // - $btl->users[$btl->uids[$u1]]['last_hp'] = $pvr['hp']; - // - $prv['data_re'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - if($prv['data_re']['step'] < 1) { - if( $btl->users[$btl->uids[$u1]]['level'] == 7 ) { - $prv['data_re']['add_s1'] += 10; - }elseif( $btl->users[$btl->uids[$u1]]['level'] == 8 ) { - $prv['data_re']['add_s1'] += 13; - }else{ - $prv['data_re']['add_s1'] += 15; - } - } - if( $prv['data_re']['step'] < 2 ) { - $prv['data_re']['step']++; - }else{ - $at['p'][$a]['atack'][$j]['yron']['kill'][] = array($j_id,$u1,$pvr['kill']); - $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] = 4; - $prv['data_re']['step']++; - } - // - $btl->stats[$btl->uids[$u1]]['hpNow'] = $pvr['hpNow']; - mysql_query('UPDATE `stats` SET `last_hp` = "'.$btl->users[$btl->uids[$u1]]['last_hp'].'",`hpNow` = "'.$btl->stats[$btl->uids[$u1]]['hpNow'].'" WHERE `id` = "'.$u1.'" LIMIT 1'); - // - $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data'] = 'add_s1='.$prv['data_re']['add_s1'].'|step='.$prv['data_re']['step'].''; - // - mysql_query('UPDATE `eff_users` SET `hod` = "'.$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'].'", `data` = "'.$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data'].'" WHERE `id` = "'.$prv['priem_th'].'" LIMIT 1'); - // - $at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->priemAddLog( '.$id.', '.$a.', '.$b.', '.$u1.', '.$u2.', +} 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 == $uid1) { + $a = 1; + $b = 2; + $u1 = ${'uid1'}; + $u2 = ${'uid2'}; + } elseif ($uid == $uid2) { + $a = 2; + $b = 1; + $u1 = ${'uid2'}; + $u2 = ${'uid1'}; + } + if ($a > 0) { + $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']; + $prv['data_re'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $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] == 4 || + $at['p'][$a]['atack'][$j][1] == 5 || + ($prv['data_re']['step'] > 0 && $at['p'][$a]['atack'][$j][1] == 1))) { + if ($prv['data_re']['step'] <= 2 && !isset($at['p'][$a]['priems']['kill'][$u1][$j_id])) { + // + if ($at['p'][$a]['atack'][$j][1] == 5) { + $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['k']); + } elseif ($at['p'][$a]['atack'][$j][1] == 4) { + $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['k'] / 2); + } elseif ($at['p'][$a]['atack'][$j][1] == 1) { + $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['y']); + } + // + $at['p'][$a]['atack'][$j]['yron']['used'][] = [$j_id, $u1, $pvr['used']]; + //обновляем параметры + // + //$pvr['hp'] = $btl->testYronPriem( $u1, $u2, 12, $pvr['hp'], -1, true, false, 0 ); + $pvr['hp'] = round($pvr['hp'] / 2); + $pvr['hp'] = $btl->hphe($u1, $pvr['hp'], true); + if ($btl->users[$btl->uids[$u2]] <= 7) { + $pvr['hp'] = min($pvr['hp'], 89); + } elseif ($btl->users[$btl->uids[$u2]] == 8) { + $pvr['hp'] = min($pvr['hp'], 107); + } elseif ($btl->users[$btl->uids[$u2]] == 8) { + $pvr['hp'] = min($pvr['hp'], 107); + } elseif ($btl->users[$btl->uids[$u2]] == 9) { + $pvr['hp'] = min($pvr['hp'], 128); + } elseif ($btl->users[$btl->uids[$u2]] >= 10) { + $pvr['hp'] = min($pvr['hp'], 154); + } + $pvr1['hp'] = $btl->testYronPriem($u1, $u2, 12, $pvr['hp'], -1, true, false, 0); + if ($pvr1['hp'] <= 1) { + $pvr['hp'] = 0; + } + $pvr['hpSee'] = 0; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; + if ($pvr['hpTr'] > 0) { + //Требуется хилл + if ($pvr['hpTr'] < $pvr['hp']) { + $pvr['hp'] = $pvr['hpTr']; + } + $pvr['hpSee'] = '+' . $pvr['hp']; + $pvr['hpNow'] += $pvr['hp']; + } + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + // + $btl->users[$btl->uids[$u1]]['last_hp'] = $pvr['hp']; + // + $prv['data_re'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + if ($prv['data_re']['step'] < 1) { + if ($btl->users[$btl->uids[$u1]]['level'] == 7) { + $prv['data_re']['add_s1'] += 10; + } elseif ($btl->users[$btl->uids[$u1]]['level'] == 8) { + $prv['data_re']['add_s1'] += 13; + } else { + $prv['data_re']['add_s1'] += 15; + } + } + if ($prv['data_re']['step'] < 2) { + $prv['data_re']['step']++; + } else { + $at['p'][$a]['atack'][$j]['yron']['kill'][] = [$j_id, $u1, $pvr['kill']]; + $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] = 4; + $prv['data_re']['step']++; + } + // + $btl->stats[$btl->uids[$u1]]['hpNow'] = $pvr['hpNow']; + mysql_query('UPDATE `stats` SET `last_hp` = "' . $btl->users[$btl->uids[$u1]]['last_hp'] . '",`hpNow` = "' . $btl->stats[$btl->uids[$u1]]['hpNow'] . '" WHERE `id` = "' . $u1 . '" LIMIT 1'); + // + $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data'] = 'add_s1=' . $prv['data_re']['add_s1'] . '|step=' . $prv['data_re']['step'] . ''; + // + mysql_query('UPDATE `eff_users` SET `hod` = "' . $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] . '", `data` = "' . $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data'] . '" WHERE `id` = "' . $prv['priem_th'] . '" LIMIT 1'); + // + $at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->priemAddLog( ' . $id . ', ' . $a . ', ' . $b . ', ' . $u1 . ', ' . $u2 . ', "Хлебнуть крови", - "{tm1} '.$btl->addlt($a , 17 , $btl->users[$btl->uids[$u1]]['sex'] , NULL).' на '.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']", - '.($btl->hodID + 1).' );'; - // - //$at['p'][$a]['priems']['kill'][$u1][$j_id] = true; - } - } - $j++; - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - //Действие при клике - if( !isset($this->uids) ) { - $this->addEffPr($pl,$id); - } + "{tm1} ' . $btl->addlt($a, 17, $btl->users[$btl->uids[$u1]]['sex'], null) . ' на ' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']", + ' . ($btl->hodID + 1) . ' );'; + // + //$at['p'][$a]['priems']['kill'][$u1][$j_id] = true; + } + } + $j++; + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + //Действие при клике + if (!isset($this->uids)) { + $this->addEffPr($pl, $id); + } } unset($pvr); ?> \ No newline at end of file diff --git a/_incl_data/class/priem/241.php b/_incl_data/class/priem/241.php index 5f111977..7d8f6e00 100644 --- a/_incl_data/class/priem/241.php +++ b/_incl_data/class/priem/241.php @@ -1,133 +1,130 @@ users[$btl->uids[$this->ue['id']]]['id'].'" AND `bj` = "пожирающеепламя" AND `user_use` = "'.$u->info['id'].'" ORDER BY `id` DESC LIMIT 1')); -$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x`,`hod` FROM `eff_users` WHERE `uid` = "'.$btl->users[$btl->uids[$this->ue['id']]]['id'].'" AND `v2` = 191 AND `delete` = 0 LIMIT 1')); -if( $pvr['x5']['x'] > 0 ) -{ - echo 'На персонаже защита от шока'; - $cup = true; -} -else -{ -if( isset($pvr['mg']['id']) ) { - //Действие при клике - $pvr['hp'] = 0; - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($pvr['mg']['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']++; - } - - $pvr['hp23'] = $pvr['hp']; - - $pvr['hp'] = round(5*($pvr['hp']/100*75)); - - /* - $pvr['hp'] = floor($pvr['hp']/20*1+$u->stats['mg3']);//умелки - $pvr['hp'] = floor($pvr['hp']/200*$u->stats['s5']);//Интелект - if( $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] < floor($btl->stats[$btl->uids[$this->ue['id']]]['hpAll']/100*30) ) { - $pvr['hp'] = floor( $pvr['hp'] + ($pvr['hp']/100*(50*$pvr['mg']['x'])) ); - } - */ - - $pvr['hp24'] = $pvr['hp']; - - $pvr['hp_test'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'огонь', 0 ); - $pvr['promah_type'] = 0; - $pvr['promah'] = false; - $pvr['krit'] = $pvr['hp_test'][1]; - if( $pvr['krit'] == true ) { - $pvr['hp'] = round($pvr['hp']*2); - } - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true ); - - $pvr['hp25'] = $pvr['hp']; - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($u->info['id'],$this->ue['id'],$pvr['hp'],0); - - $pvr['hp26'] = $pvr['hp']; - - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - - $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; - - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$this->ue['id']]]['hpNow'].'" WHERE `id` = "'.$this->ue['id'].'" LIMIT 1'); - - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - - //Цвет приема - if( $pvr['promah'] == false ) { - if( $pvr['krit'] == false ) { - $prv['color2'] = '006699'; - if(isset($btl->mcolor[$btl->mname['огонь']])) { - $prv['color2'] = $btl->mcolor[$btl->mname['огонь']]; - } - $prv['color'] = '000000'; - if(isset($btl->mncolor[$btl->mname['огонь']])) { - $prv['color'] = $btl->mncolor[$btl->mname['огонь']]; - } - }else{ - $prv['color2'] = 'FF0000'; - $prv['color'] = 'FF0000'; - } - }else{ - $prv['color2'] = '909090'; - $prv['color'] = '909090'; - } - - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],1).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - if( $pvr['promah_type'] == 2 ) { - $prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],1).'>-- ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - } - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Пылающий Ужас', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],242,'add_notactic=1|add_nousepriem=1',2,77,2,$u->info['id'],2,'пылающийужас',0,0,1); - $this->addPriem($this->ue['id'],191,'add_antishock=1',0,77,5,$u->info['id'],5,'иммунитеткошеломить'); - - //Удаляем оледенение - $pvr['mg']['priem']['id'] = $pvr['mg']['id']; - $btl->delPriem($pvr['mg'],$btl->users[$btl->uids[$this->ue['id']]],2); - - //Отнимаем тактики - $this->mintr($pl); -}else{ - echo 'На персонаже нет пожирающего пламени (Вашего заклятия)'; - $cup = true; - } +$pvr = []; +$pvr['mg'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $btl->users[$btl->uids[$this->ue['id']]]['id'] . '" AND `bj` = "пожирающеепламя" AND `user_use` = "' . $u->info['id'] . '" ORDER BY `id` DESC LIMIT 1')); +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x`,`hod` FROM `eff_users` WHERE `uid` = "' . $btl->users[$btl->uids[$this->ue['id']]]['id'] . '" AND `v2` = 191 AND `delete` = 0 LIMIT 1')); +if ($pvr['x5']['x'] > 0) { + echo 'На персонаже защита от шока'; + $cup = true; +} else { + if (isset($pvr['mg']['id'])) { + //Действие при клике + $pvr['hp'] = 0; + $pvr['data'] = Helper\Conversion::dataStringToArray($pvr['mg']['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']++; + } + + $pvr['hp23'] = $pvr['hp']; + + $pvr['hp'] = round(5 * ($pvr['hp'] / 100 * 75)); + + /* + $pvr['hp'] = floor($pvr['hp']/20*1+$u->stats['mg3']);//умелки + $pvr['hp'] = floor($pvr['hp']/200*$u->stats['s5']);//Интелект + if( $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] < floor($btl->stats[$btl->uids[$this->ue['id']]]['hpAll']/100*30) ) { + $pvr['hp'] = floor( $pvr['hp'] + ($pvr['hp']/100*(50*$pvr['mg']['x'])) ); + } + */ + + $pvr['hp24'] = $pvr['hp']; + + $pvr['hp_test'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'огонь', 0); + $pvr['promah_type'] = 0; + $pvr['promah'] = false; + $pvr['krit'] = $pvr['hp_test'][1]; + if ($pvr['krit'] == true) { + $pvr['hp'] = round($pvr['hp'] * 2); + } + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true); + + $pvr['hp25'] = $pvr['hp']; + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($u->info['id'], $this->ue['id'], $pvr['hp'], 0); + + $pvr['hp26'] = $pvr['hp']; + + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + + $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; + + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] . '" WHERE `id` = "' . $this->ue['id'] . '" LIMIT 1'); + + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + + //Цвет приема + if ($pvr['promah'] == false) { + if ($pvr['krit'] == false) { + $prv['color2'] = '006699'; + if (isset($btl->mcolor[$btl->mname['огонь']])) { + $prv['color2'] = $btl->mcolor[$btl->mname['огонь']]; + } + $prv['color'] = '000000'; + if (isset($btl->mncolor[$btl->mname['огонь']])) { + $prv['color'] = $btl->mncolor[$btl->mname['огонь']]; + } + } else { + $prv['color2'] = 'FF0000'; + $prv['color'] = 'FF0000'; + } + } else { + $prv['color2'] = '909090'; + $prv['color'] = '909090'; + } + + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 1) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + if ($pvr['promah_type'] == 2) { + $prv['text'] = $btl->addlt(1, 20, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 1) . '>-- [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + } + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Пылающий Ужас', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], 242, 'add_notactic=1|add_nousepriem=1', 2, 77, 2, $u->info['id'], 2, 'пылающийужас', 0, 0, 1); + $this->addPriem($this->ue['id'], 191, 'add_antishock=1', 0, 77, 5, $u->info['id'], 5, 'иммунитеткошеломить'); + + //Удаляем оледенение + $pvr['mg']['priem']['id'] = $pvr['mg']['id']; + $btl->delPriem($pvr['mg'], $btl->users[$btl->uids[$this->ue['id']]], 2); + + //Отнимаем тактики + $this->mintr($pl); + } else { + echo 'На персонаже нет пожирающего пламени (Вашего заклятия)'; + $cup = true; + } } unset($pvr); diff --git a/_incl_data/class/priem/244.php b/_incl_data/class/priem/244.php index 6e6427ef..690b48c2 100644 --- a/_incl_data/class/priem/244.php +++ b/_incl_data/class/priem/244.php @@ -18,7 +18,7 @@ if ( $cup = true; } else { //Действие при клике - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($pvr['mg']['data']); + $pvr['data'] = Helper\Conversion::dataStringToArray($pvr['mg']['data']); $pvr['name'] = $pvr['mg']['name']; // Урон = 150% оставшегося урона (урон за ход * количество ходов * 150/100). diff --git a/_incl_data/class/priem/247.php b/_incl_data/class/priem/247.php index 4dcf7b3e..33ccfdee 100644 --- a/_incl_data/class/priem/247.php +++ b/_incl_data/class/priem/247.php @@ -1,130 +1,130 @@ priemAddLog( $id, 1, 2, $u->info['id'], $u->info['enemy'], - 'Медитация', - '{tm1} '.$btl->addlt(1 , 21 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL).'', - ($btl->hodID+1) - ); - */ - // - $pvr['mp'] = round($u->stats['mpAll']*0.03); - $pvr['mpSee'] = 0; - $pvr['mpNow'] = floor($u->stats['mpNow']); - $pvr['mpAll'] = $u->stats['mpAll']; - $pvr['mpTr'] = $pvr['mpAll'] - $pvr['mpNow']; - - //$pvr['mp'] = $btl->hphe( $u->info['id'] , $pvr['hp'] ); - - if( $pvr['mpTr'] > 0 ) { - //Требуется хилл - if( $pvr['mpTr'] < $pvr['mp'] ) { - $pvr['mp'] = $pvr['mpTr']; - } - $pvr['mpSee'] = '+'.$pvr['mp']; - $pvr['mpNow'] += $pvr['mp']; - } - if( $pvr['mpNow'] > $pvr['mpAll'] ) { - $pvr['mpNow'] = $pvr['mpAll']; - }elseif( $pvr['mpNow'] < 0 ) { - $pvr['mpNow'] = 0; - } - if( $pvr['mpSee'] == 0 ) { - $pvr['mpSee'] = '--'; - } - // - //$btl->users[$btl->uids[$u->info['id']]]['last_hp'] = $pvr['hp']; - // - $pvr['color2'] = $btl->mcolor[$btl->mname['земля']]; - // - $u->stats['mpNow'] = $pvr['mpNow']; - $u->info['mpNow'] = $pvr['mpNow']; - $btl->stats[$btl->uids[$u->info['id']]]['mpNow'] = $pvr['mpNow']; - $btl->users[$btl->uids[$u->info['id']]]['mpNow'] = $pvr['mpNow']; - // - //$btl->users[$btl->uids[$u->info['id']]]['last_hp'] = $pvr['hp']; - // - $pvr['color2'] = $btl->mcolor[$btl->mname['земля']]; - // - mysql_query('UPDATE `stats` SET `mpNow` = "'.$u->stats['mpNow'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - // - $btl->priemAddLogFast( $u->info['id'], 0, "Коснуться Земли", - '{tm1} '.$btl->addlt(1 , 21 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL).' на '.$pvr['mpSee'].' ['.$pvr['mpNow'].'/'.$pvr['mpAll'].'] (Мана)', - 1, time() ); - // - $pvr['no'] = ' AND `a`.`v2` != 201'; - $pvr['no'] = ' AND `a`.`v2` != 31'; - - //$pvr['no'] .= ' AND `a`.`v2` != 260'; - - $pvr['no'] .= ' AND `a`.`v2` != 191'; - $pvr['no'] .= ' AND `a`.`v2` != 280'; - $pvr['no'] .= ' AND `a`.`v2` != 201'; - $pvr['no'] .= ' AND `a`.`v2` != 42 AND `a`.`v2` != 121 AND `a`.`v2` != 122 AND `a`.`v2` != 123 AND `a`.`v2` != 124 AND `a`.`v2` != 125'; - $pvr['no'] .= ' AND `a`.`v2` != 186 AND `a`.`v2` != 246 AND `a`.`v2` != 257 AND `a`.`v2` != 281'; - $pvr['no'] .= ' AND `a`.`v2` != 282'; - $pvr['no'] .= ' AND `a`.`v2` != 21 AND `a`.`v2` != 73 AND `a`.`v2` != 74 AND `a`.`v2` != 75 AND `a`.`v2` != 76 AND `a`.`v2` != 77 AND `a`.`v2` != 78 AND `a`.`v2` != 79'; - - //$pvr['no'] .= ' AND `a`.`name` NOT LIKE "Цель%" '; - - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Оледенение%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Серое Мастерство%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Метеорит%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Регенерация%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Туманный образ%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Жертва%" '; - $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Призрачн%" '; - - $pvr['sp'] = mysql_query('SELECT `a`.*, `a`.`id` AS `ueffid` FROM `eff_users` AS `a` LEFT JOIN `priems` AS `b` ON `b`.`id` = `a`.`v2` WHERE `a`.`uid` = "'.$u->info['id'].'" AND `a`.`delete` = 0 AND `a`.`v1` = "priem" '.$pvr['no'].' AND ( (`b`.`neg` > 0 AND `a`.`v2` != 260) OR `a`.`v2` = 191 OR ( `a`.`v2` = 260 AND `a`.`data` NOT LIKE "%add_mg2static_points=0%" ) ) ORDER BY `a`.`id` DESC LIMIT 1'); - $pvr['pl'] = mysql_fetch_array($pvr['sp']); - $pvr['pl']['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "'.$pvr['pl']['v2'].'" LIMIT 1')); - if( isset($pvr['pl']['priem']) ) { - $pvr['edt'] = \Core\ConversionHelper::dataStringToArray($pvr['pl']['data']); - $pvr['edt']['add_zm2proc'] = 0; - $pvr['edt']['add_mg2static_points'] = 0; - $pvr['edt'] = \Core\ConversionHelper::arrayToDataString($pvr['edt']); - - if( $pvr['pl']['priem']['id'] == 260 ) { - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} Закончилось действие эффекта "Заряд" для {u1}.'; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], 0, - '', - $prv['text2'], - ($btl->hodID + 0) - ); - mysql_query('UPDATE `eff_users` SET `x` = 1, `data` = "'.$pvr['edt'].'" WHERE `id` = "'.$pvr['pl']['ueffid'].'" LIMIT 1'); - }else{ - $btl->delPriem($pvr['pl'],$btl->users[$btl->uids[$u->info['id']]],100); - } - } - // - echo 'Вы успешно использовали прием "Жертва Земле"'; - //$this->addEffPr($pl,$id); +if (isset($pr_momental_this)) { + $fx_moment = function ($uid, $enemy, $j_id, $yron, $profil, $inlog) { + return round($yron); + }; +} elseif (isset($pr_tested_this)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + return $at; + }; + unset($pr_used_this); +} elseif (isset($pr_used_this) && isset($pr_moment)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + return $at; + }; + unset($pr_used_this); +} else { + //Действие при клике + /* + $btl->priemAddLog( $id, 1, 2, $u->info['id'], $u->info['enemy'], + 'Медитация', + '{tm1} '.$btl->addlt(1 , 21 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL).'', + ($btl->hodID+1) + ); + */ + // + $pvr['mp'] = round($u->stats['mpAll'] * 0.03); + $pvr['mpSee'] = 0; + $pvr['mpNow'] = floor($u->stats['mpNow']); + $pvr['mpAll'] = $u->stats['mpAll']; + $pvr['mpTr'] = $pvr['mpAll'] - $pvr['mpNow']; + + //$pvr['mp'] = $btl->hphe( $u->info['id'] , $pvr['hp'] ); + + if ($pvr['mpTr'] > 0) { + //Требуется хилл + if ($pvr['mpTr'] < $pvr['mp']) { + $pvr['mp'] = $pvr['mpTr']; + } + $pvr['mpSee'] = '+' . $pvr['mp']; + $pvr['mpNow'] += $pvr['mp']; + } + if ($pvr['mpNow'] > $pvr['mpAll']) { + $pvr['mpNow'] = $pvr['mpAll']; + } elseif ($pvr['mpNow'] < 0) { + $pvr['mpNow'] = 0; + } + if ($pvr['mpSee'] == 0) { + $pvr['mpSee'] = '--'; + } + // + //$btl->users[$btl->uids[$u->info['id']]]['last_hp'] = $pvr['hp']; + // + $pvr['color2'] = $btl->mcolor[$btl->mname['земля']]; + // + $u->stats['mpNow'] = $pvr['mpNow']; + $u->info['mpNow'] = $pvr['mpNow']; + $btl->stats[$btl->uids[$u->info['id']]]['mpNow'] = $pvr['mpNow']; + $btl->users[$btl->uids[$u->info['id']]]['mpNow'] = $pvr['mpNow']; + // + //$btl->users[$btl->uids[$u->info['id']]]['last_hp'] = $pvr['hp']; + // + $pvr['color2'] = $btl->mcolor[$btl->mname['земля']]; + // + mysql_query('UPDATE `stats` SET `mpNow` = "' . $u->stats['mpNow'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + // + $btl->priemAddLogFast($u->info['id'], 0, "Коснуться Земли", + '{tm1} ' . $btl->addlt(1, 21, $btl->users[$btl->uids[$u->info['id']]]['sex'], null) . ' на ' . $pvr['mpSee'] . ' [' . $pvr['mpNow'] . '/' . $pvr['mpAll'] . '] (Мана)', + 1, time()); + // + $pvr['no'] = ' AND `a`.`v2` != 201'; + $pvr['no'] = ' AND `a`.`v2` != 31'; + + //$pvr['no'] .= ' AND `a`.`v2` != 260'; + + $pvr['no'] .= ' AND `a`.`v2` != 191'; + $pvr['no'] .= ' AND `a`.`v2` != 280'; + $pvr['no'] .= ' AND `a`.`v2` != 201'; + $pvr['no'] .= ' AND `a`.`v2` != 42 AND `a`.`v2` != 121 AND `a`.`v2` != 122 AND `a`.`v2` != 123 AND `a`.`v2` != 124 AND `a`.`v2` != 125'; + $pvr['no'] .= ' AND `a`.`v2` != 186 AND `a`.`v2` != 246 AND `a`.`v2` != 257 AND `a`.`v2` != 281'; + $pvr['no'] .= ' AND `a`.`v2` != 282'; + $pvr['no'] .= ' AND `a`.`v2` != 21 AND `a`.`v2` != 73 AND `a`.`v2` != 74 AND `a`.`v2` != 75 AND `a`.`v2` != 76 AND `a`.`v2` != 77 AND `a`.`v2` != 78 AND `a`.`v2` != 79'; + + //$pvr['no'] .= ' AND `a`.`name` NOT LIKE "Цель%" '; + + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Оледенение%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Серое Мастерство%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Метеорит%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Регенерация%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Туманный образ%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Жертва%" '; + $pvr['no'] .= ' AND `a`.`name` NOT LIKE "Призрачн%" '; + + $pvr['sp'] = mysql_query('SELECT `a`.*, `a`.`id` AS `ueffid` FROM `eff_users` AS `a` LEFT JOIN `priems` AS `b` ON `b`.`id` = `a`.`v2` WHERE `a`.`uid` = "' . $u->info['id'] . '" AND `a`.`delete` = 0 AND `a`.`v1` = "priem" ' . $pvr['no'] . ' AND ( (`b`.`neg` > 0 AND `a`.`v2` != 260) OR `a`.`v2` = 191 OR ( `a`.`v2` = 260 AND `a`.`data` NOT LIKE "%add_mg2static_points=0%" ) ) ORDER BY `a`.`id` DESC LIMIT 1'); + $pvr['pl'] = mysql_fetch_array($pvr['sp']); + $pvr['pl']['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "' . $pvr['pl']['v2'] . '" LIMIT 1')); + if (isset($pvr['pl']['priem'])) { + $pvr['edt'] = Helper\Conversion::dataStringToArray($pvr['pl']['data']); + $pvr['edt']['add_zm2proc'] = 0; + $pvr['edt']['add_mg2static_points'] = 0; + $pvr['edt'] = Helper\Conversion::arrayToDataString($pvr['edt']); + + if ($pvr['pl']['priem']['id'] == 260) { + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} Закончилось действие эффекта "Заряд" для {u1}.'; + $btl->priemAddLog($id, 1, 2, $u->info['id'], 0, + '', + $prv['text2'], + ($btl->hodID + 0) + ); + mysql_query('UPDATE `eff_users` SET `x` = 1, `data` = "' . $pvr['edt'] . '" WHERE `id` = "' . $pvr['pl']['ueffid'] . '" LIMIT 1'); + } else { + $btl->delPriem($pvr['pl'], $btl->users[$btl->uids[$u->info['id']]], 100); + } + } + // + echo 'Вы успешно использовали прием "Жертва Земле"'; + //$this->addEffPr($pl,$id); } unset($pvr); diff --git a/_incl_data/class/priem/250.php b/_incl_data/class/priem/250.php index 5e4192c4..46b04b57 100644 --- a/_incl_data/class/priem/250.php +++ b/_incl_data/class/priem/250.php @@ -1,75 +1,76 @@ ue['id'].'" AND `v2` = 250 AND `delete` = 0 LIMIT 1')); -if( $pvr['x5']['x'] < 5 ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id); - // - $prv['effx'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "'.$pvr['x5']['id'].'" LIMIT 1')); - if( isset($prv['eff']['id']) ) { - //Разбираем дату $prv['eff']['data'] - $prv['eda'] = $prv['eff']['data']; - } - }else{ - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - } - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*(1+$pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*(1+$prv['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Заземление: Ноль'.$prv['x'].'', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество заземлений'; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $this->ue['id'] . '" AND `v2` = 250 AND `delete` = 0 LIMIT 1')); +if ($pvr['x5']['x'] < 5) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id); + // + $prv['effx'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "' . $pvr['x5']['id'] . '" LIMIT 1')); + if (isset($prv['eff']['id'])) { + //Разбираем дату $prv['eff']['data'] + $prv['eda'] = $prv['eff']['data']; + } + } else { + //Разбираем дату $pl['date3'] + $prv['eda'] = $pl['date3']; + } + // + if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $prv['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Заземление: Ноль' . $prv['x'] . '', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество заземлений'; } unset($pvr); diff --git a/_incl_data/class/priem/251.php b/_incl_data/class/priem/251.php index ff33e55c..7d75b2c4 100644 --- a/_incl_data/class/priem/251.php +++ b/_incl_data/class/priem/251.php @@ -1,186 +1,180 @@ atacks[$id]['uid1']; - $uid2 = $btl->atacks[$id]['uid2']; - - if( $uid == $uid1 ) { - $pvrl = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$btl->atacks[$id]['uid1'].'" AND `v2` = "251" AND `delete` = "0" ORDER BY `id` DESC LIMIT 1')); - $a = 1; - $b = 2; - $u1 = ${'uid1'}; - $u2 = ${'uid2'}; - $u3 = $pvrl['user_use']; - }elseif( $uid == $uid2 ) { - $pvrl = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$btl->atacks[$id]['uid2'].'" AND `v2` = "251" AND `delete` = "0" ORDER BY `id` DESC LIMIT 1')); - $a = 2; - $b = 1; - $u1 = ${'uid2'}; - $u2 = ${'uid1'}; - $u3 = $pvrl['user_use']; - } - if( $a > 0 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']*$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['x']); - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $u2, $u1, 12, $pvr['hp'], 7, true, false, 1 ); - $pvr['hp2'] = $pvr['hp']; - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($u2,$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'] = '{u2} утратил здоровье от "{pr}"'; - $prv['text12'] = ''.$btl->stats[$btl->uids[$u3]]['login'].' восстановил здоровье от "{pr}"'; // - - //Цвет приема - 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'].'. '.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - $pvr['hp2'] = $btl->hphe( $u1 , $pvr['hp2'] ); - $pvr['hpNow2'] = floor($btl->stats[$btl->uids[$u3]]['hpNow']); - $pvr['hpAll2'] = $btl->stats[$btl->uids[$u3]]['hpAll']; - if( $pvr['hp2'] > 0 ) { - $pvr['hp2see'] = '+'.$pvr['hp2']; - }else{ - $pvr['hp2see'] = '--'; - $pvr['hp2'] = 0; - } - if ($pvr['hpNow2'] >0) - { - $pvr['hpNow2'] += $pvr['hp2']; - } - else - { - $pvr['hpNow2'] = 0; - } - - // - $prv['text22'] = '{tm1} '.$prv['text12'].'. '.$pvr['hp2see'].' ['.$pvr['hpNow2'].'/'.$pvr['hpAll2'].']'; - $btl->stats[$btl->uids[$u3]]['hpNow'] = $pvr['hpNow2']; - $btl->stats[$btl->uids[$u1]]['hpNow'] = $pvr['hpNow']; - mysql_query('UPDATE `stats` SET `last_hp` = "'.$btl->users[$btl->uids[$u3]]['last_hp'].'",`hpNow` = "'.$btl->stats[$btl->uids[$u3]]['hpNow'].'" WHERE `id` = "'.$u3.'" LIMIT 1'); - - if( $pvr['promah_type'] == 2 ) { - //$prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u2]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'. -- ['.$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, - 'Заземление: Плюс'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - $btl->priemAddLog( $id, 1, 2, $u2, $u1, - 'Заземление: Плюс'.$prv['xx'].'', - $prv['text22'], - ($btl->hodID) - ); - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - - $pvrl = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$this->ue['id'].'" AND `v2` = "251" AND `delete` = "0" ORDER BY `id` DESC LIMIT 1')); - - if ($pvrl['x']<5) - { - $pvr['hp'] = floor(27); - $pvr['hp'] = $this->magatack( $u2, $u1, $pvr['hp'], 'земля', 0 ); - $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'], $this->ue['id'], - 'Заземление: Плюс', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,10,$u->info['id'],5,'заземление',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); - } - else - { - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество Заземление: Плюс'; - } +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $pvr['used'] = 0; + // + $uid1 = $btl->atacks[$id]['uid1']; + $uid2 = $btl->atacks[$id]['uid2']; + + if ($uid == $uid1) { + $pvrl = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $btl->atacks[$id]['uid1'] . '" AND `v2` = "251" AND `delete` = "0" ORDER BY `id` DESC LIMIT 1')); + $a = 1; + $b = 2; + $u1 = ${'uid1'}; + $u2 = ${'uid2'}; + $u3 = $pvrl['user_use']; + } elseif ($uid == $uid2) { + $pvrl = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $btl->atacks[$id]['uid2'] . '" AND `v2` = "251" AND `delete` = "0" ORDER BY `id` DESC LIMIT 1')); + $a = 2; + $b = 1; + $u1 = ${'uid2'}; + $u2 = ${'uid1'}; + $u3 = $pvrl['user_use']; + } + if ($a > 0) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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'] * $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['x']); + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($u2, $u1, 12, $pvr['hp'], 7, true, false, 1); + $pvr['hp2'] = $pvr['hp']; + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($u2, $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'] = '{u2} утратил здоровье от "{pr}"'; + $prv['text12'] = '' . $btl->stats[$btl->uids[$u3]]['login'] . ' восстановил здоровье от "{pr}"'; // + + //Цвет приема + 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'] . '. ' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + $pvr['hp2'] = $btl->hphe($u1, $pvr['hp2']); + $pvr['hpNow2'] = floor($btl->stats[$btl->uids[$u3]]['hpNow']); + $pvr['hpAll2'] = $btl->stats[$btl->uids[$u3]]['hpAll']; + if ($pvr['hp2'] > 0) { + $pvr['hp2see'] = '+' . $pvr['hp2']; + } else { + $pvr['hp2see'] = '--'; + $pvr['hp2'] = 0; + } + if ($pvr['hpNow2'] > 0) { + $pvr['hpNow2'] += $pvr['hp2']; + } else { + $pvr['hpNow2'] = 0; + } + + // + $prv['text22'] = '{tm1} ' . $prv['text12'] . '. ' . $pvr['hp2see'] . ' [' . $pvr['hpNow2'] . '/' . $pvr['hpAll2'] . ']'; + $btl->stats[$btl->uids[$u3]]['hpNow'] = $pvr['hpNow2']; + $btl->stats[$btl->uids[$u1]]['hpNow'] = $pvr['hpNow']; + mysql_query('UPDATE `stats` SET `last_hp` = "' . $btl->users[$btl->uids[$u3]]['last_hp'] . '",`hpNow` = "' . $btl->stats[$btl->uids[$u3]]['hpNow'] . '" WHERE `id` = "' . $u3 . '" LIMIT 1'); + + if ($pvr['promah_type'] == 2) { + //$prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u2]]['sex'] , NULL); + $prv['text2'] = '{tm1} ' . $prv['text'] . '. -- [' . $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, + 'Заземление: Плюс' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + $btl->priemAddLog($id, 1, 2, $u2, $u1, + 'Заземление: Плюс' . $prv['xx'] . '', + $prv['text22'], + ($btl->hodID) + ); + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + + $pvrl = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $this->ue['id'] . '" AND `v2` = "251" AND `delete` = "0" ORDER BY `id` DESC LIMIT 1')); + + if ($pvrl['x'] < 5) { + $pvr['hp'] = floor(27); + $pvr['hp'] = $this->magatack($u2, $u1, $pvr['hp'], 'земля', 0); + $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'], $this->ue['id'], + 'Заземление: Плюс', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 10) . '', 0, 77, 10, $u->info['id'], 5, 'заземление', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); + } else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество Заземление: Плюс'; + } } unset($pvr); diff --git a/_incl_data/class/priem/252.php b/_incl_data/class/priem/252.php index fdb7be0a..d1974548 100644 --- a/_incl_data/class/priem/252.php +++ b/_incl_data/class/priem/252.php @@ -1,146 +1,146 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['mp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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['mp'] += $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['mp'] = floor($pvr['mp']*$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['x']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['mpSee'] = '--'; - $pvr['mpNow'] = floor($btl->stats[$btl->uids[$u1]]['mpNow']); - $pvr['mpAll'] = $btl->stats[$btl->uids[$u1]]['mpAll']; - - //Используем проверку на урон приемов - //$pvr['mp'] = $btl->testYronPriem( $u2, $u1, 12, $pvr['mp'], 7, true, false, 1 ); - $pvr['mpSee'] = '-'.$pvr['mp']; - $pvr['mpNow'] -= $pvr['mp']; - //$btl->priemYronSave($u2,$u1,$pvr['mp'],0); - - if( $pvr['mpNow'] > $pvr['mpAll'] ) { - $pvr['mpNow'] = $pvr['mpAll']; - }elseif( $pvr['mpNow'] < 0 ) { - $pvr['mpNow'] = 0; - } - - $btl->stats[$btl->uids[$u1]]['mpNow'] = $pvr['mpNow']; - - mysql_query('UPDATE `stats` SET `mpNow` = "'.$btl->stats[$btl->uids[$u1]]['mpNow'].'" WHERE `id` = "'.$u1.'" LIMIT 1'); - //$prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u2]]['sex'] , NULL); - $prv['text'] = '{u2} утратил ману от "{pr}"'; - - //Цвет приема - 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'].'. '.$pvr['mpSee'].' ['.$pvr['mpNow'].'/'.$pvr['mpAll'].'] (мана)'; - - if( $pvr['promah_type'] == 2 ) { - //$prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u2]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'. -- ['.$pvr['mpNow'].'/'.$pvr['mpAll'].'] (мана)'; - } - $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, - 'Заземление: Минус'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(95); - $pvr['hp'] = $this->magatack( $u2, $u1, $pvr['hp'], 'земля', 0 ); - $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'], $this->ue['id'], - 'Заземление: Минус', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,10,$u->info['id'],5,'заземление',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['mp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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['mp'] += $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['mp'] = floor($pvr['mp'] * $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['x']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['mpSee'] = '--'; + $pvr['mpNow'] = floor($btl->stats[$btl->uids[$u1]]['mpNow']); + $pvr['mpAll'] = $btl->stats[$btl->uids[$u1]]['mpAll']; + + //Используем проверку на урон приемов + //$pvr['mp'] = $btl->testYronPriem( $u2, $u1, 12, $pvr['mp'], 7, true, false, 1 ); + $pvr['mpSee'] = '-' . $pvr['mp']; + $pvr['mpNow'] -= $pvr['mp']; + //$btl->priemYronSave($u2,$u1,$pvr['mp'],0); + + if ($pvr['mpNow'] > $pvr['mpAll']) { + $pvr['mpNow'] = $pvr['mpAll']; + } elseif ($pvr['mpNow'] < 0) { + $pvr['mpNow'] = 0; + } + + $btl->stats[$btl->uids[$u1]]['mpNow'] = $pvr['mpNow']; + + mysql_query('UPDATE `stats` SET `mpNow` = "' . $btl->stats[$btl->uids[$u1]]['mpNow'] . '" WHERE `id` = "' . $u1 . '" LIMIT 1'); + //$prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u2]]['sex'] , NULL); + $prv['text'] = '{u2} утратил ману от "{pr}"'; + + //Цвет приема + 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'] . '. ' . $pvr['mpSee'] . ' [' . $pvr['mpNow'] . '/' . $pvr['mpAll'] . '] (мана)'; + + if ($pvr['promah_type'] == 2) { + //$prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u2]]['sex'] , NULL); + $prv['text2'] = '{tm1} ' . $prv['text'] . '. -- [' . $pvr['mpNow'] . '/' . $pvr['mpAll'] . '] (мана)'; + } + $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, + 'Заземление: Минус' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(95); + $pvr['hp'] = $this->magatack($u2, $u1, $pvr['hp'], 'земля', 0); + $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'], $this->ue['id'], + 'Заземление: Минус', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 10) . '', 0, 77, 10, $u->info['id'], 5, 'заземление', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/257.php b/_incl_data/class/priem/257.php index 2fb2ce70..5abd91f1 100644 --- a/_incl_data/class/priem/257.php +++ b/_incl_data/class/priem/257.php @@ -1,80 +1,81 @@ ue['id'].'" AND `v2` = 257 AND `delete` = 0 LIMIT 1')); -if( !isset($pvr['x5']['id']) ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id); - // - $prv['effx'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "'.$pvr['x5']['id'].'" LIMIT 1')); - if( isset($prv['eff']['id']) ) { - //Разбираем дату $prv['eff']['data'] - $prv['eda'] = $prv['eff']['data']; - } - }else{ - //Разбираем дату $pl['date3'] - //$pl['date3'] = 'add_mab1='.($u->info['level']*3).'|add_mab2='.($u->info['level']*3).'|add_mab3='.($u->info['level']*3).'|add_mab4='.($u->info['level']*3).''; - $prv['eda'] = $pl['date3']; - } - // - if( isset($prv['eda']) ) { - $u->is['mab1'] = 'Броня головы'; - $u->is['mab2'] = 'Броня корпуса'; - $u->is['mab3'] = 'Броня пояса'; - $u->is['mab4'] = 'Броня ног'; - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$this->ue['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$this->ue['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*(1+$pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*(1+$prv['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 21 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Жертва Воздуху'.$prv['x'].'', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество заклятий'; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $this->ue['id'] . '" AND `v2` = 257 AND `delete` = 0 LIMIT 1')); +if (!isset($pvr['x5']['id'])) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id); + // + $prv['effx'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "' . $pvr['x5']['id'] . '" LIMIT 1')); + if (isset($prv['eff']['id'])) { + //Разбираем дату $prv['eff']['data'] + $prv['eda'] = $prv['eff']['data']; + } + } else { + //Разбираем дату $pl['date3'] + //$pl['date3'] = 'add_mab1='.($u->info['level']*3).'|add_mab2='.($u->info['level']*3).'|add_mab3='.($u->info['level']*3).'|add_mab4='.($u->info['level']*3).''; + $prv['eda'] = $pl['date3']; + } + // + if (isset($prv['eda'])) { + $u->is['mab1'] = 'Броня головы'; + $u->is['mab2'] = 'Броня корпуса'; + $u->is['mab3'] = 'Броня пояса'; + $u->is['mab4'] = 'Броня ног'; + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $this->ue['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $this->ue['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $prv['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 21, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Жертва Воздуху' . $prv['x'] . '', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество заклятий'; } unset($pvr); diff --git a/_incl_data/class/priem/258.php b/_incl_data/class/priem/258.php index 869eda93..e4b9ce66 100644 --- a/_incl_data/class/priem/258.php +++ b/_incl_data/class/priem/258.php @@ -1,72 +1,73 @@ ue['id'].'" AND `v2` = 258 AND `delete` = 0 LIMIT 1')); -if( !isset($pvr['x5']['id']) ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id,'minprocmanahod=1x10'); - // - $prv['effx'] = ''; - // - $pl['date3'] = 'minprocmanahod=1x10'; - $prv['eda'] = $pl['date3']; - // - if( isset($prv['eda']) ) { - $u->is['mab1'] = 'Броня головы'; - $u->is['mab2'] = 'Броня корпуса'; - $u->is['mab3'] = 'Броня пояса'; - $u->is['mab4'] = 'Броня ног'; - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$this->ue['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$this->ue['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*(1+$pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*(1+$prv['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 21 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].' на {u2}.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Энергия Воздуха'.$prv['x'].'', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество заклятий'; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $this->ue['id'] . '" AND `v2` = 258 AND `delete` = 0 LIMIT 1')); +if (!isset($pvr['x5']['id'])) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id, 'minprocmanahod=1x10'); + // + $prv['effx'] = ''; + // + $pl['date3'] = 'minprocmanahod=1x10'; + $prv['eda'] = $pl['date3']; + // + if (isset($prv['eda'])) { + $u->is['mab1'] = 'Броня головы'; + $u->is['mab2'] = 'Броня корпуса'; + $u->is['mab3'] = 'Броня пояса'; + $u->is['mab4'] = 'Броня ног'; + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $this->ue['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $this->ue['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $prv['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 21, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . ' на {u2}.' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Энергия Воздуха' . $prv['x'] . '', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество заклятий'; } unset($pvr); diff --git a/_incl_data/class/priem/262.php b/_incl_data/class/priem/262.php index d5e2e49b..d3952387 100644 --- a/_incl_data/class/priem/262.php +++ b/_incl_data/class/priem/262.php @@ -1,87 +1,87 @@ users[$btl->uids[$this->ue['id']]]['id'].'" AND `v2` = "260" AND `user_use` = "'.$u->info['id'].'" ORDER BY `id` DESC LIMIT 1')); -$pvr['mg'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$btl->users[$btl->uids[$this->ue['id']]]['id'].'" AND `v2` = "260" ORDER BY `id` DESC LIMIT 1')); -if( isset($pvr['mg']['id']) ) { - //Действие при клике - //$pvr['hp'] = floor(144/3*$pvr['mg']['x']); - /*$pvr['hp'] = 1;*/ - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($pvr['mg']['data']); - // - /**/ - if( $pvr['data']['add_mg2static_points'][0] < 1 ) { - echo 'Статика не собрала достаточного количества зарядов'; - $cup = true; - }else{ - $prv['text'] = $btl->addlt(1 , 21 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - - //Цвет приемаы - if( $pvr['promah'] == false ) { - if( $pvr['krit'] == false ) { - $prv['color2'] = '006699'; - if(isset($btl->mcolor[$btl->mname['воздух']])) { - $prv['color2'] = $btl->mcolor[$btl->mname['воздух']]; - } - $prv['color'] = '000000'; - if(isset($btl->mncolor[$btl->mname['воздух']])) { - $prv['color'] = $btl->mncolor[$btl->mname['воздух']]; - } - }else{ - $prv['color2'] = 'FF0000'; - $prv['color'] = 'FF0000'; - } - }else{ - $prv['color2'] = '909090'; - $prv['color'] = '909090'; - } - //Запрещаем юзать прошлый прием кол-во ходов равно уровню заряда - $this->addPriem($this->ue['id'],264,'add_notuse_last_pr='.($this->ue['last_pr']).'',0,77,$pvr['data']['add_mg2static_points'][0],$u->info['id'],1,'зарядшок',0,0,1); - - //Удаляем 1 негативный эффект - $pvr['no'] = ' AND `a`.`v2` != 201 AND `a`.`overType` != 100 AND `a`.`overType` != 101 AND `a`.`overType` != 105' ; - - $pvr['sp'] = mysql_query('SELECT `a`.* FROM `eff_users` AS `a` LEFT JOIN `priems` AS `b` ON `b`.`id` = `a`.`v2` WHERE `a`.`uid` = "'.$this->ue['id'].'" AND `a`.`delete` = 0 AND `a`.`v1` = "priem" '.$pvr['no'].' AND `b`.`neg` = 0 LIMIT 1'); - $pvr['pl'] = mysql_fetch_array($pvr['sp']); - $pvr['pl']['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "'.$pvr['pl']['v2'].'" LIMIT 1')); - if( isset($pvr['pl']['priem']) ) { - $btl->delPriem($pvr['pl'],$btl->users[$btl->uids[$this->ue['id']]],100); - } - - $prv['text2'] = '{tm1} '.$prv['text'].' на {u2}.'; - - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Заряд: Шок', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.($pvr['hp']/16).'',2,77,4,$u->info['id'],3,'оледенение',0,0,1); - - //Удаляем оледенение - $pvr['mg']['priem']['id'] = $pvr['mg']['id']; - //$btl->delPriem($pvr['mg'],$btl->users[$btl->uids[$this->ue['id']]],2); - - $pvr['edt'] = \Core\ConversionHelper::dataStringToArray($pvr['mg']['data']); - $pvr['edt']['add_zm2proc'] = 0; - $pvr['edt']['add_mg2static_points'] = 0; - $pvr['edt'] = \Core\ConversionHelper::arrayToDataString($pvr['edt']); - mysql_query('UPDATE `eff_users` SET `x` = 1, `data` = "'.$pvr['edt'].'" WHERE `id` = "'.$pvr['mg']['id'].'" LIMIT 1'); - - //Отнимаем тактики - $this->mintr($pl); - } -}else{ - echo 'На персонаже нет Статики (Вашего заклятия)'; - $cup = true; +$pvr['mg'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $btl->users[$btl->uids[$this->ue['id']]]['id'] . '" AND `v2` = "260" ORDER BY `id` DESC LIMIT 1')); +if (isset($pvr['mg']['id'])) { + //Действие при клике + //$pvr['hp'] = floor(144/3*$pvr['mg']['x']); + /*$pvr['hp'] = 1;*/ + // + $pvr['data'] = Helper\Conversion::dataStringToArray($pvr['mg']['data']); + // + /**/ + if ($pvr['data']['add_mg2static_points'][0] < 1) { + echo 'Статика не собрала достаточного количества зарядов'; + $cup = true; + } else { + $prv['text'] = $btl->addlt(1, 21, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + + //Цвет приемаы + if ($pvr['promah'] == false) { + if ($pvr['krit'] == false) { + $prv['color2'] = '006699'; + if (isset($btl->mcolor[$btl->mname['воздух']])) { + $prv['color2'] = $btl->mcolor[$btl->mname['воздух']]; + } + $prv['color'] = '000000'; + if (isset($btl->mncolor[$btl->mname['воздух']])) { + $prv['color'] = $btl->mncolor[$btl->mname['воздух']]; + } + } else { + $prv['color2'] = 'FF0000'; + $prv['color'] = 'FF0000'; + } + } else { + $prv['color2'] = '909090'; + $prv['color'] = '909090'; + } + //Запрещаем юзать прошлый прием кол-во ходов равно уровню заряда + $this->addPriem($this->ue['id'], 264, 'add_notuse_last_pr=' . ($this->ue['last_pr']) . '', 0, 77, $pvr['data']['add_mg2static_points'][0], $u->info['id'], 1, 'зарядшок', 0, 0, 1); + + //Удаляем 1 негативный эффект + $pvr['no'] = ' AND `a`.`v2` != 201 AND `a`.`overType` != 100 AND `a`.`overType` != 101 AND `a`.`overType` != 105'; + + $pvr['sp'] = mysql_query('SELECT `a`.* FROM `eff_users` AS `a` LEFT JOIN `priems` AS `b` ON `b`.`id` = `a`.`v2` WHERE `a`.`uid` = "' . $this->ue['id'] . '" AND `a`.`delete` = 0 AND `a`.`v1` = "priem" ' . $pvr['no'] . ' AND `b`.`neg` = 0 LIMIT 1'); + $pvr['pl'] = mysql_fetch_array($pvr['sp']); + $pvr['pl']['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "' . $pvr['pl']['v2'] . '" LIMIT 1')); + if (isset($pvr['pl']['priem'])) { + $btl->delPriem($pvr['pl'], $btl->users[$btl->uids[$this->ue['id']]], 100); + } + + $prv['text2'] = '{tm1} ' . $prv['text'] . ' на {u2}.'; + + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Заряд: Шок', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.($pvr['hp']/16).'',2,77,4,$u->info['id'],3,'оледенение',0,0,1); + + //Удаляем оледенение + $pvr['mg']['priem']['id'] = $pvr['mg']['id']; + //$btl->delPriem($pvr['mg'],$btl->users[$btl->uids[$this->ue['id']]],2); + + $pvr['edt'] = Helper\Conversion::dataStringToArray($pvr['mg']['data']); + $pvr['edt']['add_zm2proc'] = 0; + $pvr['edt']['add_mg2static_points'] = 0; + $pvr['edt'] = Helper\Conversion::arrayToDataString($pvr['edt']); + mysql_query('UPDATE `eff_users` SET `x` = 1, `data` = "' . $pvr['edt'] . '" WHERE `id` = "' . $pvr['mg']['id'] . '" LIMIT 1'); + + //Отнимаем тактики + $this->mintr($pl); + } +} else { + echo 'На персонаже нет Статики (Вашего заклятия)'; + $cup = true; } unset($pvr); ?> \ No newline at end of file diff --git a/_incl_data/class/priem/263.php b/_incl_data/class/priem/263.php index 96801f71..08223fa2 100644 --- a/_incl_data/class/priem/263.php +++ b/_incl_data/class/priem/263.php @@ -1,24 +1,24 @@ -users[$btl->uids[$this->ue['id']]]['id'] . ' AND `v2` = 260 ORDER BY `id` DESC LIMIT 1')); if (!isset($pvr['mg']['id'])) { echo 'На персонаже нет Статики'; $cup = true; } else { - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($pvr['mg']['data']); + $pvr['data'] = Helper\Conversion::dataStringToArray($pvr['mg']['data']); // /**/ if ($pvr['data']['add_mg2static_points'] < 1) { echo 'Статика не собрала достаточного количества зарядов'; $cup = true; } else { - $prv['text'] = $btl->addlt(1, 21, $btl->users[$btl->uids[$this->u->info['id']]]['sex'], NULL); + $prv['text'] = $btl->addlt(1, 21, $btl->users[$btl->uids[$this->u->info['id']]]['sex'], null); //Цвет приемаы $prv['color'] = $this->logColor[$this::AIR]; diff --git a/_incl_data/class/priem/280.php b/_incl_data/class/priem/280.php index 91344432..17001c05 100644 --- a/_incl_data/class/priem/280.php +++ b/_incl_data/class/priem/280.php @@ -1,96 +1,96 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - $pvr['di'] = 0; - $pvr['dc'] = count($pvr['data']['atgm']); - $pvr['rd'] = 0; - $pvr['redata'] = ''; - if( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] < 5 ) { - $pvr['redata'] = '|add_notactic=1|add_nousepriem=1'; - // - $pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x`,`hod` FROM `eff_users` WHERE `uid` = "'.$u1.'" AND `v2` = 191 AND `delete` = 0 LIMIT 1')); - if( !isset($pvr['x5']['id']) ) { - $priem->addPriem($u1,191,'add_antishock=1',0,77,5,$u1,5,'иммунитеткошеломить'); - } - // - } - // - $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'); - // - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['mg'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$btl->users[$btl->uids[$u->info['enemy']]]['id'].'" AND `bj` = "оледенение" AND `user_use` = "'.$u->info['id'].'" ORDER BY `id` DESC LIMIT 1')); - if( isset($pvr['mg']['id']) ) { - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'; - - $pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x`,`hod` FROM `eff_users` WHERE `uid` = "'.$this->ue['id'].'" AND `v2` = 191 AND `delete` = 0 LIMIT 1')); - if( !isset($pvr['x5']['id']) ) { - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Хватка Льда', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `id` = "'.$pvr['mg']['id'].'" LIMIT 1'); - $this->addPriem($this->ue['id'],$pl['id'],'',0,77,5,$u->info['id'],1,'хваткальда',0,0,1); - }else{ - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Хватка Льда', - $prv['text2'].' (Цель полностью защищена от шока)', - ($btl->hodID + 1) - ); - } - //Отнимаем тактики - //$this->mintr($pl); - }else{ - echo 'На персонаже нет оледенения (Вашего заклятия)'; - $cup = true; - } +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['data'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $pvr['di'] = 0; + $pvr['dc'] = count($pvr['data']['atgm']); + $pvr['rd'] = 0; + $pvr['redata'] = ''; + if ($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] < 5) { + $pvr['redata'] = '|add_notactic=1|add_nousepriem=1'; + // + $pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x`,`hod` FROM `eff_users` WHERE `uid` = "' . $u1 . '" AND `v2` = 191 AND `delete` = 0 LIMIT 1')); + if (!isset($pvr['x5']['id'])) { + $priem->addPriem($u1, 191, 'add_antishock=1', 0, 77, 5, $u1, 5, 'иммунитеткошеломить'); + } + // + } + // + $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'); + // + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['mg'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $btl->users[$btl->uids[$u->info['enemy']]]['id'] . '" AND `bj` = "оледенение" AND `user_use` = "' . $u->info['id'] . '" ORDER BY `id` DESC LIMIT 1')); + if (isset($pvr['mg']['id'])) { + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '.'; + + $pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x`,`hod` FROM `eff_users` WHERE `uid` = "' . $this->ue['id'] . '" AND `v2` = 191 AND `delete` = 0 LIMIT 1')); + if (!isset($pvr['x5']['id'])) { + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Хватка Льда', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + mysql_query('UPDATE `eff_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $pvr['mg']['id'] . '" LIMIT 1'); + $this->addPriem($this->ue['id'], $pl['id'], '', 0, 77, 5, $u->info['id'], 1, 'хваткальда', 0, 0, 1); + } else { + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Хватка Льда', + $prv['text2'] . ' (Цель полностью защищена от шока)', + ($btl->hodID + 1) + ); + } + //Отнимаем тактики + //$this->mintr($pl); + } else { + echo 'На персонаже нет оледенения (Вашего заклятия)'; + $cup = true; + } } unset($pvr); diff --git a/_incl_data/class/priem/282.php b/_incl_data/class/priem/282.php index 6adf0282..24a21b7d 100644 --- a/_incl_data/class/priem/282.php +++ b/_incl_data/class/priem/282.php @@ -1,170 +1,169 @@ mcolor[$btl->mname['вода']]; - // - //Параметры приема - $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'); - unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]); - } - // - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}elseif( isset($pr_used_this) ) { - $fx_priem = function( $id , $at , $uid, $j_id ) { - // -- начало приема - global $u, $btl, $priem; - $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; - // - //Параметры приема - $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 ) { - $prv['j_priem'] = $btl->stats[$btl->uids[$u2]]['u_priem'][$j_id][0]; - $prv['priem_th'] = $btl->stats[$btl->uids[$u2]]['effects'][$prv['j_priem']]['id']; - // - $pvr['hp'] = 1; - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u2]]['effects'][$prv['j_priem']]['data']); - $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); - // - //$pvr['hp'] = floor($btl->stats[$btl->uids[$u2]]['hpAll']/50); - if( $pvr['hp'] < 0 ) { - $pvr['hp'] = 0; - } - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u2]]['hpNow']); - $pvr['hpAll'] = floor($btl->stats[$btl->uids[$u2]]['hpAll']); - $pvr['hpNow'] -= $pvr['hp']; - // - //Используем проверку на урон приемов - //$pvr['hp'] = $btl->testYronPriem( $u1, $u2, 12, $pvr['hp'], 7, true ); - $pvr['hp'] = -($btl->hphe($u2,-($pvr['hp']))); - // - if( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - }elseif( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - } - if( $pvr['hp'] > 0 ) { - $pvr['hpSee'] = '-'.$pvr['hp']; - } - - $btl->stats[$btl->uids[$u2]]['hpNow'] = $pvr['hpNow']; - - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$u2]]['hpNow'].'" WHERE `id` = "'.$u2.'" LIMIT 1'); - - +$pvr = []; +if (isset($pr_momental_this)) { + $fx_moment = function ($uid, $enemy, $j_id, $yron, $profil, $inlog) { + return round($yron); + }; +} elseif (isset($pr_used_this) && isset($pr_moment)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + return $at; + }; + unset($pr_used_this); +} elseif (isset($pr_tested_this)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl; + $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; + // + //Параметры приема + $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'); + unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]); + } + // + // -- конец приема + return $at; + }; + unset($pr_used_this); +} elseif (isset($pr_used_this)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; + // + //Параметры приема + $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) { + $prv['j_priem'] = $btl->stats[$btl->uids[$u2]]['u_priem'][$j_id][0]; + $prv['priem_th'] = $btl->stats[$btl->uids[$u2]]['effects'][$prv['j_priem']]['id']; + // + $pvr['hp'] = 1; + $pvr['data'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u2]]['effects'][$prv['j_priem']]['data']); + $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); + // + //$pvr['hp'] = floor($btl->stats[$btl->uids[$u2]]['hpAll']/50); + if ($pvr['hp'] < 0) { + $pvr['hp'] = 0; + } + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u2]]['hpNow']); + $pvr['hpAll'] = floor($btl->stats[$btl->uids[$u2]]['hpAll']); + $pvr['hpNow'] -= $pvr['hp']; + // + //Используем проверку на урон приемов + //$pvr['hp'] = $btl->testYronPriem( $u1, $u2, 12, $pvr['hp'], 7, true ); + $pvr['hp'] = -($btl->hphe($u2, -($pvr['hp']))); + // + if ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } elseif ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } + if ($pvr['hp'] > 0) { + $pvr['hpSee'] = '-' . $pvr['hp']; + } - $btl->priemAddLog( $id, $a, $b, $u1, $u2, - "Ледяное Спасение", - "{tm1} {u2} утратил здоровье от эффекта "{pr}". ".$pvr['hpSee']." [".$pvr['hpNow']."/".$pvr['hpAll']."] ", - ($btl->hodID + 1) ); - if( $pvr['hpNow'] = 0 ) { - $btl->spaCheck($u2); - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['color2'] = $btl->mcolor[$btl->mname['вода']]; - //Действие при клике - //$this->addEffPr($pl,$id); - // - $pvr['color'] = '006699'; - // - $pvr['hp'] = 245; - $pvr['hp'] = $this->magatack( $u->info['id'], $u->info['id'], $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - if( $pvr['hp'] < 0 ) { - $pvr['hp'] = 0; - } - $pvr['hp'] = $btl->hphe($u->info['id'],$pvr['hp']); - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u->info['id']]]['hpNow']); - $pvr['hpAll'] = floor($btl->stats[$btl->uids[$u->info['id']]]['hpAll']); - $pvr['hpNow'] += $pvr['hp']; - if( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - }elseif( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - } - // - - $u->info['hpNow'] = $pvr['hpNow']; - $u->stats['hpNow'] = $pvr['hpNow']; - $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] = $pvr['hpNow']; - $btl->users[$btl->uids[$u->info['id']]]['hpNow'] = $pvr['hpNow']; - $btl->priemYronSave($u->info['id'],$this->ue['id'],$pvr['hp'],0); - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$u->info['id']]]['hpNow'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - // - $pvr['hpSee'] = '--'; - if($pvr['hp'] > 0) { - $pvr['hpSee'] = '+'.$pvr['hp']; - } - // - $this->addPriem($u->info['id'],$pl['id'],'add_atgm='.floor($pvr['hp']/10).'',0,77,5,$u->info['id'],1,'ледяноеспасение',0,0,1); - // - $prv['text'] = '{tm1} '.$btl->addlt(1 , 21 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL).'. '.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $u->info['id'], - 'Ледяное Спасение', - $prv['text'], - ($btl->hodID + 1) - ); - $this->mintr($pl); + $btl->stats[$btl->uids[$u2]]['hpNow'] = $pvr['hpNow']; + + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$u2]]['hpNow'] . '" WHERE `id` = "' . $u2 . '" LIMIT 1'); + + + $btl->priemAddLog($id, $a, $b, $u1, $u2, + "Ледяное Спасение", + "{tm1} {u2} утратил здоровье от эффекта "{pr}". " . $pvr['hpSee'] . " [" . $pvr['hpNow'] . "/" . $pvr['hpAll'] . "] ", + ($btl->hodID + 1)); + if ($pvr['hpNow'] = 0) { + $btl->spaCheck($u2); + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['color2'] = $btl->mcolor[$btl->mname['вода']]; + //Действие при клике + //$this->addEffPr($pl,$id); + // + $pvr['color'] = '006699'; + // + $pvr['hp'] = 245; + $pvr['hp'] = $this->magatack($u->info['id'], $u->info['id'], $pvr['hp'], 'вода', 0); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + if ($pvr['hp'] < 0) { + $pvr['hp'] = 0; + } + $pvr['hp'] = $btl->hphe($u->info['id'], $pvr['hp']); + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u->info['id']]]['hpNow']); + $pvr['hpAll'] = floor($btl->stats[$btl->uids[$u->info['id']]]['hpAll']); + $pvr['hpNow'] += $pvr['hp']; + if ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } elseif ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } + // + + $u->info['hpNow'] = $pvr['hpNow']; + $u->stats['hpNow'] = $pvr['hpNow']; + $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] = $pvr['hpNow']; + $btl->users[$btl->uids[$u->info['id']]]['hpNow'] = $pvr['hpNow']; + $btl->priemYronSave($u->info['id'], $this->ue['id'], $pvr['hp'], 0); + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + // + $pvr['hpSee'] = '--'; + if ($pvr['hp'] > 0) { + $pvr['hpSee'] = '+' . $pvr['hp']; + } + // + $this->addPriem($u->info['id'], $pl['id'], 'add_atgm=' . floor($pvr['hp'] / 10) . '', 0, 77, 5, $u->info['id'], 1, 'ледяноеспасение', 0, 0, 1); + // + $prv['text'] = '{tm1} ' . $btl->addlt(1, 21, $btl->users[$btl->uids[$u->info['id']]]['sex'], null) . '. ' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + $btl->priemAddLog($id, 1, 2, $u->info['id'], $u->info['id'], + 'Ледяное Спасение', + $prv['text'], + ($btl->hodID + 1) + ); + $this->mintr($pl); } unset($pvr); ?> \ No newline at end of file diff --git a/_incl_data/class/priem/283.php b/_incl_data/class/priem/283.php index 23f56d4f..c6ba6227 100644 --- a/_incl_data/class/priem/283.php +++ b/_incl_data/class/priem/283.php @@ -1,75 +1,76 @@ ue['id'].'" AND `v2` = 283 AND `delete` = 0 LIMIT 1')); -if( $pvr['x5']['x'] < 5 ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id); - // - $prv['effx'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "'.$pvr['x5']['id'].'" LIMIT 1')); - if( isset($prv['eff']['id']) ) { - //Разбираем дату $prv['eff']['data'] - $prv['eda'] = $prv['eff']['data']; - } - }else{ - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - } - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*(1+$pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*(1+$prv['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Переохлаждение'.$prv['x'].'', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество эффектов'; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $this->ue['id'] . '" AND `v2` = 283 AND `delete` = 0 LIMIT 1')); +if ($pvr['x5']['x'] < 5) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id); + // + $prv['effx'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "' . $pvr['x5']['id'] . '" LIMIT 1')); + if (isset($prv['eff']['id'])) { + //Разбираем дату $prv['eff']['data'] + $prv['eda'] = $prv['eff']['data']; + } + } else { + //Разбираем дату $pl['date3'] + $prv['eda'] = $pl['date3']; + } + // + if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $prv['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Переохлаждение' . $prv['x'] . '', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество эффектов'; } unset($pvr); diff --git a/_incl_data/class/priem/285.php b/_incl_data/class/priem/285.php index 189ad9cf..eeed2e1c 100644 --- a/_incl_data/class/priem/285.php +++ b/_incl_data/class/priem/285.php @@ -1,75 +1,76 @@ info['id'].'" AND `v2` = 285 AND `delete` = 0 LIMIT 1')); -if( $pvr['x5']['x'] < 5 ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id); - // - $prv['effx'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "'.$pvr['x5']['id'].'" LIMIT 1')); - if( isset($prv['eff']['id']) ) { - //Разбираем дату $prv['eff']['data'] - $prv['eda'] = $prv['eff']['data']; - } - }else{ - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - } - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 21 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], 0, - 'Серое Мастерство'.$prv['x'].'', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество заклинаний'; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" AND `v2` = 285 AND `delete` = 0 LIMIT 1')); +if ($pvr['x5']['x'] < 5) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id); + // + $prv['effx'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "' . $pvr['x5']['id'] . '" LIMIT 1')); + if (isset($prv['eff']['id'])) { + //Разбираем дату $prv['eff']['data'] + $prv['eda'] = $prv['eff']['data']; + } + } else { + //Разбираем дату $pl['date3'] + $prv['eda'] = $pl['date3']; + } + // + if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]]) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]]) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 21, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], 0, + 'Серое Мастерство' . $prv['x'] . '', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество заклинаний'; } unset($pvr); diff --git a/_incl_data/class/priem/29.php b/_incl_data/class/priem/29.php index 2053fbaf..922738e6 100644 --- a/_incl_data/class/priem/29.php +++ b/_incl_data/class/priem/29.php @@ -1,75 +1,76 @@ info['id'].'" AND `v2` = 29 AND `delete` = 0 LIMIT 1')); -if( !isset($pvr['x5']['id']) ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id); - // - $prv['effx'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "'.$pvr['x5']['id'].'" LIMIT 1')); - if( isset($prv['eff']['id']) ) { - //Разбираем дату $prv['eff']['data'] - $prv['eda'] = $prv['eff']['data']; - } - }else{ - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - } - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*(1+$pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*(1+$prv['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 17 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].' '.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], 0, - 'Знак огня'.$prv['x'].'', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество знаков'; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" AND `v2` = 29 AND `delete` = 0 LIMIT 1')); +if (!isset($pvr['x5']['id'])) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id); + // + $prv['effx'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "' . $pvr['x5']['id'] . '" LIMIT 1')); + if (isset($prv['eff']['id'])) { + //Разбираем дату $prv['eff']['data'] + $prv['eda'] = $prv['eff']['data']; + } + } else { + //Разбираем дату $pl['date3'] + $prv['eda'] = $pl['date3']; + } + // + if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $prv['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 17, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . ' ' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], 0, + 'Знак огня' . $prv['x'] . '', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество знаков'; } unset($pvr); diff --git a/_incl_data/class/priem/292.php b/_incl_data/class/priem/292.php index 948c5682..4d19a0aa 100644 --- a/_incl_data/class/priem/292.php +++ b/_incl_data/class/priem/292.php @@ -1,74 +1,75 @@ ue['id'].'" AND `v2` = 292 AND `delete` = 0 LIMIT 1')); -if( $pvr['x5']['x'] < 1 ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id); - // - $prv['effx'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "'.$pvr['x5']['id'].'" LIMIT 1')); - if( isset($prv['eff']['id']) ) { - //Разбираем дату $prv['eff']['data'] - $prv['eda'] = $prv['eff']['data']; - } - }else{ - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - } - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*(1+$pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*(1+$prv['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Искалечить', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На персонаже уже есть эффект "Искалечить"'; +$pvr = []; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $this->ue['id'] . '" AND `v2` = 292 AND `delete` = 0 LIMIT 1')); +if ($pvr['x5']['x'] < 1) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id); + // + $prv['effx'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "' . $pvr['x5']['id'] . '" LIMIT 1')); + if (isset($prv['eff']['id'])) { + //Разбираем дату $prv['eff']['data'] + $prv['eda'] = $prv['eff']['data']; + } + } else { + //Разбираем дату $pl['date3'] + $prv['eda'] = $pl['date3']; + } + // + if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $prv['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Искалечить', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На персонаже уже есть эффект "Искалечить"'; } unset($pvr); diff --git a/_incl_data/class/priem/30.php b/_incl_data/class/priem/30.php index d898bdf5..a128db90 100644 --- a/_incl_data/class/priem/30.php +++ b/_incl_data/class/priem/30.php @@ -1,75 +1,76 @@ info['id'].'" AND `v2` = 30 AND `delete` = 0 LIMIT 1')); -if( !isset($pvr['x5']['id']) ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id); - // - $prv['effx'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "'.$pvr['x5']['id'].'" LIMIT 1')); - if( isset($prv['eff']['id']) ) { - //Разбираем дату $prv['eff']['data'] - $prv['eda'] = $prv['eff']['data']; - } - }else{ - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - } - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*(1+$pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*(1+$prv['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 17 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].' '.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], 0, - 'Знак воздуха'.$prv['x'].'', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество знаков'; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" AND `v2` = 30 AND `delete` = 0 LIMIT 1')); +if (!isset($pvr['x5']['id'])) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id); + // + $prv['effx'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "' . $pvr['x5']['id'] . '" LIMIT 1')); + if (isset($prv['eff']['id'])) { + //Разбираем дату $prv['eff']['data'] + $prv['eda'] = $prv['eff']['data']; + } + } else { + //Разбираем дату $pl['date3'] + $prv['eda'] = $pl['date3']; + } + // + if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $prv['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 17, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . ' ' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], 0, + 'Знак воздуха' . $prv['x'] . '', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество знаков'; } unset($pvr); diff --git a/_incl_data/class/priem/31.php b/_incl_data/class/priem/31.php index bca605a5..be645f4f 100644 --- a/_incl_data/class/priem/31.php +++ b/_incl_data/class/priem/31.php @@ -1,80 +1,81 @@ ue['id'].'" AND `v2` = 31 AND `delete` = 0 LIMIT 1')); -if( !isset($pvr['x5']['id']) ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id); - // - $prv['effx'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "'.$pvr['x5']['id'].'" LIMIT 1')); - if( isset($prv['eff']['id']) ) { - //Разбираем дату $prv['eff']['data'] - $prv['eda'] = $prv['eff']['data']; - } - }else{ - //Разбираем дату $pl['date3'] - $pl['date3'] = 'add_mab1='.($u->info['s5']*0.4).'|add_mab2='.($u->info['s5']*0.4).'|add_mab3='.($u->info['s5']*0.4).'|add_mab4='.($u->info['s5']*0.4).''; - $prv['eda'] = $pl['date3']; - } - // - if( isset($prv['eda']) ) { - $u->is['mab1'] = 'Броня головы'; - $u->is['mab2'] = 'Броня корпуса'; - $u->is['mab3'] = 'Броня пояса'; - $u->is['mab4'] = 'Броня ног'; - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$this->ue['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$this->ue['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*(1+$pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*(1+$prv['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 21 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].' на себя.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Знак земли'.$prv['x'].'', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество знаков'; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $this->ue['id'] . '" AND `v2` = 31 AND `delete` = 0 LIMIT 1')); +if (!isset($pvr['x5']['id'])) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id); + // + $prv['effx'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "' . $pvr['x5']['id'] . '" LIMIT 1')); + if (isset($prv['eff']['id'])) { + //Разбираем дату $prv['eff']['data'] + $prv['eda'] = $prv['eff']['data']; + } + } else { + //Разбираем дату $pl['date3'] + $pl['date3'] = 'add_mab1=' . ($u->info['s5'] * 0.4) . '|add_mab2=' . ($u->info['s5'] * 0.4) . '|add_mab3=' . ($u->info['s5'] * 0.4) . '|add_mab4=' . ($u->info['s5'] * 0.4) . ''; + $prv['eda'] = $pl['date3']; + } + // + if (isset($prv['eda'])) { + $u->is['mab1'] = 'Броня головы'; + $u->is['mab2'] = 'Броня корпуса'; + $u->is['mab3'] = 'Броня пояса'; + $u->is['mab4'] = 'Броня ног'; + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $this->ue['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $this->ue['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $prv['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 21, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . ' на себя.' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Знак земли' . $prv['x'] . '', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество знаков'; } unset($pvr); diff --git a/_incl_data/class/priem/32.php b/_incl_data/class/priem/32.php index 112b5184..10dff54d 100644 --- a/_incl_data/class/priem/32.php +++ b/_incl_data/class/priem/32.php @@ -1,75 +1,76 @@ info['id'].'" AND `v2` = 32 AND `delete` = 0 LIMIT 1')); -if( !isset($pvr['x5']['id']) ) { - $prv['x'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['x'] = ' x'.($pvr['x5']['x']+1).''; - } - // - $this->addEffPr($pl,$id); - // - $prv['effx'] = ''; - if( $pvr['x5']['x'] > 0 ) { - $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "'.$pvr['x5']['id'].'" LIMIT 1')); - if( isset($prv['eff']['id']) ) { - //Разбираем дату $prv['eff']['data'] - $prv['eda'] = $prv['eff']['data']; - } - }else{ - //Разбираем дату $pl['date3'] - $prv['eda'] = $pl['date3']; - } - // - if( isset($prv['eda']) ) { - $prv['d'] = \Core\ConversionHelper::dataStringToArray($prv['eda']); - $prv['j'] = \Core\ConversionHelper::dataStringToArray($this->redate($prv['eda'],$u->info['id'])); - $prv['v'] = $u->lookKeys($this->redate($prv['eda'],$u->info['id']),0); // ключи 2 - $prv['i'] = 0; $prv['inf'] = ''; - while($prv['i']is[$prv['vi']]!='') { - if($prv['j'][$prv['v'][$prv['i']]]>0) { - $prv['inf'] .= $u->is[$prv['vi']].': +'.($prv['j'][$prv['v'][$prv['i']]]*(1+$pvr['x5']['x'])).', '; - }elseif($prv['j'][$prv['v'][$prv['i']]]<0){ - $prv['inf'] .= $u->is[$prv['vi']].': '.($prv['j'][$prv['v'][$prv['i']]]*(1+$prv['x5']['x'])).', '; - } - } - $prv['i']++; - } - $prv['effx'] = rtrim($prv['inf'],', '); - } - // - if( $prv['effx'] != '' ) { - $prv['effx'] = ' ('.$prv['effx'].')'; - } - // - $prv['color2'] = '000000'; - $prv['text'] = $btl->addlt(1 , 17 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'.'.$prv['effx']; - $btl->priemAddLog( $id, 1, 2, $u->info['id'], 0, - 'Знак воды'.$prv['x'].'', - $prv['text2'], - ($btl->hodID + 0) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); -}else{ - $cup = true; - echo 'На пероснаже достигнуто максиальное колличество знаков'; +$pvr['x5'] = mysql_fetch_array(mysql_query('SELECT `id`,`x` FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" AND `v2` = 32 AND `delete` = 0 LIMIT 1')); +if (!isset($pvr['x5']['id'])) { + $prv['x'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['x'] = ' x' . ($pvr['x5']['x'] + 1) . ''; + } + // + $this->addEffPr($pl, $id); + // + $prv['effx'] = ''; + if ($pvr['x5']['x'] > 0) { + $prv['eff'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `id` = "' . $pvr['x5']['id'] . '" LIMIT 1')); + if (isset($prv['eff']['id'])) { + //Разбираем дату $prv['eff']['data'] + $prv['eda'] = $prv['eff']['data']; + } + } else { + //Разбираем дату $pl['date3'] + $prv['eda'] = $pl['date3']; + } + // + if (isset($prv['eda'])) { + $prv['d'] = Helper\Conversion::dataStringToArray($prv['eda']); + $prv['j'] = Helper\Conversion::dataStringToArray($this->redate($prv['eda'], $u->info['id'])); + $prv['v'] = $u->lookKeys($this->redate($prv['eda'], $u->info['id']), 0); // ключи 2 + $prv['i'] = 0; + $prv['inf'] = ''; + while ($prv['i'] < count($prv['v'])) { + //$prv['j'][$prv['v'][$prv['i']]] += $prv['j'][$prv['v'][$prv['i']]]; + $prv['vi'] = str_replace('add_', '', $prv['v'][$prv['i']]); + if ($u->is[$prv['vi']] != '') { + if ($prv['j'][$prv['v'][$prv['i']]] > 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': +' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $pvr['x5']['x'])) . ', '; + } elseif ($prv['j'][$prv['v'][$prv['i']]] < 0) { + $prv['inf'] .= $u->is[$prv['vi']] . ': ' . ($prv['j'][$prv['v'][$prv['i']]] * (1 + $prv['x5']['x'])) . ', '; + } + } + $prv['i']++; + } + $prv['effx'] = rtrim($prv['inf'], ', '); + } + // + if ($prv['effx'] != '') { + $prv['effx'] = ' (' . $prv['effx'] . ')'; + } + // + $prv['color2'] = '000000'; + $prv['text'] = $btl->addlt(1, 17, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '.' . $prv['effx']; + $btl->priemAddLog($id, 1, 2, $u->info['id'], 0, + 'Знак воды' . $prv['x'] . '', + $prv['text2'], + ($btl->hodID + 0) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + //$this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,-1,$u->info['id'],5,'цельводы',0,0,1); + + //Отнимаем тактики + //$this->mintr($pl); +} else { + $cup = true; + echo 'На пероснаже достигнуто максиальное колличество знаков'; } unset($pvr); diff --git a/_incl_data/class/priem/337.php b/_incl_data/class/priem/337.php index 103647ec..c13ebc3c 100644 --- a/_incl_data/class/priem/337.php +++ b/_incl_data/class/priem/337.php @@ -1,169 +1,171 @@ 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'}; - } - // - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}elseif( isset($pr_used_this) && !isset($this->info['id']) ) { +$pvr = []; +if (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 == $uid1) { + $a = 1; + $b = 2; + $u1 = ${'uid1'}; + $u2 = ${'uid2'}; + } elseif ($uid == $uid2) { + $a = 2; + $b = 1; + $u1 = ${'uid2'}; + $u2 = ${'uid1'}; + } + // + // -- конец приема + return $at; + }; + unset($pr_used_this); +} elseif (isset($pr_used_this) && !isset($this->info['id'])) { -}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 == $uid1 ) { - $a = 1; - $b = 2; - $u1 = ${'uid1'}; - $u2 = ${'uid2'}; - }elseif( $uid == $uid2 ) { - $a = 2; - $b = 1; - $u1 = ${'uid2'}; - $u2 = ${'uid1'}; - } - if( $a > 0 ) { - $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']; - $prv['data_re'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - $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 || - ( $prv['data_re']['step'] > 0 && $at['p'][$a]['atack'][$j][1] == 1 ) )) { - if( $prv['data_re']['step'] <= 2 && !isset($at['p'][$a]['priems']['kill'][$u1][$j_id]) ) { - // - //if( $at['p'][$a]['atack'][$j][1] == 5 ) { - //print_r($at['p'][$a]['atack'][$j]['yron']['y']); - $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['y']); - //}elseif( $at['p'][$a]['atack'][$j][1] == 4 ) { - // $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['k']/2); - //}elseif( $at['p'][$a]['atack'][$j][1] == 1 ) { - // $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['y']); - //} - // - $at['p'][$a]['atack'][$j]['yron']['used'][] = array($j_id,$u1,$pvr['used']); - //обновляем параметры - // - // - //$pvr['hp'] = round($pvr['hp']/2); - /*$pvr['hp'] = $btl->hphe( $u1 , $pvr['hp'] , true ); - if( $btl->users[$btl->uids[$u2]] <= 7 ) { - $pvr['hp'] = min( $pvr['hp'] , 89 ); - }elseif( $btl->users[$btl->uids[$u2]] == 8 ) { - $pvr['hp'] = min( $pvr['hp'] , 107 ); - }elseif( $btl->users[$btl->uids[$u2]] == 8 ) { - $pvr['hp'] = min( $pvr['hp'] , 107 ); - }elseif( $btl->users[$btl->uids[$u2]] == 9 ) { - $pvr['hp'] = min( $pvr['hp'] , 128 ); - }elseif( $btl->users[$btl->uids[$u2]] >= 10 ) { - $pvr['hp'] = min( $pvr['hp'] , 154 ); - }*/ - $pvr['hpSee'] = 0; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; - if( $pvr['hpTr'] > 0 ) { - //Требуется хилл - if( $pvr['hpTr'] < $pvr['hp'] ) { - $pvr['hp'] = $pvr['hpTr']; - } - $pvr['hpSee'] = '+'.$pvr['hp']; - $pvr['hpNow'] += $pvr['hp']; - } - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - // - $btl->users[$btl->uids[$u1]]['last_hp'] = $pvr['hp']; - // - /*$prv['data_re'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - if($prv['data_re']['step'] < 1) { - if( $btl->users[$btl->uids[$u1]]['level'] == 7 ) { - $prv['data_re']['add_s1'] += 10; - }elseif( $btl->users[$btl->uids[$u1]]['level'] == 8 ) { - $prv['data_re']['add_s1'] += 13; - }else{ - $prv['data_re']['add_s1'] += 15; - } - }*/ - - if( $prv['data_re']['step'] < 2 ) { - $prv['data_re']['step']++; - }else{ - $at['p'][$a]['atack'][$j]['yron']['kill'][] = array($j_id,$u1,$pvr['kill']); - //$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] = 4; - $prv['data_re']['step']++; - } - // - $btl->stats[$btl->uids[$u1]]['hpNow'] = $pvr['hpNow']; - mysql_query('UPDATE `stats` SET `last_hp` = "'.$btl->users[$btl->uids[$u1]]['last_hp'].'",`hpNow` = "'.$btl->stats[$btl->uids[$u1]]['hpNow'].'" WHERE `id` = "'.$u1.'" LIMIT 1'); - // - $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data'] = 'add_s1='.$prv['data_re']['add_s1'].'|step='.$prv['data_re']['step'].''; - // - //mysql_query('UPDATE `eff_users` SET `hod` = "'.$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'].'", `data` = "'.$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data'].'" WHERE `id` = "'.$prv['priem_th'].'" LIMIT 1'); - // - if( $pvr['hpSee'] == 0 ) { - $pvr['hpSee'] = '--'; - } - $at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->priemAddLog( '.$id.', '.$a.', '.$b.', '.$u1.', '.$u2.', +} 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 == $uid1) { + $a = 1; + $b = 2; + $u1 = ${'uid1'}; + $u2 = ${'uid2'}; + } elseif ($uid == $uid2) { + $a = 2; + $b = 1; + $u1 = ${'uid2'}; + $u2 = ${'uid1'}; + } + if ($a > 0) { + $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']; + $prv['data_re'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $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 || + ($prv['data_re']['step'] > 0 && $at['p'][$a]['atack'][$j][1] == 1))) { + if ($prv['data_re']['step'] <= 2 && !isset($at['p'][$a]['priems']['kill'][$u1][$j_id])) { + // + //if( $at['p'][$a]['atack'][$j][1] == 5 ) { + //print_r($at['p'][$a]['atack'][$j]['yron']['y']); + $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['y']); + //}elseif( $at['p'][$a]['atack'][$j][1] == 4 ) { + // $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['k']/2); + //}elseif( $at['p'][$a]['atack'][$j][1] == 1 ) { + // $pvr['hp'] = round($at['p'][$a]['atack'][$j]['yron']['y']); + //} + // + $at['p'][$a]['atack'][$j]['yron']['used'][] = [$j_id, $u1, $pvr['used']]; + //обновляем параметры + // + // + //$pvr['hp'] = round($pvr['hp']/2); + /*$pvr['hp'] = $btl->hphe( $u1 , $pvr['hp'] , true ); + if( $btl->users[$btl->uids[$u2]] <= 7 ) { + $pvr['hp'] = min( $pvr['hp'] , 89 ); + }elseif( $btl->users[$btl->uids[$u2]] == 8 ) { + $pvr['hp'] = min( $pvr['hp'] , 107 ); + }elseif( $btl->users[$btl->uids[$u2]] == 8 ) { + $pvr['hp'] = min( $pvr['hp'] , 107 ); + }elseif( $btl->users[$btl->uids[$u2]] == 9 ) { + $pvr['hp'] = min( $pvr['hp'] , 128 ); + }elseif( $btl->users[$btl->uids[$u2]] >= 10 ) { + $pvr['hp'] = min( $pvr['hp'] , 154 ); + }*/ + $pvr['hpSee'] = 0; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; + if ($pvr['hpTr'] > 0) { + //Требуется хилл + if ($pvr['hpTr'] < $pvr['hp']) { + $pvr['hp'] = $pvr['hpTr']; + } + $pvr['hpSee'] = '+' . $pvr['hp']; + $pvr['hpNow'] += $pvr['hp']; + } + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + // + $btl->users[$btl->uids[$u1]]['last_hp'] = $pvr['hp']; + // + /*$prv['data_re'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + if($prv['data_re']['step'] < 1) { + if( $btl->users[$btl->uids[$u1]]['level'] == 7 ) { + $prv['data_re']['add_s1'] += 10; + }elseif( $btl->users[$btl->uids[$u1]]['level'] == 8 ) { + $prv['data_re']['add_s1'] += 13; + }else{ + $prv['data_re']['add_s1'] += 15; + } + }*/ + + if ($prv['data_re']['step'] < 2) { + $prv['data_re']['step']++; + } else { + $at['p'][$a]['atack'][$j]['yron']['kill'][] = [$j_id, $u1, $pvr['kill']]; + //$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'] = 4; + $prv['data_re']['step']++; + } + // + $btl->stats[$btl->uids[$u1]]['hpNow'] = $pvr['hpNow']; + mysql_query('UPDATE `stats` SET `last_hp` = "' . $btl->users[$btl->uids[$u1]]['last_hp'] . '",`hpNow` = "' . $btl->stats[$btl->uids[$u1]]['hpNow'] . '" WHERE `id` = "' . $u1 . '" LIMIT 1'); + // + $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data'] = 'add_s1=' . $prv['data_re']['add_s1'] . '|step=' . $prv['data_re']['step'] . ''; + // + //mysql_query('UPDATE `eff_users` SET `hod` = "'.$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['hod'].'", `data` = "'.$btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data'].'" WHERE `id` = "'.$prv['priem_th'].'" LIMIT 1'); + // + if ($pvr['hpSee'] == 0) { + $pvr['hpSee'] = '--'; + } + $at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->priemAddLog( ' . $id . ', ' . $a . ', ' . $b . ', ' . $u1 . ', ' . $u2 . ', "Выпить Душу", - "{tm1} '.$btl->addlt($a , 17 , $btl->users[$btl->uids[$u1]]['sex'] , NULL).' на '.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']", - '.($btl->hodID + 1).' );'; - // - //$at['p'][$a]['priems']['kill'][$u1][$j_id] = true; - } - } - $j++; - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - //Действие при клике - if( !isset($this->uids) ) { - $this->addEffPr($pl,$id); - } + "{tm1} ' . $btl->addlt($a, 17, $btl->users[$btl->uids[$u1]]['sex'], null) . ' на ' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']", + ' . ($btl->hodID + 1) . ' );'; + // + //$at['p'][$a]['priems']['kill'][$u1][$j_id] = true; + } + } + $j++; + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + //Действие при клике + if (!isset($this->uids)) { + $this->addEffPr($pl, $id); + } } unset($pvr); ?> \ No newline at end of file diff --git a/_incl_data/class/priem/36.php b/_incl_data/class/priem/36.php index 0145cfbc..309c101a 100644 --- a/_incl_data/class/priem/36.php +++ b/_incl_data/class/priem/36.php @@ -1,105 +1,105 @@ 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 ) { - if( $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1) { - // - //Проверяем эффект - $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']; - // - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); - $pvr['hp'] = $btl->hphe( $uid , $pvr['hp'] ); - // - $pvr['hpSee'] = 0; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; - $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; - if( $pvr['hpTr'] > 0 ) { - //Требуется хилл - if( $pvr['hpTr'] < $pvr['hp'] ) { - $pvr['hp'] = $pvr['hpTr']; - } - $pvr['hpSee'] = '+'.$pvr['hp']; - $pvr['hpNow'] += $pvr['hp']; - } - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - // - $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; - // - $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; - mysql_query('UPDATE `stats` SET `last_hp` = "'.$btl->users[$btl->uids[$uid]]['last_hp'].'",`hpNow` = "'.$btl->stats[$btl->uids[$uid]]['hpNow'].'" WHERE `id` = "'.$uid.'" LIMIT 1'); - // - $btl->priemAddLogFast( $uid, 0, "Регенерация [5]", - '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']', - 0, time() ); - // - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(60); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - $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'], $this->ue['id'], - 'Регенерация [5]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'add_atgm='.floor($pvr['hp']/8).'',0,77,8,$u->info['id'],1,'регенерация',0,0,1); - - //Отнимаем тактики - $this->mintr($pl); +if (isset($pr_used_this) && isset($pr_moment)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + if ($pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1) { + // + //Проверяем эффект + $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']; + // + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); + $pvr['hp'] = $btl->hphe($uid, $pvr['hp']); + // + $pvr['hpSee'] = 0; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; + $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; + if ($pvr['hpTr'] > 0) { + //Требуется хилл + if ($pvr['hpTr'] < $pvr['hp']) { + $pvr['hp'] = $pvr['hpTr']; + } + $pvr['hpSee'] = '+' . $pvr['hp']; + $pvr['hpNow'] += $pvr['hp']; + } + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + // + $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; + // + $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; + mysql_query('UPDATE `stats` SET `last_hp` = "' . $btl->users[$btl->uids[$uid]]['last_hp'] . '",`hpNow` = "' . $btl->stats[$btl->uids[$uid]]['hpNow'] . '" WHERE `id` = "' . $uid . '" LIMIT 1'); + // + $btl->priemAddLogFast($uid, 0, "Регенерация [5]", + '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']', + 0, time()); + // + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(60); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + $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'], $this->ue['id'], + 'Регенерация [5]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'add_atgm=' . floor($pvr['hp'] / 8) . '', 0, 77, 8, $u->info['id'], 1, 'регенерация', 0, 0, 1); + + //Отнимаем тактики + $this->mintr($pl); } // unset($pvr); diff --git a/_incl_data/class/priem/42.php b/_incl_data/class/priem/42.php index f3063b11..b71b7baa 100644 --- a/_incl_data/class/priem/42.php +++ b/_incl_data/class/priem/42.php @@ -40,7 +40,7 @@ if( isset($pr_used_this) && isset($pr_moment) ) { //действия $pvr['hp'] = 1; // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $pvr['data'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); $pvr['di'] = 0; $pvr['dc'] = count($pvr['data']['atgm']); $pvr['rd'] = 0; diff --git a/_incl_data/class/priem/70.php b/_incl_data/class/priem/70.php index 8d238335..2ee2b159 100644 --- a/_incl_data/class/priem/70.php +++ b/_incl_data/class/priem/70.php @@ -1,211 +1,210 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Ядовитое Облако', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - - $pvr['uen'] = $this->ue['id']; - // - $pvr['uid'] = $this->ue['id']; - $pvr['hp'] = floor(65); - $pvr['hp'] = $this->magatack( $u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - //–вет приема - 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'], - 'Ядовитое Облако [8]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($pvr['uid'],$pl['id'],'atgm='.floor($pvr['hp']/5).'',0,77,5,$u->info['id'],1,'ядовитоеоблако',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); - // - // - $pvr['rx'] = rand(20,40); - $pvr['rx'] = floor($pvr['rx']/10); - $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(79/$pvr['dxx']); - $pvr['hp'] = $this->magatack( $u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 1 ); - $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'], - 'Ядовитое Облако [9]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($pvr['uid'],$pl['id'],'atgm='.floor($pvr['hp']/5).'',0,77,5,$u->info['id'],1,'ядовитоеоблако',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); - // - $pvr['xx']++; - } - $pvr['ix']++; - } +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Ядовитое Облако', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + + $pvr['uen'] = $this->ue['id']; + // + $pvr['uid'] = $this->ue['id']; + $pvr['hp'] = floor(65); + $pvr['hp'] = $this->magatack($u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 0); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + //–вет приема + 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'], + 'Ядовитое Облако [8]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($pvr['uid'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 5) . '', 0, 77, 5, $u->info['id'], 1, 'ядовитоеоблако', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); + // + // + $pvr['rx'] = rand(20, 40); + $pvr['rx'] = floor($pvr['rx'] / 10); + $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(79 / $pvr['dxx']); + $pvr['hp'] = $this->magatack($u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 1); + $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'], + 'Ядовитое Облако [9]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($pvr['uid'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 5) . '', 0, 77, 5, $u->info['id'], 1, 'ядовитоеоблако', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); + // + $pvr['xx']++; + } + $pvr['ix']++; + } } diff --git a/_incl_data/class/priem/71.php b/_incl_data/class/priem/71.php index 048ac17a..43beb655 100644 --- a/_incl_data/class/priem/71.php +++ b/_incl_data/class/priem/71.php @@ -1,212 +1,211 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Ядовитое Облако', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - - $pvr['uen'] = $this->ue['id']; - // - $pvr['uid'] = $this->ue['id']; - $pvr['hp'] = floor(65); - $pvr['hp'] = $this->magatack( $u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - //–вет приема - 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'], - 'Ядовитое Облако [8]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($pvr['uid'],$pl['id'],'atgm='.floor($pvr['hp']/5).'',0,77,5,$u->info['id'],1,'ядовитоеоблако',0,0,1); - } - //Отнимаем тактики - //$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']); - $pvr['hp'] = $this->magatack( $u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 1 ); - $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'], - 'Ядовитое Облако [10]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($pvr['uid'],$pl['id'],'atgm='.floor($pvr['hp']/5).'',0,77,5,$u->info['id'],1,'ядовитоеоблако',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); - // - $pvr['xx']++; - } - $pvr['ix']++; - } +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Ядовитое Облако', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + + $pvr['uen'] = $this->ue['id']; + // + $pvr['uid'] = $this->ue['id']; + $pvr['hp'] = floor(65); + $pvr['hp'] = $this->magatack($u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 0); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + //–вет приема + 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'], + 'Ядовитое Облако [8]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($pvr['uid'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 5) . '', 0, 77, 5, $u->info['id'], 1, 'ядовитоеоблако', 0, 0, 1); + } + //Отнимаем тактики + //$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']); + $pvr['hp'] = $this->magatack($u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 1); + $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'], + 'Ядовитое Облако [10]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($pvr['uid'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 5) . '', 0, 77, 5, $u->info['id'], 1, 'ядовитоеоблако', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); + // + $pvr['xx']++; + } + $pvr['ix']++; + } } diff --git a/_incl_data/class/priem/72.php b/_incl_data/class/priem/72.php index 7e27fbad..d63f3f2d 100644 --- a/_incl_data/class/priem/72.php +++ b/_incl_data/class/priem/72.php @@ -1,213 +1,212 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. '.$pvr['hpSee'].' ['.$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'].'. -- ['.$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, - 'Ядовитое Облако', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - - $pvr['uen'] = $this->ue['id']; - // - $pvr['uid'] = $this->ue['id']; - $pvr['hp'] = floor(65); - $pvr['hp'] = $this->magatack( $u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - //–вет приема - 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'], - 'Ядовитое Облако [11]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($pvr['uid'],$pl['id'],'atgm='.floor($pvr['hp']/5).'',0,77,5,$u->info['id'],1,'ядовитоеоблако',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); - // - // - $pvr['rx'] = rand(20,40); - $pvr['rx'] = floor($pvr['rx']/10); - $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(112/$pvr['dxx']); - $pvr['hp'] = $this->magatack( $u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 1 ); - $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'], - 'Ядовитое Облако [11]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($pvr['uid'],$pl['id'],'atgm='.floor($pvr['hp']/5).'',0,77,5,$u->info['id'],1,'ядовитоеоблако',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); - // - $pvr['xx']++; - } - $pvr['ix']++; - } +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. ' . $pvr['hpSee'] . ' [' . $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'] . '. -- [' . $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, + 'Ядовитое Облако', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + + $pvr['uen'] = $this->ue['id']; + // + $pvr['uid'] = $this->ue['id']; + $pvr['hp'] = floor(65); + $pvr['hp'] = $this->magatack($u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 0); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + //–вет приема + 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'], + 'Ядовитое Облако [11]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($pvr['uid'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 5) . '', 0, 77, 5, $u->info['id'], 1, 'ядовитоеоблако', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); + // + // + $pvr['rx'] = rand(20, 40); + $pvr['rx'] = floor($pvr['rx'] / 10); + $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(112 / $pvr['dxx']); + $pvr['hp'] = $this->magatack($u->info['id'], $pvr['uid'], $pvr['hp'], 'вода', 1); + $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'], + 'Ядовитое Облако [11]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($pvr['uid'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 5) . '', 0, 77, 5, $u->info['id'], 1, 'ядовитоеоблако', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); + // + $pvr['xx']++; + } + $pvr['ix']++; + } } diff --git a/_incl_data/class/priem/73.php b/_incl_data/class/priem/73.php index 4d895ee6..f51281bd 100644 --- a/_incl_data/class/priem/73.php +++ b/_incl_data/class/priem/73.php @@ -1,193 +1,193 @@ info['id']) && !isset($this->info['id']) ) { - -}elseif( isset($pr_used_this) && isset($pr_moment) ) { - //Каждый ход - $fx_priem = function( $id , $at , $uid, $j_id ) { - // -- начало приема - global $u, $btl, $priem; - // - //Параметры приема - $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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = 0; - $pvr['promah'] = false; - $pvr['krit'] = false; - //$pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Оледенение'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - //Действие при клике - $pvr['hp'] = 23; - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($u->info['id'],$this->ue['id'],$pvr['hp'],0); - - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - - $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; - - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$this->ue['id']]]['hpNow'].'" WHERE `id` = "'.$this->ue['id'].'" LIMIT 1'); - - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - - //Цвет приема - if( $pvr['promah'] == false ) { - if( $pvr['krit'] == false ) { - $prv['color2'] = '006699'; - if(isset($btl->mcolor[$btl->mname['вода']])) { - $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; - } - $prv['color'] = '000000'; - if(isset($btl->mncolor[$btl->mname['вода']])) { - $prv['color'] = $btl->mncolor[$btl->mname['вода']]; - } - }else{ - $prv['color2'] = 'FF0000'; - $prv['color'] = 'FF0000'; - } - }else{ - $prv['color2'] = '909090'; - $prv['color'] = '909090'; - } - - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - if( $pvr['promah_type'] == 2 ) { - $prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>-- ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - } - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Оледенение [5]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.($pvr['hp']/16).'',2,77,4,$u->info['id'],3,'оледенение',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment) && !isset($btl->info['id']) && !isset($this->info['id'])) { + +} elseif (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = 0; + $pvr['promah'] = false; + $pvr['krit'] = false; + //$pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Оледенение' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + //Действие при клике + $pvr['hp'] = 23; + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($u->info['id'], $this->ue['id'], $pvr['hp'], 0); + + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + + $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; + + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] . '" WHERE `id` = "' . $this->ue['id'] . '" LIMIT 1'); + + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + + //Цвет приема + if ($pvr['promah'] == false) { + if ($pvr['krit'] == false) { + $prv['color2'] = '006699'; + if (isset($btl->mcolor[$btl->mname['вода']])) { + $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; + } + $prv['color'] = '000000'; + if (isset($btl->mncolor[$btl->mname['вода']])) { + $prv['color'] = $btl->mncolor[$btl->mname['вода']]; + } + } else { + $prv['color2'] = 'FF0000'; + $prv['color'] = 'FF0000'; + } + } else { + $prv['color2'] = '909090'; + $prv['color'] = '909090'; + } + + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + if ($pvr['promah_type'] == 2) { + $prv['text'] = $btl->addlt(1, 20, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>-- [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + } + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Оледенение [5]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . ($pvr['hp'] / 16) . '', 2, 77, 4, $u->info['id'], 3, 'оледенение', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/74.php b/_incl_data/class/priem/74.php index b280288b..d14ebd6e 100644 --- a/_incl_data/class/priem/74.php +++ b/_incl_data/class/priem/74.php @@ -1,193 +1,193 @@ info['id']) && !isset($this->info['id']) ) { - -}elseif( isset($pr_used_this) && isset($pr_moment) ) { - //Каждый ход - $fx_priem = function( $id , $at , $uid, $j_id ) { - // -- начало приема - global $u, $btl, $priem; - // - //Параметры приема - $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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = 0; - $pvr['promah'] = false; - $pvr['krit'] = false; - //$pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Оледенение'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - //Действие при клике - $pvr['hp'] = 27; - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($u->info['id'],$this->ue['id'],$pvr['hp'],0); - - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - - $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; - - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$this->ue['id']]]['hpNow'].'" WHERE `id` = "'.$this->ue['id'].'" LIMIT 1'); - - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - - //Цвет приема - if( $pvr['promah'] == false ) { - if( $pvr['krit'] == false ) { - $prv['color2'] = '006699'; - if(isset($btl->mcolor[$btl->mname['вода']])) { - $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; - } - $prv['color'] = '000000'; - if(isset($btl->mncolor[$btl->mname['вода']])) { - $prv['color'] = $btl->mncolor[$btl->mname['вода']]; - } - }else{ - $prv['color2'] = 'FF0000'; - $prv['color'] = 'FF0000'; - } - }else{ - $prv['color2'] = '909090'; - $prv['color'] = '909090'; - } - - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - if( $pvr['promah_type'] == 2 ) { - $prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>-- ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - } - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Оледенение [6]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.($pvr['hp']/16).'',2,77,4,$u->info['id'],3,'оледенение',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment) && !isset($btl->info['id']) && !isset($this->info['id'])) { + +} elseif (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = 0; + $pvr['promah'] = false; + $pvr['krit'] = false; + //$pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Оледенение' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + //Действие при клике + $pvr['hp'] = 27; + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($u->info['id'], $this->ue['id'], $pvr['hp'], 0); + + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + + $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; + + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] . '" WHERE `id` = "' . $this->ue['id'] . '" LIMIT 1'); + + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + + //Цвет приема + if ($pvr['promah'] == false) { + if ($pvr['krit'] == false) { + $prv['color2'] = '006699'; + if (isset($btl->mcolor[$btl->mname['вода']])) { + $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; + } + $prv['color'] = '000000'; + if (isset($btl->mncolor[$btl->mname['вода']])) { + $prv['color'] = $btl->mncolor[$btl->mname['вода']]; + } + } else { + $prv['color2'] = 'FF0000'; + $prv['color'] = 'FF0000'; + } + } else { + $prv['color2'] = '909090'; + $prv['color'] = '909090'; + } + + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + if ($pvr['promah_type'] == 2) { + $prv['text'] = $btl->addlt(1, 20, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>-- [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + } + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Оледенение [6]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . ($pvr['hp'] / 16) . '', 2, 77, 4, $u->info['id'], 3, 'оледенение', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/75.php b/_incl_data/class/priem/75.php index 68c734f3..4668e11a 100644 --- a/_incl_data/class/priem/75.php +++ b/_incl_data/class/priem/75.php @@ -1,193 +1,193 @@ info['id']) && !isset($this->info['id']) ) { - -}elseif( isset($pr_used_this) && isset($pr_moment) ) { - //Каждый ход - $fx_priem = function( $id , $at , $uid, $j_id ) { - // -- начало приема - global $u, $btl, $priem; - // - //Параметры приема - $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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = 0; - $pvr['promah'] = false; - $pvr['krit'] = false; - //$pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Оледенение'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - //Действие при клике - $pvr['hp'] = 33; - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($u->info['id'],$this->ue['id'],$pvr['hp'],0); - - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - - $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; - - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$this->ue['id']]]['hpNow'].'" WHERE `id` = "'.$this->ue['id'].'" LIMIT 1'); - - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - - //Цвет приема - if( $pvr['promah'] == false ) { - if( $pvr['krit'] == false ) { - $prv['color2'] = '006699'; - if(isset($btl->mcolor[$btl->mname['вода']])) { - $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; - } - $prv['color'] = '000000'; - if(isset($btl->mncolor[$btl->mname['вода']])) { - $prv['color'] = $btl->mncolor[$btl->mname['вода']]; - } - }else{ - $prv['color2'] = 'FF0000'; - $prv['color'] = 'FF0000'; - } - }else{ - $prv['color2'] = '909090'; - $prv['color'] = '909090'; - } - - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - if( $pvr['promah_type'] == 2 ) { - $prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>-- ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - } - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Оледенение [7]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.($pvr['hp']/16).'',2,77,4,$u->info['id'],3,'оледенение',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment) && !isset($btl->info['id']) && !isset($this->info['id'])) { + +} elseif (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = 0; + $pvr['promah'] = false; + $pvr['krit'] = false; + //$pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Оледенение' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + //Действие при клике + $pvr['hp'] = 33; + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($u->info['id'], $this->ue['id'], $pvr['hp'], 0); + + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + + $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; + + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] . '" WHERE `id` = "' . $this->ue['id'] . '" LIMIT 1'); + + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + + //Цвет приема + if ($pvr['promah'] == false) { + if ($pvr['krit'] == false) { + $prv['color2'] = '006699'; + if (isset($btl->mcolor[$btl->mname['вода']])) { + $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; + } + $prv['color'] = '000000'; + if (isset($btl->mncolor[$btl->mname['вода']])) { + $prv['color'] = $btl->mncolor[$btl->mname['вода']]; + } + } else { + $prv['color2'] = 'FF0000'; + $prv['color'] = 'FF0000'; + } + } else { + $prv['color2'] = '909090'; + $prv['color'] = '909090'; + } + + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + if ($pvr['promah_type'] == 2) { + $prv['text'] = $btl->addlt(1, 20, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>-- [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + } + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Оледенение [7]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . ($pvr['hp'] / 16) . '', 2, 77, 4, $u->info['id'], 3, 'оледенение', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/76.php b/_incl_data/class/priem/76.php index 3a95e8ac..9cf51011 100644 --- a/_incl_data/class/priem/76.php +++ b/_incl_data/class/priem/76.php @@ -1,196 +1,196 @@ info['id']) && !isset($this->info['id']) ) { - -}elseif( isset($pr_used_this) && isset($pr_moment) ) { - //Каждый ход - $fx_priem = function( $id , $at , $uid, $j_id ) { - // -- начало приема - global $u, $btl, $priem; - // - //Параметры приема - $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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = 0; - $pvr['promah'] = false; - $pvr['krit'] = false; - //$pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Оледенение'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - //Действие при клике - $pvr['hp'] = 51; - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($u->info['id'],$this->ue['id'],$pvr['hp'],0); - - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - - $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; - - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$this->ue['id']]]['hpNow'].'" WHERE `id` = "'.$this->ue['id'].'" LIMIT 1'); - - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - - //Цвет приема - if( $pvr['promah'] == false ) { - if( $pvr['krit'] == false ) { - $prv['color2'] = '006699'; - if(isset($btl->mcolor[$btl->mname['вода']])) { - $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; - } - $prv['color'] = '000000'; - if(isset($btl->mncolor[$btl->mname['вода']])) { - $prv['color'] = $btl->mncolor[$btl->mname['вода']]; - } - }else{ - $prv['color2'] = 'FF0000'; - $prv['color'] = 'FF0000'; - } - }else{ - $prv['color2'] = '909090'; - $prv['color'] = '909090'; - } - - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - if( $pvr['promah_type'] == 2 ) { - $prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>-- ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - } - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Оледенение [8]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.($pvr['hp']/16).'',2,77,4,$u->info['id'],3,'оледенение',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment) && !isset($btl->info['id']) && !isset($this->info['id'])) { + +} elseif (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = 0; + $pvr['promah'] = false; + $pvr['krit'] = false; + //$pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Оледенение' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + //Действие при клике + $pvr['hp'] = 51; + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($u->info['id'], $this->ue['id'], $pvr['hp'], 0); + + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + + $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; + + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] . '" WHERE `id` = "' . $this->ue['id'] . '" LIMIT 1'); + + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + + //Цвет приема + if ($pvr['promah'] == false) { + if ($pvr['krit'] == false) { + $prv['color2'] = '006699'; + if (isset($btl->mcolor[$btl->mname['вода']])) { + $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; + } + $prv['color'] = '000000'; + if (isset($btl->mncolor[$btl->mname['вода']])) { + $prv['color'] = $btl->mncolor[$btl->mname['вода']]; + } + } else { + $prv['color2'] = 'FF0000'; + $prv['color'] = 'FF0000'; + } + } else { + $prv['color2'] = '909090'; + $prv['color'] = '909090'; + } + + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + if ($pvr['promah_type'] == 2) { + $prv['text'] = $btl->addlt(1, 20, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>-- [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + } + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Оледенение [8]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . ($pvr['hp'] / 16) . '', 2, 77, 4, $u->info['id'], 3, 'оледенение', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/77.php b/_incl_data/class/priem/77.php index fe1aa778..76c7d5f1 100644 --- a/_incl_data/class/priem/77.php +++ b/_incl_data/class/priem/77.php @@ -1,198 +1,198 @@ info['id']) && !isset($this->info['id']) ) { - -}elseif( isset($pr_used_this) && isset($pr_moment) ) { - - //Каждый ход - $fx_priem = function( $id , $at , $uid, $j_id ) { - // -- начало приема - global $u, $btl, $priem; - // - //Параметры приема - $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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = 0; - $pvr['promah'] = false; - $pvr['krit'] = false; - //$pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Оледенение'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}elseif( !isset($this->uids)) { - //Действие при клике - $pvr['hp'] = 62; - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($u->info['id'],$this->ue['id'],$pvr['hp'],0); - - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - - $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; - - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$this->ue['id']]]['hpNow'].'" WHERE `id` = "'.$this->ue['id'].'" LIMIT 1'); - - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - - //Цвет приема - if( $pvr['promah'] == false ) { - if( $pvr['krit'] == false ) { - $prv['color2'] = '006699'; - if(isset($btl->mcolor[$btl->mname['вода']])) { - $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; - } - $prv['color'] = '000000'; - if(isset($btl->mncolor[$btl->mname['вода']])) { - $prv['color'] = $btl->mncolor[$btl->mname['вода']]; - } - }else{ - $prv['color2'] = 'FF0000'; - $prv['color'] = 'FF0000'; - } - }else{ - $prv['color2'] = '909090'; - $prv['color'] = '909090'; - } - - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - if( $pvr['promah_type'] == 2 ) { - $prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>-- ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - } - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Оледенение [9]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.($pvr['hp']/16).'',2,77,4,$u->info['id'],3,'оледенение',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment) && !isset($btl->info['id']) && !isset($this->info['id'])) { + +} elseif (isset($pr_used_this) && isset($pr_moment)) { + + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = 0; + $pvr['promah'] = false; + $pvr['krit'] = false; + //$pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Оледенение' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} elseif (!isset($this->uids)) { + //Действие при клике + $pvr['hp'] = 62; + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($u->info['id'], $this->ue['id'], $pvr['hp'], 0); + + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + + $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; + + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] . '" WHERE `id` = "' . $this->ue['id'] . '" LIMIT 1'); + + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + + //Цвет приема + if ($pvr['promah'] == false) { + if ($pvr['krit'] == false) { + $prv['color2'] = '006699'; + if (isset($btl->mcolor[$btl->mname['вода']])) { + $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; + } + $prv['color'] = '000000'; + if (isset($btl->mncolor[$btl->mname['вода']])) { + $prv['color'] = $btl->mncolor[$btl->mname['вода']]; + } + } else { + $prv['color2'] = 'FF0000'; + $prv['color'] = 'FF0000'; + } + } else { + $prv['color2'] = '909090'; + $prv['color'] = '909090'; + } + + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + if ($pvr['promah_type'] == 2) { + $prv['text'] = $btl->addlt(1, 20, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>-- [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + } + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Оледенение [9]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . ($pvr['hp'] / 16) . '', 2, 77, 4, $u->info['id'], 3, 'оледенение', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/78.php b/_incl_data/class/priem/78.php index 1de5115f..a4c149e9 100644 --- a/_incl_data/class/priem/78.php +++ b/_incl_data/class/priem/78.php @@ -1,188 +1,190 @@ info['id']) && !isset($this->info['id']) ) { - -}elseif(isset($pr_used_this) && isset($pr_moment)) { - //Каждый ход - $fx_priem = function($id , $at , $uid, $j_id) { - // -- начало приема - global $u, $btl, $priem; - // - //Параметры приема - $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) { - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = 0; - $pvr['promah'] = false; - $pvr['krit'] = false; - //$pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Оледенение'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - // -- конец приема - return $at; - }; - unset($pr_used_this); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment) && !isset($btl->info['id']) && !isset($this->info['id'])) { + +} elseif (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = 0; + $pvr['promah'] = false; + $pvr['krit'] = false; + //$pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Оледенение' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + // -- конец приема + return $at; + }; + unset($pr_used_this); } else { - //Действие при клике - $pvr['hp'] = 75; - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem($u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true); - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($u->info['id'],$this->ue['id'],$pvr['hp'],0); - - if($pvr['hpNow'] > $pvr['hpAll']) { - $pvr['hpNow'] = $pvr['hpAll']; - } elseif($pvr['hpNow'] < 0) { - $pvr['hpNow'] = 0; - } - - $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$this->ue['id']]]['hpNow'].'" WHERE `id` = "'.$this->ue['id'].'" LIMIT 1'); - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - - //Цвет приема - if($pvr['promah'] == false) { - if($pvr['krit'] == false) { - $prv['color2'] = '006699'; - if(isset($btl->mcolor[$btl->mname['вода']])) { - $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; - } - $prv['color'] = '000000'; - if(isset($btl->mncolor[$btl->mname['вода']])) { - $prv['color'] = $btl->mncolor[$btl->mname['вода']]; - } - } else { - $prv['color2'] = 'FF0000'; - $prv['color'] = 'FF0000'; - } - } else { - $prv['color2'] = '909090'; - $prv['color'] = '909090'; - } - - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - if($pvr['promah_type'] == 2) { - $prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'. maginfoattack($u->info['id'],$this->ue['id'],3).'>-- ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - } - $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], - 'Оледенение [10]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.($pvr['hp']/16).'',2,77,4,$u->info['id'],3,'оледенение',0,0,1); - //Отнимаем тактики - //$this->mintr($pl); + //Действие при клике + $pvr['hp'] = 75; + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true); + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($u->info['id'], $this->ue['id'], $pvr['hp'], 0); + + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + + $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] . '" WHERE `id` = "' . $this->ue['id'] . '" LIMIT 1'); + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + + //Цвет приема + if ($pvr['promah'] == false) { + if ($pvr['krit'] == false) { + $prv['color2'] = '006699'; + if (isset($btl->mcolor[$btl->mname['вода']])) { + $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; + } + $prv['color'] = '000000'; + if (isset($btl->mncolor[$btl->mname['вода']])) { + $prv['color'] = $btl->mncolor[$btl->mname['вода']]; + } + } else { + $prv['color2'] = 'FF0000'; + $prv['color'] = 'FF0000'; + } + } else { + $prv['color2'] = '909090'; + $prv['color'] = '909090'; + } + + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + if ($pvr['promah_type'] == 2) { + $prv['text'] = $btl->addlt(1, 20, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '. maginfoattack($u->info['id'], $this->ue['id'], 3) . '>-- [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + } + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Оледенение [10]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . ($pvr['hp'] / 16) . '', 2, 77, 4, $u->info['id'], 3, 'оледенение', 0, 0, 1); + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/79.php b/_incl_data/class/priem/79.php index 3d146172..bbe24925 100644 --- a/_incl_data/class/priem/79.php +++ b/_incl_data/class/priem/79.php @@ -1,196 +1,196 @@ info['id']) && !isset($this->info['id']) ) { - -}elseif( isset($pr_used_this) && isset($pr_moment) ) { - //Каждый ход - $fx_priem = function( $id , $at , $uid, $j_id ) { - // -- начало приема - global $u, $btl, $priem; - // - //Параметры приема - $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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = 0; - $pvr['promah'] = false; - $pvr['krit'] = false; - //$pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. '.$pvr['hpSee'].' ['.$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'].'. -- ['.$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, - 'Оледенение'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - //Действие при клике - $pvr['hp'] = 90; - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true ); - - $pvr['hpSee'] = '-'.$pvr['hp']; - $pvr['hpNow'] -= $pvr['hp']; - $btl->priemYronSave($u->info['id'],$this->ue['id'],$pvr['hp'],0); - - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - - $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; - - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$this->ue['id']]]['hpNow'].'" WHERE `id` = "'.$this->ue['id'].'" LIMIT 1'); - - $prv['text'] = $btl->addlt(1 , 19 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - - //Цвет приема - if( $pvr['promah'] == false ) { - if( $pvr['krit'] == false ) { - $prv['color2'] = '006699'; - if(isset($btl->mcolor[$btl->mname['вода']])) { - $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; - } - $prv['color'] = '000000'; - if(isset($btl->mncolor[$btl->mname['вода']])) { - $prv['color'] = $btl->mncolor[$btl->mname['вода']]; - } - }else{ - $prv['color2'] = 'FF0000'; - $prv['color'] = 'FF0000'; - } - }else{ - $prv['color2'] = '909090'; - $prv['color'] = '909090'; - } - - $prv['text2'] = '{tm1} '.$prv['text'].'. '.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - if( $pvr['promah_type'] == 2 ) { - $prv['text'] = $btl->addlt(1 , 20 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL); - $prv['text2'] = '{tm1} '.$prv['text'].'. -- ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']'; - } - $btl->priemAddLog( $id, 1, 2, $u->info['id'], $this->ue['id'], - 'Оледенение [11]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.($pvr['hp']/16).'',2,77,4,$u->info['id'],3,'оледенение',0,0,1); - - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment) && !isset($btl->info['id']) && !isset($this->info['id'])) { + +} elseif (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + //$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = 0; + $pvr['promah'] = false; + $pvr['krit'] = false; + //$pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. ' . $pvr['hpSee'] . ' [' . $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'] . '. -- [' . $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, + 'Оледенение' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + //Действие при клике + $pvr['hp'] = 90; + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$this->ue['id']]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$this->ue['id']]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($u->info['id'], $this->ue['id'], 21, $pvr['hp'], 7, true); + + $pvr['hpSee'] = '-' . $pvr['hp']; + $pvr['hpNow'] -= $pvr['hp']; + $btl->priemYronSave($u->info['id'], $this->ue['id'], $pvr['hp'], 0); + + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + + $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $pvr['hpNow']; + + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] . '" WHERE `id` = "' . $this->ue['id'] . '" LIMIT 1'); + + $prv['text'] = $btl->addlt(1, 19, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + + //Цвет приема + if ($pvr['promah'] == false) { + if ($pvr['krit'] == false) { + $prv['color2'] = '006699'; + if (isset($btl->mcolor[$btl->mname['вода']])) { + $prv['color2'] = $btl->mcolor[$btl->mname['вода']]; + } + $prv['color'] = '000000'; + if (isset($btl->mncolor[$btl->mname['вода']])) { + $prv['color'] = $btl->mncolor[$btl->mname['вода']]; + } + } else { + $prv['color2'] = 'FF0000'; + $prv['color'] = 'FF0000'; + } + } else { + $prv['color2'] = '909090'; + $prv['color'] = '909090'; + } + + $prv['text2'] = '{tm1} ' . $prv['text'] . '. ' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + if ($pvr['promah_type'] == 2) { + $prv['text'] = $btl->addlt(1, 20, $btl->users[$btl->uids[$u->info['id']]]['sex'], null); + $prv['text2'] = '{tm1} ' . $prv['text'] . '. -- [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']'; + } + $btl->priemAddLog($id, 1, 2, $u->info['id'], $this->ue['id'], + 'Оледенение [11]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . ($pvr['hp'] / 16) . '', 2, 77, 4, $u->info['id'], 3, 'оледенение', 0, 0, 1); + + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/80.php b/_incl_data/class/priem/80.php index 4635f4f3..80ec114b 100644 --- a/_incl_data/class/priem/80.php +++ b/_incl_data/class/priem/80.php @@ -1,154 +1,153 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Отравление [7]'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(73); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - if( $pvr['promah'] == true ) { - $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'], $this->ue['id'], - 'Отравление [7]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,10,$u->info['id'],1,'отравление',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Отравление [7]' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(73); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + if ($pvr['promah'] == true) { + $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'], $this->ue['id'], + 'Отравление [7]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 10) . '', 0, 77, 10, $u->info['id'], 1, 'отравление', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/81.php b/_incl_data/class/priem/81.php index a93942f4..836122c9 100644 --- a/_incl_data/class/priem/81.php +++ b/_incl_data/class/priem/81.php @@ -1,158 +1,157 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Отравление [8]'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(88); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - if( $pvr['promah'] == true ) { - $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'], $this->ue['id'], - 'Отравление [8]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,10,$u->info['id'],1,'отравление',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Отравление [8]' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(88); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + if ($pvr['promah'] == true) { + $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'], $this->ue['id'], + 'Отравление [8]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 10) . '', 0, 77, 10, $u->info['id'], 1, 'отравление', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/82.php b/_incl_data/class/priem/82.php index 9a137184..7ac0b9e3 100644 --- a/_incl_data/class/priem/82.php +++ b/_incl_data/class/priem/82.php @@ -1,157 +1,156 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Отравление [9]'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(105); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - if( $pvr['promah'] == true ) { - $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'], $this->ue['id'], - 'Отравление [9]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,10,$u->info['id'],1,'отравление',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Отравление [9]' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(105); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + if ($pvr['promah'] == true) { + $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'], $this->ue['id'], + 'Отравление [9]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 10) . '', 0, 77, 10, $u->info['id'], 1, 'отравление', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/83.php b/_incl_data/class/priem/83.php index b42b7a42..8f4f1b02 100644 --- a/_incl_data/class/priem/83.php +++ b/_incl_data/class/priem/83.php @@ -1,157 +1,156 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. maginfoattack($u2,$u1,3).'>'.$pvr['hpSee'].' ['.$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'].'. maginfoattack($u2,$u1,3).'>-- ['.$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, - 'Отравление [10]'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(127); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - if( $pvr['promah'] == true ) { - $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'], $this->ue['id'], - 'Отравление [10]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,10,$u->info['id'],1,'отравление',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. maginfoattack($u2, $u1, 3) . '>' . $pvr['hpSee'] . ' [' . $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'] . '. maginfoattack($u2, $u1, 3) . '>-- [' . $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, + 'Отравление [10]' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(127); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + if ($pvr['promah'] == true) { + $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'], $this->ue['id'], + 'Отравление [10]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 10) . '', 0, 77, 10, $u->info['id'], 1, 'отравление', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/84.php b/_incl_data/class/priem/84.php index 7f1ec3ae..04a67c73 100644 --- a/_incl_data/class/priem/84.php +++ b/_incl_data/class/priem/84.php @@ -1,157 +1,156 @@ 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 ) { - - //Проверяем эффект - $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']; - - //действия - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($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']); - /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0];*/ - $pvr['hpSee'] = '--'; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; - - //Используем проверку на урон приемов - $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); - $prv['text'] = '{u2} утратил здоровье от "{pr}"'; - - //Цвет приема - 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'].'. '.$pvr['hpSee'].' ['.$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'].'. -- ['.$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, - 'Отравление [11]'.$prv['xx'].'', - $prv['text2'], - ($btl->hodID) - ); - // спасение - $btl->spaCheck($u1); - // спасение - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(152); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - if( $pvr['promah'] == true ) { - $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'], $this->ue['id'], - 'Отравление [11]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - if ($pvr['hp']>0) - { - $this->addPriem($this->ue['id'],$pl['id'],'atgm='.floor($pvr['hp']/10).'',0,77,10,$u->info['id'],1,'отравление',0,0,1); - } - //Отнимаем тактики - //$this->mintr($pl); +$pvr = []; +if (isset($pr_used_this) && isset($pr_moment)) { + //Каждый ход + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + + //Проверяем эффект + $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']; + + //действия + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($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']); + /*$pvr['hp'] = $priem->magatack( $u2, $u1, $pvr['hp'], 'вода', 0 ); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0];*/ + $pvr['hpSee'] = '--'; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$u1]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$u1]]['hpAll']; + + //Используем проверку на урон приемов + $pvr['hp'] = $btl->testYronPriem($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, 12, $pvr['hp'], 7, 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); + $prv['text'] = '{u2} утратил здоровье от "{pr}"'; + + //Цвет приема + 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'] . '. ' . $pvr['hpSee'] . ' [' . $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'] . '. -- [' . $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, + 'Отравление [11]' . $prv['xx'] . '', + $prv['text2'], + ($btl->hodID) + ); + // спасение + $btl->spaCheck($u1); + // спасение + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(152); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + if ($pvr['promah'] == true) { + $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'], $this->ue['id'], + 'Отравление [11]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + if ($pvr['hp'] > 0) { + $this->addPriem($this->ue['id'], $pl['id'], 'atgm=' . floor($pvr['hp'] / 10) . '', 0, 77, 10, $u->info['id'], 1, 'отравление', 0, 0, 1); + } + //Отнимаем тактики + //$this->mintr($pl); } unset($pvr); diff --git a/_incl_data/class/priem/85.php b/_incl_data/class/priem/85.php index 31dacd60..5f7b1213 100644 --- a/_incl_data/class/priem/85.php +++ b/_incl_data/class/priem/85.php @@ -1,105 +1,105 @@ 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 ) { - if( $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1 ) { - // - //Проверяем эффект - $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']; - // - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); - $pvr['hp'] = $btl->hphe( $u1 , $pvr['hp'] ); - // - $pvr['hpSee'] = 0; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; - $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; - if( $pvr['hpTr'] > 0 ) { - //Требуется хилл - if( $pvr['hpTr'] < $pvr['hp'] ) { - $pvr['hp'] = $pvr['hpTr']; - } - $pvr['hpSee'] = '+'.$pvr['hp']; - $pvr['hpNow'] += $pvr['hp']; - } - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - // - $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; - // - $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; - mysql_query('UPDATE `stats` SET `last_hp` = "'.$btl->users[$btl->uids[$uid]]['last_hp'].'",`hpNow` = "'.$btl->stats[$btl->uids[$uid]]['hpNow'].'" WHERE `id` = "'.$uid.'" LIMIT 1'); - // - $btl->priemAddLogFast( $uid, 0, "Регенерация [6]", - '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']', - 0, time() ); - // - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(72); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - $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'], $this->ue['id'], - 'Регенерация [6]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'add_atgm='.floor($pvr['hp']/8).'',0,77,8,$u->info['id'],1,'регенерация',0,0,1); - - //Отнимаем тактики - $this->mintr($pl); +if (isset($pr_used_this) && isset($pr_moment)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + if ($pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1) { + // + //Проверяем эффект + $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']; + // + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); + $pvr['hp'] = $btl->hphe($u1, $pvr['hp']); + // + $pvr['hpSee'] = 0; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; + $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; + if ($pvr['hpTr'] > 0) { + //Требуется хилл + if ($pvr['hpTr'] < $pvr['hp']) { + $pvr['hp'] = $pvr['hpTr']; + } + $pvr['hpSee'] = '+' . $pvr['hp']; + $pvr['hpNow'] += $pvr['hp']; + } + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + // + $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; + // + $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; + mysql_query('UPDATE `stats` SET `last_hp` = "' . $btl->users[$btl->uids[$uid]]['last_hp'] . '",`hpNow` = "' . $btl->stats[$btl->uids[$uid]]['hpNow'] . '" WHERE `id` = "' . $uid . '" LIMIT 1'); + // + $btl->priemAddLogFast($uid, 0, "Регенерация [6]", + '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']', + 0, time()); + // + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(72); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + $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'], $this->ue['id'], + 'Регенерация [6]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'add_atgm=' . floor($pvr['hp'] / 8) . '', 0, 77, 8, $u->info['id'], 1, 'регенерация', 0, 0, 1); + + //Отнимаем тактики + $this->mintr($pl); } // unset($pvr); diff --git a/_incl_data/class/priem/86.php b/_incl_data/class/priem/86.php index 48c8eb4f..cac2f0cf 100644 --- a/_incl_data/class/priem/86.php +++ b/_incl_data/class/priem/86.php @@ -1,105 +1,105 @@ 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 ) { - if( $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1 ) { - // - //Проверяем эффект - $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']; - // - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); - $pvr['hp'] = $btl->hphe( $u1 , $pvr['hp'] ); - // - $pvr['hpSee'] = 0; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; - $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; - if( $pvr['hpTr'] > 0 ) { - //Требуется хилл - if( $pvr['hpTr'] < $pvr['hp'] ) { - $pvr['hp'] = $pvr['hpTr']; - } - $pvr['hpSee'] = '+'.$pvr['hp']; - $pvr['hpNow'] += $pvr['hp']; - } - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - // - $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; - // - $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; - mysql_query('UPDATE `stats` SET `last_hp` = "'.$btl->users[$btl->uids[$uid]]['last_hp'].'",`hpNow` = "'.$btl->stats[$btl->uids[$uid]]['hpNow'].'" WHERE `id` = "'.$uid.'" LIMIT 1'); - // - $btl->priemAddLogFast( $uid, 0, "Регенерация [7]", - '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']', - 0, time() ); - // - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(87); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - $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'], $this->ue['id'], - 'Регенерация [7]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'add_atgm='.floor($pvr['hp']/8).'',0,77,8,$u->info['id'],1,'регенерация',0,0,1); - - //Отнимаем тактики - $this->mintr($pl); +if (isset($pr_used_this) && isset($pr_moment)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + if ($pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1) { + // + //Проверяем эффект + $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']; + // + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); + $pvr['hp'] = $btl->hphe($u1, $pvr['hp']); + // + $pvr['hpSee'] = 0; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; + $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; + if ($pvr['hpTr'] > 0) { + //Требуется хилл + if ($pvr['hpTr'] < $pvr['hp']) { + $pvr['hp'] = $pvr['hpTr']; + } + $pvr['hpSee'] = '+' . $pvr['hp']; + $pvr['hpNow'] += $pvr['hp']; + } + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + // + $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; + // + $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; + mysql_query('UPDATE `stats` SET `last_hp` = "' . $btl->users[$btl->uids[$uid]]['last_hp'] . '",`hpNow` = "' . $btl->stats[$btl->uids[$uid]]['hpNow'] . '" WHERE `id` = "' . $uid . '" LIMIT 1'); + // + $btl->priemAddLogFast($uid, 0, "Регенерация [7]", + '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']', + 0, time()); + // + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(87); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + $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'], $this->ue['id'], + 'Регенерация [7]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'add_atgm=' . floor($pvr['hp'] / 8) . '', 0, 77, 8, $u->info['id'], 1, 'регенерация', 0, 0, 1); + + //Отнимаем тактики + $this->mintr($pl); } // unset($pvr); diff --git a/_incl_data/class/priem/87.php b/_incl_data/class/priem/87.php index 73035c06..a41e480f 100644 --- a/_incl_data/class/priem/87.php +++ b/_incl_data/class/priem/87.php @@ -1,105 +1,105 @@ 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 ) { - if( $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1 ) { - // - //Проверяем эффект - $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']; - // - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); - $pvr['hp'] = $btl->hphe( $u1 , $pvr['hp'] ); - // - $pvr['hpSee'] = 0; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; - $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; - if( $pvr['hpTr'] > 0 ) { - //Требуется хилл - if( $pvr['hpTr'] < $pvr['hp'] ) { - $pvr['hp'] = $pvr['hpTr']; - } - $pvr['hpSee'] = '+'.$pvr['hp']; - $pvr['hpNow'] += $pvr['hp']; - } - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - // - $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; - // - $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; - mysql_query('UPDATE `stats` SET `last_hp` = "'.$btl->users[$btl->uids[$uid]]['last_hp'].'",`hpNow` = "'.$btl->stats[$btl->uids[$uid]]['hpNow'].'" WHERE `id` = "'.$uid.'" LIMIT 1'); - // - $btl->priemAddLogFast( $uid, 0, "Регенерация [8]", - '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']', - 0, time() ); - // - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(104); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - $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'], $this->ue['id'], - 'Регенерация [8]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'add_atgm='.floor($pvr['hp']/8).'',0,77,8,$u->info['id'],1,'регенерация',0,0,1); - - //Отнимаем тактики - $this->mintr($pl); +if (isset($pr_used_this) && isset($pr_moment)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + if ($pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1) { + // + //Проверяем эффект + $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']; + // + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); + $pvr['hp'] = $btl->hphe($u1, $pvr['hp']); + // + $pvr['hpSee'] = 0; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; + $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; + if ($pvr['hpTr'] > 0) { + //Требуется хилл + if ($pvr['hpTr'] < $pvr['hp']) { + $pvr['hp'] = $pvr['hpTr']; + } + $pvr['hpSee'] = '+' . $pvr['hp']; + $pvr['hpNow'] += $pvr['hp']; + } + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + // + $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; + // + $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; + mysql_query('UPDATE `stats` SET `last_hp` = "' . $btl->users[$btl->uids[$uid]]['last_hp'] . '",`hpNow` = "' . $btl->stats[$btl->uids[$uid]]['hpNow'] . '" WHERE `id` = "' . $uid . '" LIMIT 1'); + // + $btl->priemAddLogFast($uid, 0, "Регенерация [8]", + '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']', + 0, time()); + // + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(104); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + $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'], $this->ue['id'], + 'Регенерация [8]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'add_atgm=' . floor($pvr['hp'] / 8) . '', 0, 77, 8, $u->info['id'], 1, 'регенерация', 0, 0, 1); + + //Отнимаем тактики + $this->mintr($pl); } // unset($pvr); diff --git a/_incl_data/class/priem/88.php b/_incl_data/class/priem/88.php index 0edd75b6..43265a28 100644 --- a/_incl_data/class/priem/88.php +++ b/_incl_data/class/priem/88.php @@ -1,105 +1,105 @@ 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 ) { - if( $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1 ) { - // - //Проверяем эффект - $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']; - // - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); - $pvr['hp'] = $btl->hphe( $u1 , $pvr['hp'] ); - // - $pvr['hpSee'] = 0; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; - $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; - if( $pvr['hpTr'] > 0 ) { - //Требуется хилл - if( $pvr['hpTr'] < $pvr['hp'] ) { - $pvr['hp'] = $pvr['hpTr']; - } - $pvr['hpSee'] = '+'.$pvr['hp']; - $pvr['hpNow'] += $pvr['hp']; - } - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - // - $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; - // - $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; - mysql_query('UPDATE `stats` SET `last_hp` = "'.$btl->users[$btl->uids[$uid]]['last_hp'].'",`hpNow` = "'.$btl->stats[$btl->uids[$uid]]['hpNow'].'" WHERE `id` = "'.$uid.'" LIMIT 1'); - // - $btl->priemAddLogFast( $uid, 0, "Регенерация [9]", - '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']', - 0, time() ); - // - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(125); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - $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'], $this->ue['id'], - 'Регенерация [9]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'add_atgm='.floor($pvr['hp']/8).'',0,77,8,$u->info['id'],1,'регенерация',0,0,1); - - //Отнимаем тактики - $this->mintr($pl); +if (isset($pr_used_this) && isset($pr_moment)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + if ($pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1) { + // + //Проверяем эффект + $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']; + // + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); + $pvr['hp'] = $btl->hphe($u1, $pvr['hp']); + // + $pvr['hpSee'] = 0; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; + $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; + if ($pvr['hpTr'] > 0) { + //Требуется хилл + if ($pvr['hpTr'] < $pvr['hp']) { + $pvr['hp'] = $pvr['hpTr']; + } + $pvr['hpSee'] = '+' . $pvr['hp']; + $pvr['hpNow'] += $pvr['hp']; + } + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + // + $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; + // + $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; + mysql_query('UPDATE `stats` SET `last_hp` = "' . $btl->users[$btl->uids[$uid]]['last_hp'] . '",`hpNow` = "' . $btl->stats[$btl->uids[$uid]]['hpNow'] . '" WHERE `id` = "' . $uid . '" LIMIT 1'); + // + $btl->priemAddLogFast($uid, 0, "Регенерация [9]", + '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']', + 0, time()); + // + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(125); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + $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'], $this->ue['id'], + 'Регенерация [9]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'add_atgm=' . floor($pvr['hp'] / 8) . '', 0, 77, 8, $u->info['id'], 1, 'регенерация', 0, 0, 1); + + //Отнимаем тактики + $this->mintr($pl); } // unset($pvr); diff --git a/_incl_data/class/priem/89.php b/_incl_data/class/priem/89.php index 65ff1b4f..dedd78ee 100644 --- a/_incl_data/class/priem/89.php +++ b/_incl_data/class/priem/89.php @@ -1,105 +1,105 @@ 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 ) { - if( $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1 ) { - // - //Проверяем эффект - $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']; - // - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); - $pvr['hp'] = $btl->hphe( $u1 , $pvr['hp'] ); - // - $pvr['hpSee'] = 0; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; - $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; - if( $pvr['hpTr'] > 0 ) { - //Требуется хилл - if( $pvr['hpTr'] < $pvr['hp'] ) { - $pvr['hp'] = $pvr['hpTr']; - } - $pvr['hpSee'] = '+'.$pvr['hp']; - $pvr['hpNow'] += $pvr['hp']; - } - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - // - $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; - // - $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; - mysql_query('UPDATE `stats` SET `last_hp` = "'.$btl->users[$btl->uids[$uid]]['last_hp'].'",`hpNow` = "'.$btl->stats[$btl->uids[$uid]]['hpNow'].'" WHERE `id` = "'.$uid.'" LIMIT 1'); - // - $btl->priemAddLogFast( $uid, 0, "Регенерация [10]", - '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'],$this->ue['id'],3).'>'.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']', - 0, time() ); - // - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(151); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - $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'], $this->ue['id'], - 'Регенерация [10]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'add_atgm='.floor($pvr['hp']/8).'',0,77,8,$u->info['id'],1,'регенерация',0,0,1); - - //Отнимаем тактики - $this->mintr($pl); +if (isset($pr_used_this) && isset($pr_moment)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + if ($pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1) { + // + //Проверяем эффект + $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']; + // + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); + $pvr['hp'] = $btl->hphe($u1, $pvr['hp']); + // + $pvr['hpSee'] = 0; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; + $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; + if ($pvr['hpTr'] > 0) { + //Требуется хилл + if ($pvr['hpTr'] < $pvr['hp']) { + $pvr['hp'] = $pvr['hpTr']; + } + $pvr['hpSee'] = '+' . $pvr['hp']; + $pvr['hpNow'] += $pvr['hp']; + } + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + // + $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; + // + $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; + mysql_query('UPDATE `stats` SET `last_hp` = "' . $btl->users[$btl->uids[$uid]]['last_hp'] . '",`hpNow` = "' . $btl->stats[$btl->uids[$uid]]['hpNow'] . '" WHERE `id` = "' . $uid . '" LIMIT 1'); + // + $btl->priemAddLogFast($uid, 0, "Регенерация [10]", + '{tm1} {u1} восстановил здоровье от "{pr}". maginfoattack($u->info['id'], $this->ue['id'], 3) . '>' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']', + 0, time()); + // + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(151); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + $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'], $this->ue['id'], + 'Регенерация [10]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'add_atgm=' . floor($pvr['hp'] / 8) . '', 0, 77, 8, $u->info['id'], 1, 'регенерация', 0, 0, 1); + + //Отнимаем тактики + $this->mintr($pl); } // unset($pvr); diff --git a/_incl_data/class/priem/90.php b/_incl_data/class/priem/90.php index a1adbc6a..2b0577b3 100644 --- a/_incl_data/class/priem/90.php +++ b/_incl_data/class/priem/90.php @@ -1,105 +1,105 @@ 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 ) { - if( $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1 ) { - // - //Проверяем эффект - $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']; - // - $pvr['hp'] = 1; - // - $pvr['data'] = \Core\ConversionHelper::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); - $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); - $pvr['hp'] = $btl->hphe( $u1 , $pvr['hp'] ); - // - $pvr['hpSee'] = 0; - $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); - $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; - $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; - if( $pvr['hpTr'] > 0 ) { - //Требуется хилл - if( $pvr['hpTr'] < $pvr['hp'] ) { - $pvr['hp'] = $pvr['hpTr']; - } - $pvr['hpSee'] = '+'.$pvr['hp']; - $pvr['hpNow'] += $pvr['hp']; - } - if( $pvr['hpNow'] > $pvr['hpAll'] ) { - $pvr['hpNow'] = $pvr['hpAll']; - }elseif( $pvr['hpNow'] < 0 ) { - $pvr['hpNow'] = 0; - } - // - $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; - // - $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; - mysql_query('UPDATE `stats` SET `last_hp` = "'.$btl->users[$btl->uids[$uid]]['last_hp'].'",`hpNow` = "'.$btl->stats[$btl->uids[$uid]]['hpNow'].'" WHERE `id` = "'.$uid.'" LIMIT 1'); - // - $btl->priemAddLogFast( $uid, 0, "Регенерация [11]", - '{tm1} {u1} восстановил здоровье от "{pr}". '.$pvr['hpSee'].' ['.$pvr['hpNow'].'/'.$pvr['hpAll'].']', - 0, time() ); - // - } - } - // -- конец приема - return $at; - }; - unset( $pr_used_this ); -}else{ - $pvr['hp'] = floor(181); - $pvr['hp'] = $this->magatack( $u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1 ); - $pvr['promah_type'] = $pvr['hp'][3]; - $pvr['promah'] = $pvr['hp'][2]; - $pvr['krit'] = $pvr['hp'][1]; - $pvr['hp'] = $pvr['hp'][0]; - // - $prv['color2'] = '000000'; - if( $pvr['krit'] == true ) { - $prv['color2'] = 'FF0000'; - } - $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'], $this->ue['id'], - 'Регенерация [11]', - $prv['text2'], - ($btl->hodID + 1) - ); - - //Добавляем прием - //$this->addEffPr($pl,$id); - $this->addPriem($this->ue['id'],$pl['id'],'add_atgm='.floor($pvr['hp']/8).'',0,77,8,$u->info['id'],1,'регенерация',0,0,1); - - //Отнимаем тактики - $this->mintr($pl); +if (isset($pr_used_this) && isset($pr_moment)) { + $fx_priem = function ($id, $at, $uid, $j_id) { + // -- начало приема + global $u, $btl, $priem; + // + //Параметры приема + $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) { + if ($pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) && floor($btl->stats[$btl->uids[$uid]]['hpNow']) >= 1) { + // + //Проверяем эффект + $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']; + // + $pvr['hp'] = 1; + // + $pvr['data'] = Helper\Conversion::dataStringToArray($btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['data']); + $pvr['hp'] = floor($pvr['data']['add_atgm'][0]); + $pvr['hp'] = $btl->hphe($u1, $pvr['hp']); + // + $pvr['hpSee'] = 0; + $pvr['hpNow'] = floor($btl->stats[$btl->uids[$uid]]['hpNow']); + $pvr['hpAll'] = $btl->stats[$btl->uids[$uid]]['hpAll']; + $pvr['hpTr'] = $pvr['hpAll'] - $pvr['hpNow']; + if ($pvr['hpTr'] > 0) { + //Требуется хилл + if ($pvr['hpTr'] < $pvr['hp']) { + $pvr['hp'] = $pvr['hpTr']; + } + $pvr['hpSee'] = '+' . $pvr['hp']; + $pvr['hpNow'] += $pvr['hp']; + } + if ($pvr['hpNow'] > $pvr['hpAll']) { + $pvr['hpNow'] = $pvr['hpAll']; + } elseif ($pvr['hpNow'] < 0) { + $pvr['hpNow'] = 0; + } + // + $btl->users[$btl->uids[$uid]]['last_hp'] = $pvr['hp']; + // + $btl->stats[$btl->uids[$uid]]['hpNow'] = $pvr['hpNow']; + mysql_query('UPDATE `stats` SET `last_hp` = "' . $btl->users[$btl->uids[$uid]]['last_hp'] . '",`hpNow` = "' . $btl->stats[$btl->uids[$uid]]['hpNow'] . '" WHERE `id` = "' . $uid . '" LIMIT 1'); + // + $btl->priemAddLogFast($uid, 0, "Регенерация [11]", + '{tm1} {u1} восстановил здоровье от "{pr}". ' . $pvr['hpSee'] . ' [' . $pvr['hpNow'] . '/' . $pvr['hpAll'] . ']', + 0, time()); + // + } + } + // -- конец приема + return $at; + }; + unset($pr_used_this); +} else { + $pvr['hp'] = floor(181); + $pvr['hp'] = $this->magatack($u->info['id'], $this->ue['id'], $pvr['hp'], 'вода', 1); + $pvr['promah_type'] = $pvr['hp'][3]; + $pvr['promah'] = $pvr['hp'][2]; + $pvr['krit'] = $pvr['hp'][1]; + $pvr['hp'] = $pvr['hp'][0]; + // + $prv['color2'] = '000000'; + if ($pvr['krit'] == true) { + $prv['color2'] = 'FF0000'; + } + $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'], $this->ue['id'], + 'Регенерация [11]', + $prv['text2'], + ($btl->hodID + 1) + ); + + //Добавляем прием + //$this->addEffPr($pl,$id); + $this->addPriem($this->ue['id'], $pl['id'], 'add_atgm=' . floor($pvr['hp'] / 8) . '', 0, 77, 8, $u->info['id'], 1, 'регенерация', 0, 0, 1); + + //Отнимаем тактики + $this->mintr($pl); } // unset($pvr); diff --git a/_incl_data/class/priems/air.php b/_incl_data/class/priems/air.php index f83967fd..a7a6b76f 100644 --- a/_incl_data/class/priems/air.php +++ b/_incl_data/class/priems/air.php @@ -1,547 +1,470 @@ stats[$btl->uids[$eff['uid']]]['mpAll']/100); - $minmp = rand($minmp,$minmp*10); - $minmp = -round($minmp); - - }elseif($pr['id']==30) - { - //Знак воздуха - $minmp = -$u->info['level']; - } - if(isset($minmp)) - { - //отнимаем МР у кастера - if($this->minMana($eff['user_use'],$minmp,2)==false && $minmp>0) - { - //снимаем эффект, мана закончилась - $btl->delPriem($eff,$btl->users[$btl->uids[$eff['uid']]],2); - } - } -}else{ - $uen = $u->info['enemy']; //на кого используем прием - - if(isset($_POST['useon'])) - { - $ue = $this->ue; - if(isset($ue['id'])) - { - $uen = $ue['id']; - }else{ - $uen = 0; - } - } - - if($pl['id'] == 261 || $pl['id'] == 262 || $pl['id'] == 263) { - //Заряд: Поражение - if(isset($btl->stats[$btl->uids[$uen]]['mg2static_points']) && $btl->stats[$btl->uids[$uen]]['mg2static_points'] > 0) { - $mg = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$btl->users[$btl->uids[$uen]]['id'].'" AND `data` LIKE "%add_mg2static_points%" ORDER BY `id` DESC LIMIT 1')); - if(isset($mg['id'])) { - $mg['data'] = \Core\ConversionHelper::dataStringToArray($mg['data']); - - if($pl['id'] == 261) { - $hpmin = round($btl->stats[$btl->uids[$uen]]['hpAll']/100*rand(1,3)); - $hpmin = round($hpmin*$mg['data']['add_mg2static_points']); - if($u->info['level'] <= 9 && $hpmin > 250) { - $hpmin = 250; - }elseif($u->info['level'] == 10 && $hpmin > 300) { - $hpmin = 300; - }elseif($u->info['level'] >= 11 && $hpmin > 350) { - $hpmin = 350; - } - }elseif($pl['id'] == 262) { - $this->addPriem($btl->users[$btl->uids[$uen]]['id'],264,'',0,77,$mg['data']['add_mg2static_points'],$u->info['id'],1,'зарядшок'); - $mgd = mysql_fetch_array(mysql_query('SELECT `a`.`id` FROM `eff_users` AS `a` JOIN `priems` AS `b` ON `b`.`id` = `a`.`v2` WHERE `a`.`uid` = "'.$btl->users[$btl->uids[$uen]]['id'].'" AND `a`.`v1` = "priem" AND `a`.`delete` = "0" AND `b`.`neg` = 0 ORDER BY `id` ASC LIMIT 1')); - if(isset($mgd['id'])) { - mysql_query('DELETE FROM `eff_users` WHERE `id` = "'.$mgd['id'].'" LIMIT 1'); - } - }elseif($pl['id'] == 263) { - - //Медитация - $rg = round(3*$u->info['level']*$btl->stats[$btl->uids[$uen]]['mg2static_points']); - - $btl->stats[$btl->uids[$u->info['id']]]['mpNow'] += $rg; - if($btl->stats[$btl->uids[$u->info['id']]]['mpNow']>$btl->stats[$btl->uids[$u->info['id']]]['mpAll']) - { - $rg -= floor($btl->stats[$btl->uids[$u->info['id']]]['mpNow']-$btl->stats[$btl->uids[$u->info['id']]]['mpAll']); - $btl->stats[$btl->uids[$u->info['id']]]['mpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['mpAll']; - } - $u->info['mpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['mpNow']; - $u->stats['mpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['mpNow']; - $btl->users[$btl->uids[$u->info['id']]]['mpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['mpNow']; - mysql_query('UPDATE `stats` SET `mpNow` = "'.$btl->stats[$btl->uids[$u->info['id']]]['mpNow'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - //заносим в лог боя - $vLog = 'time1='.time().'||s1='.$u->info['sex'].'||t1='.$u->info['team'].'||login1='.$u->info['login'].'||s2='.$btl->users[$btl->uids[$u->info['enemy']]]['sex'].'||t2='.$btl->users[$btl->uids[$u->info['enemy']]]['team'].'||login2='.$btl->users[$btl->uids[$u->info['enemy']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$btl->info['id'],'id_hod'=>($btl->hodID+1),'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - if($rg>0) - { - $rg = '+'.$rg; - }else{ - $rg = '--'; - } - $mas1['text'] = '{tm1} {u1} {1x16x0} заклинание "'.$pl['name'].'" на {u2} и восстановил магические силы. '.$rg.' ['.floor($btl->stats[$btl->uids[$u->info['id']]]['mpNow']).'/'.$btl->stats[$btl->uids[$u->info['id']]]['mpAll'].'] (Мана)'; - $btl->add_log($mas1); +if (isset($hod)) { + if ($pr['id'] == 258) { - - $mgd = mysql_fetch_array(mysql_query('SELECT `a`.`id` FROM `eff_users` AS `a` JOIN `priems` AS `b` ON `b`.`id` = `a`.`v2` WHERE `a`.`uid` = "'.$u->info['id'].'" AND `a`.`v1` = "priem" AND `a`.`delete` = "0" AND `b`.`neg` = 1 ORDER BY `id` ASC LIMIT 1')); - if(isset($mgd['id'])) { - mysql_query('DELETE FROM `eff_users` WHERE `id` = "'.$mgd['id'].'" LIMIT 1'); - } - } - - $mg['data']['add_mg2static_points'] = 0; - $mg['data']['add_zm2proc'] = 0; - $mg['data'] = \Core\ConversionHelper::arrayToDataString($mg['data']); - - echo 'Прием "'.$pl['name'].'" успешно использован.'; - mysql_query('UPDATE `eff_users` SET `data` = "'.$mg['data'].'" WHERE `id` = "'.$mg['id'].'" LIMIT 1'); - }else{ - echo 'На цели нет приема "Статика", либо нет уровня заряда (Воздух)'; - $cup = true; - } - }else{ - echo 'На цели нет приема "Статика", либо нет уровня заряда (Воздух)'; - $cup = true; - } - }elseif($pl['id']==255) - { - //Силовое поле - $re = $this->addPriem($u->info['id'],$pl['id'],-1,0,77,-2,$u->info['id'],1,'силовоеполе',2,1); - }elseif($pl['id']==17) - { - //молния [4] - $hpmin = rand(1,42); - }elseif($pl['id']==18) - { - //молния [5] - $hpmin = rand(1,50); - }elseif($pl['id']==91) - { - //молния [6] - $hpmin = rand(1,60); - }elseif($pl['id']==92) - { - //молния [7] - $hpmin = rand(1,73); - }elseif($pl['id']==93) - { - //молния [8] - $hpmin = rand(40,50); - }elseif($pl['id']==94) - { - //молния [9] - $hpmin = rand(1,105); - }elseif($pl['id']==95) - { - //молния [10] - $hpmin = rand(1,126); - }elseif($pl['id']==96) - { - //молния [11] - $hpmin = rand(1,151); - }elseif($pl['id']==30) - { - - //Знак воздуха - $re = $this->addPriem($u->info['id'],$pl['id'],-1,0,77,-2,$u->info['id'],1,'знаквоздуха',1,1); - }elseif($pl['id']==37) - { - //Цепь Исцеления [5] 1-3 цели - $rx = rand(0,20); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']==$ue['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicRegen($btl->users[$ix],rand(1,95),2,$pl,$eff,0,0,false); - $xx++; - } - $ix++; - } - $this->magicRegen($ue,rand(1,95),2,$pl,$eff,0,0,false); - }elseif($pl['id']==102) - { - //Цепь Исцеления [6] 1-3 цели - $rx = rand(0,20); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']==$ue['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicRegen($btl->users[$ix],rand(1,115),2,$pl,$eff,0,0,false); - $xx++; - } - $ix++; - } - $this->magicRegen($ue,rand(1,115),2,$pl,$eff,0,0,false); - }elseif($pl['id']==103) - { - //Цепь Исцеления [7] 1-3 цели - echo 1; - $rx = rand(0,20); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']==$ue['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicRegen($btl->users[$ix],rand(1,138),2,$pl,$eff,0,0,false); - $xx++; - } - $ix++; - } - $this->magicRegen($ue,rand(1,138),2,$pl,$eff,0,0,false); - }elseif($pl['id']==104) - { - //Цепь Исцеления [8] 1-3 цели - $rx = rand(0,20); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']==$ue['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicRegen($btl->users[$ix],rand(1,165),2,$pl,$eff,0,0,false); // не критует - $xx++; - } - $ix++; - } - $this->magicRegen($ue,rand(1,165),2,$pl,$eff,0,0,false); - }elseif($pl['id']==105) - { - //Цепь Исцеления [9] 1-3 цели - $rx = rand(0,20); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']==$ue['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicRegen($btl->users[$ix],rand(1,198),2,$pl,$eff,0,0,false); - $xx++; - } - $ix++; - } - $this->magicRegen($ue,rand(1,198),2,$pl,$eff,0,0,false); - }elseif($pl['id']==106) - { - //Цепь Исцеления [10] 1-3 цели - $rx = rand(0,20); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']==$ue['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicRegen($btl->users[$ix],rand(1,238),2,$pl,$eff,0,0,false); - $xx++; - } - $ix++; - } - $this->magicRegen($ue,rand(1,238),2,$pl,$eff,0,0,false); - }elseif($pl['id']==107) - { - //Цепь Исцеления [11] 1-3 цели - $rx = rand(0,20); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']==$ue['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicRegen($btl->users[$ix],rand(1,286),2,$pl,$eff,0,0,false); - $xx++; - } - $ix++; - } - $this->magicRegen($ue,rand(1,286),2,$pl,$eff,0,0,false); - }elseif($pl['id']==38) - { - //Цепь Молний [6] 2-5 целей - $rx = rand(10,40); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']!=$u->info['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicAtack($btl->users[$ix],rand(1,35),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$ix]['id'],$btl->stats[$ix]); - $xx++; - } - $ix++; - } - $this->magicAtack($ue,rand(1,35),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'],$btl->stats[$btl->uids[$u->info['enemy']]]); - }elseif($pl['id']==97) - { - //Цепь Молний [7] 2-5 целей - $rx = rand(10,40); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']!=$u->info['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicAtack($btl->users[$ix],rand(1,42),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$ix]['id'],$btl->stats[$ix]); - $xx++; - } - $ix++; - } - $this->magicAtack($ue,rand(1,42),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'],$btl->stats[$btl->uids[$u->info['enemy']]]); - }elseif($pl['id']==98) - { - //Цепь Молний [8] 2-5 целей - $rx = rand(10,40); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']!=$u->info['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicAtack($btl->users[$ix],rand(1,51),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$ix]['id'],$btl->stats[$ix]); - $xx++; - } - $ix++; - } - $this->magicAtack($ue,rand(1,51),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'],$btl->stats[$btl->uids[$u->info['enemy']]]); - }elseif($pl['id']==99) - { - //Цепь Молний [9] 2-5 целей - $rx = rand(10,40); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']!=$u->info['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicAtack($btl->users[$ix],rand(1,61),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$ix]['id'],$btl->stats[$ix]); - $xx++; - } - $ix++; - } - $this->magicAtack($ue,rand(1,61),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'],$btl->stats[$btl->uids[$u->info['enemy']]]); - }elseif($pl['id']==100) - { - //Цепь Молний [10] 2-5 целей - $rx = rand(10,40); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']!=$u->info['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicAtack($btl->users[$ix],rand(1,73),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$ix]['id'],$btl->stats[$ix]); - $xx++; - } - $ix++; - } - $this->magicAtack($ue,rand(1,73),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'],$btl->stats[$btl->uids[$u->info['enemy']]]); - }elseif($pl['id']==101) - { - //Цепь Молний [11] 2-5 целей - $rx = rand(10,40); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']!=$u->info['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicAtack($btl->users[$ix],rand(1,88),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$ix]['id'],$btl->stats[$ix]); - $xx++; - } - $ix++; - } - $this->magicAtack($ue,rand(1,88),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'],$btl->stats[$btl->uids[$u->info['enemy']]]); - }elseif($pl['id']==259) - { - //Искра - if(rand(0,1) == 1) { - //удар по противнику - $rx = 1; - $xx = 0; - $ix = 0; - while($ixusers)) - { - - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']!=$u->info['team'] && $xx<$rx && $u->info['enemy']!=$btl->users[$ix]['id']) - { - $this->magicAtack($btl->users[$ix],rand(1,51),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$ix]['id'],$btl->stats[$ix]); - $xx++; - } - $ix++; - } - if($xx == 0) { - $this->magicAtack($btl->users[$btl->uids[$u->info['enemy']]],rand(1,41),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'],$btl->stats[$btl->uids[$u->info['enemy']]]); - } - }else{ - //восстановление - $rx = 1; - $xx = 0; - $ix = 0; - while($ixusers)) - { - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']==$ue['team'] && $xx<$rx && $uen!=$btl->users[$ix]['id']) - { - $this->magicRegen($btl->users[$ix],rand(1,151),2,$pl,$eff,0,0,false); - $xx++; - } - $ix++; - } - if($xx == 0) { - $this->magicRegen($btl->users[$btl->uids[$u->info['id']]],rand(1,151),2,$pl,$eff,0,0,false); - } - } - }elseif($pl['id']==39) - { - //Искры [8] 1-7 целей - $rx = rand(0,60); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']!=$u->info['team'] && $xx<$rx && $u->info['enemy']!=$btl->users[$ix]['id']) - { - $this->magicAtack($btl->users[$ix],rand(1,41),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$ix]['id'],$btl->stats[$ix]); - $xx++; - } - $ix++; - } - $this->magicAtack($btl->users[$btl->uids[$u->info['enemy']]],rand(1,41),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'],$btl->stats[$btl->uids[$u->info['enemy']]]); - }elseif($pl['id']==108) - { - //Искры [9] 1-7 целей - $rx = rand(0,60); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']!=$u->info['team'] && $xx<$rx && $u->info['enemy']!=$btl->users[$ix]['id']) - { - $this->magicAtack($btl->users[$ix],rand(1,50),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$ix]['id'],$btl->stats[$ix]); - $xx++; - } - $ix++; - } - $this->magicAtack($btl->users[$btl->uids[$u->info['enemy']]],rand(1,50),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'],$btl->stats[$btl->uids[$u->info['enemy']]]); - }elseif($pl['id']==109) - { - //Искры [10] 1-7 целей - $rx = rand(0,60); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { - - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']!=$u->info['team'] && $xx<$rx && $u->info['enemy']!=$btl->users[$ix]['id']) - { - $this->magicAtack($btl->users[$ix],rand(1,60),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$ix]['id'],$btl->stats[$ix]); - $xx++; - } - $ix++; - } - $this->magicAtack($btl->users[$btl->uids[$u->info['enemy']]],rand(1,60),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'],$btl->stats[$btl->uids[$u->info['enemy']]]); - }elseif($pl['id']==110) - { - //Искры [11] 1-7 целей - $rx = rand(0,60); - $rx = floor($rx/10); - $xx = 0; - $ix = 0; - while($ixusers)) - { + //Энергия воздуха + $minmp = round($btl->stats[$btl->uids[$eff['uid']]]['mpAll'] / 100); + $minmp = rand($minmp, $minmp * 10); + $minmp = -round($minmp); - if($btl->stats[$ix]['hpNow']>0 && $btl->users[$ix]['team']!=$u->info['team'] && $xx<$rx && $u->info['enemy']!=$btl->users[$ix]['id']) - { - $this->magicAtack($btl->users[$ix],rand(1,72),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$ix]['id'],$btl->stats[$ix]); - $xx++; - } - $ix++; - } - $this->magicAtack($btl->users[$btl->uids[$u->info['enemy']]],rand(1,72),2,$pl,$eff,0,0,0,0,false); - mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'],$btl->stats[$btl->uids[$u->info['enemy']]]); - } + } elseif ($pr['id'] == 30) { + //Знак воздуха + $minmp = -$u->info['level']; + } + if (isset($minmp)) { + //отнимаем МР у кастера + if ($this->minMana($eff['user_use'], $minmp, 2) == false && $minmp > 0) { + //снимаем эффект, мана закончилась + $btl->delPriem($eff, $btl->users[$btl->uids[$eff['uid']]], 2); + } + } +} else { + $uen = $u->info['enemy']; //на кого используем прием + + if (isset($_POST['useon'])) { + $ue = $this->ue; + if (isset($ue['id'])) { + $uen = $ue['id']; + } else { + $uen = 0; + } + } + + if ($pl['id'] == 261 || $pl['id'] == 262 || $pl['id'] == 263) { + //Заряд: Поражение + if (isset($btl->stats[$btl->uids[$uen]]['mg2static_points']) && $btl->stats[$btl->uids[$uen]]['mg2static_points'] > 0) { + $mg = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $btl->users[$btl->uids[$uen]]['id'] . '" AND `data` LIKE "%add_mg2static_points%" ORDER BY `id` DESC LIMIT 1')); + if (isset($mg['id'])) { + $mg['data'] = Helper\Conversion::dataStringToArray($mg['data']); + + if ($pl['id'] == 261) { + $hpmin = round($btl->stats[$btl->uids[$uen]]['hpAll'] / 100 * rand(1, 3)); + $hpmin = round($hpmin * $mg['data']['add_mg2static_points']); + if ($u->info['level'] <= 9 && $hpmin > 250) { + $hpmin = 250; + } elseif ($u->info['level'] == 10 && $hpmin > 300) { + $hpmin = 300; + } elseif ($u->info['level'] >= 11 && $hpmin > 350) { + $hpmin = 350; + } + } elseif ($pl['id'] == 262) { + $this->addPriem($btl->users[$btl->uids[$uen]]['id'], 264, '', 0, 77, $mg['data']['add_mg2static_points'], $u->info['id'], 1, 'зарядшок'); + $mgd = mysql_fetch_array(mysql_query('SELECT `a`.`id` FROM `eff_users` AS `a` JOIN `priems` AS `b` ON `b`.`id` = `a`.`v2` WHERE `a`.`uid` = "' . $btl->users[$btl->uids[$uen]]['id'] . '" AND `a`.`v1` = "priem" AND `a`.`delete` = "0" AND `b`.`neg` = 0 ORDER BY `id` ASC LIMIT 1')); + if (isset($mgd['id'])) { + mysql_query('DELETE FROM `eff_users` WHERE `id` = "' . $mgd['id'] . '" LIMIT 1'); + } + } elseif ($pl['id'] == 263) { + + //Медитация + $rg = round(3 * $u->info['level'] * $btl->stats[$btl->uids[$uen]]['mg2static_points']); + + $btl->stats[$btl->uids[$u->info['id']]]['mpNow'] += $rg; + if ($btl->stats[$btl->uids[$u->info['id']]]['mpNow'] > $btl->stats[$btl->uids[$u->info['id']]]['mpAll']) { + $rg -= floor($btl->stats[$btl->uids[$u->info['id']]]['mpNow'] - $btl->stats[$btl->uids[$u->info['id']]]['mpAll']); + $btl->stats[$btl->uids[$u->info['id']]]['mpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['mpAll']; + } + $u->info['mpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['mpNow']; + $u->stats['mpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['mpNow']; + $btl->users[$btl->uids[$u->info['id']]]['mpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['mpNow']; + mysql_query('UPDATE `stats` SET `mpNow` = "' . $btl->stats[$btl->uids[$u->info['id']]]['mpNow'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + //заносим в лог боя + $vLog = 'time1=' . time() . '||s1=' . $u->info['sex'] . '||t1=' . $u->info['team'] . '||login1=' . $u->info['login'] . '||s2=' . $btl->users[$btl->uids[$u->info['enemy']]]['sex'] . '||t2=' . $btl->users[$btl->uids[$u->info['enemy']]]['team'] . '||login2=' . $btl->users[$btl->uids[$u->info['enemy']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => ($btl->hodID + 1), 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + if ($rg > 0) { + $rg = '+' . $rg; + } else { + $rg = '--'; + } + $mas1['text'] = '{tm1} {u1} {1x16x0} заклинание "' . $pl['name'] . '" на {u2} и восстановил магические силы. ' . $rg . ' [' . floor($btl->stats[$btl->uids[$u->info['id']]]['mpNow']) . '/' . $btl->stats[$btl->uids[$u->info['id']]]['mpAll'] . '] (Мана)'; + $btl->add_log($mas1); - - //отнимаем НР у противника - if($hpmin>0) - { - if(isset($hpmin) && $uen>0 && $btl->stats[$btl->uids[$uen]]['hpNow']>0) - { - $this->magicAtack($ue,$hpmin,2,$pl,$eff,0); - mg2static_points($uen,$btl->stats[$btl->uids[$uen]]); - }else{ - $cup = true; //не удалось использовать прием - } - } + $mgd = mysql_fetch_array(mysql_query('SELECT `a`.`id` FROM `eff_users` AS `a` JOIN `priems` AS `b` ON `b`.`id` = `a`.`v2` WHERE `a`.`uid` = "' . $u->info['id'] . '" AND `a`.`v1` = "priem" AND `a`.`delete` = "0" AND `b`.`neg` = 1 ORDER BY `id` ASC LIMIT 1')); + if (isset($mgd['id'])) { + mysql_query('DELETE FROM `eff_users` WHERE `id` = "' . $mgd['id'] . '" LIMIT 1'); + } + } + + $mg['data']['add_mg2static_points'] = 0; + $mg['data']['add_zm2proc'] = 0; + $mg['data'] = Helper\Conversion::arrayToDataString($mg['data']); + + echo 'Прием "' . $pl['name'] . '" успешно использован.'; + mysql_query('UPDATE `eff_users` SET `data` = "' . $mg['data'] . '" WHERE `id` = "' . $mg['id'] . '" LIMIT 1'); + } else { + echo 'На цели нет приема "Статика", либо нет уровня заряда (Воздух)'; + $cup = true; + } + } else { + echo 'На цели нет приема "Статика", либо нет уровня заряда (Воздух)'; + $cup = true; + } + } elseif ($pl['id'] == 255) { + //Силовое поле + $re = $this->addPriem($u->info['id'], $pl['id'], -1, 0, 77, -2, $u->info['id'], 1, 'силовоеполе', 2, 1); + } elseif ($pl['id'] == 17) { + //молния [4] + $hpmin = rand(1, 42); + } elseif ($pl['id'] == 18) { + //молния [5] + $hpmin = rand(1, 50); + } elseif ($pl['id'] == 91) { + //молния [6] + $hpmin = rand(1, 60); + } elseif ($pl['id'] == 92) { + //молния [7] + $hpmin = rand(1, 73); + } elseif ($pl['id'] == 93) { + //молния [8] + $hpmin = rand(40, 50); + } elseif ($pl['id'] == 94) { + //молния [9] + $hpmin = rand(1, 105); + } elseif ($pl['id'] == 95) { + //молния [10] + $hpmin = rand(1, 126); + } elseif ($pl['id'] == 96) { + //молния [11] + $hpmin = rand(1, 151); + } elseif ($pl['id'] == 30) { + + //Знак воздуха + $re = $this->addPriem($u->info['id'], $pl['id'], -1, 0, 77, -2, $u->info['id'], 1, 'знаквоздуха', 1, 1); + } elseif ($pl['id'] == 37) { + //Цепь Исцеления [5] 1-3 цели + $rx = rand(0, 20); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] == $ue['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicRegen($btl->users[$ix], rand(1, 95), 2, $pl, $eff, 0, 0, false); + $xx++; + } + $ix++; + } + $this->magicRegen($ue, rand(1, 95), 2, $pl, $eff, 0, 0, false); + } elseif ($pl['id'] == 102) { + //Цепь Исцеления [6] 1-3 цели + $rx = rand(0, 20); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] == $ue['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicRegen($btl->users[$ix], rand(1, 115), 2, $pl, $eff, 0, 0, false); + $xx++; + } + $ix++; + } + $this->magicRegen($ue, rand(1, 115), 2, $pl, $eff, 0, 0, false); + } elseif ($pl['id'] == 103) { + //Цепь Исцеления [7] 1-3 цели + echo 1; + $rx = rand(0, 20); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] == $ue['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicRegen($btl->users[$ix], rand(1, 138), 2, $pl, $eff, 0, 0, false); + $xx++; + } + $ix++; + } + $this->magicRegen($ue, rand(1, 138), 2, $pl, $eff, 0, 0, false); + } elseif ($pl['id'] == 104) { + //Цепь Исцеления [8] 1-3 цели + $rx = rand(0, 20); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] == $ue['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicRegen($btl->users[$ix], rand(1, 165), 2, $pl, $eff, 0, 0, false); // не критует + $xx++; + } + $ix++; + } + $this->magicRegen($ue, rand(1, 165), 2, $pl, $eff, 0, 0, false); + } elseif ($pl['id'] == 105) { + //Цепь Исцеления [9] 1-3 цели + $rx = rand(0, 20); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] == $ue['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicRegen($btl->users[$ix], rand(1, 198), 2, $pl, $eff, 0, 0, false); + $xx++; + } + $ix++; + } + $this->magicRegen($ue, rand(1, 198), 2, $pl, $eff, 0, 0, false); + } elseif ($pl['id'] == 106) { + //Цепь Исцеления [10] 1-3 цели + $rx = rand(0, 20); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] == $ue['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicRegen($btl->users[$ix], rand(1, 238), 2, $pl, $eff, 0, 0, false); + $xx++; + } + $ix++; + } + $this->magicRegen($ue, rand(1, 238), 2, $pl, $eff, 0, 0, false); + } elseif ($pl['id'] == 107) { + //Цепь Исцеления [11] 1-3 цели + $rx = rand(0, 20); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] == $ue['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicRegen($btl->users[$ix], rand(1, 286), 2, $pl, $eff, 0, 0, false); + $xx++; + } + $ix++; + } + $this->magicRegen($ue, rand(1, 286), 2, $pl, $eff, 0, 0, false); + } elseif ($pl['id'] == 38) { + //Цепь Молний [6] 2-5 целей + $rx = rand(10, 40); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] != $u->info['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicAtack($btl->users[$ix], rand(1, 35), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$ix]['id'], $btl->stats[$ix]); + $xx++; + } + $ix++; + } + $this->magicAtack($ue, rand(1, 35), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'], $btl->stats[$btl->uids[$u->info['enemy']]]); + } elseif ($pl['id'] == 97) { + //Цепь Молний [7] 2-5 целей + $rx = rand(10, 40); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] != $u->info['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicAtack($btl->users[$ix], rand(1, 42), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$ix]['id'], $btl->stats[$ix]); + $xx++; + } + $ix++; + } + $this->magicAtack($ue, rand(1, 42), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'], $btl->stats[$btl->uids[$u->info['enemy']]]); + } elseif ($pl['id'] == 98) { + //Цепь Молний [8] 2-5 целей + $rx = rand(10, 40); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] != $u->info['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicAtack($btl->users[$ix], rand(1, 51), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$ix]['id'], $btl->stats[$ix]); + $xx++; + } + $ix++; + } + $this->magicAtack($ue, rand(1, 51), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'], $btl->stats[$btl->uids[$u->info['enemy']]]); + } elseif ($pl['id'] == 99) { + //Цепь Молний [9] 2-5 целей + $rx = rand(10, 40); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] != $u->info['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicAtack($btl->users[$ix], rand(1, 61), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$ix]['id'], $btl->stats[$ix]); + $xx++; + } + $ix++; + } + $this->magicAtack($ue, rand(1, 61), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'], $btl->stats[$btl->uids[$u->info['enemy']]]); + } elseif ($pl['id'] == 100) { + //Цепь Молний [10] 2-5 целей + $rx = rand(10, 40); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] != $u->info['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicAtack($btl->users[$ix], rand(1, 73), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$ix]['id'], $btl->stats[$ix]); + $xx++; + } + $ix++; + } + $this->magicAtack($ue, rand(1, 73), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'], $btl->stats[$btl->uids[$u->info['enemy']]]); + } elseif ($pl['id'] == 101) { + //Цепь Молний [11] 2-5 целей + $rx = rand(10, 40); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] != $u->info['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicAtack($btl->users[$ix], rand(1, 88), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$ix]['id'], $btl->stats[$ix]); + $xx++; + } + $ix++; + } + $this->magicAtack($ue, rand(1, 88), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'], $btl->stats[$btl->uids[$u->info['enemy']]]); + } elseif ($pl['id'] == 259) { + //Искра + if (rand(0, 1) == 1) { + //удар по противнику + $rx = 1; + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] != $u->info['team'] && $xx < $rx && $u->info['enemy'] != $btl->users[$ix]['id']) { + $this->magicAtack($btl->users[$ix], rand(1, 51), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$ix]['id'], $btl->stats[$ix]); + $xx++; + } + $ix++; + } + if ($xx == 0) { + $this->magicAtack($btl->users[$btl->uids[$u->info['enemy']]], rand(1, 41), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'], $btl->stats[$btl->uids[$u->info['enemy']]]); + } + } else { + //восстановление + $rx = 1; + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] == $ue['team'] && $xx < $rx && $uen != $btl->users[$ix]['id']) { + $this->magicRegen($btl->users[$ix], rand(1, 151), 2, $pl, $eff, 0, 0, false); + $xx++; + } + $ix++; + } + if ($xx == 0) { + $this->magicRegen($btl->users[$btl->uids[$u->info['id']]], rand(1, 151), 2, $pl, $eff, 0, 0, false); + } + } + } elseif ($pl['id'] == 39) { + //Искры [8] 1-7 целей + $rx = rand(0, 60); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] != $u->info['team'] && $xx < $rx && $u->info['enemy'] != $btl->users[$ix]['id']) { + $this->magicAtack($btl->users[$ix], rand(1, 41), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$ix]['id'], $btl->stats[$ix]); + $xx++; + } + $ix++; + } + $this->magicAtack($btl->users[$btl->uids[$u->info['enemy']]], rand(1, 41), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'], $btl->stats[$btl->uids[$u->info['enemy']]]); + } elseif ($pl['id'] == 108) { + //Искры [9] 1-7 целей + $rx = rand(0, 60); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] != $u->info['team'] && $xx < $rx && $u->info['enemy'] != $btl->users[$ix]['id']) { + $this->magicAtack($btl->users[$ix], rand(1, 50), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$ix]['id'], $btl->stats[$ix]); + $xx++; + } + $ix++; + } + $this->magicAtack($btl->users[$btl->uids[$u->info['enemy']]], rand(1, 50), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'], $btl->stats[$btl->uids[$u->info['enemy']]]); + } elseif ($pl['id'] == 109) { + //Искры [10] 1-7 целей + $rx = rand(0, 60); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] != $u->info['team'] && $xx < $rx && $u->info['enemy'] != $btl->users[$ix]['id']) { + $this->magicAtack($btl->users[$ix], rand(1, 60), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$ix]['id'], $btl->stats[$ix]); + $xx++; + } + $ix++; + } + $this->magicAtack($btl->users[$btl->uids[$u->info['enemy']]], rand(1, 60), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'], $btl->stats[$btl->uids[$u->info['enemy']]]); + } elseif ($pl['id'] == 110) { + //Искры [11] 1-7 целей + $rx = rand(0, 60); + $rx = floor($rx / 10); + $xx = 0; + $ix = 0; + while ($ix < count($btl->users)) { + + if ($btl->stats[$ix]['hpNow'] > 0 && $btl->users[$ix]['team'] != $u->info['team'] && $xx < $rx && $u->info['enemy'] != $btl->users[$ix]['id']) { + $this->magicAtack($btl->users[$ix], rand(1, 72), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$ix]['id'], $btl->stats[$ix]); + $xx++; + } + $ix++; + } + $this->magicAtack($btl->users[$btl->uids[$u->info['enemy']]], rand(1, 72), 2, $pl, $eff, 0, 0, 0, 0, false); + mg2static_points($btl->users[$btl->uids[$u->info['enemy']]]['id'], $btl->stats[$btl->uids[$u->info['enemy']]]); + } + + + //отнимаем НР у противника + if ($hpmin > 0) { + if (isset($hpmin) && $uen > 0 && $btl->stats[$btl->uids[$uen]]['hpNow'] > 0) { + $this->magicAtack($ue, $hpmin, 2, $pl, $eff, 0); + mg2static_points($uen, $btl->stats[$btl->uids[$uen]]); + } else { + $cup = true; //не удалось использовать прием + } + } } ?> \ No newline at end of file diff --git a/_incl_data/class/priems/bloodring2.php b/_incl_data/class/priems/bloodring2.php index e8f1ec14..8b94d59f 100644 --- a/_incl_data/class/priems/bloodring2.php +++ b/_incl_data/class/priems/bloodring2.php @@ -1,65 +1,63 @@ info['battle'] > 0 && $u->info['hpNow'] >= 1) -{ - if($btl->info['team_win'] != -1 ) { - $u->error = 'Использовать кольцо возможно только во время боя'; - }elseif($btl->info['razdel'] != 5) { - $u->error = 'Использование кольца возможно только в хаотичных поединках!'; - }elseif(ceil($u->info['tactic6']) < 5) { - $u->error = 'Не хватает '.(5-ceil($u->info['tactic6'])).' для "Поглотить Кровь"'; - }else{ - if($st['td_cast_data'] != date('d.m.Y')) { - $st['td_cast_data'] = date('d.m.Y'); - $st['td_cast'] = 0; - } - - if($st['td_cast'] > 5) { - $u->error = 'Использование кольца возможно не более 6 раз в сутки!'; - }else{ - $bu = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `v1` = "priem" AND `v2` = "229" AND `delete` = "0" LIMIT 1')); - - $st['td_cast']++; - - $stimp = \Core\ConversionHelper::arrayToDataString($st); - mysql_query('UPDATE `items_users` SET `data` = "'.mysql_real_escape_string($stimp).'" WHERE `id` = "'.$itm['id'].'" LIMIT 1'); - - mysql_query('UPDATE `stats` SET `tactic6` = `tactic6` - 5 WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['tactic6'] -= 5; - - //\User\ItemsModel::addItem(3136,$u->info['id'],'|sudba='.$u->info['login']); - - //Если эффект есть, тогда добавляем к нему +1 каст (Максимум 6) - if(isset($bu['id'])) { - if($bu['x'] < 6) { - mysql_query('UPDATE `eff_users` SET `x` = `x` + 1 WHERE `id` = "'.$bu['id'].'" LIMIT 1'); - } - }else{ - $ins = mysql_query('INSERT INTO `eff_users` (`file_finish`,`hod`,`v2`,`img2`,`id_eff`,`uid`,`name`,`data`,`overType`,`timeUse`,`v1`) VALUES - ("bloodring2_end","-1",229,"invoke_create_bloodstone.gif",22,"'.$u->info['id'].'","Поглотить Кровь","","30","77","priem")'); - } - - $u->error = 'Вы успешно использовали заклинание "Поглотить Кровь"
В случаи победы Вы получите "Кровавый Рубин"'; - - //Лог боя - $lastHOD = mysql_fetch_array(mysql_query('SELECT * FROM `battle_logs` WHERE `battle` = "'.$u->info['battle'].'" ORDER BY `id_hod` DESC LIMIT 1')); - $id_hod = $lastHOD['id_hod']; - if($lastHOD['type']!=6) { - $id_hod++; - } - $txt = ''.$txt.''; - if($u->info['sex']==1) { - $txt = '{u1} применила заклинание "Поглотить Кровь".'; - }else{ - $txt = '{u1} применил заклинание "Поглотить Кровь".'; - } - mysql_query('INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("'.time().'","'.$u->info['battle'].'","'.($id_hod).'","{tm1} '.$txt.'","login1='.$u->info['login'].'||t1='.$u->info['team'].'||time1='.time().'","","","","","6")'); - } - } +if ($st['usefromfile'] == 'bloodring2' && $u->info['battle'] > 0 && $u->info['hpNow'] >= 1) { + if ($btl->info['team_win'] != -1) { + $u->error = 'Использовать кольцо возможно только во время боя'; + } elseif ($btl->info['razdel'] != 5) { + $u->error = 'Использование кольца возможно только в хаотичных поединках!'; + } elseif (ceil($u->info['tactic6']) < 5) { + $u->error = 'Не хватает ' . (5 - ceil($u->info['tactic6'])) . ' для "Поглотить Кровь"'; + } else { + if ($st['td_cast_data'] != date('d.m.Y')) { + $st['td_cast_data'] = date('d.m.Y'); + $st['td_cast'] = 0; + } + + if ($st['td_cast'] > 5) { + $u->error = 'Использование кольца возможно не более 6 раз в сутки!'; + } else { + $bu = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `v1` = "priem" AND `v2` = "229" AND `delete` = "0" LIMIT 1')); + + $st['td_cast']++; + + $stimp = Helper\Conversion::arrayToDataString($st); + mysql_query('UPDATE `items_users` SET `data` = "' . mysql_real_escape_string($stimp) . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'); + + mysql_query('UPDATE `stats` SET `tactic6` = `tactic6` - 5 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['tactic6'] -= 5; + + //\User\ItemsModel::addItem(3136,$u->info['id'],'|sudba='.$u->info['login']); + + //Если эффект есть, тогда добавляем к нему +1 каст (Максимум 6) + if (isset($bu['id'])) { + if ($bu['x'] < 6) { + mysql_query('UPDATE `eff_users` SET `x` = `x` + 1 WHERE `id` = "' . $bu['id'] . '" LIMIT 1'); + } + } else { + $ins = mysql_query('INSERT INTO `eff_users` (`file_finish`,`hod`,`v2`,`img2`,`id_eff`,`uid`,`name`,`data`,`overType`,`timeUse`,`v1`) VALUES + ("bloodring2_end","-1",229,"invoke_create_bloodstone.gif",22,"' . $u->info['id'] . '","Поглотить Кровь","","30","77","priem")'); + } + + $u->error = 'Вы успешно использовали заклинание "Поглотить Кровь"
В случаи победы Вы получите "Кровавый Рубин"'; + + //Лог боя + $lastHOD = mysql_fetch_array(mysql_query('SELECT * FROM `battle_logs` WHERE `battle` = "' . $u->info['battle'] . '" ORDER BY `id_hod` DESC LIMIT 1')); + $id_hod = $lastHOD['id_hod']; + if ($lastHOD['type'] != 6) { + $id_hod++; + } + $txt = '' . $txt . ''; + if ($u->info['sex'] == 1) { + $txt = '{u1} применила заклинание "Поглотить Кровь".'; + } else { + $txt = '{u1} применил заклинание "Поглотить Кровь".'; + } + mysql_query('INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("' . time() . '","' . $u->info['battle'] . '","' . ($id_hod) . '","{tm1} ' . $txt . '","login1=' . $u->info['login'] . '||t1=' . $u->info['team'] . '||time1=' . time() . '","","","","","6")'); + } + } } ?> \ No newline at end of file diff --git a/_incl_data/class/priems/bot_priems1.end.php b/_incl_data/class/priems/bot_priems1.end.php index 489b0909..7b3ac5c6 100644 --- a/_incl_data/class/priems/bot_priems1.end.php +++ b/_incl_data/class/priems/bot_priems1.end.php @@ -1,1502 +1,1430 @@ $this->users[$this->uids[$uid1]]['hpNow'], 'hp_u2' => $this->users[$this->uids[$uid2]]['hpNow']); +if ($e['bm_a1'] == 'bot_priems1') { + unset($pr_vars); + $pr_use = 0; + $pr_vars = ['hp_u1' => $this->users[$this->uids[$uid1]]['hpNow'], 'hp_u2' => $this->users[$this->uids[$uid2]]['hpNow']]; -if ($this->users[$this->uids[$uid1]]['hpNow'] > 0){ + if ($this->users[$this->uids[$uid1]]['hpNow'] > 0) { - ###=======================Потерянный вход начало ========================== ### - if( $this->users[$this->uids[$uid1]]['bot_id'] == 499) { - //Сила - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 12; - $pr_vars['priem_use'][0]['name'] = 'Проклятье Валлуара'; - $pr_vars['priem_use'][0]['id'] = 351; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_team_f'][0]['chance'] = 10; - $pr_vars['priem_team_f'][0]['name'] = 'Кровавый Плевок'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 6; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(900,1800); - $pr_vars['priem_team_f'][0]['priem'] = 160; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 1; - $pr_vars['priem_team_f'][0]['krituet'] = false; - - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 498) { - ### Боль - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 8; - $pr_vars['priem_use'][0]['name'] = 'Ошеломить'; - $pr_vars['priem_use'][0]['id'] = 189; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_team_f'][0]['chance'] = 10; - $pr_vars['priem_team_f'][0]['name'] = 'Вспышка Боли'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 1; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(900,1800); - $pr_vars['priem_team_f'][0]['priem'] = 160; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 1; - $pr_vars['priem_team_f'][0]['krituet'] = false; - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 497) { - ### Душа - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Ошеломить'; - $pr_vars['priem_use'][0]['id'] = 189; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_team_f'][0]['chance'] = 7; - $pr_vars['priem_team_f'][0]['name'] = 'Темный Удар'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 1; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(500,1000); - $pr_vars['priem_team_f'][0]['priem'] = 160; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 1; - $pr_vars['priem_team_f'][0]['krituet'] = false; - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 520) { - ### Меткий Глаз - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 20; - $pr_vars['priem_use'][0]['name'] = 'Снайпер'; - $pr_vars['priem_use'][0]['id'] = 352; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 522) { - ### Заправщик - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 15; - $pr_vars['priem_use'][0]['name'] = 'Храбрый Дух'; - $pr_vars['priem_use'][0]['id'] = 353; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 517) { - ### Тяжпех ( пропуск на 7 ходов ) - $pr_use = 1; - if (rand(1,100)>90 && mt_rand(1,100)>50) - { - $pr_vars['priem_use_p']['kolvo'] = 7; - $pr_vars['priem_use_p']['d_min'] = 150; - $pr_vars['priem_use_p']['d_max'] = 250; - } - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 505) { - ### Злыдень ( пропуск на 3 хода ) - $pr_use = 1; - if (rand(1,100)>90 && mt_rand(1,100)>50) - { - $pr_vars['priem_use_p']['kolvo'] = 3; - $pr_vars['priem_use_p']['d_min'] = 150; - $pr_vars['priem_use_p']['d_max'] = 250; - } - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 509) { - ### Бугаг ( пуропуск на 5 ходов ) - $pr_use = 1; - if (rand(1,100)>90 && mt_rand(1,100)>50) - { - $pr_vars['priem_use_p']['kolvo'] = 5; - $pr_vars['priem_use_p']['d_min'] = 150; - $pr_vars['priem_use_p']['d_max'] = 250; - } - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 512) { - ### Буйвол ( пропуск на 7 ходов ) - $pr_use = 1; - if (rand(1,100)>90 && mt_rand(1,100)>50) - { - $pr_vars['priem_use_p']['kolvo'] = 7; - $pr_vars['priem_use_p']['d_min'] = 150; - $pr_vars['priem_use_p']['d_max'] = 250; - } - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 515) { - ### Гнеющий Дух - if (rand(1,100)>90 && mt_rand(1,100)>50) - { - $pr_vars['priem_use_e']['name'] = "Гниение"; - $pr_vars['priem_use_e']['uron'] = floor($this->stats[$this->uids[$uid2]]['hpAll']/5); - } - } - ###====================Потерянный вход Конец=======================### - - - ###================================================================### - - - ###====================КАТАКОМБЫ БОТЫ ПРИЕМЫ НАЧАЛО================### - elseif( $this->users[$this->uids[$uid1]]['bot_id'] == 287 || $this->users[$this->uids[$uid1]]['bot_id'] == 286) { - //Древний страж - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Стойкость'; - $pr_vars['priem_use'][0]['id'] = 13; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - //Пламенная вспышка - $pr_vars['priem_team_f'][0]['chance'] = 15; - $pr_vars['priem_team_f'][0]['name'] = 'Пламенная Вспышка'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 1; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(300,600); - $pr_vars['priem_team_f'][0]['priem'] = 73; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 0; - $pr_vars['priem_team_f'][0]['krituet'] = true; - } + ###=======================Потерянный вход начало ========================== ### + if ($this->users[$this->uids[$uid1]]['bot_id'] == 499) { + //Сила + $pr_use = 1; - elseif( $this->users[$this->uids[$uid1]]['bot_id'] == 283) { - //Шут повелителя - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 15; - $pr_vars['priem_use'][0]['name'] = 'Ярость'; - $pr_vars['priem_use'][0]['id'] = 14; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 3; - $pr_vars['priem_use'][1]['name'] = 'Стойкость'; - $pr_vars['priem_use'][1]['id'] = 13; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 10; - $pr_vars['priem_use'][2]['name'] = 'Шокирующий удар'; - $pr_vars['priem_use'][2]['id'] = 235; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - - if( rand(0,100) > 50 && rand(0,100) < 10 ) { - //Волшебный фокус ворует 8-12% маны - $pr_vars['priem_regen2']['mp'] = floor($this->stats[$this->uids[$uid2]]['hpAll']/100*rand(8,12)); - $pr_vars['priem_regen2']['chance'] = 50; - $pr_vars['priem_regen2']['name'] = 'Волшебный Фокус'; - $this->stats[$this->uids[$uid2]]['mpNow'] -= $pr_vars['priem_regen2']['mp']; - if( $this->stats[$this->uids[$uid2]]['mpNow'] < 0 ) { - $this->stats[$this->uids[$uid2]]['mpNow'] = 0; - } - mysql_query('UPDATE `stats` SET `mpNow` = "'.$this->stats[$this->uids[$uid2]]['mpNow'].'" WHERE `id` = "'.$this->users[$this->uids[$uid2]]['id'].'" LIMIT 1'); - }elseif( rand(0,100) > 50 && rand(0,100) < 10 ) { - if( $this->stats[$this->uids[$uid1]]['hpNow'] <= $this->stats[$this->uids[$uid1]]['hpAll']/4 ) { - //Украсть душу - $pr_vars['priem_regen']['hp'] = floor($this->stats[$this->uids[$uid2]]['hpAll']-1); - $pr_vars['priem_regen']['chance'] = 100; - $pr_vars['priem_regen']['name'] = 'Украсть Душу'; - $this->stats[$this->uids[$uid2]]['hpNow'] -= $pr_vars['priem_regen']['hp']; - if( $this->stats[$this->uids[$uid2]]['hpNow'] < 1 ) { - $this->stats[$this->uids[$uid2]]['hpNow'] = 1; - } - mysql_query('UPDATE `stats` SET `hpNow` = "'.$this->stats[$this->uids[$uid2]]['hpNow'].'" WHERE `id` = "'.$this->users[$this->uids[$uid2]]['id'].'" LIMIT 1'); - // - $pr_vars['priem_use'][3]['chance'] = 100; - $pr_vars['priem_use'][3]['name'] = 'Украденная Душа'; - $pr_vars['priem_use'][3]['id'] = 341; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; - // - } - }else{ - if( $this->stats[$this->uids[$uid1]]['hpNow'] <= $this->stats[$this->uids[$uid1]]['hpAll']/2 ) - { - $pr_vars['priem_use'][3]['chance'] = 20; - $pr_vars['priem_use'][3]['name'] = 'Честная Игра'; - $pr_vars['priem_use'][3]['id'] = 217; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; - } - } - } - - elseif( $this->users[$this->uids[$uid1]]['bot_id'] == 285) { - //Проклятые - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 5; - $pr_vars['priem_use'][0]['name'] = 'Абсолютная Защита'; - $pr_vars['priem_use'][0]['id'] = 140; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 7; - $pr_vars['priem_use'][1]['name'] = 'Усиленные Удары'; - $pr_vars['priem_use'][1]['id'] = 193; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_team_f'][0]['chance'] = 10; - $pr_vars['priem_team_f'][0]['name'] = 'Проклятый Удар'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 6; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(100,300); - $pr_vars['priem_team_f'][0]['priem'] = 160; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 1; - $pr_vars['priem_team_f'][0]['krituet'] = false; - - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 542) { - ##Зомби - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Проклятье Голодного Мертвеца'; - $pr_vars['priem_use'][0]['id'] = 339; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_team_f'][0]['chance'] = 10; - $pr_vars['priem_team_f'][0]['name'] = 'Ядовитый Укус'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 3; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(30,70); - $pr_vars['priem_team_f'][0]['priem'] = 83; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 0; - $pr_vars['priem_team_f'][0]['krituet'] = true; - - $pr_vars['priem_use'][1]['chance'] = 10; - $pr_vars['priem_use'][1]['name'] = 'Стылое касание'; - $pr_vars['priem_use'][1]['id'] = 338; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid2]]; - - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 277) { - ### Пипка - $pr_use = 1; - if ($this->hodID == 1) - { - $pr_vars['priem_use_p']['kolvo'] = 3; - $pr_vars['priem_use_p']['d_min'] = 150; - $pr_vars['priem_use_p']['d_max'] = 250; - } - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 251) { - ### Офицер Глубин - $pr_use = 1; - - $pr_vars['priem_regen']['hp'] = 500; - $pr_vars['priem_regen']['chance'] = 3; - $pr_vars['priem_regen']['name'] = 'Эликсир лечения'; - - $pr_vars['priem_use'][0]['chance'] = 9; - $pr_vars['priem_use'][0]['name'] = 'Ярость'; - $pr_vars['priem_use'][0]['id'] = 14; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 20; - $pr_vars['priem_use'][1]['name'] = 'Сонный яд'; - $pr_vars['priem_use'][1]['id'] = 333; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_use'][2]['chance'] = 5; - $pr_vars['priem_use'][2]['name'] = 'Танец Лезвий'; - $pr_vars['priem_use'][2]['id'] = 48; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - - - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 284) { - ### Трупожор - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Пришпилить'; - $pr_vars['priem_use'][0]['id'] = 345; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_team_f'][0]['chance'] = 10; - $pr_vars['priem_team_f'][0]['name'] = 'Сожрать'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 3; - $pr_vars['priem_team_f'][0]['hp'] = rand(400,800); - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(400,800); - $pr_vars['priem_team_f'][0]['priem'] = 164; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 1; - $pr_vars['priem_team_f'][0]['krituet'] = true; - $pr_vars['priem_team_f'][0]['hpregen'] = true; - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 530) { - ### Слизь - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Ярость'; - $pr_vars['priem_use'][0]['id'] = 14; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 10; - $pr_vars['priem_use'][1]['name'] = 'Поцелуй Слизи'; - $pr_vars['priem_use'][1]['id'] = 335; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_use'][2]['chance'] = 7; - $pr_vars['priem_use'][2]['name'] = 'Удачный удар'; - $pr_vars['priem_use'][2]['id'] = 11; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][3]['chance'] = 7; - $pr_vars['priem_use'][3]['name'] = 'Хлебнуть Крови'; - $pr_vars['priem_use'][3]['id'] = 240; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_team_f'][0]['chance'] = 15; - $pr_vars['priem_team_f'][0]['name'] = 'Кислотный Плевок'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 3; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(100,400); - $pr_vars['priem_team_f'][0]['priem'] = 164; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 0; - $pr_vars['priem_team_f'][0]['krituet'] = false; - - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 288) { - ### Повелитель - $pr_use = 1; + $pr_vars['priem_use'][0]['chance'] = 12; + $pr_vars['priem_use'][0]['name'] = 'Проклятье Валлуара'; + $pr_vars['priem_use'][0]['id'] = 351; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Ярость Павших'; - $pr_vars['priem_use'][0]['id'] = 347; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 5; - $pr_vars['priem_use'][1]['name'] = 'Обреченность'; - $pr_vars['priem_use'][1]['id'] = 204; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 8; - $pr_vars['priem_use'][2]['name'] = 'Проклятье Стражей'; - $pr_vars['priem_use'][2]['id'] = 348; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_use'][3]['chance'] = 12; - $pr_vars['priem_use'][3]['name'] = 'Защита Ангела'; - $pr_vars['priem_use'][3]['id'] = 349; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; - - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 275) { - ### Чернокнижник - $pr_use = 1; + $pr_vars['priem_team_f'][0]['chance'] = 10; + $pr_vars['priem_team_f'][0]['name'] = 'Кровавый Плевок'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 6; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(900, 1800); + $pr_vars['priem_team_f'][0]['priem'] = 160; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 1; + $pr_vars['priem_team_f'][0]['krituet'] = false; - $pr_vars['priem_use'][0]['chance'] = 5; - $pr_vars['priem_use'][0]['name'] = 'Ярость'; - $pr_vars['priem_use'][0]['id'] = 14; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 5; - $pr_vars['priem_use'][1]['name'] = 'Стойкость'; - $pr_vars['priem_use'][1]['id'] = 13; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 9; - $pr_vars['priem_use'][2]['name'] = 'Проклятье Тьмы'; - $pr_vars['priem_use'][2]['id'] = 336; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_team_f'][0]['chance'] = 10; - $pr_vars['priem_team_f'][0]['name'] = 'Касание Тьмы'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 6; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(100,300); - $pr_vars['priem_team_f'][0]['priem'] = 160; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 0; - $pr_vars['priem_team_f'][0]['krituet'] = false; - - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 266) { - ### Епископ - $pr_use = 1; - - $pr_vars['priem_regen']['hp'] = 300; - $pr_vars['priem_regen']['chance'] = 3; - $pr_vars['priem_regen']['name'] = 'Лечение'; - - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Святая Ярость'; - $pr_vars['priem_use'][0]['id'] = 334; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_use'][1]['chance'] = 8; - $pr_vars['priem_use'][1]['name'] = 'Обречённость'; - $pr_vars['priem_use'][1]['id'] = 204; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 9; - $pr_vars['priem_use'][2]['name'] = 'Абсолютная Защита'; - $pr_vars['priem_use'][2]['id'] = 140; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_team_f'][0]['chance'] = 8; - $pr_vars['priem_team_f'][0]['name'] = 'Разрушение'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 6; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(100,300); - $pr_vars['priem_team_f'][0]['hp'] = round($pr_vars['priem_team_f'][1]['hp_dmg']/2); - $pr_vars['priem_team_f'][0]['priem'] = 160; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 0; - $pr_vars['priem_team_f'][0]['krituet'] = false; - $pr_vars['priem_team_f'][0]['hpregen'] = true; - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 279) { - ### Проклятый Пленник - $pr_use = 1; - - $pr_vars['priem_regen']['hp'] = 300; - $pr_vars['priem_regen']['chance'] = 3; - $pr_vars['priem_regen']['name'] = 'Свежая Кровь'; - - $pr_vars['priem_use'][0]['chance'] = 8; - $pr_vars['priem_use'][0]['name'] = 'Точный Удар'; - $pr_vars['priem_use'][0]['id'] = 219; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 9; - $pr_vars['priem_use'][1]['name'] = 'Абсолютная Защита'; - $pr_vars['priem_use'][1]['id'] = 140; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - $pr_vars['priem_use'][1]['no_chat'] = true; - - $pr_vars['priem_use'][2]['chance'] = 7; - $pr_vars['priem_use'][2]['name'] = 'Танец Ветра'; - $pr_vars['priem_use'][2]['id'] = 8; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_team_f'][0]['chance'] = 8; - $pr_vars['priem_team_f'][0]['name'] = 'Взрыв'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 6; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(800,1600); - $pr_vars['priem_team_f'][0]['priem'] = 160; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 0; - $pr_vars['priem_team_f'][0]['krituet'] = false; - - // Попытка клонирования - if( rand(0,100) > 80 ) //&& rand(0,100) < 5 - - { - $bot_cou = mysql_fetch_array(mysql_query('SELECT COUNT(`id`) FROM `users` WHERE `login` LIKE "%'.$this->users[$this->uids[$uid2]]['login'].' (клон%" AND `battle` = "'.$this->info['id'].'" LIMIT 1')); - $bot_cou = $bot_cou[0]+1; - - if ($bot_cou<2 && $this->stats[$this->uids[$uid1]]['hpNow'] <= $this->stats[$this->uids[$uid1]]['hpAll']/2) - { - $clone = array( - 'id' => $this->users[$this->uids[$uid2]]['id'], - 'login' => $this->users[$this->uids[$uid2]]['login'].' (клон '.$bot_cou.')', - 'level' => $this->users[$this->uids[$uid2]]['level'], - 'city' => $this->users[$this->uids[$uid2]]['city'], - 'cityreg' => $this->users[$this->uids[$uid2]]['cityreg'], - 'name' => $this->users[$this->uids[$uid2]]['name'], - 'sex' => $this->users[$this->uids[$uid2]]['sex'], - 'hobby' => $this->users[$this->uids[$uid2]]['hobby'], - 'time_reg' => $this->users[$this->uids[$uid2]]['time_reg'], - 'obraz' => $this->users[$this->uids[$uid2]]['obraz'], - 'stats' => $this->users[$this->uids[$uid2]]['stats'], - 'upLevel' => $this->users[$this->uids[$uid2]]['upLevel'], - 'priems' => $this->users[$this->uids[$uid2]]['priems'], - 'loclon' => true, - 'inTurnir' => $this->users[$this->uids[$uid2]]['inTurnir'] - ); - $bot = $u->addNewbot(1,NULL,$clone,NULL,true); - mysql_query('UPDATE `stats` SET `team` = "'.$this->users[$this->uids[$uid1]]['team'].'",`hpNow` = "'.$this->users[$this->uids[$uid2]]['hpNow'].'",`mpNow` = "'.$this->users[$this->uids[$uid2]]['mpNow'].'" WHERE `id` = "'.$bot.'" LIMIT 1'); - mysql_query('UPDATE `users` SET `battle` = "'.$this->info['id'].'" WHERE `id` = "'.$bot.'" LIMIT 1'); - //Доабвляем лог - - $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "Клонирование" и призвал клона '.$this->users[$this->uids[$uid2]]['login'].'.'; - $pr_vars['mas']['vLog'] = 'time1='.time().'||s1='.$this->users[$this->uids[$uid1]]['sex'].'||t1='.$this->users[$this->uids[$uid1]]['team'].'||login1='.$this->users[$this->uids[$uid1]]['login'].'||s2='.$this->users[$this->uids[$uid2]]['sex'].'||t2='.$this->users[$this->uids[$uid2]]['team'].'||login2='.$this->users[$this->uids[$uid2]]['login'].''; - $pr_vars['mas'] = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID+1),'text'=>$pr_vars['mas']['text'],'vars'=>$pr_vars['mas']['vLog'],'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $this->add_log($pr_vars['mas']); - - } - } - // Конец - - } - - - ###======================Конец Катакомб===================### - - - ############################################################# - - - ###======================Начало Излома====================### - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 416) { - $pr_use = 1; - #Валентайский Охотник# - - $pr_vars['priem_use'][0]['chance'] = 7; - $pr_vars['priem_use'][0]['name'] = 'Танец Ветра'; - $pr_vars['priem_use'][0]['id'] = 8; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 10; - $pr_vars['priem_use'][1]['name'] = 'Предвидение'; - $pr_vars['priem_use'][1]['id'] = 10; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 417) { - $pr_use = 1; - #Шипокрыл Хаоса# - - $pr_vars['priem_use'][0]['chance'] = 7; - $pr_vars['priem_use'][0]['name'] = 'Сокрушающий Удар'; - $pr_vars['priem_use'][0]['id'] = 138; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 10; - $pr_vars['priem_use'][1]['name'] = 'Усиленные Удары'; - $pr_vars['priem_use'][1]['id'] = 193; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 418) { - $pr_use = 1; - #Шипокрыл# - - $pr_vars['priem_use'][0]['chance'] = 15; - $pr_vars['priem_use'][0]['name'] = 'Сильный Удар'; - $pr_vars['priem_use'][0]['id'] = 4; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 5; - $pr_vars['priem_use'][1]['name'] = 'Слепая Удача'; - $pr_vars['priem_use'][1]['id'] = 47; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 419) { - $pr_use = 1; - #Лик Хаоса# - - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Жажда Крови'; - $pr_vars['priem_use'][0]['id'] = 188; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 5; - $pr_vars['priem_use'][1]['name'] = 'Призрачная Защита'; - $pr_vars['priem_use'][1]['id'] = 141; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 15; //7 - $pr_vars['priem_use'][2]['name'] = 'Удачный Удар'; - $pr_vars['priem_use'][2]['id'] = 11; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - } - - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 420) { - $pr_use = 1; - #Фанатик Хаоса# - - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Обреченность'; - $pr_vars['priem_use'][0]['id'] = 204; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 12; - $pr_vars['priem_use'][1]['name'] = 'Разгадать Тактику'; - $pr_vars['priem_use'][1]['id'] = 217; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 8; - $pr_vars['priem_use'][2]['name'] = 'Кровожадность'; - $pr_vars['priem_use'][2]['id'] = 305; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - #1# - } - ###==========================КОНЕЦ ИЗЛОМА=====================### - - - ################################################################# - - - ###==========================Начало Грибницы==================### - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 295) { - $pr_use = 1; - #Пылающий Паразит - /*if( $this->stats[$this->uids[$uid1]]['hpNow'] <= $this->stats[$this->uids[$uid2]]['hpAll']/2 ) - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Пожирающее Пламя'; - $pr_vars['priem_use'][0]['id'] = 57; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]];*/ - - $pr_vars['priem_team_f'][0]['chance'] = 20; - $pr_vars['priem_team_f'][0]['name'] = 'Испепеление'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 1; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(30,60); - $pr_vars['priem_team_f'][0]['priem'] = 52; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 0; - $pr_vars['priem_team_f'][0]['krituet'] = false; - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 300) { - $pr_use = 1; - #Искрящийся Паразит - $pr_vars['priem_team_f'][0]['chance'] = 20; - $pr_vars['priem_team_f'][0]['name'] = 'Молния'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 2; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(30,60); - $pr_vars['priem_team_f'][0]['priem'] = 93; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 0; - $pr_vars['priem_team_f'][0]['krituet'] = false; - - $pr_vars['priem_team_f'][1]['chance'] = 20; - $pr_vars['priem_team_f'][1]['name'] = 'Искра'; - $pr_vars['priem_team_f'][1]['x'] = 1; - $pr_vars['priem_team_f'][1]['type'] = 2; - $pr_vars['priem_team_f'][1]['hp'] = 0; - $pr_vars['priem_team_f'][1]['hp_dmg'] = rand(30,60); - $pr_vars['priem_team_f'][1]['priem'] = 259; - $pr_vars['priem_team_f'][1]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][1]['on'] = $uid; - $pr_vars['priem_team_f'][1]['nomf'] = 0; - $pr_vars['priem_team_f'][1]['fiz'] = 0; - $pr_vars['priem_team_f'][1]['krituet'] = false; - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 296) { - $pr_use = 1; - #Гусенец с 1 этажа# - - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Свернутся'; - $pr_vars['priem_use'][0]['id'] = 355; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 308) { - $pr_use = 1; - #Гусенец с 3 этажа# - if( $this->stats[$this->uids[$uid1]]['hpNow'] <= $this->stats[$this->uids[$uid2]]['hpAll']/4 ) - $pr_vars['priem_use'][0]['chance'] = 25; - $pr_vars['priem_use'][0]['name'] = 'Свернутся'; - $pr_vars['priem_use'][0]['id'] = 354; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - } - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 297) { - $pr_use = 1; - #скользкий рогоносец# - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Вязкая Слизь'; - $pr_vars['priem_use'][0]['id'] = 356; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; - } + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 498) { + ### Боль + $pr_use = 1; -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 124) { + $pr_vars['priem_use'][0]['chance'] = 8; + $pr_vars['priem_use'][0]['name'] = 'Ошеломить'; + $pr_vars['priem_use'][0]['id'] = 189; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; + + $pr_vars['priem_team_f'][0]['chance'] = 10; + $pr_vars['priem_team_f'][0]['name'] = 'Вспышка Боли'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 1; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(900, 1800); + $pr_vars['priem_team_f'][0]['priem'] = 160; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 1; + $pr_vars['priem_team_f'][0]['krituet'] = false; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 497) { + ### Душа + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Ошеломить'; + $pr_vars['priem_use'][0]['id'] = 189; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; + + $pr_vars['priem_team_f'][0]['chance'] = 7; + $pr_vars['priem_team_f'][0]['name'] = 'Темный Удар'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 1; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(500, 1000); + $pr_vars['priem_team_f'][0]['priem'] = 160; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 1; + $pr_vars['priem_team_f'][0]['krituet'] = false; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 520) { + ### Меткий Глаз + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 20; + $pr_vars['priem_use'][0]['name'] = 'Снайпер'; + $pr_vars['priem_use'][0]['id'] = 352; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 522) { + ### Заправщик + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 15; + $pr_vars['priem_use'][0]['name'] = 'Храбрый Дух'; + $pr_vars['priem_use'][0]['id'] = 353; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 517) { + ### Тяжпех ( пропуск на 7 ходов ) + $pr_use = 1; + if (rand(1, 100) > 90 && mt_rand(1, 100) > 50) { + $pr_vars['priem_use_p']['kolvo'] = 7; + $pr_vars['priem_use_p']['d_min'] = 150; + $pr_vars['priem_use_p']['d_max'] = 250; + } + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 505) { + ### Злыдень ( пропуск на 3 хода ) + $pr_use = 1; + if (rand(1, 100) > 90 && mt_rand(1, 100) > 50) { + $pr_vars['priem_use_p']['kolvo'] = 3; + $pr_vars['priem_use_p']['d_min'] = 150; + $pr_vars['priem_use_p']['d_max'] = 250; + } + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 509) { + ### Бугаг ( пуропуск на 5 ходов ) + $pr_use = 1; + if (rand(1, 100) > 90 && mt_rand(1, 100) > 50) { + $pr_vars['priem_use_p']['kolvo'] = 5; + $pr_vars['priem_use_p']['d_min'] = 150; + $pr_vars['priem_use_p']['d_max'] = 250; + } + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 512) { + ### Буйвол ( пропуск на 7 ходов ) + $pr_use = 1; + if (rand(1, 100) > 90 && mt_rand(1, 100) > 50) { + $pr_vars['priem_use_p']['kolvo'] = 7; + $pr_vars['priem_use_p']['d_min'] = 150; + $pr_vars['priem_use_p']['d_max'] = 250; + } + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 515) { + ### Гнеющий Дух + if (rand(1, 100) > 90 && mt_rand(1, 100) > 50) { + $pr_vars['priem_use_e']['name'] = "Гниение"; + $pr_vars['priem_use_e']['uron'] = floor($this->stats[$this->uids[$uid2]]['hpAll'] / 5); + } + } + ###====================Потерянный вход Конец=======================### + + + ###================================================================### + + + ###====================КАТАКОМБЫ БОТЫ ПРИЕМЫ НАЧАЛО================### + elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 287 || $this->users[$this->uids[$uid1]]['bot_id'] == 286) { + //Древний страж + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Стойкость'; + $pr_vars['priem_use'][0]['id'] = 13; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + //Пламенная вспышка + $pr_vars['priem_team_f'][0]['chance'] = 15; + $pr_vars['priem_team_f'][0]['name'] = 'Пламенная Вспышка'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 1; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(300, 600); + $pr_vars['priem_team_f'][0]['priem'] = 73; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 0; + $pr_vars['priem_team_f'][0]['krituet'] = true; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 283) { + //Шут повелителя + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 15; + $pr_vars['priem_use'][0]['name'] = 'Ярость'; + $pr_vars['priem_use'][0]['id'] = 14; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 3; + $pr_vars['priem_use'][1]['name'] = 'Стойкость'; + $pr_vars['priem_use'][1]['id'] = 13; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][2]['chance'] = 10; + $pr_vars['priem_use'][2]['name'] = 'Шокирующий удар'; + $pr_vars['priem_use'][2]['id'] = 235; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + + if (rand(0, 100) > 50 && rand(0, 100) < 10) { + //Волшебный фокус ворует 8-12% маны + $pr_vars['priem_regen2']['mp'] = floor($this->stats[$this->uids[$uid2]]['hpAll'] / 100 * rand(8, 12)); + $pr_vars['priem_regen2']['chance'] = 50; + $pr_vars['priem_regen2']['name'] = 'Волшебный Фокус'; + $this->stats[$this->uids[$uid2]]['mpNow'] -= $pr_vars['priem_regen2']['mp']; + if ($this->stats[$this->uids[$uid2]]['mpNow'] < 0) { + $this->stats[$this->uids[$uid2]]['mpNow'] = 0; + } + mysql_query('UPDATE `stats` SET `mpNow` = "' . $this->stats[$this->uids[$uid2]]['mpNow'] . '" WHERE `id` = "' . $this->users[$this->uids[$uid2]]['id'] . '" LIMIT 1'); + } elseif (rand(0, 100) > 50 && rand(0, 100) < 10) { + if ($this->stats[$this->uids[$uid1]]['hpNow'] <= $this->stats[$this->uids[$uid1]]['hpAll'] / 4) { + //Украсть душу + $pr_vars['priem_regen']['hp'] = floor($this->stats[$this->uids[$uid2]]['hpAll'] - 1); + $pr_vars['priem_regen']['chance'] = 100; + $pr_vars['priem_regen']['name'] = 'Украсть Душу'; + $this->stats[$this->uids[$uid2]]['hpNow'] -= $pr_vars['priem_regen']['hp']; + if ($this->stats[$this->uids[$uid2]]['hpNow'] < 1) { + $this->stats[$this->uids[$uid2]]['hpNow'] = 1; + } + mysql_query('UPDATE `stats` SET `hpNow` = "' . $this->stats[$this->uids[$uid2]]['hpNow'] . '" WHERE `id` = "' . $this->users[$this->uids[$uid2]]['id'] . '" LIMIT 1'); + // + $pr_vars['priem_use'][3]['chance'] = 100; + $pr_vars['priem_use'][3]['name'] = 'Украденная Душа'; + $pr_vars['priem_use'][3]['id'] = 341; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + // + } + } else { + if ($this->stats[$this->uids[$uid1]]['hpNow'] <= $this->stats[$this->uids[$uid1]]['hpAll'] / 2) { + $pr_vars['priem_use'][3]['chance'] = 20; + $pr_vars['priem_use'][3]['name'] = 'Честная Игра'; + $pr_vars['priem_use'][3]['id'] = 217; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + } + } + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 285) { + //Проклятые + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 5; + $pr_vars['priem_use'][0]['name'] = 'Абсолютная Защита'; + $pr_vars['priem_use'][0]['id'] = 140; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 7; + $pr_vars['priem_use'][1]['name'] = 'Усиленные Удары'; + $pr_vars['priem_use'][1]['id'] = 193; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_team_f'][0]['chance'] = 10; + $pr_vars['priem_team_f'][0]['name'] = 'Проклятый Удар'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 6; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(100, 300); + $pr_vars['priem_team_f'][0]['priem'] = 160; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 1; + $pr_vars['priem_team_f'][0]['krituet'] = false; + + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 542) { + ##Зомби + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Проклятье Голодного Мертвеца'; + $pr_vars['priem_use'][0]['id'] = 339; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; + + $pr_vars['priem_team_f'][0]['chance'] = 10; + $pr_vars['priem_team_f'][0]['name'] = 'Ядовитый Укус'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 3; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(30, 70); + $pr_vars['priem_team_f'][0]['priem'] = 83; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 0; + $pr_vars['priem_team_f'][0]['krituet'] = true; + + $pr_vars['priem_use'][1]['chance'] = 10; + $pr_vars['priem_use'][1]['name'] = 'Стылое касание'; + $pr_vars['priem_use'][1]['id'] = 338; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid2]]; + + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 277) { + ### Пипка + $pr_use = 1; + if ($this->hodID == 1) { + $pr_vars['priem_use_p']['kolvo'] = 3; + $pr_vars['priem_use_p']['d_min'] = 150; + $pr_vars['priem_use_p']['d_max'] = 250; + } + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 251) { + ### Офицер Глубин + $pr_use = 1; + + $pr_vars['priem_regen']['hp'] = 500; + $pr_vars['priem_regen']['chance'] = 3; + $pr_vars['priem_regen']['name'] = 'Эликсир лечения'; + + $pr_vars['priem_use'][0]['chance'] = 9; + $pr_vars['priem_use'][0]['name'] = 'Ярость'; + $pr_vars['priem_use'][0]['id'] = 14; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 20; + $pr_vars['priem_use'][1]['name'] = 'Сонный яд'; + $pr_vars['priem_use'][1]['id'] = 333; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid2]]; + + $pr_vars['priem_use'][2]['chance'] = 5; + $pr_vars['priem_use'][2]['name'] = 'Танец Лезвий'; + $pr_vars['priem_use'][2]['id'] = 48; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + + + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 284) { + ### Трупожор + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Пришпилить'; + $pr_vars['priem_use'][0]['id'] = 345; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; + + $pr_vars['priem_team_f'][0]['chance'] = 10; + $pr_vars['priem_team_f'][0]['name'] = 'Сожрать'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 3; + $pr_vars['priem_team_f'][0]['hp'] = rand(400, 800); + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(400, 800); + $pr_vars['priem_team_f'][0]['priem'] = 164; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 1; + $pr_vars['priem_team_f'][0]['krituet'] = true; + $pr_vars['priem_team_f'][0]['hpregen'] = true; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 530) { + ### Слизь + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Ярость'; + $pr_vars['priem_use'][0]['id'] = 14; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 10; + $pr_vars['priem_use'][1]['name'] = 'Поцелуй Слизи'; + $pr_vars['priem_use'][1]['id'] = 335; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid2]]; + + $pr_vars['priem_use'][2]['chance'] = 7; + $pr_vars['priem_use'][2]['name'] = 'Удачный удар'; + $pr_vars['priem_use'][2]['id'] = 11; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][3]['chance'] = 7; + $pr_vars['priem_use'][3]['name'] = 'Хлебнуть Крови'; + $pr_vars['priem_use'][3]['id'] = 240; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_team_f'][0]['chance'] = 15; + $pr_vars['priem_team_f'][0]['name'] = 'Кислотный Плевок'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 3; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(100, 400); + $pr_vars['priem_team_f'][0]['priem'] = 164; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 0; + $pr_vars['priem_team_f'][0]['krituet'] = false; + + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 288) { + ### Повелитель + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Ярость Павших'; + $pr_vars['priem_use'][0]['id'] = 347; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 5; + $pr_vars['priem_use'][1]['name'] = 'Обреченность'; + $pr_vars['priem_use'][1]['id'] = 204; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][2]['chance'] = 8; + $pr_vars['priem_use'][2]['name'] = 'Проклятье Стражей'; + $pr_vars['priem_use'][2]['id'] = 348; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid2]]; + + $pr_vars['priem_use'][3]['chance'] = 12; + $pr_vars['priem_use'][3]['name'] = 'Защита Ангела'; + $pr_vars['priem_use'][3]['id'] = 349; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 275) { + ### Чернокнижник + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 5; + $pr_vars['priem_use'][0]['name'] = 'Ярость'; + $pr_vars['priem_use'][0]['id'] = 14; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 5; + $pr_vars['priem_use'][1]['name'] = 'Стойкость'; + $pr_vars['priem_use'][1]['id'] = 13; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][2]['chance'] = 9; + $pr_vars['priem_use'][2]['name'] = 'Проклятье Тьмы'; + $pr_vars['priem_use'][2]['id'] = 336; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid2]]; + + $pr_vars['priem_team_f'][0]['chance'] = 10; + $pr_vars['priem_team_f'][0]['name'] = 'Касание Тьмы'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 6; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(100, 300); + $pr_vars['priem_team_f'][0]['priem'] = 160; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 0; + $pr_vars['priem_team_f'][0]['krituet'] = false; + + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 266) { + ### Епископ + $pr_use = 1; + + $pr_vars['priem_regen']['hp'] = 300; + $pr_vars['priem_regen']['chance'] = 3; + $pr_vars['priem_regen']['name'] = 'Лечение'; + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Святая Ярость'; + $pr_vars['priem_use'][0]['id'] = 334; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; + + $pr_vars['priem_use'][1]['chance'] = 8; + $pr_vars['priem_use'][1]['name'] = 'Обречённость'; + $pr_vars['priem_use'][1]['id'] = 204; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][2]['chance'] = 9; + $pr_vars['priem_use'][2]['name'] = 'Абсолютная Защита'; + $pr_vars['priem_use'][2]['id'] = 140; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_team_f'][0]['chance'] = 8; + $pr_vars['priem_team_f'][0]['name'] = 'Разрушение'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 6; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(100, 300); + $pr_vars['priem_team_f'][0]['hp'] = round($pr_vars['priem_team_f'][1]['hp_dmg'] / 2); + $pr_vars['priem_team_f'][0]['priem'] = 160; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 0; + $pr_vars['priem_team_f'][0]['krituet'] = false; + $pr_vars['priem_team_f'][0]['hpregen'] = true; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 279) { + ### Проклятый Пленник + $pr_use = 1; + + $pr_vars['priem_regen']['hp'] = 300; + $pr_vars['priem_regen']['chance'] = 3; + $pr_vars['priem_regen']['name'] = 'Свежая Кровь'; + + $pr_vars['priem_use'][0]['chance'] = 8; + $pr_vars['priem_use'][0]['name'] = 'Точный Удар'; + $pr_vars['priem_use'][0]['id'] = 219; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 9; + $pr_vars['priem_use'][1]['name'] = 'Абсолютная Защита'; + $pr_vars['priem_use'][1]['id'] = 140; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + $pr_vars['priem_use'][1]['no_chat'] = true; + + $pr_vars['priem_use'][2]['chance'] = 7; + $pr_vars['priem_use'][2]['name'] = 'Танец Ветра'; + $pr_vars['priem_use'][2]['id'] = 8; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_team_f'][0]['chance'] = 8; + $pr_vars['priem_team_f'][0]['name'] = 'Взрыв'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 6; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(800, 1600); + $pr_vars['priem_team_f'][0]['priem'] = 160; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 0; + $pr_vars['priem_team_f'][0]['krituet'] = false; + + // Попытка клонирования + if (rand(0, 100) > 80) //&& rand(0,100) < 5 + + { + $bot_cou = mysql_fetch_array(mysql_query('SELECT COUNT(`id`) FROM `users` WHERE `login` LIKE "%' . $this->users[$this->uids[$uid2]]['login'] . ' (клон%" AND `battle` = "' . $this->info['id'] . '" LIMIT 1')); + $bot_cou = $bot_cou[0] + 1; + + if ($bot_cou < 2 && $this->stats[$this->uids[$uid1]]['hpNow'] <= $this->stats[$this->uids[$uid1]]['hpAll'] / 2) { + $clone = [ + 'id' => $this->users[$this->uids[$uid2]]['id'], + 'login' => $this->users[$this->uids[$uid2]]['login'] . ' (клон ' . $bot_cou . ')', + 'level' => $this->users[$this->uids[$uid2]]['level'], + 'city' => $this->users[$this->uids[$uid2]]['city'], + 'cityreg' => $this->users[$this->uids[$uid2]]['cityreg'], + 'name' => $this->users[$this->uids[$uid2]]['name'], + 'sex' => $this->users[$this->uids[$uid2]]['sex'], + 'hobby' => $this->users[$this->uids[$uid2]]['hobby'], + 'time_reg' => $this->users[$this->uids[$uid2]]['time_reg'], + 'obraz' => $this->users[$this->uids[$uid2]]['obraz'], + 'stats' => $this->users[$this->uids[$uid2]]['stats'], + 'upLevel' => $this->users[$this->uids[$uid2]]['upLevel'], + 'priems' => $this->users[$this->uids[$uid2]]['priems'], + 'loclon' => true, + 'inTurnir' => $this->users[$this->uids[$uid2]]['inTurnir'], + ]; + $bot = $u->addNewbot(1, null, $clone, null, true); + mysql_query('UPDATE `stats` SET `team` = "' . $this->users[$this->uids[$uid1]]['team'] . '",`hpNow` = "' . $this->users[$this->uids[$uid2]]['hpNow'] . '",`mpNow` = "' . $this->users[$this->uids[$uid2]]['mpNow'] . '" WHERE `id` = "' . $bot . '" LIMIT 1'); + mysql_query('UPDATE `users` SET `battle` = "' . $this->info['id'] . '" WHERE `id` = "' . $bot . '" LIMIT 1'); + //Доабвляем лог + + $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "Клонирование" и призвал клона ' . $this->users[$this->uids[$uid2]]['login'] . '.'; + $pr_vars['mas']['vLog'] = 'time1=' . time() . '||s1=' . $this->users[$this->uids[$uid1]]['sex'] . '||t1=' . $this->users[$this->uids[$uid1]]['team'] . '||login1=' . $this->users[$this->uids[$uid1]]['login'] . '||s2=' . $this->users[$this->uids[$uid2]]['sex'] . '||t2=' . $this->users[$this->uids[$uid2]]['team'] . '||login2=' . $this->users[$this->uids[$uid2]]['login'] . ''; + $pr_vars['mas'] = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID + 1), 'text' => $pr_vars['mas']['text'], 'vars' => $pr_vars['mas']['vLog'], 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $this->add_log($pr_vars['mas']); + + } + } + // Конец + + } + + + ###======================Конец Катакомб===================### + + + ############################################################# + + + ###======================Начало Излома====================### + elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 416) { + $pr_use = 1; + #Валентайский Охотник# + + $pr_vars['priem_use'][0]['chance'] = 7; + $pr_vars['priem_use'][0]['name'] = 'Танец Ветра'; + $pr_vars['priem_use'][0]['id'] = 8; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 10; + $pr_vars['priem_use'][1]['name'] = 'Предвидение'; + $pr_vars['priem_use'][1]['id'] = 10; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 417) { + $pr_use = 1; + #Шипокрыл Хаоса# + + $pr_vars['priem_use'][0]['chance'] = 7; + $pr_vars['priem_use'][0]['name'] = 'Сокрушающий Удар'; + $pr_vars['priem_use'][0]['id'] = 138; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 10; + $pr_vars['priem_use'][1]['name'] = 'Усиленные Удары'; + $pr_vars['priem_use'][1]['id'] = 193; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 418) { + $pr_use = 1; + #Шипокрыл# + + $pr_vars['priem_use'][0]['chance'] = 15; + $pr_vars['priem_use'][0]['name'] = 'Сильный Удар'; + $pr_vars['priem_use'][0]['id'] = 4; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 5; + $pr_vars['priem_use'][1]['name'] = 'Слепая Удача'; + $pr_vars['priem_use'][1]['id'] = 47; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 419) { + $pr_use = 1; + #Лик Хаоса# + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Жажда Крови'; + $pr_vars['priem_use'][0]['id'] = 188; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 5; + $pr_vars['priem_use'][1]['name'] = 'Призрачная Защита'; + $pr_vars['priem_use'][1]['id'] = 141; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][2]['chance'] = 15; //7 + $pr_vars['priem_use'][2]['name'] = 'Удачный Удар'; + $pr_vars['priem_use'][2]['id'] = 11; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 420) { + $pr_use = 1; + #Фанатик Хаоса# + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Обреченность'; + $pr_vars['priem_use'][0]['id'] = 204; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 12; + $pr_vars['priem_use'][1]['name'] = 'Разгадать Тактику'; + $pr_vars['priem_use'][1]['id'] = 217; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][2]['chance'] = 8; + $pr_vars['priem_use'][2]['name'] = 'Кровожадность'; + $pr_vars['priem_use'][2]['id'] = 305; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + #1# + } + ###==========================КОНЕЦ ИЗЛОМА=====================### + + + ################################################################# + + + ###==========================Начало Грибницы==================### + elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 295) { + $pr_use = 1; + #Пылающий Паразит + /*if( $this->stats[$this->uids[$uid1]]['hpNow'] <= $this->stats[$this->uids[$uid2]]['hpAll']/2 ) + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Пожирающее Пламя'; + $pr_vars['priem_use'][0]['id'] = 57; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]];*/ + + $pr_vars['priem_team_f'][0]['chance'] = 20; + $pr_vars['priem_team_f'][0]['name'] = 'Испепеление'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 1; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(30, 60); + $pr_vars['priem_team_f'][0]['priem'] = 52; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 0; + $pr_vars['priem_team_f'][0]['krituet'] = false; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 300) { + $pr_use = 1; + #Искрящийся Паразит + $pr_vars['priem_team_f'][0]['chance'] = 20; + $pr_vars['priem_team_f'][0]['name'] = 'Молния'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 2; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(30, 60); + $pr_vars['priem_team_f'][0]['priem'] = 93; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 0; + $pr_vars['priem_team_f'][0]['krituet'] = false; + + $pr_vars['priem_team_f'][1]['chance'] = 20; + $pr_vars['priem_team_f'][1]['name'] = 'Искра'; + $pr_vars['priem_team_f'][1]['x'] = 1; + $pr_vars['priem_team_f'][1]['type'] = 2; + $pr_vars['priem_team_f'][1]['hp'] = 0; + $pr_vars['priem_team_f'][1]['hp_dmg'] = rand(30, 60); + $pr_vars['priem_team_f'][1]['priem'] = 259; + $pr_vars['priem_team_f'][1]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][1]['on'] = $uid; + $pr_vars['priem_team_f'][1]['nomf'] = 0; + $pr_vars['priem_team_f'][1]['fiz'] = 0; + $pr_vars['priem_team_f'][1]['krituet'] = false; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 296) { + $pr_use = 1; + #Гусенец с 1 этажа# + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Свернутся'; + $pr_vars['priem_use'][0]['id'] = 355; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 308) { + $pr_use = 1; + #Гусенец с 3 этажа# + if ($this->stats[$this->uids[$uid1]]['hpNow'] <= $this->stats[$this->uids[$uid2]]['hpAll'] / 4) + $pr_vars['priem_use'][0]['chance'] = 25; + $pr_vars['priem_use'][0]['name'] = 'Свернутся'; + $pr_vars['priem_use'][0]['id'] = 354; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 297) { + $pr_use = 1; + #скользкий рогоносец# + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Вязкая Слизь'; + $pr_vars['priem_use'][0]['id'] = 356; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 124) { ###Изгнанник Мглы [9] - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Второе дыхание'; - $pr_vars['priem_use'][0]['id'] = 49; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + $pr_use = 1; - $pr_vars['priem_use'][1]['chance'] = 10; - $pr_vars['priem_use'][1]['name'] = 'Удар серпом'; - $pr_vars['priem_use'][1]['id'] = 219; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 10; - $pr_vars['priem_use'][2]['name'] = 'Полная защита'; - $pr_vars['priem_use'][2]['id'] = 45; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][3]['chance'] = 10; - $pr_vars['priem_use'][3]['name'] = 'Сильный удар'; - $pr_vars['priem_use'][3]['id'] = 15; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][4]['chance'] = 15; - $pr_vars['priem_use'][4]['name'] = 'Слепая удача'; - $pr_vars['priem_use'][4]['id'] = 47; - $pr_vars['priem_use'][4]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][5]['chance'] = 5; - $pr_vars['priem_use'][5]['name'] = 'Стойкость'; - $pr_vars['priem_use'][5]['id'] = 13; - $pr_vars['priem_use'][5]['on'] = $this->users[$this->uids[$uid1]]; + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Второе дыхание'; + $pr_vars['priem_use'][0]['id'] = 49; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - $pr_vars['priem_use'][6]['chance'] = 5; - $pr_vars['priem_use'][6]['name'] = 'Ярость'; - $pr_vars['priem_use'][6]['id'] = 14; - $pr_vars['priem_use'][6]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_regen']['hp'] = 45; - $pr_vars['priem_regen']['chance'] = 5; - $pr_vars['priem_regen']['name'] = 'Воля к победе'; + $pr_vars['priem_use'][1]['chance'] = 10; + $pr_vars['priem_use'][1]['name'] = 'Удар серпом'; + $pr_vars['priem_use'][1]['id'] = 219; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; -} + $pr_vars['priem_use'][2]['chance'] = 10; + $pr_vars['priem_use'][2]['name'] = 'Полная защита'; + $pr_vars['priem_use'][2]['id'] = 45; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 125) { + $pr_vars['priem_use'][3]['chance'] = 10; + $pr_vars['priem_use'][3]['name'] = 'Сильный удар'; + $pr_vars['priem_use'][3]['id'] = 15; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][4]['chance'] = 15; + $pr_vars['priem_use'][4]['name'] = 'Слепая удача'; + $pr_vars['priem_use'][4]['id'] = 47; + $pr_vars['priem_use'][4]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][5]['chance'] = 5; + $pr_vars['priem_use'][5]['name'] = 'Стойкость'; + $pr_vars['priem_use'][5]['id'] = 13; + $pr_vars['priem_use'][5]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][6]['chance'] = 5; + $pr_vars['priem_use'][6]['name'] = 'Ярость'; + $pr_vars['priem_use'][6]['id'] = 14; + $pr_vars['priem_use'][6]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_regen']['hp'] = 45; + $pr_vars['priem_regen']['chance'] = 5; + $pr_vars['priem_regen']['name'] = 'Воля к победе'; + + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 125) { ###Страж Крантон [9] - $pr_use = 1; + $pr_use = 1; - $pr_vars['priem_use'][0]['chance'] = 5; - $pr_vars['priem_use'][0]['name'] = 'Удар правым жвалом'; - $pr_vars['priem_use'][0]['id'] = 216; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + $pr_vars['priem_use'][0]['chance'] = 5; + $pr_vars['priem_use'][0]['name'] = 'Удар правым жвалом'; + $pr_vars['priem_use'][0]['id'] = 216; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - $pr_vars['priem_use'][1]['chance'] = 20; - $pr_vars['priem_use'][1]['name'] = 'Удачный удар'; - $pr_vars['priem_use'][1]['id'] = 11; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + $pr_vars['priem_use'][1]['chance'] = 20; + $pr_vars['priem_use'][1]['name'] = 'Удачный удар'; + $pr_vars['priem_use'][1]['id'] = 11; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - $pr_vars['priem_use'][2]['chance'] = 5; - $pr_vars['priem_use'][2]['name'] = 'Коварный уход'; - $pr_vars['priem_use'][2]['id'] = 213; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + $pr_vars['priem_use'][2]['chance'] = 5; + $pr_vars['priem_use'][2]['name'] = 'Коварный уход'; + $pr_vars['priem_use'][2]['id'] = 213; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - $pr_vars['priem_use'][3]['chance'] = 10; - $pr_vars['priem_use'][3]['name'] = 'Стойкость'; - $pr_vars['priem_use'][3]['id'] = 13; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + $pr_vars['priem_use'][3]['chance'] = 10; + $pr_vars['priem_use'][3]['name'] = 'Стойкость'; + $pr_vars['priem_use'][3]['id'] = 13; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; - $pr_vars['priem_use'][4]['chance'] = 10; - $pr_vars['priem_use'][4]['name'] = 'Ярость'; - $pr_vars['priem_use'][4]['id'] = 14; - $pr_vars['priem_use'][4]['on'] = $this->users[$this->uids[$uid1]]; + $pr_vars['priem_use'][4]['chance'] = 10; + $pr_vars['priem_use'][4]['name'] = 'Ярость'; + $pr_vars['priem_use'][4]['id'] = 14; + $pr_vars['priem_use'][4]['on'] = $this->users[$this->uids[$uid1]]; - $pr_vars['priem_regen']['hp'] = 45; - $pr_vars['priem_regen']['chance'] = 5; - $pr_vars['priem_regen']['name'] = 'Воля к победе'; -} - -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 356) { + $pr_vars['priem_regen']['hp'] = 45; + $pr_vars['priem_regen']['chance'] = 5; + $pr_vars['priem_regen']['name'] = 'Воля к победе'; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 356) { ###Страж Дайтон [9] - Бездна 1 этаж - $pr_use = 1; - $pr_vars['priem_regen']['hp'] = 45; - $pr_vars['priem_regen']['chance'] = 5; - $pr_vars['priem_regen']['name'] = 'Воля к победе'; - - $pr_vars['priem_team_f'][0]['chance'] = 20; - $pr_vars['priem_team_f'][0]['name'] = 'Удар правым жвалом'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 7; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(75,200); - $pr_vars['priem_team_f'][0]['priem'] = 216; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 1; - $pr_vars['priem_team_f'][0]['fiz'] = 1; - $pr_vars['priem_team_f'][0]['krituet'] = true; - - $pr_vars['priem_use'][1]['chance'] = 20; - $pr_vars['priem_use'][1]['name'] = 'Ярость'; - $pr_vars['priem_use'][1]['id'] = 14; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 5; - $pr_vars['priem_use'][2]['name'] = 'Коварный уход'; - $pr_vars['priem_use'][2]['id'] = 213; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][3]['chance'] = 10; - $pr_vars['priem_use'][3]['name'] = 'Удачный удар'; - $pr_vars['priem_use'][3]['id'] = 11; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + $pr_use = 1; + $pr_vars['priem_regen']['hp'] = 45; + $pr_vars['priem_regen']['chance'] = 5; + $pr_vars['priem_regen']['name'] = 'Воля к победе'; -} + $pr_vars['priem_team_f'][0]['chance'] = 20; + $pr_vars['priem_team_f'][0]['name'] = 'Удар правым жвалом'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 7; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(75, 200); + $pr_vars['priem_team_f'][0]['priem'] = 216; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 1; + $pr_vars['priem_team_f'][0]['fiz'] = 1; + $pr_vars['priem_team_f'][0]['krituet'] = true; -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 355) { + $pr_vars['priem_use'][1]['chance'] = 20; + $pr_vars['priem_use'][1]['name'] = 'Ярость'; + $pr_vars['priem_use'][1]['id'] = 14; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][2]['chance'] = 5; + $pr_vars['priem_use'][2]['name'] = 'Коварный уход'; + $pr_vars['priem_use'][2]['id'] = 213; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][3]['chance'] = 10; + $pr_vars['priem_use'][3]['name'] = 'Удачный удар'; + $pr_vars['priem_use'][3]['id'] = 11; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 355) { ### Кошмар Глубин [12] - Бездна 3 этаж - $pr_use = 1; - // Подставить лоб - аналог Полной Защите - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Подставить лоб'; - $pr_vars['priem_use'][0]['id'] = 45; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + $pr_use = 1; + // Подставить лоб - аналог Полной Защите + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Подставить лоб'; + $pr_vars['priem_use'][0]['id'] = 45; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - // Раздавить - аналог Скрытой Силе. - $pr_vars['priem_use'][1]['chance'] = 10; - $pr_vars['priem_use'][1]['name'] = 'Раздавить'; - $pr_vars['priem_use'][1]['id'] = 216; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + // Раздавить - аналог Скрытой Силе. + $pr_vars['priem_use'][1]['chance'] = 10; + $pr_vars['priem_use'][1]['name'] = 'Раздавить'; + $pr_vars['priem_use'][1]['id'] = 216; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - // Удар Хвостом - наносит моментальный урон. - $pr_vars['priem_team_f'][0]['chance'] = 10; - $pr_vars['priem_team_f'][0]['name'] = 'Удар Хвостом'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 3; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(35,40); - $pr_vars['priem_team_f'][0]['priem'] = 164; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 0; - $pr_vars['priem_team_f'][0]['fiz'] = 1; - $pr_vars['priem_team_f'][0]['krituet'] = true; + // Удар Хвостом - наносит моментальный урон. + $pr_vars['priem_team_f'][0]['chance'] = 10; + $pr_vars['priem_team_f'][0]['name'] = 'Удар Хвостом'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 3; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(35, 40); + $pr_vars['priem_team_f'][0]['priem'] = 164; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 0; + $pr_vars['priem_team_f'][0]['fiz'] = 1; + $pr_vars['priem_team_f'][0]['krituet'] = true; - $pr_vars['priem_use'][2]['chance'] = 5; - $pr_vars['priem_use'][2]['name'] = 'Стойкость'; - $pr_vars['priem_use'][2]['id'] = 13; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + $pr_vars['priem_use'][2]['chance'] = 5; + $pr_vars['priem_use'][2]['name'] = 'Стойкость'; + $pr_vars['priem_use'][2]['id'] = 13; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - $pr_vars['priem_use'][3]['chance'] = 5; - $pr_vars['priem_use'][3]['name'] = 'Ярость'; - $pr_vars['priem_use'][3]['id'] = 14; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; -} - -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 158) { + $pr_vars['priem_use'][3]['chance'] = 5; + $pr_vars['priem_use'][3]['name'] = 'Ярость'; + $pr_vars['priem_use'][3]['id'] = 14; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 158) { ### Гарл Йонни Салистон [9] - Бездна 3 этаж - // Хлебнуть Крови - $pr_vars['priem_use'][0]['chance'] = 16; - $pr_vars['priem_use'][0]['name'] = 'Хлебнуть Крови'; - $pr_vars['priem_use'][0]['id'] = 240; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + // Хлебнуть Крови + $pr_vars['priem_use'][0]['chance'] = 16; + $pr_vars['priem_use'][0]['name'] = 'Хлебнуть Крови'; + $pr_vars['priem_use'][0]['id'] = 240; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - // Слепая удача. - $pr_vars['priem_use'][1]['chance'] = 20; - $pr_vars['priem_use'][1]['name'] = 'Слепая удача'; - $pr_vars['priem_use'][1]['id'] = 47; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + // Слепая удача. + $pr_vars['priem_use'][1]['chance'] = 20; + $pr_vars['priem_use'][1]['name'] = 'Слепая удача'; + $pr_vars['priem_use'][1]['id'] = 47; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - // Ярость - лечится на 3000HP. - $pr_vars['priem_regen']['hp'] = 1500; - $pr_vars['priem_regen']['chance'] = 10; - $pr_vars['priem_regen']['name'] = 'Дикость'; + // Ярость - лечится на 3000HP. + $pr_vars['priem_regen']['hp'] = 1500; + $pr_vars['priem_regen']['chance'] = 10; + $pr_vars['priem_regen']['name'] = 'Дикость'; - $pr_use = 1; -} -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 350) { - - //Служитель глубин 8 - $pr_use = 1; - - $pr_vars['priem_regen']['hp'] = 45; - $pr_vars['priem_regen']['chance'] = 5; - $pr_vars['priem_regen']['name'] = 'Воля к победе'; - - $pr_vars['priem_team_f'][0]['chance'] = 5; - $pr_vars['priem_team_f'][0]['name'] = 'Проклятье Бездны'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 7; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(15,100); - $pr_vars['priem_team_f'][0]['priem'] = 216; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 1; - $pr_vars['priem_team_f'][0]['fiz'] = 1; - $pr_vars['priem_team_f'][0]['krituet'] = true; -} -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 351) { + $pr_use = 1; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 350) { + + //Служитель глубин 8 + $pr_use = 1; + + $pr_vars['priem_regen']['hp'] = 45; + $pr_vars['priem_regen']['chance'] = 5; + $pr_vars['priem_regen']['name'] = 'Воля к победе'; + + $pr_vars['priem_team_f'][0]['chance'] = 5; + $pr_vars['priem_team_f'][0]['name'] = 'Проклятье Бездны'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 7; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(15, 100); + $pr_vars['priem_team_f'][0]['priem'] = 216; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 1; + $pr_vars['priem_team_f'][0]['fiz'] = 1; + $pr_vars['priem_team_f'][0]['krituet'] = true; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 351) { ### Служитель Глубин [9] - Бездна 1-3 этаж - $pr_use = 1; - - $pr_vars['priem_regen']['hp'] = 45; - $pr_vars['priem_regen']['chance'] = 5; - $pr_vars['priem_regen']['name'] = 'Воля к победе'; - - $pr_vars['priem_team_f'][0]['chance'] = 10; - $pr_vars['priem_team_f'][0]['name'] = 'Проклятье Бездны'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 7; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(15,100); - $pr_vars['priem_team_f'][0]['priem'] = 216; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 1; - $pr_vars['priem_team_f'][0]['fiz'] = 1; - $pr_vars['priem_team_f'][0]['krituet'] = true; -} -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 553) { + $pr_use = 1; + + $pr_vars['priem_regen']['hp'] = 45; + $pr_vars['priem_regen']['chance'] = 5; + $pr_vars['priem_regen']['name'] = 'Воля к победе'; + + $pr_vars['priem_team_f'][0]['chance'] = 10; + $pr_vars['priem_team_f'][0]['name'] = 'Проклятье Бездны'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 7; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(15, 100); + $pr_vars['priem_team_f'][0]['priem'] = 216; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 1; + $pr_vars['priem_team_f'][0]['fiz'] = 1; + $pr_vars['priem_team_f'][0]['krituet'] = true; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 553) { ### Смерть - тропа - $pr_use = 1; - - $pr_vars['priem_regen']['hp'] = 1500; - $pr_vars['priem_regen']['chance'] = 5; - $pr_vars['priem_regen']['name'] = 'Воля к победе'; - - $pr_vars['priem_team_f'][0]['chance'] = 10; - $pr_vars['priem_team_f'][0]['name'] = 'Смертельная Рана'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 7; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(400,800); - $pr_vars['priem_team_f'][0]['priem'] = 216; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 1; - $pr_vars['priem_team_f'][0]['fiz'] = 1; - $pr_vars['priem_team_f'][0]['krituet'] = true; -} -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 554) { - ### Повелитель - $pr_use = 1; + $pr_use = 1; - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Ярость Валлуара'; - $pr_vars['priem_use'][0]['id'] = 347; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 15; - $pr_vars['priem_use'][1]['name'] = 'Сокрушающий Удар'; - $pr_vars['priem_use'][1]['id'] = 138; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 8; - $pr_vars['priem_use'][2]['name'] = 'Проклятье Валлуара'; - $pr_vars['priem_use'][2]['id'] = 348; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_use'][3]['chance'] = 12; - $pr_vars['priem_use'][3]['name'] = 'Защита Валлуара'; - $pr_vars['priem_use'][3]['id'] = 349; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; - -} -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 352) { + $pr_vars['priem_regen']['hp'] = 1500; + $pr_vars['priem_regen']['chance'] = 5; + $pr_vars['priem_regen']['name'] = 'Воля к победе'; + + $pr_vars['priem_team_f'][0]['chance'] = 10; + $pr_vars['priem_team_f'][0]['name'] = 'Смертельная Рана'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 7; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = rand(400, 800); + $pr_vars['priem_team_f'][0]['priem'] = 216; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 1; + $pr_vars['priem_team_f'][0]['fiz'] = 1; + $pr_vars['priem_team_f'][0]['krituet'] = true; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 554) { + ### Повелитель + $pr_use = 1; + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Ярость Валлуара'; + $pr_vars['priem_use'][0]['id'] = 347; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][1]['chance'] = 15; + $pr_vars['priem_use'][1]['name'] = 'Сокрушающий Удар'; + $pr_vars['priem_use'][1]['id'] = 138; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][2]['chance'] = 8; + $pr_vars['priem_use'][2]['name'] = 'Проклятье Валлуара'; + $pr_vars['priem_use'][2]['id'] = 348; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid2]]; + + $pr_vars['priem_use'][3]['chance'] = 12; + $pr_vars['priem_use'][3]['name'] = 'Защита Валлуара'; + $pr_vars['priem_use'][3]['id'] = 349; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 352) { ### Большой Тяжелый Молот [9] - Бездна 3 этаж - // Удачный удар. - $pr_vars['priem_use'][0]['chance'] = 25; - $pr_vars['priem_use'][0]['name'] = 'Удачный удар'; - $pr_vars['priem_use'][0]['id'] = 11; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + // Удачный удар. + $pr_vars['priem_use'][0]['chance'] = 25; + $pr_vars['priem_use'][0]['name'] = 'Удачный удар'; + $pr_vars['priem_use'][0]['id'] = 11; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - // Активная защита. - $pr_vars['priem_use'][1]['chance'] = 10; - $pr_vars['priem_use'][1]['name'] = 'Полная защита'; - $pr_vars['priem_use'][1]['id'] = 45; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + // Активная защита. + $pr_vars['priem_use'][1]['chance'] = 10; + $pr_vars['priem_use'][1]['name'] = 'Полная защита'; + $pr_vars['priem_use'][1]['id'] = 45; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - // Стойкость. - $pr_vars['priem_use'][2]['chance'] = 15; - $pr_vars['priem_use'][2]['name'] = 'Стойкость'; - $pr_vars['priem_use'][2]['id'] = 13; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + // Стойкость. + $pr_vars['priem_use'][2]['chance'] = 15; + $pr_vars['priem_use'][2]['name'] = 'Стойкость'; + $pr_vars['priem_use'][2]['id'] = 13; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - // Ярость. - $pr_vars['priem_use'][3]['chance'] = 15; - $pr_vars['priem_use'][3]['name'] = 'Ярость'; - $pr_vars['priem_use'][3]['id'] = 14; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + // Ярость. + $pr_vars['priem_use'][3]['chance'] = 15; + $pr_vars['priem_use'][3]['name'] = 'Ярость'; + $pr_vars['priem_use'][3]['id'] = 14; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; - $pr_use = 1; -} -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 126) { + $pr_use = 1; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 126) { ###Маул Счастливчик [8] - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 15; - $pr_vars['priem_use'][0]['name'] = 'Удар Феникса'; - $pr_vars['priem_use'][0]['id'] = 216; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 15; - $pr_vars['priem_use'][1]['name'] = 'Слепая удача'; - $pr_vars['priem_use'][1]['id'] = 47; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 15; - $pr_vars['priem_use'][2]['name'] = 'Активная защита'; - $pr_vars['priem_use'][2]['id'] = 7; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][3]['chance'] = 15; - $pr_vars['priem_use'][3]['name'] = 'Стойкость'; - $pr_vars['priem_use'][3]['id'] = 13; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + $pr_use = 1; - $pr_vars['priem_use'][4]['chance'] = 15; - $pr_vars['priem_use'][4]['name'] = 'Ярость'; - $pr_vars['priem_use'][4]['id'] = 14; - $pr_vars['priem_use'][4]['on'] = $this->users[$this->uids[$uid1]]; -} + $pr_vars['priem_use'][0]['chance'] = 15; + $pr_vars['priem_use'][0]['name'] = 'Удар Феникса'; + $pr_vars['priem_use'][0]['id'] = 216; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 134) { + $pr_vars['priem_use'][1]['chance'] = 15; + $pr_vars['priem_use'][1]['name'] = 'Слепая удача'; + $pr_vars['priem_use'][1]['id'] = 47; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][2]['chance'] = 15; + $pr_vars['priem_use'][2]['name'] = 'Активная защита'; + $pr_vars['priem_use'][2]['id'] = 7; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][3]['chance'] = 15; + $pr_vars['priem_use'][3]['name'] = 'Стойкость'; + $pr_vars['priem_use'][3]['id'] = 13; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][4]['chance'] = 15; + $pr_vars['priem_use'][4]['name'] = 'Ярость'; + $pr_vars['priem_use'][4]['id'] = 14; + $pr_vars['priem_use'][4]['on'] = $this->users[$this->uids[$uid1]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 134) { ###Заблудшая Душа [10] ###To Do : Призрачный удар, Крик души - $pr_use = 1; + $pr_use = 1; - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Призрачная защита'; - $pr_vars['priem_use'][0]['id'] = 141; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - -} + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Призрачная защита'; + $pr_vars['priem_use'][0]['id'] = 141; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - elseif($this->users[$this->uids[$uid1]]['bot_id'] == 139) { + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 139) { ###Страж Сокровищ [11] ###To Do : Сотрясение, Проклятье стража, Раздавить, Сотрясение мозга - $pr_use = 1; + $pr_use = 1; - $pr_vars['priem_use'][0]['chance'] = 8; - $pr_vars['priem_use'][0]['name'] = 'Обреченность'; - $pr_vars['priem_use'][0]['id'] = 204; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 10; - $pr_vars['priem_use'][1]['name'] = 'Ошеломить'; - $pr_vars['priem_use'][1]['id'] = 340; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid2]]; - - $pr_vars['priem_use'][2]['chance'] = 18; - $pr_vars['priem_use'][2]['name'] = 'Точный Удар'; - $pr_vars['priem_use'][2]['id'] = 219; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; -} + $pr_vars['priem_use'][0]['chance'] = 8; + $pr_vars['priem_use'][0]['name'] = 'Обреченность'; + $pr_vars['priem_use'][0]['id'] = 204; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 141) { + $pr_vars['priem_use'][1]['chance'] = 10; + $pr_vars['priem_use'][1]['name'] = 'Ошеломить'; + $pr_vars['priem_use'][1]['id'] = 340; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid2]]; + + $pr_vars['priem_use'][2]['chance'] = 18; + $pr_vars['priem_use'][2]['name'] = 'Точный Удар'; + $pr_vars['priem_use'][2]['id'] = 219; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 141) { ###Механический Убийца [10] ###To Do : Взрыв, Глубокая рана - $pr_use = 1; - $pr_vars['priem_use'][0]['chance'] = 18; - $pr_vars['priem_use'][0]['name'] = 'Точный Удар'; - $pr_vars['priem_use'][0]['id'] = 219; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - - //Зловонная Вода - $pr_vars['priem_team_f'][0]['chance'] = 25; - $pr_vars['priem_team_f'][0]['name'] = 'Зловонная Вода'; - $pr_vars['priem_team_f'][0]['x'] = 1; - $pr_vars['priem_team_f'][0]['type'] = 3; - $pr_vars['priem_team_f'][0]['hp'] = 0; - $pr_vars['priem_team_f'][0]['hp_dmg'] = 50; - $pr_vars['priem_team_f'][0]['priem'] = 164; - $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; - $pr_vars['priem_team_f'][0]['on'] = $uid; - $pr_vars['priem_team_f'][0]['nomf'] = 1; - $pr_vars['priem_team_f'][0]['fiz'] = 1; - $pr_vars['priem_team_f'][0]['krituet'] = false; - // - $pr_vars['priem_use'][1]['chance'] = 10; - $pr_vars['priem_use'][1]['name'] = 'Зловонная Вода'; - $pr_vars['priem_use'][1]['id'] = 294; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid2]]; - $pr_vars['priem_use'][1]['no_chat'] = true; - -} + $pr_use = 1; + $pr_vars['priem_use'][0]['chance'] = 18; + $pr_vars['priem_use'][0]['name'] = 'Точный Удар'; + $pr_vars['priem_use'][0]['id'] = 219; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 142) { + + //Зловонная Вода + $pr_vars['priem_team_f'][0]['chance'] = 25; + $pr_vars['priem_team_f'][0]['name'] = 'Зловонная Вода'; + $pr_vars['priem_team_f'][0]['x'] = 1; + $pr_vars['priem_team_f'][0]['type'] = 3; + $pr_vars['priem_team_f'][0]['hp'] = 0; + $pr_vars['priem_team_f'][0]['hp_dmg'] = 50; + $pr_vars['priem_team_f'][0]['priem'] = 164; + $pr_vars['priem_team_f'][0]['team'] = $this->users[$this->uids[$uid2]]['team']; + $pr_vars['priem_team_f'][0]['on'] = $uid; + $pr_vars['priem_team_f'][0]['nomf'] = 1; + $pr_vars['priem_team_f'][0]['fiz'] = 1; + $pr_vars['priem_team_f'][0]['krituet'] = false; + // + $pr_vars['priem_use'][1]['chance'] = 10; + $pr_vars['priem_use'][1]['name'] = 'Зловонная Вода'; + $pr_vars['priem_use'][1]['id'] = 294; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid2]]; + $pr_vars['priem_use'][1]['no_chat'] = true; + + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 142) { ###Мастер Грит [11] ###To Do : Холодный Луч, Оюжигающее пламя, Тяжесть земли, Молния, Истинная форма, Самоуничтожение, Двойной удар, Оглушающий удар - $pr_use = 1; + $pr_use = 1; - $pr_vars['priem_use'][0]['chance'] = 15; - $pr_vars['priem_use'][0]['name'] = 'Вонючая Слизь'; - $pr_vars['priem_use'][0]['id'] = 356; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; -} - -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 143) { + $pr_vars['priem_use'][0]['chance'] = 15; + $pr_vars['priem_use'][0]['name'] = 'Вонючая Слизь'; + $pr_vars['priem_use'][0]['id'] = 356; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid2]]; + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 143) { ###Механический Охранник [10] ###To Do : Вспышка, Обнять - $pr_use = 1; - - $pr_vars['priem_use'][0]['chance'] = 15; - $pr_vars['priem_use'][0]['name'] = 'Сокрушающий Удар'; - $pr_vars['priem_use'][0]['id'] = 138; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; + $pr_use = 1; -} + $pr_vars['priem_use'][0]['chance'] = 15; + $pr_vars['priem_use'][0]['name'] = 'Сокрушающий Удар'; + $pr_vars['priem_use'][0]['id'] = 138; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 376) { + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 376) { ###Древнее проклятие Глубин [9] - $pr_use = 1; + $pr_use = 1; - $pr_vars['priem_regen']['hp'] = 18; - $pr_vars['priem_regen']['chance'] = 7; - $pr_vars['priem_regen']['name'] = 'Утереть пот'; + $pr_vars['priem_regen']['hp'] = 18; + $pr_vars['priem_regen']['chance'] = 7; + $pr_vars['priem_regen']['name'] = 'Утереть пот'; - $pr_vars['priem_use'][0]['chance'] = 3; - $pr_vars['priem_use'][0]['name'] = 'Подставить лоб'; - $pr_vars['priem_use'][0]['id'] = 45; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][1]['chance'] = 3; - $pr_vars['priem_use'][1]['name'] = 'Раздавить'; - $pr_vars['priem_use'][1]['id'] = 216; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 3; - $pr_vars['priem_use'][2]['name'] = 'Активная защита'; - $pr_vars['priem_use'][2]['id'] = 7; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][3]['chance'] = 3; - $pr_vars['priem_use'][3]['name'] = 'Удачный удар'; - $pr_vars['priem_use'][3]['id'] = 11; - $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][4]['chance'] = 3; - $pr_vars['priem_use'][4]['name'] = 'Стойкость'; - $pr_vars['priem_use'][4]['id'] = 13; - $pr_vars['priem_use'][4]['on'] = $this->users[$this->uids[$uid1]]; + $pr_vars['priem_use'][0]['chance'] = 3; + $pr_vars['priem_use'][0]['name'] = 'Подставить лоб'; + $pr_vars['priem_use'][0]['id'] = 45; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - $pr_vars['priem_use'][5]['chance'] = 3; - $pr_vars['priem_use'][5]['name'] = 'Ярость'; - $pr_vars['priem_use'][5]['id'] = 14; - $pr_vars['priem_use'][5]['on'] = $this->users[$this->uids[$uid1]]; - -} -elseif($this->users[$this->uids[$uid1]]['bot_id'] == 254) { + $pr_vars['priem_use'][1]['chance'] = 3; + $pr_vars['priem_use'][1]['name'] = 'Раздавить'; + $pr_vars['priem_use'][1]['id'] = 216; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][2]['chance'] = 3; + $pr_vars['priem_use'][2]['name'] = 'Активная защита'; + $pr_vars['priem_use'][2]['id'] = 7; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][3]['chance'] = 3; + $pr_vars['priem_use'][3]['name'] = 'Удачный удар'; + $pr_vars['priem_use'][3]['id'] = 11; + $pr_vars['priem_use'][3]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][4]['chance'] = 3; + $pr_vars['priem_use'][4]['name'] = 'Стойкость'; + $pr_vars['priem_use'][4]['id'] = 13; + $pr_vars['priem_use'][4]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][5]['chance'] = 3; + $pr_vars['priem_use'][5]['name'] = 'Ярость'; + $pr_vars['priem_use'][5]['id'] = 14; + $pr_vars['priem_use'][5]['on'] = $this->users[$this->uids[$uid1]]; + + } elseif ($this->users[$this->uids[$uid1]]['bot_id'] == 254) { ###берсерк - $pr_use = 1; - - $pr_vars['priem_regen']['hp'] = 75; - $pr_vars['priem_regen']['chance'] = 5; - $pr_vars['priem_regen']['name'] = 'Регенерация'; - - $pr_vars['priem_use'][0]['chance'] = 10; - $pr_vars['priem_use'][0]['name'] = 'Удачный удар'; - $pr_vars['priem_use'][0]['id'] = 11; - $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - - - $pr_vars['priem_use'][1]['chance'] = 25; - $pr_vars['priem_use'][1]['name'] = 'Ярость'; - $pr_vars['priem_use'][1]['id'] = 14; - $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; - - $pr_vars['priem_use'][2]['chance'] = 30; - $pr_vars['priem_use'][2]['name'] = 'Раздробить череп'; - $pr_vars['priem_use'][2]['id'] = 219; - $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - -} - if (isset($pr_vars['priem_use_e']['name']) && isset($pr_vars['priem_use_e']['uron'])) - { - $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "'.$pr_vars['priem_use_e']['name'].'" на {u2}'; - $pr_vars['mas']['vLog'] = 'time1='.time().'||s1='.$this->users[$this->uids[$uid1]]['sex'].'||t1='.$this->users[$this->uids[$uid1]]['team'].'||login1='.$this->users[$this->uids[$uid1]]['login'].'||s2='.$this->users[$this->uids[$uid2]]['sex'].'||t2='.$this->users[$this->uids[$uid2]]['team'].'||login2='.$this->users[$this->uids[$uid2]]['login'].''; - $pr_vars['mas'] = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID),'text'=>$pr_vars['mas']['text'],'vars'=>$pr_vars['mas']['vLog'],'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $this->add_log($pr_vars['mas']); - $priem->addPriem($this->users[$this->uids[$uid2]]['id'],23,'atgm='.$pr_vars['priem_use_e']['uron'].'',0,77,5,$this->users[$this->uids[$uid1]]['id'],1,$pr_vars['priem_use_e']['name'],0,0,1,0,0,0,$pr_vars['priem_use_e']['name']); - } + $pr_use = 1; + + $pr_vars['priem_regen']['hp'] = 75; + $pr_vars['priem_regen']['chance'] = 5; + $pr_vars['priem_regen']['name'] = 'Регенерация'; + + $pr_vars['priem_use'][0]['chance'] = 10; + $pr_vars['priem_use'][0]['name'] = 'Удачный удар'; + $pr_vars['priem_use'][0]['id'] = 11; + $pr_vars['priem_use'][0]['on'] = $this->users[$this->uids[$uid1]]; - if(!function_exists('rand_user_team')) { - function rand_user_team($tm, $tp) { - global $btl; - $r = array(); - $i = 0; - while($i < count($btl->users)) { - if($btl->users[$i]['team'] == $tm && $tp == 1) { - $r[] = $btl->users[$i]['id']; - } elseif($btl->users[$i]['team'] != $tm && $tp == 2) { - $r[] = $btl->users[$i]['id']; - } - $i++; - } - if(count($r) == 0) { - $r = 0; - } else { - $r = rand(0,count($r)-1); - } - return $r; - } - } - - if($pr_use > 0) - { - //priem_use , priem_team_f , priem_regen БОТ ИСПОЛЬЗУЕТ ТОЛЬКО 1 ПРИЕМ - //if( count($pr_vars['priem_use']) > 0 && count($pr_vars['priem_team_f']) > 0 ) { - if( rand(0,1) == 1 || !isset($pr_vars['priem_team_f']) ) { - $pr_vars['priem_use'] = $pr_vars['priem_use'][rand(0,count($pr_vars['priem_use'])-1)]; - $pr_vars['priem_use'] = array( 0 => $pr_vars['priem_use'] ); - unset($pr_vars['priem_team_f']); - }else{ - $pr_vars['priem_team_f'] = $pr_vars['priem_team_f'][rand(0,count($pr_vars['priem_team_f'])-1)]; - $pr_vars['priem_team_f'] = array( 0 => $pr_vars['priem_team_f'] ); - unset($pr_vars['priem_use']); - } - //} - - $i = 0; - while($i < count($pr_vars['priem_team_f'])) { - if($pr_vars['priem_team_f'][$i]['chance']*10000 >= rand(0, 1000000)) { - $xx = 0; $ix = 0; - $pl = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `activ` != "-1" AND `id` = "'.$pr_vars['priem_team_f'][$i]['priem'].'" LIMIT 1')); - while($ix < count($this->users)) { - if($this->stats[$ix]['hpNow'] > 0 && $this->users[$ix]['team'] == $pr_vars['priem_team_f'][$i]['team'] && $xx < $pr_vars['priem_team_f'][$i]['x']) { - if(isset($pl['id'])) { - $pr_vars['priem_team_f'][$i]['hp_dmg'] = $this->testYronPriem( $uid1, $uid2, 12, $pr_vars['priem_team_f'][$i]['hp_dmg'], -1, true ); - $as = $priem->magicAtack($this->users[$ix], $pr_vars['priem_team_f'][$i]['hp_dmg'], $pr_vars['priem_team_f'][$i]['type'], $pl, array('user_use' => $this->users[$this->uids[$uid1]]['id']), 0, 0, $pr_vars['priem_team_f'][0]['fiz'], $pr_vars['priem_team_f'][$i]['nomf'], $pr_vars['priem_team_f'][0]['krituet'], $this->users[$this->uids[$uid1]]['id'],$pr_vars['priem_team_f'][$i]['name']); - ###тестирование востановления ХП после нанесенного урона. (Востанавливает) - if($as && isset($pr_vars['priem_team_f'][$i]['hpregen'])) { - if(isset($pr_vars['priem_team_f'][$i]['hp']) || isset($pr_vars['priem_team_f'][$i]['hp_dmg'])) { - if(isset($pr_vars['priem_team_f'][$i]['hp_dmg'])) { - $n_hp = $this->stats[$this->uids[$uid1]]['hpNow']+$as[0]; - $hp_vis = '+'.$as[0]; - } else { - $n_hp = $this->stats[$this->uids[$uid1]]['hpNow']+$pr_vars['priem_team_f'][$i]['hp']; - $hp_vis = '+'.$pr_vars['priem_team_f'][$i]['hp']; - } - if($n_hp > $this->stats[$this->uids[$uid1]]['hpAll']) { - $n_hp = $this->stats[$this->uids[$uid1]]['hpAll']; - } - $uid_b = $this->users[$this->uids[$uid1]]['id']; - $this->users[$this->uids[$uid1]]['hpNow'] = $n_hp; - $this->stats[$this->uids[$uid1]]['hpNow'] = $n_hp; - mysql_query('UPDATE `stats` SET `hpNow` = '.$n_hp.' WHERE `id` = "'.$uid_b.'" LIMIT 1'); - $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "'.$pr_vars['priem_team_f'][$i]['name'].'" и восстановил свое здоровье. '.$hp_vis.' ['.$this->users[$this->uids[$uid1]]['hpNow'].'/'.$this->stats[$this->uids[$uid1]]['hpAll'].']'; - $pr_vars['mas']['vLog'] = 'time1='.time().'||s1='.$this->users[$this->uids[$uid1]]['sex'].'||t1='.$this->users[$this->uids[$uid1]]['team'].'||login1='.$this->users[$this->uids[$uid1]]['login'].'||s2='.$this->users[$this->uids[$uid2]]['sex'].'||t2='.$this->users[$this->uids[$uid2]]['team'].'||login2='.$this->users[$this->uids[$uid2]]['login'].''; - $pr_vars['mas'] = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID+1),'text'=>$pr_vars['mas']['text'],'vars'=>$pr_vars['mas']['vLog'],'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $this->add_log($pr_vars['mas']); - } - } - ### - } - $xx++; - } - $ix++; - } - } - $i++; - } + $pr_vars['priem_use'][1]['chance'] = 25; + $pr_vars['priem_use'][1]['name'] = 'Ярость'; + $pr_vars['priem_use'][1]['id'] = 14; + $pr_vars['priem_use'][1]['on'] = $this->users[$this->uids[$uid1]]; + + $pr_vars['priem_use'][2]['chance'] = 30; + $pr_vars['priem_use'][2]['name'] = 'Раздробить череп'; + $pr_vars['priem_use'][2]['id'] = 219; + $pr_vars['priem_use'][2]['on'] = $this->users[$this->uids[$uid1]]; - if(isset($pr_vars['priem_regen']) && $pr_vars['priem_regen']['chance']*10000 >= rand(0, 1000000)) { - - if($this->stats[$this->uids[$uid1]]['hpAll']<($pr_vars['hp_u1']+$pr_vars['priem_regen']['hp'])) - { - $pr_vars['priem_regen']['hp']=$this->stats[$this->uids[$uid1]]['hpAll']-$pr_vars['hp_u1']; - } - $pr_vars['hp_u1'] += $pr_vars['priem_regen']['hp']; - if($pr_vars['priem_regen']['hp'] > 0) { - $pr_vars['priem_regen']['hp'] = '+'.$pr_vars['priem_regen']['hp']; - } - else - {$pr_vars['priem_regen']['hp'] = 0;} - $this->users[$this->uids[$uid1]]['hpNow'] = $pr_vars['hp_u1']; - $this->stats[$this->uids[$uid1]]['hpNow'] = $pr_vars['hp_u1']; - mysql_query('UPDATE `stats` SET `hpNow` = '.$pr_vars['hp_u1'].' WHERE `id` = "'.$uid2.'" LIMIT 1'); - if( $pr_vars['hp_u1'] > $this->stats[$this->uids[$uid1]]['hpAll'] ) { - $pr_vars['hp_u1'] = $this->stats[$this->uids[$uid1]]['hpAll']; - } - $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "'.$pr_vars['priem_regen']['name'].'" и восстановил свое здоровье. '.$pr_vars['priem_regen']['hp'].' ['.ceil($pr_vars['hp_u1']).'/'.$this->stats[$this->uids[$uid1]]['hpAll'].']'; - $pr_vars['mas']['vLog'] = 'time1='.time().'||s1='.$this->users[$this->uids[$uid1]]['sex'].'||t1='.$this->users[$this->uids[$uid1]]['team'].'||login1='.$this->users[$this->uids[$uid1]]['login'].'||s2='.$this->users[$this->uids[$uid2]]['sex'].'||t2='.$this->users[$this->uids[$uid2]]['team'].'||login2='.$this->users[$this->uids[$uid2]]['login'].''; - $pr_vars['mas'] = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID),'text'=>$pr_vars['mas']['text'],'vars'=>$pr_vars['mas']['vLog'],'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $this->add_log($pr_vars['mas']); - } - - if(isset($pr_vars['priem_regen2']) && $pr_vars['priem_regen2']['chance']*10000 >= rand(0, 1000000)) { - $pr_vars['mp_u1'] += $pr_vars['priem_regen']['mp']; - if($pr_vars['priem_regen']['mp'] > 0) { - $pr_vars['priem_regen']['mp'] = '+'.$pr_vars['priem_regen']['mp']; - } - $this->users[$this->uids[$uid1]]['mpNow'] = $pr_vars['mp_u1']; - $this->stats[$this->uids[$uid1]]['mpNow'] = $pr_vars['mp_u1']; - mysql_query('UPDATE `stats` SET `mpNow` = '.$pr_vars['mp_u1'].' WHERE `id` = "'.$uid2.'" LIMIT 1'); - if( $pr_vars['mp_u1'] > $this->stats[$this->uids[$uid1]]['mpAll'] ) { - $pr_vars['mp_u1'] = $this->stats[$this->uids[$uid1]]['mpAll']; - } - $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "'.$pr_vars['priem_regen2']['name'].'" и восстановил свою ману. '.$pr_vars['priem_regen2']['mp'].' ['.ceil($pr_vars['mp_u1']).'/'.$this->stats[$this->uids[$uid1]]['mpAll'].']'; - $pr_vars['mas']['vLog'] = 'time1='.time().'||s1='.$this->users[$this->uids[$uid1]]['sex'].'||t1='.$this->users[$this->uids[$uid1]]['team'].'||login1='.$this->users[$this->uids[$uid1]]['login'].'||s2='.$this->users[$this->uids[$uid2]]['sex'].'||t2='.$this->users[$this->uids[$uid2]]['team'].'||login2='.$this->users[$this->uids[$uid2]]['login'].''; - $pr_vars['mas'] = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID),'text'=>$pr_vars['mas']['text'],'vars'=>$pr_vars['mas']['vLog'],'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $this->add_log($pr_vars['mas']); - } - - $i = 0; - while($i < count($pr_vars['priem_use'])) { - if(isset($pr_vars['priem_use'][$i]) && $pr_vars['priem_use'][$i]['chance'] >= rand(0, 100)) { - $pl = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `activ` != "-1" AND `id` = "'.mysql_real_escape_string($pr_vars['priem_use'][$i]['id']).'" LIMIT 1')); - if (isset($pl['zad'])){$pl['zad']=0;} - if(isset($pl['id']) && $pl['id'] == 290) { - $priem->magicAtack($pr_vars['priem_use'][$i]['on'], 100, $pr_vars['priem_use'][$i]['type'], $pl, array('user_use' => $uid1), 0, 0, 0, 0, true, $this->users[$this->uids[$uid1]]['id'], $pl['name']); } - - if(isset($pl['id'])) { - $rcu = false; - $j = \Core\ConversionHelper::dataStringToArray($pl['date2']); - $mpr = false; $addch = 0; - $uid = $this->users[$this->uids[$uid1]]['id']; - if(isset($pr_vars['priem_use'][$i]['on']['id'])) { - $uid = $pr_vars['priem_use'][$i]['on']['id']; - } - if(isset($j['onlyOne'])) { - $mpr = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `v2` = "'.$pl['id'].'" AND `uid` = "'.$uid.'" AND `delete` = 0 LIMIT 1')); - } - $pld = array(0 => ''); $nc = 0; - if(isset($mpr['id']) && $j['onlyOne'] == 1) { - $addch = 1; - //$priem->mintr($pl); - $priem->uppz($pl, $id); - if(isset($pr_vars['priem_use'][$i]['on']['id'])) { - $this->stats[$this->uids[$uid]] = $u->getStats($pr_vars['priem_use'][$i]['on'], 0); - } else { - $this->stats[$this->uids[$uid]] = $u->getStats($this->users[$this->uids[$uid1]], 0); - } - $nc = 1; - } elseif(!isset($mpr['id'])) { - $data = ''; - if(isset($j['date3Plus'])) { - $data = $priem->redate($pl['date3'], $this->users[$this->uids[$uid1]]['id']); - } - $hd1 = -1; - if($pl['limit'] > 0) { - $tm = 77; - $hd1 = $pl['limit']; - } else { - $tm = 77; - } - mysql_query('INSERT INTO `eff_users` (`hod`, `v2`, `img2`, `id_eff`, `uid`, `name`, `data`, `overType`, `timeUse`, `v1`, `user_use`) VALUES ("'.$hd1.'", "'.$pl['id'].'", "'.$pl['img'].'.gif", 22, "'.$uid.'", "'.$pr_vars['priem_use'][$i]['name'].'", "'.$data.'", 0, "'.$tm.'", "priem", "'.$uid.'")'); //$this->users[$this->uids[$uid1]]['id'] - unset($hd1); - $addch = 1; $rcu = true; $nc = 1; - //$priem->mintr($pl); - $priem->uppz($pl,$id); - } elseif($j['onlyOne'] > 1) { - if($mpr['x'] < $j['onlyOne']) { - if(isset($j['date3Plus'])) { - $j1 = \Core\ConversionHelper::dataStringToArray($mpr['data']); - $j2 = \Core\ConversionHelper::dataStringToArray($priem->redate($pl['date3'], $this->users[$this->uids[$uid1]]['id'])); - $v = $u->lookKeys($priem->redate($pl['date3'], $this->users[$this->uids[$uid1]]['id']), 0); - $i56 = 0; $inf = ''; - while($i56 < count($v)) { - $j1[$v[$i56]] += $j2[$v[$i56]]; - $vi = str_replace('add_', '', $v[$i56]); - if($u->is[$vi] != '') { - if($j2[$v[$i56]] > 0) { - $inf .= $u->is[$vi].': +'.($j2[$v[$i56]]*(1+$mpr['x'])).', '; - } elseif($j2[$v[$i56]] < 0) { - $inf .= $u->is[$vi].': '.($j2[$v[$i56]]*(1+$mpr['x'])).', '; - } - } - $i56++; - } - $inf = rtrim($inf, ', '); - $j1 = \Core\ConversionHelper::arrayToDataString($j1); - $pld[0] = ' x'.($mpr['x']+1); - $upd = mysql_query('UPDATE `eff_users` SET `data` = "'.$j1.'", `x` = `x`+1 WHERE `id` = "'.$mpr['id'].'" LIMIT 1'); - if($upd) { - //$priem->mintr($pl); - $priem->uppz($pl, $id); - $addch = 1; - $rcu = true; - $nc = 1; - } - } - } - } - } - if($rcu == true && !isset($pr_vars['priem_use'][$i]['no_chat'])) { - if( $inf != '' ) { - $inf = '('.$inf.')'; - } - if($this->users[$this->uids[$uid1]]['id'] != $uid) { - if(isset($inf)) { - $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "'.$pr_vars['priem_use'][$i]['name'].$pld[0].'" на персонажа {u2}. '.$inf.''; - } else { - $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "'.$pr_vars['priem_use'][$i]['name'].$pld[0].'" на персонажа {u2}.'; - } - } else { - if(isset($inf)) { - $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "'.$pr_vars['priem_use'][$i]['name'].$pld[0].'". '.$inf.''; - } else { - $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "'.$pr_vars['priem_use'][$i]['name'].$pld[0].'".'; - } - } - $pr_vars['mas']['vLog'] = 'time1='.time().'||s1='.$this->users[$this->uids[$uid1]]['sex'].'||t1='.$this->users[$this->uids[$uid1]]['team'].'||login1='.$this->users[$this->uids[$uid1]]['login'].'||s2='.$this->users[$this->uids[$uid2]]['sex'].'||t2='.$this->users[$this->uids[$uid2]]['team'].'||login2='.$this->users[$this->uids[$uid2]]['login'].''; - $pr_vars['mas'] = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID),'text'=>$pr_vars['mas']['text'],'vars'=>$pr_vars['mas']['vLog'],'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $this->add_log($pr_vars['mas']); - } - } - $i++; - } + if (isset($pr_vars['priem_use_e']['name']) && isset($pr_vars['priem_use_e']['uron'])) { + $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "' . $pr_vars['priem_use_e']['name'] . '" на {u2}'; + $pr_vars['mas']['vLog'] = 'time1=' . time() . '||s1=' . $this->users[$this->uids[$uid1]]['sex'] . '||t1=' . $this->users[$this->uids[$uid1]]['team'] . '||login1=' . $this->users[$this->uids[$uid1]]['login'] . '||s2=' . $this->users[$this->uids[$uid2]]['sex'] . '||t2=' . $this->users[$this->uids[$uid2]]['team'] . '||login2=' . $this->users[$this->uids[$uid2]]['login'] . ''; + $pr_vars['mas'] = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID), 'text' => $pr_vars['mas']['text'], 'vars' => $pr_vars['mas']['vLog'], 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $this->add_log($pr_vars['mas']); + $priem->addPriem($this->users[$this->uids[$uid2]]['id'], 23, 'atgm=' . $pr_vars['priem_use_e']['uron'] . '', 0, 77, 5, $this->users[$this->uids[$uid1]]['id'], 1, $pr_vars['priem_use_e']['name'], 0, 0, 1, 0, 0, 0, $pr_vars['priem_use_e']['name']); + } - if (isset($pr_vars['priem_use_p']['kolvo']) && isset($pr_vars['priem_use_p']['d_min']) && isset($pr_vars['priem_use_p']['d_max'])) - { - $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "Парализация" на {u2}'; - $pr_vars['mas']['vLog'] = 'time1='.time().'||s1='.$this->users[$this->uids[$uid1]]['sex'].'||t1='.$this->users[$this->uids[$uid1]]['team'].'||login1='.$this->users[$this->uids[$uid1]]['login'].'||s2='.$this->users[$this->uids[$uid2]]['sex'].'||t2='.$this->users[$this->uids[$uid2]]['team'].'||login2='.$this->users[$this->uids[$uid2]]['login'].''; - $pr_vars['mas'] = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID),'text'=>$pr_vars['mas']['text'],'vars'=>$pr_vars['mas']['vLog'],'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $this->add_log($pr_vars['mas']); - $i=0; - while($i<$pr_vars['priem_use_p']['kolvo']) - { - $pr_vars['mas']['text'] = '{tm1} {u2} Пропустил ход!'; - $pr_vars['mas']['vLog'] = 'time1='.time().'||s1='.$this->users[$this->uids[$uid1]]['sex'].'||t1='.$this->users[$this->uids[$uid1]]['team'].'||login1='.$this->users[$this->uids[$uid1]]['login'].'||s2='.$this->users[$this->uids[$uid2]]['sex'].'||t2='.$this->users[$this->uids[$uid2]]['team'].'||login2='.$this->users[$this->uids[$uid2]]['login'].''; - $pr_vars['mas'] = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID),'text'=>$pr_vars['mas']['text'],'vars'=>$pr_vars['mas']['vLog'],'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $this->add_log($pr_vars['mas']); - // - $dmg=rand($pr_vars['priem_use_p']['d_min'],$pr_vars['priem_use_p']['d_max']); - $this->stats[$this->uids[$uid2]]['hpNow']=$this->stats[$this->uids[$uid2]]['hpNow']-$dmg; - if ($this->stats[$this->uids[$uid2]]['hpNow']<=0){$this->stats[$this->uids[$uid2]]['hpNow']=0;} - mysql_query('UPDATE `stats` SET `hpNow` = '.$this->stats[$this->uids[$uid2]]['hpNow'].' WHERE `id` = "'.$uid2.'" LIMIT 1'); - $pr_vars['mas']['text'] = '{tm1} {zn2_4} {u2} {1x1x9}{1x2x2}{2x3x0} {u1} {2x4x9}{2x5x1}{2x6x0} {1x7x2} по левой ягодице. -'.$dmg.' ['.ceil($this->stats[$this->uids[$uid2]]['hpNow']).'/'.$this->stats[$this->uids[$uid2]]['hpAll'].']'; - $pr_vars['mas']['vLog'] = 'time1='.time().'||s1='.$this->users[$this->uids[$uid1]]['sex'].'||t1='.$this->users[$this->uids[$uid1]]['team'].'||login1='.$this->users[$this->uids[$uid1]]['login'].'||s2='.$this->users[$this->uids[$uid2]]['sex'].'||t2='.$this->users[$this->uids[$uid2]]['team'].'||login2='.$this->users[$this->uids[$uid2]]['login'].''; - $pr_vars['mas'] = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID),'text'=>$pr_vars['mas']['text'],'vars'=>$pr_vars['mas']['vLog'],'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $this->add_log($pr_vars['mas']); - //Тест спасение смерть---------------------- - $this->spaCheck($this->users[$this->uids[$uid2]]['id']); - //---------------- - - $i++; - } - - - - //------------------------------------------ - - } - - - unset($pr_use, $pr_vars); - } - } + + if (!function_exists('rand_user_team')) { + function rand_user_team($tm, $tp) + { + global $btl; + $r = []; + $i = 0; + while ($i < count($btl->users)) { + if ($btl->users[$i]['team'] == $tm && $tp == 1) { + $r[] = $btl->users[$i]['id']; + } elseif ($btl->users[$i]['team'] != $tm && $tp == 2) { + $r[] = $btl->users[$i]['id']; + } + $i++; + } + if (count($r) == 0) { + $r = 0; + } else { + $r = rand(0, count($r) - 1); + } + return $r; + } + } + + if ($pr_use > 0) { + //priem_use , priem_team_f , priem_regen БОТ ИСПОЛЬЗУЕТ ТОЛЬКО 1 ПРИЕМ + //if( count($pr_vars['priem_use']) > 0 && count($pr_vars['priem_team_f']) > 0 ) { + if (rand(0, 1) == 1 || !isset($pr_vars['priem_team_f'])) { + $pr_vars['priem_use'] = $pr_vars['priem_use'][rand(0, count($pr_vars['priem_use']) - 1)]; + $pr_vars['priem_use'] = [0 => $pr_vars['priem_use']]; + unset($pr_vars['priem_team_f']); + } else { + $pr_vars['priem_team_f'] = $pr_vars['priem_team_f'][rand(0, count($pr_vars['priem_team_f']) - 1)]; + $pr_vars['priem_team_f'] = [0 => $pr_vars['priem_team_f']]; + unset($pr_vars['priem_use']); + } + //} + + $i = 0; + while ($i < count($pr_vars['priem_team_f'])) { + if ($pr_vars['priem_team_f'][$i]['chance'] * 10000 >= rand(0, 1000000)) { + $xx = 0; + $ix = 0; + $pl = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `activ` != "-1" AND `id` = "' . $pr_vars['priem_team_f'][$i]['priem'] . '" LIMIT 1')); + while ($ix < count($this->users)) { + if ($this->stats[$ix]['hpNow'] > 0 && $this->users[$ix]['team'] == $pr_vars['priem_team_f'][$i]['team'] && $xx < $pr_vars['priem_team_f'][$i]['x']) { + if (isset($pl['id'])) { + $pr_vars['priem_team_f'][$i]['hp_dmg'] = $this->testYronPriem($uid1, $uid2, 12, $pr_vars['priem_team_f'][$i]['hp_dmg'], -1, true); + $as = $priem->magicAtack($this->users[$ix], $pr_vars['priem_team_f'][$i]['hp_dmg'], $pr_vars['priem_team_f'][$i]['type'], $pl, ['user_use' => $this->users[$this->uids[$uid1]]['id']], 0, 0, $pr_vars['priem_team_f'][0]['fiz'], $pr_vars['priem_team_f'][$i]['nomf'], $pr_vars['priem_team_f'][0]['krituet'], $this->users[$this->uids[$uid1]]['id'], $pr_vars['priem_team_f'][$i]['name']); + ###тестирование востановления ХП после нанесенного урона. (Востанавливает) + if ($as && isset($pr_vars['priem_team_f'][$i]['hpregen'])) { + if (isset($pr_vars['priem_team_f'][$i]['hp']) || isset($pr_vars['priem_team_f'][$i]['hp_dmg'])) { + if (isset($pr_vars['priem_team_f'][$i]['hp_dmg'])) { + $n_hp = $this->stats[$this->uids[$uid1]]['hpNow'] + $as[0]; + $hp_vis = '+' . $as[0]; + } else { + $n_hp = $this->stats[$this->uids[$uid1]]['hpNow'] + $pr_vars['priem_team_f'][$i]['hp']; + $hp_vis = '+' . $pr_vars['priem_team_f'][$i]['hp']; + } + if ($n_hp > $this->stats[$this->uids[$uid1]]['hpAll']) { + $n_hp = $this->stats[$this->uids[$uid1]]['hpAll']; + } + $uid_b = $this->users[$this->uids[$uid1]]['id']; + $this->users[$this->uids[$uid1]]['hpNow'] = $n_hp; + $this->stats[$this->uids[$uid1]]['hpNow'] = $n_hp; + mysql_query('UPDATE `stats` SET `hpNow` = ' . $n_hp . ' WHERE `id` = "' . $uid_b . '" LIMIT 1'); + $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "' . $pr_vars['priem_team_f'][$i]['name'] . '" и восстановил свое здоровье. ' . $hp_vis . ' [' . $this->users[$this->uids[$uid1]]['hpNow'] . '/' . $this->stats[$this->uids[$uid1]]['hpAll'] . ']'; + $pr_vars['mas']['vLog'] = 'time1=' . time() . '||s1=' . $this->users[$this->uids[$uid1]]['sex'] . '||t1=' . $this->users[$this->uids[$uid1]]['team'] . '||login1=' . $this->users[$this->uids[$uid1]]['login'] . '||s2=' . $this->users[$this->uids[$uid2]]['sex'] . '||t2=' . $this->users[$this->uids[$uid2]]['team'] . '||login2=' . $this->users[$this->uids[$uid2]]['login'] . ''; + $pr_vars['mas'] = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID + 1), 'text' => $pr_vars['mas']['text'], 'vars' => $pr_vars['mas']['vLog'], 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $this->add_log($pr_vars['mas']); + } + } + ### + } + $xx++; + } + $ix++; + } + } + $i++; + } + + if (isset($pr_vars['priem_regen']) && $pr_vars['priem_regen']['chance'] * 10000 >= rand(0, 1000000)) { + + if ($this->stats[$this->uids[$uid1]]['hpAll'] < ($pr_vars['hp_u1'] + $pr_vars['priem_regen']['hp'])) { + $pr_vars['priem_regen']['hp'] = $this->stats[$this->uids[$uid1]]['hpAll'] - $pr_vars['hp_u1']; + } + $pr_vars['hp_u1'] += $pr_vars['priem_regen']['hp']; + if ($pr_vars['priem_regen']['hp'] > 0) { + $pr_vars['priem_regen']['hp'] = '+' . $pr_vars['priem_regen']['hp']; + } else { + $pr_vars['priem_regen']['hp'] = 0; + } + $this->users[$this->uids[$uid1]]['hpNow'] = $pr_vars['hp_u1']; + $this->stats[$this->uids[$uid1]]['hpNow'] = $pr_vars['hp_u1']; + mysql_query('UPDATE `stats` SET `hpNow` = ' . $pr_vars['hp_u1'] . ' WHERE `id` = "' . $uid2 . '" LIMIT 1'); + if ($pr_vars['hp_u1'] > $this->stats[$this->uids[$uid1]]['hpAll']) { + $pr_vars['hp_u1'] = $this->stats[$this->uids[$uid1]]['hpAll']; + } + $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "' . $pr_vars['priem_regen']['name'] . '" и восстановил свое здоровье. ' . $pr_vars['priem_regen']['hp'] . ' [' . ceil($pr_vars['hp_u1']) . '/' . $this->stats[$this->uids[$uid1]]['hpAll'] . ']'; + $pr_vars['mas']['vLog'] = 'time1=' . time() . '||s1=' . $this->users[$this->uids[$uid1]]['sex'] . '||t1=' . $this->users[$this->uids[$uid1]]['team'] . '||login1=' . $this->users[$this->uids[$uid1]]['login'] . '||s2=' . $this->users[$this->uids[$uid2]]['sex'] . '||t2=' . $this->users[$this->uids[$uid2]]['team'] . '||login2=' . $this->users[$this->uids[$uid2]]['login'] . ''; + $pr_vars['mas'] = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID), 'text' => $pr_vars['mas']['text'], 'vars' => $pr_vars['mas']['vLog'], 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $this->add_log($pr_vars['mas']); + } + + if (isset($pr_vars['priem_regen2']) && $pr_vars['priem_regen2']['chance'] * 10000 >= rand(0, 1000000)) { + $pr_vars['mp_u1'] += $pr_vars['priem_regen']['mp']; + if ($pr_vars['priem_regen']['mp'] > 0) { + $pr_vars['priem_regen']['mp'] = '+' . $pr_vars['priem_regen']['mp']; + } + $this->users[$this->uids[$uid1]]['mpNow'] = $pr_vars['mp_u1']; + $this->stats[$this->uids[$uid1]]['mpNow'] = $pr_vars['mp_u1']; + mysql_query('UPDATE `stats` SET `mpNow` = ' . $pr_vars['mp_u1'] . ' WHERE `id` = "' . $uid2 . '" LIMIT 1'); + if ($pr_vars['mp_u1'] > $this->stats[$this->uids[$uid1]]['mpAll']) { + $pr_vars['mp_u1'] = $this->stats[$this->uids[$uid1]]['mpAll']; + } + $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "' . $pr_vars['priem_regen2']['name'] . '" и восстановил свою ману. ' . $pr_vars['priem_regen2']['mp'] . ' [' . ceil($pr_vars['mp_u1']) . '/' . $this->stats[$this->uids[$uid1]]['mpAll'] . ']'; + $pr_vars['mas']['vLog'] = 'time1=' . time() . '||s1=' . $this->users[$this->uids[$uid1]]['sex'] . '||t1=' . $this->users[$this->uids[$uid1]]['team'] . '||login1=' . $this->users[$this->uids[$uid1]]['login'] . '||s2=' . $this->users[$this->uids[$uid2]]['sex'] . '||t2=' . $this->users[$this->uids[$uid2]]['team'] . '||login2=' . $this->users[$this->uids[$uid2]]['login'] . ''; + $pr_vars['mas'] = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID), 'text' => $pr_vars['mas']['text'], 'vars' => $pr_vars['mas']['vLog'], 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $this->add_log($pr_vars['mas']); + } + + $i = 0; + while ($i < count($pr_vars['priem_use'])) { + if (isset($pr_vars['priem_use'][$i]) && $pr_vars['priem_use'][$i]['chance'] >= rand(0, 100)) { + $pl = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `activ` != "-1" AND `id` = "' . mysql_real_escape_string($pr_vars['priem_use'][$i]['id']) . '" LIMIT 1')); + if (isset($pl['zad'])) { + $pl['zad'] = 0; + } + if (isset($pl['id']) && $pl['id'] == 290) { + $priem->magicAtack($pr_vars['priem_use'][$i]['on'], 100, $pr_vars['priem_use'][$i]['type'], $pl, ['user_use' => $uid1], 0, 0, 0, 0, true, $this->users[$this->uids[$uid1]]['id'], $pl['name']); + } + + if (isset($pl['id'])) { + $rcu = false; + $j = Helper\Conversion::dataStringToArray($pl['date2']); + $mpr = false; + $addch = 0; + $uid = $this->users[$this->uids[$uid1]]['id']; + if (isset($pr_vars['priem_use'][$i]['on']['id'])) { + $uid = $pr_vars['priem_use'][$i]['on']['id']; + } + if (isset($j['onlyOne'])) { + $mpr = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `v2` = "' . $pl['id'] . '" AND `uid` = "' . $uid . '" AND `delete` = 0 LIMIT 1')); + } + $pld = [0 => '']; + $nc = 0; + if (isset($mpr['id']) && $j['onlyOne'] == 1) { + $addch = 1; + //$priem->mintr($pl); + $priem->uppz($pl, $id); + if (isset($pr_vars['priem_use'][$i]['on']['id'])) { + $this->stats[$this->uids[$uid]] = $u->getStats($pr_vars['priem_use'][$i]['on'], 0); + } else { + $this->stats[$this->uids[$uid]] = $u->getStats($this->users[$this->uids[$uid1]], 0); + } + $nc = 1; + } elseif (!isset($mpr['id'])) { + $data = ''; + if (isset($j['date3Plus'])) { + $data = $priem->redate($pl['date3'], $this->users[$this->uids[$uid1]]['id']); + } + $hd1 = -1; + if ($pl['limit'] > 0) { + $tm = 77; + $hd1 = $pl['limit']; + } else { + $tm = 77; + } + mysql_query('INSERT INTO `eff_users` (`hod`, `v2`, `img2`, `id_eff`, `uid`, `name`, `data`, `overType`, `timeUse`, `v1`, `user_use`) VALUES ("' . $hd1 . '", "' . $pl['id'] . '", "' . $pl['img'] . '.gif", 22, "' . $uid . '", "' . $pr_vars['priem_use'][$i]['name'] . '", "' . $data . '", 0, "' . $tm . '", "priem", "' . $uid . '")'); //$this->users[$this->uids[$uid1]]['id'] + unset($hd1); + $addch = 1; + $rcu = true; + $nc = 1; + //$priem->mintr($pl); + $priem->uppz($pl, $id); + } elseif ($j['onlyOne'] > 1) { + if ($mpr['x'] < $j['onlyOne']) { + if (isset($j['date3Plus'])) { + $j1 = Helper\Conversion::dataStringToArray($mpr['data']); + $j2 = Helper\Conversion::dataStringToArray($priem->redate($pl['date3'], $this->users[$this->uids[$uid1]]['id'])); + $v = $u->lookKeys($priem->redate($pl['date3'], $this->users[$this->uids[$uid1]]['id']), 0); + $i56 = 0; + $inf = ''; + while ($i56 < count($v)) { + $j1[$v[$i56]] += $j2[$v[$i56]]; + $vi = str_replace('add_', '', $v[$i56]); + if ($u->is[$vi] != '') { + if ($j2[$v[$i56]] > 0) { + $inf .= $u->is[$vi] . ': +' . ($j2[$v[$i56]] * (1 + $mpr['x'])) . ', '; + } elseif ($j2[$v[$i56]] < 0) { + $inf .= $u->is[$vi] . ': ' . ($j2[$v[$i56]] * (1 + $mpr['x'])) . ', '; + } + } + $i56++; + } + $inf = rtrim($inf, ', '); + $j1 = Helper\Conversion::arrayToDataString($j1); + $pld[0] = ' x' . ($mpr['x'] + 1); + $upd = mysql_query('UPDATE `eff_users` SET `data` = "' . $j1 . '", `x` = `x`+1 WHERE `id` = "' . $mpr['id'] . '" LIMIT 1'); + if ($upd) { + //$priem->mintr($pl); + $priem->uppz($pl, $id); + $addch = 1; + $rcu = true; + $nc = 1; + } + } + } + } + } + if ($rcu == true && !isset($pr_vars['priem_use'][$i]['no_chat'])) { + if ($inf != '') { + $inf = '(' . $inf . ')'; + } + if ($this->users[$this->uids[$uid1]]['id'] != $uid) { + if (isset($inf)) { + $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "' . $pr_vars['priem_use'][$i]['name'] . $pld[0] . '" на персонажа {u2}. ' . $inf . ''; + } else { + $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "' . $pr_vars['priem_use'][$i]['name'] . $pld[0] . '" на персонажа {u2}.'; + } + } else { + if (isset($inf)) { + $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "' . $pr_vars['priem_use'][$i]['name'] . $pld[0] . '". ' . $inf . ''; + } else { + $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "' . $pr_vars['priem_use'][$i]['name'] . $pld[0] . '".'; + } + } + $pr_vars['mas']['vLog'] = 'time1=' . time() . '||s1=' . $this->users[$this->uids[$uid1]]['sex'] . '||t1=' . $this->users[$this->uids[$uid1]]['team'] . '||login1=' . $this->users[$this->uids[$uid1]]['login'] . '||s2=' . $this->users[$this->uids[$uid2]]['sex'] . '||t2=' . $this->users[$this->uids[$uid2]]['team'] . '||login2=' . $this->users[$this->uids[$uid2]]['login'] . ''; + $pr_vars['mas'] = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID), 'text' => $pr_vars['mas']['text'], 'vars' => $pr_vars['mas']['vLog'], 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $this->add_log($pr_vars['mas']); + } + } + $i++; + } + + if (isset($pr_vars['priem_use_p']['kolvo']) && isset($pr_vars['priem_use_p']['d_min']) && isset($pr_vars['priem_use_p']['d_max'])) { + $pr_vars['mas']['text'] = '{tm1} {u1} использовал прием "Парализация" на {u2}'; + $pr_vars['mas']['vLog'] = 'time1=' . time() . '||s1=' . $this->users[$this->uids[$uid1]]['sex'] . '||t1=' . $this->users[$this->uids[$uid1]]['team'] . '||login1=' . $this->users[$this->uids[$uid1]]['login'] . '||s2=' . $this->users[$this->uids[$uid2]]['sex'] . '||t2=' . $this->users[$this->uids[$uid2]]['team'] . '||login2=' . $this->users[$this->uids[$uid2]]['login'] . ''; + $pr_vars['mas'] = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID), 'text' => $pr_vars['mas']['text'], 'vars' => $pr_vars['mas']['vLog'], 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $this->add_log($pr_vars['mas']); + $i = 0; + while ($i < $pr_vars['priem_use_p']['kolvo']) { + $pr_vars['mas']['text'] = '{tm1} {u2} Пропустил ход!'; + $pr_vars['mas']['vLog'] = 'time1=' . time() . '||s1=' . $this->users[$this->uids[$uid1]]['sex'] . '||t1=' . $this->users[$this->uids[$uid1]]['team'] . '||login1=' . $this->users[$this->uids[$uid1]]['login'] . '||s2=' . $this->users[$this->uids[$uid2]]['sex'] . '||t2=' . $this->users[$this->uids[$uid2]]['team'] . '||login2=' . $this->users[$this->uids[$uid2]]['login'] . ''; + $pr_vars['mas'] = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID), 'text' => $pr_vars['mas']['text'], 'vars' => $pr_vars['mas']['vLog'], 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $this->add_log($pr_vars['mas']); + // + $dmg = rand($pr_vars['priem_use_p']['d_min'], $pr_vars['priem_use_p']['d_max']); + $this->stats[$this->uids[$uid2]]['hpNow'] = $this->stats[$this->uids[$uid2]]['hpNow'] - $dmg; + if ($this->stats[$this->uids[$uid2]]['hpNow'] <= 0) { + $this->stats[$this->uids[$uid2]]['hpNow'] = 0; + } + mysql_query('UPDATE `stats` SET `hpNow` = ' . $this->stats[$this->uids[$uid2]]['hpNow'] . ' WHERE `id` = "' . $uid2 . '" LIMIT 1'); + $pr_vars['mas']['text'] = '{tm1} {zn2_4} {u2} {1x1x9}{1x2x2}{2x3x0} {u1} {2x4x9}{2x5x1}{2x6x0} {1x7x2} по левой ягодице. -' . $dmg . ' [' . ceil($this->stats[$this->uids[$uid2]]['hpNow']) . '/' . $this->stats[$this->uids[$uid2]]['hpAll'] . ']'; + $pr_vars['mas']['vLog'] = 'time1=' . time() . '||s1=' . $this->users[$this->uids[$uid1]]['sex'] . '||t1=' . $this->users[$this->uids[$uid1]]['team'] . '||login1=' . $this->users[$this->uids[$uid1]]['login'] . '||s2=' . $this->users[$this->uids[$uid2]]['sex'] . '||t2=' . $this->users[$this->uids[$uid2]]['team'] . '||login2=' . $this->users[$this->uids[$uid2]]['login'] . ''; + $pr_vars['mas'] = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID), 'text' => $pr_vars['mas']['text'], 'vars' => $pr_vars['mas']['vLog'], 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $this->add_log($pr_vars['mas']); + //Тест спасение смерть---------------------- + $this->spaCheck($this->users[$this->uids[$uid2]]['id']); + //---------------- + + $i++; + } + + + //------------------------------------------ + + } + + + unset($pr_use, $pr_vars); + } + } } ?> \ No newline at end of file diff --git a/_incl_data/class/priems/moment.php b/_incl_data/class/priems/moment.php index 644facb8..0d76eafc 100644 --- a/_incl_data/class/priems/moment.php +++ b/_incl_data/class/priems/moment.php @@ -1,7 +1,6 @@ info['enemy'].'" and `v2`="191" and `delete`="0" LIMIT 1')); - //Ошеломить - if($imun){ - echo 'У персонажа иммунитет к ошеломляющим приемам еше '.$imun['hod'].' ход.'; - $cup = true; - }elseif($btl->stats[$btl->uids[$u->info['enemy']]]['hpNow']>=1) - { - // - $re = $this->addPriem($u->info['enemy'],230,'',0,77,2,$u->info['id'],2,'ошеломить'); - $re = $this->addPriem($u->info['enemy'],191,'',0,77,6,$u->info['id'],5,'иммунитеткошеломить'); - if($re==false) - { - echo '[Er::Ошеломить[xX]]'; - } - $sx = ''; - if($u->info['sex']==1) - { - $sx = 'а'; - } - $vLog = 'time1='.time().'||s1='.$u->info['sex'].'||t1='.$u->info['team'].'||login1='.$u->info['login'].'||s2='.$btl->users[$btl->uids[$u->info['enemy']]]['sex'].'||t2='.$btl->users[$btl->uids[$u->info['enemy']]]['team'].'||login2='.$btl->users[$btl->uids[$u->info['enemy']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$btl->info['id'],'id_hod'=>$btl->hodID,'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'" и ошеломил'.$sx.' персонажа {u2} на два хода.'; - $pz = $btl->users[$btl->uids[$u->info['enemy']]]['priems_z']; - $p_id = $btl->users[$btl->uids[$u->info['enemy']]]['priems']; - $pz = explode('|',$pz); - $p_id = explode('|',$p_id); - $i = 0; - while($i<=30) - { - if($p_id[$i]>=195 and $p_id[$i]<=198){ - $pz[$i]=$pz[$i]; - }else{ - $pz[$i] += 2; - } - $i++; - } - $pz = implode('|',$pz); - $btl->users[$btl->uids[$u->info['enemy']]]['priems_z'] = $pz; - unset($pz); - mysql_query('UPDATE `stats` SET `priems_z` = "'.$btl->users[$btl->uids[$u->info['enemy']]]['priems_z'].'" WHERE `id` = "'.$u->info['enemy'].'" LIMIT 1'); - $btl->add_log($mas1); - $pz[(int)$id] = 1; - } -}elseif($pl['id'] == 227) { - $imun = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$u->info['enemy'].'" and `v2`="191" and `delete`="0" LIMIT 1')); - //Контузия - if($imun){ - echo 'У персонажа иммунитет к ошеломляющим приемам еше '.$imun['hod'].' ход.'; - $cup = true; - }elseif($btl->stats[$btl->uids[$u->info['enemy']]]['hpNow']>=1) - { - // - $re = $this->addPriem($u->info['enemy'],$pl['id'],'',0,77,4,$u->info['id'],1,'контузия'); - $re = $this->addPriem($u->info['enemy'],191,'',0,77,6,$u->info['id'],5,'иммунитеткошеломить'); - if($re==false) - { - echo '[Er::Контузия[xX]]'; - } - $sx = ''; - if($u->info['sex']==1) - { - $sx = 'а'; - } - $vLog = 'time1='.time().'||s1='.$u->info['sex'].'||t1='.$u->info['team'].'||login1='.$u->info['login'].'||s2='.$btl->users[$btl->uids[$u->info['enemy']]]['sex'].'||t2='.$btl->users[$btl->uids[$u->info['enemy']]]['team'].'||login2='.$btl->users[$btl->uids[$u->info['enemy']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$btl->info['id'],'id_hod'=>$btl->hodID,'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - - $hp = $u->info['level']*2-$u->info['level']; - - if($hp < 0) { - $hp = 0; - } - - $btl->users[$btl->uids[$u->info['enemy']]]['hpNow'] -= $hp; - $btl->stats[$btl->uids[$u->info['enemy']]]['hpNow'] -= $hp; - $btl->users[$btl->uids[$u->info['enemy']]]['last_hp'] = -$hp; - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$u->info['enemy']]]['hpNow'].'",`last_hp` = "'.$btl->users[$btl->uids[$u->info['enemy']]]['last_hp'].'" WHERE `id` = "'.$u->info['enemy'].'" LIMIT 1'); - - if($hp < 1) { - $hp = '--'; - }else{ - $hp = -$hp; - } - - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'" и ошеломил'.$sx.' щитом персонажа {u2} на один ход. '.$hp.' ['.floor($btl->stats[$btl->uids[$u->info['enemy']]]['hpNow']).'/'.$btl->stats[$btl->uids[$u->info['enemy']]]['hpAll'].']'; - $pz = $btl->users[$btl->uids[$u->info['enemy']]]['priems_z']; - $p_id = $btl->users[$btl->uids[$u->info['enemy']]]['priems']; - $pz = explode('|',$pz); - $p_id = explode('|',$p_id); - $i = 0; - while($i<=30) - { - if($p_id[$i]>=195 and $p_id[$i]<=198){ - $pz[$i]=$pz[$i]; - }else{ - $pz[$i] += 2; - } - $i++; - } - $pz = implode('|',$pz); - $btl->users[$btl->uids[$u->info['enemy']]]['priems_z'] = $pz; - unset($pz); - mysql_query('UPDATE `stats` SET `priems_z` = "'.$btl->users[$btl->uids[$u->info['enemy']]]['priems_z'].'" WHERE `id` = "'.$u->info['enemy'].'" LIMIT 1'); - $btl->add_log($mas1); - $pz[(int)$id] = 1; - } -}elseif($pl['priem']['id'] == 226) { - //Возмездие - $hp = 6*$u1['level']; - if($hp > 0) { - $this->users[$this->uids[$u2['id']]]['last_hp'] = -$hp; - $this->stats[$this->uids[$u2['id']]]['hpNow'] -= $hp; - $s2['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; - $p2['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; - $this->users[$this->uids[$u2['id']]]['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; - mysql_query('UPDATE `stats` SET `hpNow` = "'.$this->stats[$this->uids[$u2['id']]]['hpNow'].'",`last_hp` = "'.$this->users[$this->uids[$u2['id']]]['last_hp'].'" WHERE `id` = "'.$u2['id'].'" LIMIT 1'); - $this->stats[$this->uids[$u2['uid']]] = $u->getStats($u2['uid'],0); - $hp = -$hp; - }else{ - $hp = '--'; - } - $mas1['text'] = '{tm1} {u2} утратил здоровье от приема "'.$pl['name'].'". '.$hp.' ['.floor($this->stats[$this->uids[$u2['id']]]['hpNow']).'/'.$this->stats[$this->uids[$u2['id']]]['hpAll'].']'; -}elseif($pl['id'] == 224) { - if($btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] > 0) { - $btl->stats[$btl->uids[$this->ue['id']]]['tactic6']++; - $btl->users[$btl->uids[$this->ue['id']]]['tactic6']++; - if($btl->users[$btl->uids[$this->ue['id']]]['id'] == $u->info['id']) { - $u->info['tactic6']++; - } - mysql_query('UPDATE `stats` SET `tactic6` = "'.$btl->users[$btl->uids[$this->ue['id']]]['tactic6'].'" WHERE `id` = "'.$this->ue['id'].'" LIMIT 1'); - $vLog = 'time1='.time().'||s1='.$btl->users[$btl->uids[$u->info['id']]]['sex'].'||t1='.$btl->users[$btl->uids[$u->info['id']]]['team'].'||login1='.$btl->users[$btl->uids[$u->info['id']]]['login'].'||s2='.$btl->users[$btl->uids[$this->ue['id']]]['sex'].'||t2='.$btl->users[$btl->uids[$this->ue['id']]]['team'].'||login2='.$btl->users[$btl->uids[$this->ue['id']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$btl->info['id'],'id_hod'=>($btl->hodID+1),'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'" на персонажа {u2}.'; - $btl->add_log($mas1); - $pz[(int)$id] = 1; - unset($vLog,$mas1); - } -}elseif($pl['priem']['id'] == 222) { - //Последний удар - if(!isset($this->del_val['eff'][$pl['priem']['id']])) { - $hp = floor($this->stats[$this->uids[$pl['uid']]]['hpNow']); - $this->stats[$this->uids[$pl['uid']]]['last_hp'] = -$hp; - - if($hp < 1) { - $hp = '--'; - }else{ - $hp = -$hp; - } - - $this->del_val['eff'][$pl['id']] = true; - $vLog = 'time1='.time().'||s1='.$this->users[$this->uids[$pl['uid']]]['sex'].'||t1='.$this->users[$this->uids[$pl['uid']]]['team'].'||login1='.$this->users[$this->uids[$pl['uid']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID+1),'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'".'; // '.$hp.' [0/'.$this->stats[$this->uids[$u1['id']]]['hpAll'].']'; - $this->add_log($mas1); - $pz[(int)$id] = 1; - unset($vLog,$mas1); - } -}elseif($pl['id'] == 232) { - //Выжить - $hp = $btl->users[$btl->uids[$u->info['id']]]['tactic1']+$btl->users[$btl->uids[$u->info['id']]]['tactic2']+$btl->users[$btl->uids[$u->info['id']]]['tactic3']+$btl->users[$btl->uids[$u->info['id']]]['tactic4']+$btl->users[$btl->uids[$u->info['id']]]['tactic5']+$btl->users[$btl->uids[$u->info['id']]]['tactic6']*0.5; - if($hp > 25) { - $hp = 25; - } - $hp = floor($btl->stats[$btl->uids[$u->info['id']]]['hpAll']/100*$hp); - - if(floor($btl->stats[$btl->uids[$u->info['id']]]['hpAll']-$btl->stats[$btl->uids[$u->info['id']]]['hpNow']) < $hp) { - $hp = floor($btl->stats[$btl->uids[$u->info['id']]]['hpAll']-$btl->stats[$btl->uids[$u->info['id']]]['hpNow']); - } - - $i03 = 1; - while($i03 <= 6) { - $btl->users[$btl->uids[$u->info['id']]]['tactic'.$i03] = 0; - $btl->stats[$btl->uids[$u->info['id']]]['tactic'.$i03] = 0; - $u->info['tactic'.$i03] = 0; - $u->stats['tactic'.$i03] = 0; - $rstb = 1; - $i03++; - } - unset($i03); - - $hp = -$hp; - - $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] -= $hp; - - if($btl->stats[$btl->uids[$u->info['id']]]['hpNow'] < 0) - { - $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] = 0; - }elseif($btl->stats[$btl->uids[$u->info['id']]]['hpNow']>$btl->stats[$btl->uids[$u->info['id']]]['hpAll']) - { - $hp = ceil($hp-($btl->stats[$btl->uids[$u->info['id']]]['hpNow']-$btl->stats[$btl->uids[$u->info['id']]]['hpAll'])); - $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpAll']; - } - - if($hp < 0) - { - $hp = '+'.(-$hp); - }elseif($hp == 0){ - $hp = '--'; - }else{ - $hp = '-'.$hp; - } - - $vLog = 'time1='.time().'||s1='.$u->info['sex'].'||t1='.$u->info['team'].'||login1='.$u->info['login'].''; - $mas1 = array('time'=>time(),'battle'=>$btl->info['id'],'id_hod'=>($btl->hodID+1),'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'". '.$hp.' ['.floor($btl->stats[$btl->uids[$u->info['id']]]['hpNow']).'/'.$btl->stats[$btl->uids[$u->info['id']]]['hpAll'].']'; - $btl->add_log($mas1); - - $btl->users[$btl->uids[$u->info['id']]]['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpNow']; - $u->info['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpNow']; - - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$u->info['id']]]['hpNow'].'",`tactic1` ="0",`tactic2` ="0",`tactic3` ="0",`tactic4` ="0",`tactic5` ="0",`tactic6` ="0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - - unset($hp021); -}elseif($pl['id'] == 221) { - //Отменить - $hp = $btl->users[$btl->uids[$u->info['id']]]['last_hp']; +if ($pl['id'] == 189) { + $imun = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $u->info['enemy'] . '" and `v2`="191" and `delete`="0" LIMIT 1')); + //Ошеломить + if ($imun) { + echo 'У персонажа иммунитет к ошеломляющим приемам еше ' . $imun['hod'] . ' ход.'; + $cup = true; + } elseif ($btl->stats[$btl->uids[$u->info['enemy']]]['hpNow'] >= 1) { + // + $re = $this->addPriem($u->info['enemy'], 230, '', 0, 77, 2, $u->info['id'], 2, 'ошеломить'); + $re = $this->addPriem($u->info['enemy'], 191, '', 0, 77, 6, $u->info['id'], 5, 'иммунитеткошеломить'); + if ($re == false) { + echo '[Er::Ошеломить[xX]]'; + } + $sx = ''; + if ($u->info['sex'] == 1) { + $sx = 'а'; + } + $vLog = 'time1=' . time() . '||s1=' . $u->info['sex'] . '||t1=' . $u->info['team'] . '||login1=' . $u->info['login'] . '||s2=' . $btl->users[$btl->uids[$u->info['enemy']]]['sex'] . '||t2=' . $btl->users[$btl->uids[$u->info['enemy']]]['team'] . '||login2=' . $btl->users[$btl->uids[$u->info['enemy']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => $btl->hodID, 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; - $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] -= $hp; - - if($btl->stats[$btl->uids[$u->info['id']]]['hpNow'] < 0) - { - $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] = 0; - }elseif($btl->stats[$btl->uids[$u->info['id']]]['hpNow']>$btl->stats[$btl->uids[$u->info['id']]]['hpAll']) - { - $hp = ceil($hp-($btl->stats[$btl->uids[$u->info['id']]]['hpNow']-$btl->stats[$btl->uids[$u->info['id']]]['hpAll'])); - $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpAll']; - } - - $btl->users[$btl->uids[$u->info['id']]]['last_hp'] = 0; - - if($hp < 0) - { - $hp = '+'.(-$hp); - }elseif($hp == 0){ - $hp = '--'; - }else{ - $hp = '-'.$hp; - } - - $vLog = 'time1='.time().'||s1='.$u->info['sex'].'||t1='.$u->info['team'].'||login1='.$u->info['login'].''; - $mas1 = array('time'=>time(),'battle'=>$btl->info['id'],'id_hod'=>($btl->hodID+1),'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'". '.$hp.' ['.floor($btl->stats[$btl->uids[$u->info['id']]]['hpNow']).'/'.$btl->stats[$btl->uids[$u->info['id']]]['hpAll'].']'; - $btl->add_log($mas1); - - $btl->users[$btl->uids[$u->info['id']]]['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpNow']; - $u->info['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpNow']; - - mysql_query('UPDATE `stats` SET `hpNow` = "'.$btl->stats[$btl->uids[$u->info['id']]]['hpNow'].'",`last_hp` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - - unset($hp021); -}elseif($pl['priem']['id'] == 220) { - //Ставка на опережение - if(!isset($this->del_val['eff'][$pl['id']])) { - $this->del_val['eff'][$pl['id']] = true; - $vLog = 'time1='.time().'||s1='.$u1['sex'].'||t1='.$u1['team'].'||login1='.$u1['login'].'||s2='.$u2['sex'].'||t2='.$u2['team'].'||login2='.$u2['login'].''; - $mas1 = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID+1),'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'" на персонажа {u2} и украл все активные приемы.'; - $this->add_log($mas1); - $pz[(int)$id] = 1; - $pl['delete'] = time(); - $sp031 = mysql_query('SELECT `id`,`name` FROM `eff_users` WHERE `uid` = "'.$u2['id'].'" AND `delete` = 0 AND `v1` = "priem" LIMIT 20'); - $pr78 = 0; - while($pl031 = mysql_fetch_array($sp031)) { - if(mysql_query('UPDATE `eff_users` SET `uid` = "'.$u1['id'].'" WHERE `id` = "'.$pl031['id'].'" LIMIT 1')) { - //$mas1['text'] = '{tm1} {u1} Украл активный прием "'.$pl031['name'].'" у {u2}'; - //$this->add_log($mas1); - $pr78++; - } - } - if($pr78 > 0) { - $this->stats[$this->uids[$u1['id']]] = $u->getStats($u1['id'],0); - $this->stats[$this->uids[$u2['id']]] = $u->getStats($u2['id'],0); - $this->re_pd['restart'] = true; - } - unset($pr78,$vLog,$mas1,$pl031,$sp031); - } -}elseif($pl['priem']['id'] == 217) { - //разгадать тактику - if(!isset($this->del_val['eff'][$pl['id']])) { - $this->del_val['eff'][$pl['id']] = true; - $vLog = 'time1='.time().'||s1='.$u1['sex'].'||t1='.$u1['team'].'||login1='.$u1['login'].'||s2='.$u2['sex'].'||t2='.$u2['team'].'||login2='.$u2['login'].''; - $mas1 = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID+1),'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'" на персонажа {u2}.'; - $this->add_log($mas1); - $pz[(int)$id] = 1; - $pl['delete'] = time(); - $sp031 = mysql_query('SELECT `id`,`name` FROM `eff_users` WHERE `uid` = "'.$u2['id'].'" AND `delete` = 0 AND `v1` = "priem" AND `v2` != 201 AND `v2` != 211 LIMIT 20'); - $pr78 = 0; - while($pl031 = mysql_fetch_array($sp031)) { - if(mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'",`uid` = "0" WHERE `id` = "'.$pl031['id'].'" LIMIT 1')) { - $mas1['text'] = '{tm1} Закончилось действие приема "'.$pl031['name'].'" для {u2}.'; - $this->pr_not_use[$pl031['id']] = 1; - $this->add_log($mas1); - $pr78++; - } - } + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '" и ошеломил' . $sx . ' персонажа {u2} на два хода.'; + $pz = $btl->users[$btl->uids[$u->info['enemy']]]['priems_z']; + $p_id = $btl->users[$btl->uids[$u->info['enemy']]]['priems']; + $pz = explode('|', $pz); + $p_id = explode('|', $p_id); + $i = 0; + while ($i <= 30) { + if ($p_id[$i] >= 195 and $p_id[$i] <= 198) { + $pz[$i] = $pz[$i]; + } else { + $pz[$i] += 2; + } + $i++; + } + $pz = implode('|', $pz); + $btl->users[$btl->uids[$u->info['enemy']]]['priems_z'] = $pz; + unset($pz); + mysql_query('UPDATE `stats` SET `priems_z` = "' . $btl->users[$btl->uids[$u->info['enemy']]]['priems_z'] . '" WHERE `id` = "' . $u->info['enemy'] . '" LIMIT 1'); + $btl->add_log($mas1); + $pz[(int)$id] = 1; + } +} elseif ($pl['id'] == 227) { + $imun = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $u->info['enemy'] . '" and `v2`="191" and `delete`="0" LIMIT 1')); + //Контузия + if ($imun) { + echo 'У персонажа иммунитет к ошеломляющим приемам еше ' . $imun['hod'] . ' ход.'; + $cup = true; + } elseif ($btl->stats[$btl->uids[$u->info['enemy']]]['hpNow'] >= 1) { + // + $re = $this->addPriem($u->info['enemy'], $pl['id'], '', 0, 77, 4, $u->info['id'], 1, 'контузия'); + $re = $this->addPriem($u->info['enemy'], 191, '', 0, 77, 6, $u->info['id'], 5, 'иммунитеткошеломить'); + if ($re == false) { + echo '[Er::Контузия[xX]]'; + } + $sx = ''; + if ($u->info['sex'] == 1) { + $sx = 'а'; + } + $vLog = 'time1=' . time() . '||s1=' . $u->info['sex'] . '||t1=' . $u->info['team'] . '||login1=' . $u->info['login'] . '||s2=' . $btl->users[$btl->uids[$u->info['enemy']]]['sex'] . '||t2=' . $btl->users[$btl->uids[$u->info['enemy']]]['team'] . '||login2=' . $btl->users[$btl->uids[$u->info['enemy']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => $btl->hodID, 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; - unset($pr78,$vLog,$mas1,$pl031,$sp031); - } -}elseif($pl['id']==12) -{ - //прием подлый удар - $hpmin = $u->info['level']*5; -}elseif($pl['id']==271) -{ - //прием Прорыв 1\3 урона оружием - $tp_atk = $btl->weaponTx($btl->stats[$btl->uids[$u->info['id']]]['items'][$btl->stats[$btl->uids[$u->info['id']]]['wp3id']]); - //$tp_atk = 0; - $yi_atk = $btl->weaponAt22($btl->stats[$btl->uids[$u->info['id']]]['items'][$btl->stats[$btl->uids[$u->info['id']]]['wp3id']],$btl->stats[$btl->uids[$u->info['id']]],$tp_atk); - $hpmin = $btl->yrn($btl->stats[$btl->uids[$u->info['id']]],$btl->stats[$btl->uids[$u->info['enemy']]],$btl->users[$btl->uids[$u->info['id']]],$btl->users[$btl->uids[$u->info['enemy']]],$btl->stats[$btl->uids[$u->info['id']]]['lvl'],$btl->stats[$btl->uids[$u->info['enemy']]]['lvl'],$tp_atk,$yi_atk[0],$yi_atk[1],0,0,0,0,$btl->stats[$btl->uids[$u->info['id']]]['m3'],0,0,0); - $hpmin = rand($hpmin['min'],$hpmin['max']); -}elseif($pl['id'] == 212) { - //Ограниченный маневр - $vLog = 'time1='.time().'||s1='.$u->info['sex'].'||t1='.$u->info['team'].'||login1='.$u->info['login'].'||s2='.$btl->users[$btl->uids[$u->info['enemy']]]['sex'].'||t2='.$btl->users[$btl->uids[$u->info['enemy']]]['team'].'||login2='.$btl->users[$btl->uids[$u->info['enemy']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$btl->info['id'],'id_hod'=>($btl->hodID+1),'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'" на персонажа {u2}'; - $btl->add_log($mas1); - $pz[(int)$id] = 1; - mysql_query('UPDATE `stats` SET `smena` = "-1" WHERE `id` = "'.$u->info['enemy'].'" LIMIT 1'); -}elseif($pl['id']==46) -{ - //заносим в лог боя - if(isset($this->ue['id'],$btl->users[$btl->uids[$this->ue['id']]]) && ($btl->users[$btl->uids[$this->ue['id']]]['team']!=$u->info['team'] && $btl->stats[$btl->uids[$this->ue['id']]]['hpNow']>=1)) - { - $vLog = 'time1='.time().'||s1='.$u->info['sex'].'||t1='.$u->info['team'].'||login1='.$u->info['login'].'||s2='.$btl->users[$btl->uids[$this->ue['id']]]['sex'].'||t2='.$btl->users[$btl->uids[$this->ue['id']]]['team'].'||login2='.$btl->users[$btl->uids[$this->ue['id']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$btl->info['id'],'id_hod'=>($btl->hodID+1),'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'". (Новая цель: {u2})'; - $btl->add_log($mas1); - $pz[(int)$id] = 1; - $u->info['enemy'] = $this->ue['id']; - mysql_query('UPDATE `stats` SET `enemy` = "'.$u->info['enemy'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - } -}elseif($pl['priem']['id']==49) -{ - //восстанавливаем 5НР за каждый лвл противника - $this->stats[$this->uids[$pl['uid']]]['hpNow'] += $this->users[$this->uids[$pl['uid']]]['level']*5; - $hp = $u2['level']*5; - if($this->stats[$this->uids[$pl['uid']]]['hpNow'] < 0) - { - $this->stats[$this->uids[$pl['uid']]]['hpNow'] = 0; - }elseif($this->stats[$this->uids[$pl['uid']]]['hpNow']>$this->stats[$this->uids[$pl['uid']]]['hpAll']) - { - $hp = ceil($hp-($this->stats[$this->uids[$pl['uid']]]['hpNow']-$this->stats[$this->uids[$pl['uid']]]['hpAll'])); - $this->stats[$this->uids[$pl['uid']]]['hpNow'] = $this->stats[$this->uids[$pl['uid']]]['hpAll']; - } - - if($hp > 0) { - $btl->users[$btl->uids[$pl['uid']]]['last_hp'] = $hp; - } - - if($hp>0) - { - $hp = '+'.$hp; - }else{ - $hp = '--'; - } - - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'". '.$hp.' ['.floor($this->stats[$this->uids[$pl['uid']]]['hpNow']).'/'.$this->stats[$this->uids[$pl['uid']]]['hpAll'].']'; - - $this->users[$this->uids[$pl['uid']]]['hpNow'] = $this->stats[$this->uids[$pl['uid']]]['hpNow']; - if($pl['uid']==$u->info['id']) - { - $u->info['hpNow'] = $this->stats[$this->uids[$pl['uid']]]['hpNow']; - } - mysql_query('UPDATE `stats` SET `hpNow` = "'.$this->stats[$this->uids[$pl['uid']]]['hpNow'].'",`last_hp` = "'.$btl->users[$btl->uids[$pl['uid']]]['last_hp'].'" WHERE `id` = "'.$pl['uid'].'" LIMIT 1'); -}elseif($pl['priem']['id'] == 211) { - //Агрессивная защита - $hp = 3*$u1['level']; - if($hp > 0) { - $this->users[$this->uids[$u2['id']]]['last_hp'] = -$hp; - $this->stats[$this->uids[$u2['id']]]['hpNow'] -= $hp; - $s2['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; - $p2['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; - $this->users[$this->uids[$u2['id']]]['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; - mysql_query('UPDATE `stats` SET `hpNow` = "'.$this->stats[$this->uids[$u2['id']]]['hpNow'].'",`last_hp` = "'.$this->users[$this->uids[$u2['id']]]['last_hp'].'" WHERE `id` = "'.$u2['id'].'" LIMIT 1'); - $this->stats[$this->uids[$u2['uid']]] = $u->getStats($u2['uid'],0); - $hp = -$hp; - }else{ - $hp = '--'; - } - $mas1['text'] = '{tm1} {u2} утратил здоровье от приема "'.$pl['name'].'". '.$hp.' ['.floor($this->stats[$this->uids[$u2['id']]]['hpNow']).'/'.$this->stats[$this->uids[$u2['id']]]['hpAll'].']'; + $hp = $u->info['level'] * 2 - $u->info['level']; + + if ($hp < 0) { + $hp = 0; + } + + $btl->users[$btl->uids[$u->info['enemy']]]['hpNow'] -= $hp; + $btl->stats[$btl->uids[$u->info['enemy']]]['hpNow'] -= $hp; + $btl->users[$btl->uids[$u->info['enemy']]]['last_hp'] = -$hp; + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$u->info['enemy']]]['hpNow'] . '",`last_hp` = "' . $btl->users[$btl->uids[$u->info['enemy']]]['last_hp'] . '" WHERE `id` = "' . $u->info['enemy'] . '" LIMIT 1'); + + if ($hp < 1) { + $hp = '--'; + } else { + $hp = -$hp; + } + + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '" и ошеломил' . $sx . ' щитом персонажа {u2} на один ход. ' . $hp . ' [' . floor($btl->stats[$btl->uids[$u->info['enemy']]]['hpNow']) . '/' . $btl->stats[$btl->uids[$u->info['enemy']]]['hpAll'] . ']'; + $pz = $btl->users[$btl->uids[$u->info['enemy']]]['priems_z']; + $p_id = $btl->users[$btl->uids[$u->info['enemy']]]['priems']; + $pz = explode('|', $pz); + $p_id = explode('|', $p_id); + $i = 0; + while ($i <= 30) { + if ($p_id[$i] >= 195 and $p_id[$i] <= 198) { + $pz[$i] = $pz[$i]; + } else { + $pz[$i] += 2; + } + $i++; + } + $pz = implode('|', $pz); + $btl->users[$btl->uids[$u->info['enemy']]]['priems_z'] = $pz; + unset($pz); + mysql_query('UPDATE `stats` SET `priems_z` = "' . $btl->users[$btl->uids[$u->info['enemy']]]['priems_z'] . '" WHERE `id` = "' . $u->info['enemy'] . '" LIMIT 1'); + $btl->add_log($mas1); + $pz[(int)$id] = 1; + } +} elseif ($pl['priem']['id'] == 226) { + //Возмездие + $hp = 6 * $u1['level']; + if ($hp > 0) { + $this->users[$this->uids[$u2['id']]]['last_hp'] = -$hp; + $this->stats[$this->uids[$u2['id']]]['hpNow'] -= $hp; + $s2['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; + $p2['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; + $this->users[$this->uids[$u2['id']]]['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; + mysql_query('UPDATE `stats` SET `hpNow` = "' . $this->stats[$this->uids[$u2['id']]]['hpNow'] . '",`last_hp` = "' . $this->users[$this->uids[$u2['id']]]['last_hp'] . '" WHERE `id` = "' . $u2['id'] . '" LIMIT 1'); + $this->stats[$this->uids[$u2['uid']]] = $u->getStats($u2['uid'], 0); + $hp = -$hp; + } else { + $hp = '--'; + } + $mas1['text'] = '{tm1} {u2} утратил здоровье от приема "' . $pl['name'] . '". ' . $hp . ' [' . floor($this->stats[$this->uids[$u2['id']]]['hpNow']) . '/' . $this->stats[$this->uids[$u2['id']]]['hpAll'] . ']'; +} elseif ($pl['id'] == 224) { + if ($btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] > 0) { + $btl->stats[$btl->uids[$this->ue['id']]]['tactic6']++; + $btl->users[$btl->uids[$this->ue['id']]]['tactic6']++; + if ($btl->users[$btl->uids[$this->ue['id']]]['id'] == $u->info['id']) { + $u->info['tactic6']++; + } + mysql_query('UPDATE `stats` SET `tactic6` = "' . $btl->users[$btl->uids[$this->ue['id']]]['tactic6'] . '" WHERE `id` = "' . $this->ue['id'] . '" LIMIT 1'); + $vLog = 'time1=' . time() . '||s1=' . $btl->users[$btl->uids[$u->info['id']]]['sex'] . '||t1=' . $btl->users[$btl->uids[$u->info['id']]]['team'] . '||login1=' . $btl->users[$btl->uids[$u->info['id']]]['login'] . '||s2=' . $btl->users[$btl->uids[$this->ue['id']]]['sex'] . '||t2=' . $btl->users[$btl->uids[$this->ue['id']]]['team'] . '||login2=' . $btl->users[$btl->uids[$this->ue['id']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => ($btl->hodID + 1), 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '" на персонажа {u2}.'; + $btl->add_log($mas1); + $pz[(int)$id] = 1; + unset($vLog, $mas1); + } +} elseif ($pl['priem']['id'] == 222) { + //Последний удар + if (!isset($this->del_val['eff'][$pl['priem']['id']])) { + $hp = floor($this->stats[$this->uids[$pl['uid']]]['hpNow']); + $this->stats[$this->uids[$pl['uid']]]['last_hp'] = -$hp; + + if ($hp < 1) { + $hp = '--'; + } else { + $hp = -$hp; + } + + $this->del_val['eff'][$pl['id']] = true; + $vLog = 'time1=' . time() . '||s1=' . $this->users[$this->uids[$pl['uid']]]['sex'] . '||t1=' . $this->users[$this->uids[$pl['uid']]]['team'] . '||login1=' . $this->users[$this->uids[$pl['uid']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID + 1), 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '".'; // '.$hp.' [0/'.$this->stats[$this->uids[$u1['id']]]['hpAll'].']'; + $this->add_log($mas1); + $pz[(int)$id] = 1; + unset($vLog, $mas1); + } +} elseif ($pl['id'] == 232) { + //Выжить + $hp = $btl->users[$btl->uids[$u->info['id']]]['tactic1'] + $btl->users[$btl->uids[$u->info['id']]]['tactic2'] + $btl->users[$btl->uids[$u->info['id']]]['tactic3'] + $btl->users[$btl->uids[$u->info['id']]]['tactic4'] + $btl->users[$btl->uids[$u->info['id']]]['tactic5'] + $btl->users[$btl->uids[$u->info['id']]]['tactic6'] * 0.5; + if ($hp > 25) { + $hp = 25; + } + $hp = floor($btl->stats[$btl->uids[$u->info['id']]]['hpAll'] / 100 * $hp); + + if (floor($btl->stats[$btl->uids[$u->info['id']]]['hpAll'] - $btl->stats[$btl->uids[$u->info['id']]]['hpNow']) < $hp) { + $hp = floor($btl->stats[$btl->uids[$u->info['id']]]['hpAll'] - $btl->stats[$btl->uids[$u->info['id']]]['hpNow']); + } + + $i03 = 1; + while ($i03 <= 6) { + $btl->users[$btl->uids[$u->info['id']]]['tactic' . $i03] = 0; + $btl->stats[$btl->uids[$u->info['id']]]['tactic' . $i03] = 0; + $u->info['tactic' . $i03] = 0; + $u->stats['tactic' . $i03] = 0; + $rstb = 1; + $i03++; + } + unset($i03); + + $hp = -$hp; + + $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] -= $hp; + + if ($btl->stats[$btl->uids[$u->info['id']]]['hpNow'] < 0) { + $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] = 0; + } elseif ($btl->stats[$btl->uids[$u->info['id']]]['hpNow'] > $btl->stats[$btl->uids[$u->info['id']]]['hpAll']) { + $hp = ceil($hp - ($btl->stats[$btl->uids[$u->info['id']]]['hpNow'] - $btl->stats[$btl->uids[$u->info['id']]]['hpAll'])); + $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpAll']; + } + + if ($hp < 0) { + $hp = '+' . (-$hp); + } elseif ($hp == 0) { + $hp = '--'; + } else { + $hp = '-' . $hp; + } + + $vLog = 'time1=' . time() . '||s1=' . $u->info['sex'] . '||t1=' . $u->info['team'] . '||login1=' . $u->info['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => ($btl->hodID + 1), 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '". ' . $hp . ' [' . floor($btl->stats[$btl->uids[$u->info['id']]]['hpNow']) . '/' . $btl->stats[$btl->uids[$u->info['id']]]['hpAll'] . ']'; + $btl->add_log($mas1); + + $btl->users[$btl->uids[$u->info['id']]]['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpNow']; + $u->info['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpNow']; + + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] . '",`tactic1` ="0",`tactic2` ="0",`tactic3` ="0",`tactic4` ="0",`tactic5` ="0",`tactic6` ="0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + + unset($hp021); +} elseif ($pl['id'] == 221) { + //Отменить + $hp = $btl->users[$btl->uids[$u->info['id']]]['last_hp']; + + $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] -= $hp; + + if ($btl->stats[$btl->uids[$u->info['id']]]['hpNow'] < 0) { + $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] = 0; + } elseif ($btl->stats[$btl->uids[$u->info['id']]]['hpNow'] > $btl->stats[$btl->uids[$u->info['id']]]['hpAll']) { + $hp = ceil($hp - ($btl->stats[$btl->uids[$u->info['id']]]['hpNow'] - $btl->stats[$btl->uids[$u->info['id']]]['hpAll'])); + $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpAll']; + } + + $btl->users[$btl->uids[$u->info['id']]]['last_hp'] = 0; + + if ($hp < 0) { + $hp = '+' . (-$hp); + } elseif ($hp == 0) { + $hp = '--'; + } else { + $hp = '-' . $hp; + } + + $vLog = 'time1=' . time() . '||s1=' . $u->info['sex'] . '||t1=' . $u->info['team'] . '||login1=' . $u->info['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => ($btl->hodID + 1), 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '". ' . $hp . ' [' . floor($btl->stats[$btl->uids[$u->info['id']]]['hpNow']) . '/' . $btl->stats[$btl->uids[$u->info['id']]]['hpAll'] . ']'; + $btl->add_log($mas1); + + $btl->users[$btl->uids[$u->info['id']]]['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpNow']; + $u->info['hpNow'] = $btl->stats[$btl->uids[$u->info['id']]]['hpNow']; + + mysql_query('UPDATE `stats` SET `hpNow` = "' . $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] . '",`last_hp` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + + unset($hp021); +} elseif ($pl['priem']['id'] == 220) { + //Ставка на опережение + if (!isset($this->del_val['eff'][$pl['id']])) { + $this->del_val['eff'][$pl['id']] = true; + $vLog = 'time1=' . time() . '||s1=' . $u1['sex'] . '||t1=' . $u1['team'] . '||login1=' . $u1['login'] . '||s2=' . $u2['sex'] . '||t2=' . $u2['team'] . '||login2=' . $u2['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID + 1), 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '" на персонажа {u2} и украл все активные приемы.'; + $this->add_log($mas1); + $pz[(int)$id] = 1; + $pl['delete'] = time(); + $sp031 = mysql_query('SELECT `id`,`name` FROM `eff_users` WHERE `uid` = "' . $u2['id'] . '" AND `delete` = 0 AND `v1` = "priem" LIMIT 20'); + $pr78 = 0; + while ($pl031 = mysql_fetch_array($sp031)) { + if (mysql_query('UPDATE `eff_users` SET `uid` = "' . $u1['id'] . '" WHERE `id` = "' . $pl031['id'] . '" LIMIT 1')) { + //$mas1['text'] = '{tm1} {u1} Украл активный прием "'.$pl031['name'].'" у {u2}'; + //$this->add_log($mas1); + $pr78++; + } + } + if ($pr78 > 0) { + $this->stats[$this->uids[$u1['id']]] = $u->getStats($u1['id'], 0); + $this->stats[$this->uids[$u2['id']]] = $u->getStats($u2['id'], 0); + $this->re_pd['restart'] = true; + } + unset($pr78, $vLog, $mas1, $pl031, $sp031); + } +} elseif ($pl['priem']['id'] == 217) { + //разгадать тактику + if (!isset($this->del_val['eff'][$pl['id']])) { + $this->del_val['eff'][$pl['id']] = true; + $vLog = 'time1=' . time() . '||s1=' . $u1['sex'] . '||t1=' . $u1['team'] . '||login1=' . $u1['login'] . '||s2=' . $u2['sex'] . '||t2=' . $u2['team'] . '||login2=' . $u2['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID + 1), 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '" на персонажа {u2}.'; + $this->add_log($mas1); + $pz[(int)$id] = 1; + $pl['delete'] = time(); + $sp031 = mysql_query('SELECT `id`,`name` FROM `eff_users` WHERE `uid` = "' . $u2['id'] . '" AND `delete` = 0 AND `v1` = "priem" AND `v2` != 201 AND `v2` != 211 LIMIT 20'); + $pr78 = 0; + while ($pl031 = mysql_fetch_array($sp031)) { + if (mysql_query('UPDATE `eff_users` SET `delete` = "' . time() . '",`uid` = "0" WHERE `id` = "' . $pl031['id'] . '" LIMIT 1')) { + $mas1['text'] = '{tm1} Закончилось действие приема "' . $pl031['name'] . '" для {u2}.'; + $this->pr_not_use[$pl031['id']] = 1; + $this->add_log($mas1); + $pr78++; + } + } + + unset($pr78, $vLog, $mas1, $pl031, $sp031); + } +} elseif ($pl['id'] == 12) { + //прием подлый удар + $hpmin = $u->info['level'] * 5; +} elseif ($pl['id'] == 271) { + //прием Прорыв 1\3 урона оружием + $tp_atk = $btl->weaponTx($btl->stats[$btl->uids[$u->info['id']]]['items'][$btl->stats[$btl->uids[$u->info['id']]]['wp3id']]); + //$tp_atk = 0; + $yi_atk = $btl->weaponAt22($btl->stats[$btl->uids[$u->info['id']]]['items'][$btl->stats[$btl->uids[$u->info['id']]]['wp3id']], $btl->stats[$btl->uids[$u->info['id']]], $tp_atk); + $hpmin = $btl->yrn($btl->stats[$btl->uids[$u->info['id']]], $btl->stats[$btl->uids[$u->info['enemy']]], $btl->users[$btl->uids[$u->info['id']]], $btl->users[$btl->uids[$u->info['enemy']]], $btl->stats[$btl->uids[$u->info['id']]]['lvl'], $btl->stats[$btl->uids[$u->info['enemy']]]['lvl'], $tp_atk, $yi_atk[0], $yi_atk[1], 0, 0, 0, 0, $btl->stats[$btl->uids[$u->info['id']]]['m3'], 0, 0, 0); + $hpmin = rand($hpmin['min'], $hpmin['max']); +} elseif ($pl['id'] == 212) { + //Ограниченный маневр + $vLog = 'time1=' . time() . '||s1=' . $u->info['sex'] . '||t1=' . $u->info['team'] . '||login1=' . $u->info['login'] . '||s2=' . $btl->users[$btl->uids[$u->info['enemy']]]['sex'] . '||t2=' . $btl->users[$btl->uids[$u->info['enemy']]]['team'] . '||login2=' . $btl->users[$btl->uids[$u->info['enemy']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => ($btl->hodID + 1), 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '" на персонажа {u2}'; + $btl->add_log($mas1); + $pz[(int)$id] = 1; + mysql_query('UPDATE `stats` SET `smena` = "-1" WHERE `id` = "' . $u->info['enemy'] . '" LIMIT 1'); +} elseif ($pl['id'] == 46) { + //заносим в лог боя + if (isset($this->ue['id'], $btl->users[$btl->uids[$this->ue['id']]]) && ($btl->users[$btl->uids[$this->ue['id']]]['team'] != $u->info['team'] && $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] >= 1)) { + $vLog = 'time1=' . time() . '||s1=' . $u->info['sex'] . '||t1=' . $u->info['team'] . '||login1=' . $u->info['login'] . '||s2=' . $btl->users[$btl->uids[$this->ue['id']]]['sex'] . '||t2=' . $btl->users[$btl->uids[$this->ue['id']]]['team'] . '||login2=' . $btl->users[$btl->uids[$this->ue['id']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => ($btl->hodID + 1), 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '". (Новая цель: {u2})'; + $btl->add_log($mas1); + $pz[(int)$id] = 1; + $u->info['enemy'] = $this->ue['id']; + mysql_query('UPDATE `stats` SET `enemy` = "' . $u->info['enemy'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + } +} elseif ($pl['priem']['id'] == 49) { + //восстанавливаем 5НР за каждый лвл противника + $this->stats[$this->uids[$pl['uid']]]['hpNow'] += $this->users[$this->uids[$pl['uid']]]['level'] * 5; + $hp = $u2['level'] * 5; + if ($this->stats[$this->uids[$pl['uid']]]['hpNow'] < 0) { + $this->stats[$this->uids[$pl['uid']]]['hpNow'] = 0; + } elseif ($this->stats[$this->uids[$pl['uid']]]['hpNow'] > $this->stats[$this->uids[$pl['uid']]]['hpAll']) { + $hp = ceil($hp - ($this->stats[$this->uids[$pl['uid']]]['hpNow'] - $this->stats[$this->uids[$pl['uid']]]['hpAll'])); + $this->stats[$this->uids[$pl['uid']]]['hpNow'] = $this->stats[$this->uids[$pl['uid']]]['hpAll']; + } + + if ($hp > 0) { + $btl->users[$btl->uids[$pl['uid']]]['last_hp'] = $hp; + } + + if ($hp > 0) { + $hp = '+' . $hp; + } else { + $hp = '--'; + } + + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '". ' . $hp . ' [' . floor($this->stats[$this->uids[$pl['uid']]]['hpNow']) . '/' . $this->stats[$this->uids[$pl['uid']]]['hpAll'] . ']'; + + $this->users[$this->uids[$pl['uid']]]['hpNow'] = $this->stats[$this->uids[$pl['uid']]]['hpNow']; + if ($pl['uid'] == $u->info['id']) { + $u->info['hpNow'] = $this->stats[$this->uids[$pl['uid']]]['hpNow']; + } + mysql_query('UPDATE `stats` SET `hpNow` = "' . $this->stats[$this->uids[$pl['uid']]]['hpNow'] . '",`last_hp` = "' . $btl->users[$btl->uids[$pl['uid']]]['last_hp'] . '" WHERE `id` = "' . $pl['uid'] . '" LIMIT 1'); +} elseif ($pl['priem']['id'] == 211) { + //Агрессивная защита + $hp = 3 * $u1['level']; + if ($hp > 0) { + $this->users[$this->uids[$u2['id']]]['last_hp'] = -$hp; + $this->stats[$this->uids[$u2['id']]]['hpNow'] -= $hp; + $s2['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; + $p2['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; + $this->users[$this->uids[$u2['id']]]['hpNow'] = $this->stats[$this->uids[$u2['id']]]['hpNow']; + mysql_query('UPDATE `stats` SET `hpNow` = "' . $this->stats[$this->uids[$u2['id']]]['hpNow'] . '",`last_hp` = "' . $this->users[$this->uids[$u2['id']]]['last_hp'] . '" WHERE `id` = "' . $u2['id'] . '" LIMIT 1'); + $this->stats[$this->uids[$u2['uid']]] = $u->getStats($u2['uid'], 0); + $hp = -$hp; + } else { + $hp = '--'; + } + $mas1['text'] = '{tm1} {u2} утратил здоровье от приема "' . $pl['name'] . '". ' . $hp . ' [' . floor($this->stats[$this->uids[$u2['id']]]['hpNow']) . '/' . $this->stats[$this->uids[$u2['id']]]['hpAll'] . ']'; } //отнимаем НР у противника -if(isset($hpmin) && $hpmin>0 && $u->info['enemy']>0) -{ - $hp2 = floor($btl->stats[$btl->uids[$u->info['enemy']]]['hpNow'] - $hpmin); - - /* проверяем приемы защиты */ - //получаем массив с приемами противника - $miny = 0; //на сколько едениц урон буде меньше (защита приема) - $minu = 0; - $sp1 = mysql_query('SELECT `e`.* FROM `eff_users` AS `e` WHERE `e`.`uid` = "'.$u->info['enemy'].'" AND `e`.`id_eff` = "22" AND `e`.`delete` = "0" AND `e`.`v1` = "priem" LIMIT 25'); - while($pl2 = mysql_fetch_array($sp1)) - { - $pl2['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "'.$pl2['v2'].'" LIMIT 1')); - if(isset($pl2['priem']['id'])) - { - $dt1 = \Core\ConversionHelper::dataStringToArray($pl2['priem']['date2']); - if(isset($dt1['yron_u2'])) - { - $minu = getdr($dt1['yron_u2'],array(0=>'lvl1',1=>'yr1'),array(0=>$u->info['level'],1=>$hpmin)); - $miny -= $minu; - $hpmin += $minu; - $btl->delPriem($pl2,$btl->users[$btl->uids[$u->info['enemy']]]); - } - } - - } - - /* проверяем приемы ослабления */ - - //отнимаем НР - if($hpmin > 0) { - $btl->users[$btl->uids[$u->info['enemy']]]['last_hp'] = -$hpmin; - } - $btl->users[$btl->uids[$u->info['enemy']]]['hpNow'] = $hp2; - $btl->stats[$btl->uids[$u->info['enemy']]]['hpNow'] = $hp2; - $upd = mysql_query('UPDATE `stats` SET `hpNow` = '.$hp2.',`last_hp` = "'.$btl->users[$btl->uids[$u->info['enemy']]]['last_hp'].'" WHERE `id` = "'.$u->info['enemy'].'" LIMIT 1'); - - //заносим в лог боя - $vLog = 'time1='.time().'||s1='.$u->info['sex'].'||t1='.$u->info['team'].'||login1='.$u->info['login'].'||s2='.$btl->users[$btl->uids[$u->info['enemy']]]['sex'].'||t2='.$btl->users[$btl->uids[$u->info['enemy']]]['team'].'||login2='.$btl->users[$btl->uids[$u->info['enemy']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$btl->info['id'],'id_hod'=>($btl->hodID+1),'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - if($hpmin>0) - { - $hpmin = '-'.$hpmin; - }else{ - $hpmin = '--'; - } - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'" и {1x5x1} по {u2}. '.$hpmin.' ['.ceil($hp2).'/'.$btl->stats[$btl->uids[$u->info['enemy']]]['hpAll'].']'; - $btl->add_log($mas1); - $pz[(int)$id] = 1; +if (isset($hpmin) && $hpmin > 0 && $u->info['enemy'] > 0) { + $hp2 = floor($btl->stats[$btl->uids[$u->info['enemy']]]['hpNow'] - $hpmin); + + /* проверяем приемы защиты */ + //получаем массив с приемами противника + $miny = 0; //на сколько едениц урон буде меньше (защита приема) + $minu = 0; + $sp1 = mysql_query('SELECT `e`.* FROM `eff_users` AS `e` WHERE `e`.`uid` = "' . $u->info['enemy'] . '" AND `e`.`id_eff` = "22" AND `e`.`delete` = "0" AND `e`.`v1` = "priem" LIMIT 25'); + while ($pl2 = mysql_fetch_array($sp1)) { + $pl2['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "' . $pl2['v2'] . '" LIMIT 1')); + if (isset($pl2['priem']['id'])) { + $dt1 = Helper\Conversion::dataStringToArray($pl2['priem']['date2']); + if (isset($dt1['yron_u2'])) { + $minu = getdr($dt1['yron_u2'], [0 => 'lvl1', 1 => 'yr1'], [0 => $u->info['level'], 1 => $hpmin]); + $miny -= $minu; + $hpmin += $minu; + $btl->delPriem($pl2, $btl->users[$btl->uids[$u->info['enemy']]]); + } + } + + } + + /* проверяем приемы ослабления */ + + //отнимаем НР + if ($hpmin > 0) { + $btl->users[$btl->uids[$u->info['enemy']]]['last_hp'] = -$hpmin; + } + $btl->users[$btl->uids[$u->info['enemy']]]['hpNow'] = $hp2; + $btl->stats[$btl->uids[$u->info['enemy']]]['hpNow'] = $hp2; + $upd = mysql_query('UPDATE `stats` SET `hpNow` = ' . $hp2 . ',`last_hp` = "' . $btl->users[$btl->uids[$u->info['enemy']]]['last_hp'] . '" WHERE `id` = "' . $u->info['enemy'] . '" LIMIT 1'); + + //заносим в лог боя + $vLog = 'time1=' . time() . '||s1=' . $u->info['sex'] . '||t1=' . $u->info['team'] . '||login1=' . $u->info['login'] . '||s2=' . $btl->users[$btl->uids[$u->info['enemy']]]['sex'] . '||t2=' . $btl->users[$btl->uids[$u->info['enemy']]]['team'] . '||login2=' . $btl->users[$btl->uids[$u->info['enemy']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => ($btl->hodID + 1), 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + if ($hpmin > 0) { + $hpmin = '-' . $hpmin; + } else { + $hpmin = '--'; + } + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '" и {1x5x1} по {u2}. ' . $hpmin . ' [' . ceil($hp2) . '/' . $btl->stats[$btl->uids[$u->info['enemy']]]['hpAll'] . ']'; + $btl->add_log($mas1); + $pz[(int)$id] = 1; } ?> \ No newline at end of file diff --git a/_incl_data/class/priems/test.php b/_incl_data/class/priems/test.php index 23942fdd..730d8dbb 100644 --- a/_incl_data/class/priems/test.php +++ b/_incl_data/class/priems/test.php @@ -1,423 +1,386 @@ stats['hpAll']/100*15)/6); - $hpadd_pr_color = 'green'; - $trduh = 1; - $btl->users[$btl->uids[$ue['id']]]['tactic7'] -= round((1.5/6),2); - if($btl->users[$btl->uids[$ue['id']]]['tactic7'] < 0) { - $btl->users[$btl->uids[$ue['id']]]['tactic7'] = 0; - } - mysql_query('UPDATE `stats` SET `tactic7` = "'.$btl->users[$btl->uids[$ue['id']]]['tactic7'].'" WHERE `id` = "'.$ue['id'].'" LIMIT 1'); - } - - if($hpadd > 0) - { - $pl['name'] = $pr['name']; - } - -/*ПРИЕМЫ КАЖДЫЙ ХОД*/ -}elseif($pl['id']==231) { - //Глухая защита - $re = $this->addPriem($u->info['id'],$pl['id'],-1,0,77,6,$u->info['id'],1,'глухаязащита',0,1); -}elseif($pl['id']==3) -{ - //прием собрать зубы - $hpadd = rand(2,5); $trduh = 1; -}elseif($pl['id']==5) -{ - //прием утереть пот - $hpadd = $u->info['level']*2; -}elseif($pl['id']==6) -{ - //прием воля к победе - $hpadd = round($u->info['level']*5+7); - if($btl->stats[$btl->uids[$u->info['id']]]['hpNow']<($btl->stats[$btl->uids[$u->info['id']]]['hpAll']*0.33)) - { - $hpadd += ceil($hpadd*0.25); - } -}elseif($pl['priem']['id']==189) -{ - //Ошеломить - $imun = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$u2['id'].'" and `v2`="191" and `delete`="0" LIMIT 1')); - //echo $u2['id']; - if($imun){ - $cup = true; - $vLog = 'time1='.time().'||s1='.$u1['sex'].'||t1='.$u1['team'].'||login1='.$u1['login'].'||s2='.$this->users[$this->uids[$u2['id']]]['sex'].'||t2='.$this->users[$this->uids[$u2['id']]]['team'].'||login2='.$this->users[$this->uids[$u2['id']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>$this->hodID,'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'", но у {u2} иммунитет к ошеломлению.'; - }elseif($this->stats[$this->uids[$u2['id']]]['hpNow']>=1) { - //ошеломить - $re = $priem->addPriem($u2['id'],230,'add_m10=-100|add_m11=-100',0,77,2,$u1['id'],2,'ошеломить'); - $re = $priem->addPriem($u2['id'],191,'',0,77,6,$u1['id'],5,'иммунитеткошеломить'); - if($re==false) - { - echo '[Er::Ошеломить[xX]]'; - } - $sx = ''; - if($u1['sex']==1) - { - $sx = 'а'; - } - $vLog = 'time1='.time().'||s1='.$u1['sex'].'||t1='.$u1['team'].'||login1='.$u1['login'].'||s2='.$this->users[$this->uids[$u2['id']]]['sex'].'||t2='.$this->users[$this->uids[$u2['id']]]['team'].'||login2='.$this->users[$this->uids[$u2['id']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>$this->hodID,'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'" и ошеломил'.$sx.' {u2} на два хода.'; - $pz = $this->users[$this->uids[$u2['id']]]['priems_z']; - $p_id = $this->users[$this->uids[$u2['id']]]['priems']; - $pz = explode('|',$pz); - $p_id = explode('|',$p_id); - $i = 0; - while($i<=30) - { - if($p_id[$i]>=195 and $p_id[$i]<=198){ - $pz[$i]=$pz[$i]; - }else{ - $pz[$i] += 2; - } - $i++; - } - $pz = implode('|',$pz); - $this->users[$this->uids[$u2['id']]]['priems_z'] = $pz; - unset($pz); - mysql_query('UPDATE `stats` SET `priems_z` = "'.$this->users[$this->uids[$u2['id']]]['priems_z'].'" WHERE `id` = "'.$u2['id'].'" LIMIT 1'); - //$this->add_log($mas1); - $pz[(int)$id] = 1; - } -}elseif($pl['priem']['id']==235) -{ - //Шокирующий удар - $imun = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$u2['id'].'" and `v2`="191" and `delete`="0" LIMIT 1')); - //echo $u2['id']; - if($imun){ - $cup = true; - $vLog = 'time1='.time().'||s1='.$u1['sex'].'||t1='.$u1['team'].'||login1='.$u1['login'].'||s2='.$this->users[$this->uids[$u2['id']]]['sex'].'||t2='.$this->users[$this->uids[$u2['id']]]['team'].'||login2='.$this->users[$this->uids[$u2['id']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>$this->hodID,'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'", но у {u2} иммунитет к ошеломлению.'; - }elseif($this->stats[$this->uids[$u2['id']]]['hpNow']>=1) { - //ошеломить - $re = $priem->addPriem($u2['id'],236,'add_notactic=1',0,77,2,$u1['id'],2,'шокирующийудар'); - $re = $priem->addPriem($u2['id'],191,'',0,77,6,$u1['id'],5,'иммунитеткошеломить'); - if($re==false) - { - echo '[Er::ШокирующийУдар[xX]]'; - } - $sx = ''; - if($u1['sex']==1) - { - $sx = 'а'; - } - $vLog = 'time1='.time().'||s1='.$u1['sex'].'||t1='.$u1['team'].'||login1='.$u1['login'].'||s2='.$this->users[$this->uids[$u2['id']]]['sex'].'||t2='.$this->users[$this->uids[$u2['id']]]['team'].'||login2='.$this->users[$this->uids[$u2['id']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>$this->hodID,'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'" и ошеломил'.$sx.' {u2} на два хода.'; - $pz = $this->users[$this->uids[$u2['id']]]['priems_z']; - $p_id = $this->users[$this->uids[$u2['id']]]['priems']; - $pz = explode('|',$pz); - $p_id = explode('|',$p_id); - $i = 0; - while($i<=30) - { - if($p_id[$i]>=195 and $p_id[$i]<=198){ - $pz[$i]=$pz[$i]; - }else{ - $pz[$i] += 2; - } - $i++; - } - $pz = implode('|',$pz); - $this->users[$this->uids[$u2['id']]]['priems_z'] = $pz; - unset($pz); - mysql_query('UPDATE `stats` SET `priems_z` = "'.$this->users[$this->uids[$u2['id']]]['priems_z'].'" WHERE `id` = "'.$u2['id'].'" LIMIT 1'); - //$this->add_log($mas1); - $pz[(int)$id] = 1; - } -}elseif($pl['priem']['id']==237) -{ - //Разведка боем - $imun = mysql_fetch_array(mysql_query('SELECT `id` FROM `eff_users` WHERE `uid` = "'.$u2['id'].'" and `v2`="237" and `delete`="0" LIMIT 1')); - if(isset($imun['id'])) { - mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `id` = "'.$imun['id'].'" LIMIT 1'); - } - //Разведка боем - $re = $priem->addPriem($u2['id'],238,'add_notactic=1',0,77,4,$u1['id'],5,'разведкабоем'); - if($re==false) - { - echo '[Er::РазведкаБоем[xX]]'; - } - $sx = ''; - if($u1['sex']==1) - { - $sx = 'а'; - } - $vLog = 'time1='.time().'||s1='.$u1['sex'].'||t1='.$u1['team'].'||login1='.$u1['login'].'||s2='.$this->users[$this->uids[$u2['id']]]['sex'].'||t2='.$this->users[$this->uids[$u2['id']]]['team'].'||login2='.$this->users[$this->uids[$u2['id']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>$this->hodID,'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'" и раскрыл'.$sx.' тактику {u2} на пять ходов.'; -}elseif($pl['priem']['id']==239) -{ - //Поступь смерти - $pl['data_re'] = \Core\ConversionHelper::dataStringToArray($pl['data']); - if($pl['data_re']['step'] < 10) { - $pl['data_re']['add_maxAtack'] += $this->users[$this->uids[$pl['uid']]]['level']; - $pl['data_re']['step']++; - } - $pl['data'] = 'add_maxAtack='.$pl['data_re']['add_maxAtack'].'|step='.$pl['data_re']['step'].''; - $pl['hod'] = 2; - $this->rehodeff[$pl['id']] = $pl['hod']; - mysql_query('UPDATE `eff_users` SET `hod` = "'.$pl['hod'].'",`data` = "'.$pl['data'].'" WHERE `id` = "'.$pl['id'].'" LIMIT 1'); - - unset($pl['data_re']); - -}elseif($pl['priem']['id']==240) -{ - //Хлебнуть Крови - $pl['data_re'] = \Core\ConversionHelper::dataStringToArray($pl['data']); - if(isset($pl['data_re']['step']) || $pl['data_re']['step'] == 0) { - //Добавляем силу - if($this->users[$this->uids[$u2['id']]]['level'] == 7) { - $pl['data_re']['add_s1'] = 10; - }elseif($this->users[$this->uids[$u2['id']]]['level'] == 8) { - $pl['data_re']['add_s1'] = 13; - }elseif($this->users[$this->uids[$u2['id']]]['level'] >= 9) { - $pl['data_re']['add_s1'] = 14; - } - } - $pl['data_re']['step']++; - if($pl['data_re']['add_s1'] > 0) { - $pl['data'] = 'add_s1='.$pl['data_re']['add_s1'].'|atck_krit_to_atck=1|step='.$pl['data_re']['step'].''; - }else{ - $pl['data'] = 'atck_krit_to_atck=1|step='.$pl['data_re']['step']; - } - - if($pl['hod'] == -1) { - $pl['hod'] = 4; - $this->rehodeff[$pl['id']] = $pl['hod']; - //Хиляемся - $hpadd_pl = $yrn*0.679; - $pl['data_re']['step']++; - }elseif($pl['data_re']['step'] == 2 || $pl['data_re']['step'] == 3) { - //Хиляемся еще 2 хода от любых ударов - $hpadd_pl = $yrn*0.573; - $pl['data_re']['step']++; - }else{ - //$hpadd_pl = $yrn; - } - - if($hpadd_pl > 0) { - if($this->users[$this->uids[$u2['id']]]['level'] <= 8) { - if($hpadd_pl > 107) { - $hpadd_pl = 107; - } - }elseif($this->users[$this->uids[$u2['id']]]['level'] == 9) { - if($hpadd_pl > 128) { - $hpadd_pl = 128; - } - }elseif($this->users[$this->uids[$u2['id']]]['level'] >= 10) { - if($hpadd_pl > 154) { - $hpadd_pl = 154; - } - } - $plname = $pl['name']; - $hid = $u1['id']; - } - - $this->pr_reset['data'][$pl['id']] = $pl['data']; - - mysql_query('UPDATE `eff_users` SET `hod` = "'.$pl['hod'].'",`data` = "'.$pl['data'].'" WHERE `id` = "'.$pl['id'].'" LIMIT 1'); - unset($pl['data_re']); - -}elseif($pl['id']==192){ +if (isset($hod)) { + /*ПРИЕМЫ КАЖДЫЙ ХОД*/ + $krituetli = 0; - $i=0; - $add_where=''; - while($iusers)){ - if($btl->users[$i]['team']==$btl->users[$btl->uids[$u->info['id']]]['team']){ - $add_where.=' AND `user_use`!="'.$btl->users[$i]['id'].'"'; - } - $i++; - } + if ($pr['id'] == 231 && isset($hod)) { + //Глухая защита (восстанавливаем НР) + $hpadd_pr = floor(round($u->stats['hpAll'] / 100 * 15) / 6); + $hpadd_pr_color = 'green'; + $trduh = 1; + $btl->users[$btl->uids[$ue['id']]]['tactic7'] -= round((1.5 / 6), 2); + if ($btl->users[$btl->uids[$ue['id']]]['tactic7'] < 0) { + $btl->users[$btl->uids[$ue['id']]]['tactic7'] = 0; + } + mysql_query('UPDATE `stats` SET `tactic7` = "' . $btl->users[$btl->uids[$ue['id']]]['tactic7'] . '" WHERE `id` = "' . $ue['id'] . '" LIMIT 1'); + } - //Ограничиваем конкретными приемами - /* - приёмом "Очиститься кровью" можно снять: пожирающее пламя, переохлаждение, ядовитое облако, кристаллизация, отравление, цель огня, цель воды, цель воздуха и цель земли. - */ - $add_where .= ' AND (`name` LIKE "Цель Воды%" OR `name` LIKE "Цель Огня%" OR `name` LIKE "Цель Воздуха%" OR `name` LIKE "Цель Земли%" + if ($hpadd > 0) { + $pl['name'] = $pr['name']; + } + + /*ПРИЕМЫ КАЖДЫЙ ХОД*/ +} elseif ($pl['id'] == 231) { + //Глухая защита + $re = $this->addPriem($u->info['id'], $pl['id'], -1, 0, 77, 6, $u->info['id'], 1, 'глухаязащита', 0, 1); +} elseif ($pl['id'] == 3) { + //прием собрать зубы + $hpadd = rand(2, 5); + $trduh = 1; +} elseif ($pl['id'] == 5) { + //прием утереть пот + $hpadd = $u->info['level'] * 2; +} elseif ($pl['id'] == 6) { + //прием воля к победе + $hpadd = round($u->info['level'] * 5 + 7); + if ($btl->stats[$btl->uids[$u->info['id']]]['hpNow'] < ($btl->stats[$btl->uids[$u->info['id']]]['hpAll'] * 0.33)) { + $hpadd += ceil($hpadd * 0.25); + } +} elseif ($pl['priem']['id'] == 189) { + //Ошеломить + $imun = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $u2['id'] . '" and `v2`="191" and `delete`="0" LIMIT 1')); + //echo $u2['id']; + if ($imun) { + $cup = true; + $vLog = 'time1=' . time() . '||s1=' . $u1['sex'] . '||t1=' . $u1['team'] . '||login1=' . $u1['login'] . '||s2=' . $this->users[$this->uids[$u2['id']]]['sex'] . '||t2=' . $this->users[$this->uids[$u2['id']]]['team'] . '||login2=' . $this->users[$this->uids[$u2['id']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => $this->hodID, 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '", но у {u2} иммунитет к ошеломлению.'; + } elseif ($this->stats[$this->uids[$u2['id']]]['hpNow'] >= 1) { + //ошеломить + $re = $priem->addPriem($u2['id'], 230, 'add_m10=-100|add_m11=-100', 0, 77, 2, $u1['id'], 2, 'ошеломить'); + $re = $priem->addPriem($u2['id'], 191, '', 0, 77, 6, $u1['id'], 5, 'иммунитеткошеломить'); + if ($re == false) { + echo '[Er::Ошеломить[xX]]'; + } + $sx = ''; + if ($u1['sex'] == 1) { + $sx = 'а'; + } + $vLog = 'time1=' . time() . '||s1=' . $u1['sex'] . '||t1=' . $u1['team'] . '||login1=' . $u1['login'] . '||s2=' . $this->users[$this->uids[$u2['id']]]['sex'] . '||t2=' . $this->users[$this->uids[$u2['id']]]['team'] . '||login2=' . $this->users[$this->uids[$u2['id']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => $this->hodID, 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '" и ошеломил' . $sx . ' {u2} на два хода.'; + $pz = $this->users[$this->uids[$u2['id']]]['priems_z']; + $p_id = $this->users[$this->uids[$u2['id']]]['priems']; + $pz = explode('|', $pz); + $p_id = explode('|', $p_id); + $i = 0; + while ($i <= 30) { + if ($p_id[$i] >= 195 and $p_id[$i] <= 198) { + $pz[$i] = $pz[$i]; + } else { + $pz[$i] += 2; + } + $i++; + } + $pz = implode('|', $pz); + $this->users[$this->uids[$u2['id']]]['priems_z'] = $pz; + unset($pz); + mysql_query('UPDATE `stats` SET `priems_z` = "' . $this->users[$this->uids[$u2['id']]]['priems_z'] . '" WHERE `id` = "' . $u2['id'] . '" LIMIT 1'); + //$this->add_log($mas1); + $pz[(int)$id] = 1; + } +} elseif ($pl['priem']['id'] == 235) { + //Шокирующий удар + $imun = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $u2['id'] . '" and `v2`="191" and `delete`="0" LIMIT 1')); + //echo $u2['id']; + if ($imun) { + $cup = true; + $vLog = 'time1=' . time() . '||s1=' . $u1['sex'] . '||t1=' . $u1['team'] . '||login1=' . $u1['login'] . '||s2=' . $this->users[$this->uids[$u2['id']]]['sex'] . '||t2=' . $this->users[$this->uids[$u2['id']]]['team'] . '||login2=' . $this->users[$this->uids[$u2['id']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => $this->hodID, 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '", но у {u2} иммунитет к ошеломлению.'; + } elseif ($this->stats[$this->uids[$u2['id']]]['hpNow'] >= 1) { + //ошеломить + $re = $priem->addPriem($u2['id'], 236, 'add_notactic=1', 0, 77, 2, $u1['id'], 2, 'шокирующийудар'); + $re = $priem->addPriem($u2['id'], 191, '', 0, 77, 6, $u1['id'], 5, 'иммунитеткошеломить'); + if ($re == false) { + echo '[Er::ШокирующийУдар[xX]]'; + } + $sx = ''; + if ($u1['sex'] == 1) { + $sx = 'а'; + } + $vLog = 'time1=' . time() . '||s1=' . $u1['sex'] . '||t1=' . $u1['team'] . '||login1=' . $u1['login'] . '||s2=' . $this->users[$this->uids[$u2['id']]]['sex'] . '||t2=' . $this->users[$this->uids[$u2['id']]]['team'] . '||login2=' . $this->users[$this->uids[$u2['id']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => $this->hodID, 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '" и ошеломил' . $sx . ' {u2} на два хода.'; + $pz = $this->users[$this->uids[$u2['id']]]['priems_z']; + $p_id = $this->users[$this->uids[$u2['id']]]['priems']; + $pz = explode('|', $pz); + $p_id = explode('|', $p_id); + $i = 0; + while ($i <= 30) { + if ($p_id[$i] >= 195 and $p_id[$i] <= 198) { + $pz[$i] = $pz[$i]; + } else { + $pz[$i] += 2; + } + $i++; + } + $pz = implode('|', $pz); + $this->users[$this->uids[$u2['id']]]['priems_z'] = $pz; + unset($pz); + mysql_query('UPDATE `stats` SET `priems_z` = "' . $this->users[$this->uids[$u2['id']]]['priems_z'] . '" WHERE `id` = "' . $u2['id'] . '" LIMIT 1'); + //$this->add_log($mas1); + $pz[(int)$id] = 1; + } +} elseif ($pl['priem']['id'] == 237) { + //Разведка боем + $imun = mysql_fetch_array(mysql_query('SELECT `id` FROM `eff_users` WHERE `uid` = "' . $u2['id'] . '" and `v2`="237" and `delete`="0" LIMIT 1')); + if (isset($imun['id'])) { + mysql_query('UPDATE `eff_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $imun['id'] . '" LIMIT 1'); + } + //Разведка боем + $re = $priem->addPriem($u2['id'], 238, 'add_notactic=1', 0, 77, 4, $u1['id'], 5, 'разведкабоем'); + if ($re == false) { + echo '[Er::РазведкаБоем[xX]]'; + } + $sx = ''; + if ($u1['sex'] == 1) { + $sx = 'а'; + } + $vLog = 'time1=' . time() . '||s1=' . $u1['sex'] . '||t1=' . $u1['team'] . '||login1=' . $u1['login'] . '||s2=' . $this->users[$this->uids[$u2['id']]]['sex'] . '||t2=' . $this->users[$this->uids[$u2['id']]]['team'] . '||login2=' . $this->users[$this->uids[$u2['id']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => $this->hodID, 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '" и раскрыл' . $sx . ' тактику {u2} на пять ходов.'; +} elseif ($pl['priem']['id'] == 239) { + //Поступь смерти + $pl['data_re'] = Helper\Conversion::dataStringToArray($pl['data']); + if ($pl['data_re']['step'] < 10) { + $pl['data_re']['add_maxAtack'] += $this->users[$this->uids[$pl['uid']]]['level']; + $pl['data_re']['step']++; + } + $pl['data'] = 'add_maxAtack=' . $pl['data_re']['add_maxAtack'] . '|step=' . $pl['data_re']['step'] . ''; + $pl['hod'] = 2; + $this->rehodeff[$pl['id']] = $pl['hod']; + mysql_query('UPDATE `eff_users` SET `hod` = "' . $pl['hod'] . '",`data` = "' . $pl['data'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'); + + unset($pl['data_re']); + +} elseif ($pl['priem']['id'] == 240) { + //Хлебнуть Крови + $pl['data_re'] = Helper\Conversion::dataStringToArray($pl['data']); + if (isset($pl['data_re']['step']) || $pl['data_re']['step'] == 0) { + //Добавляем силу + if ($this->users[$this->uids[$u2['id']]]['level'] == 7) { + $pl['data_re']['add_s1'] = 10; + } elseif ($this->users[$this->uids[$u2['id']]]['level'] == 8) { + $pl['data_re']['add_s1'] = 13; + } elseif ($this->users[$this->uids[$u2['id']]]['level'] >= 9) { + $pl['data_re']['add_s1'] = 14; + } + } + $pl['data_re']['step']++; + if ($pl['data_re']['add_s1'] > 0) { + $pl['data'] = 'add_s1=' . $pl['data_re']['add_s1'] . '|atck_krit_to_atck=1|step=' . $pl['data_re']['step'] . ''; + } else { + $pl['data'] = 'atck_krit_to_atck=1|step=' . $pl['data_re']['step']; + } + + if ($pl['hod'] == -1) { + $pl['hod'] = 4; + $this->rehodeff[$pl['id']] = $pl['hod']; + //Хиляемся + $hpadd_pl = $yrn * 0.679; + $pl['data_re']['step']++; + } elseif ($pl['data_re']['step'] == 2 || $pl['data_re']['step'] == 3) { + //Хиляемся еще 2 хода от любых ударов + $hpadd_pl = $yrn * 0.573; + $pl['data_re']['step']++; + } else { + //$hpadd_pl = $yrn; + } + + if ($hpadd_pl > 0) { + if ($this->users[$this->uids[$u2['id']]]['level'] <= 8) { + if ($hpadd_pl > 107) { + $hpadd_pl = 107; + } + } elseif ($this->users[$this->uids[$u2['id']]]['level'] == 9) { + if ($hpadd_pl > 128) { + $hpadd_pl = 128; + } + } elseif ($this->users[$this->uids[$u2['id']]]['level'] >= 10) { + if ($hpadd_pl > 154) { + $hpadd_pl = 154; + } + } + $plname = $pl['name']; + $hid = $u1['id']; + } + + $this->pr_reset['data'][$pl['id']] = $pl['data']; + + mysql_query('UPDATE `eff_users` SET `hod` = "' . $pl['hod'] . '",`data` = "' . $pl['data'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'); + unset($pl['data_re']); + +} elseif ($pl['id'] == 192) { + + $i = 0; + $add_where = ''; + while ($i < count($btl->users)) { + if ($btl->users[$i]['team'] == $btl->users[$btl->uids[$u->info['id']]]['team']) { + $add_where .= ' AND `user_use`!="' . $btl->users[$i]['id'] . '"'; + } + $i++; + } + + //Ограничиваем конкретными приемами + /* + приёмом "Очиститься кровью" можно снять: пожирающее пламя, переохлаждение, ядовитое облако, кристаллизация, отравление, цель огня, цель воды, цель воздуха и цель земли. + */ + $add_where .= ' AND (`name` LIKE "Цель Воды%" OR `name` LIKE "Цель Огня%" OR `name` LIKE "Цель Воздуха%" OR `name` LIKE "Цель Земли%" OR `name` LIKE "Пожирающее Пламя%" OR `name` LIKE "Переохлаждение%" OR `name` LIKE "Ядовитое Облако%" OR `name` LIKE "Кристаллизация%" OR `name` LIKE "%Отравление%" OR `name` LIKE "Искалечить%" OR `name` LIKE "Пришпилить%" ) '; - $dell = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `user_use`!= "" and `delete`="0" and `uid`="'.$u->info['id'].'" and `v1`="priem" '.$add_where.' LIMIT 1')); - - if($dell){ - $dell['priem']['id']=$dell['id']; - if($dell['x']==1){ - $btl->delPriem($dell,$u->info,99); - }else{ - $i=0; - $e = explode('|',$dell['data']); - while($itime(),'battle'=>$btl->info['id'],'id_hod'=>$btl->hodID,'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - $mas1['text'] = '{u1} Ослабил эфект "'.$dell['name'].'" с помощью Очиститься Кровью .'; - $btl->add_log($mas1); - } - } + $dell = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `user_use`!= "" and `delete`="0" and `uid`="' . $u->info['id'] . '" and `v1`="priem" ' . $add_where . ' LIMIT 1')); + + if ($dell) { + $dell['priem']['id'] = $dell['id']; + if ($dell['x'] == 1) { + $btl->delPriem($dell, $u->info, 99); + } else { + $i = 0; + $e = explode('|', $dell['data']); + while ($i < count($e)) { + $f = explode('=', $e[$i]); + $stack = $f[1] / $dell['x'];//вычисляем влятельность заряда на х-ки + $f[1] -= $stack;// отнимаем заряд + $e[$i] = implode('=', $f); + $i++; + } + $dell['data'] = implode('|', $e); + $dell['x']--; + + mysql_query('UPDATE `eff_users` SET `data` = "' . $dell['data'] . '", `x`="' . $dell['x'] . '" WHERE `id` = "' . $dell['id'] . '"'); + $vLog = 'time1=' . time() . '||s1=' . $u->info['sex'] . '||t1=' . $u->info['team'] . '||login1=' . $u->info['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => $btl->hodID, 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + $mas1['text'] = '{u1} Ослабил эфект "' . $dell['name'] . '" с помощью Очиститься Кровью .'; + $btl->add_log($mas1); + } + } } -if(isset($hpadd)) -{ - if($u->stats['hpNow']+$hpadd > $u->stats['hpAll']) - { - $hpadd = $u->stats['hpAll']-$u->stats['hpNow']; - } - if($trduh==1) - { - if($btl->users[$btl->uids[$u->info['id']]]['tactic7']<=0) - { - $hpadd = 0; - } - } - - if(isset($btl->stats[$btl->uids[$u->info['id']]]['min_heal_proc'])) { - if($btl->stats[$btl->uids[$u->info['id']]]['min_heal_proc'] > 100) { - $btl->stats[$btl->uids[$u->info['id']]]['min_heal_proc'] = 100; - } - $hpadd = round($hpadd/100*(100+$btl->stats[$btl->uids[$u->info['id']]]['min_heal_proc'])); - } - - $u->info['hpNow'] += $hpadd; - $u->stats['hpNow'] += $hpadd; - $btl->users[$btl->uids[$u->info['id']]]['hpNow'] += $hpadd; - $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] += $hpadd; - $upd = mysql_query('UPDATE `stats` SET `hpNow` = '.$u->info['hpNow'].' WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($upd) - { - $vLog = 'time1='.time().'||s1='.$u->info['sex'].'||t1='.$u->info['team'].'||login1='.$u->info['login'].''; - $mas1 = array('time'=>time(),'battle'=>$btl->info['id'],'id_hod'=>$btl->hodID,'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - if($hpadd>0) - { - $hpadd = '+'.ceil($hpadd); - }else{ - $hpadd = '--'; - } - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pl['name'].'" и {1x17x0} здоровье. '.$hpadd.' ['.ceil($u->info['hpNow']).'/'.$btl->stats[$btl->uids[$u->info['id']]]['hpAll'].']'; - $btl->add_log($mas1); - $pz[(int)$id] = 1; - }else{ - echo 'Can`t update table `user`'; - } - unset($hpadd,$mas1,$trduh); -}elseif(isset($hpadd_pr)) -{ - if($btl->stats[$btl->uids[$ue['id']]]['hpNow']+$hpadd_pr > $btl->stats[$btl->uids[$ue['id']]]['hpAll']) - { - $hpadd_pr = $btl->stats[$btl->uids[$ue['id']]]['hpAll']-$btl->stats[$btl->uids[$ue['id']]]['hpNow']; - } - if($trduh==1) - { - if($btl->users[$btl->uids[$ue['id']]]['tactic7']<=0) - { - $hpadd_pr = 0; - } - } - - if(isset($btl->stats[$btl->uids[$ue['id']]]['min_heal_proc'])) { - if($btl->stats[$btl->uids[$ue['id']]]['min_heal_proc'] > 100) { - $btl->stats[$btl->uids[$ue['id']]]['min_heal_proc'] = 100; - } - $hpadd_pr = round($hpadd_pr/100*(100+$btl->stats[$btl->uids[$ue['id']]]['min_heal_proc'])); - } - - if($u->info['id'] == $btl->users[$btl->uids[$ue['id']]]['id']) { - $u->info['hpNow'] += $hpadd; - $u->stats['hpNow'] += $hpadd; - } - $btl->users[$btl->uids[$ue['id']]]['hpNow'] += $hpadd_pr; - $btl->stats[$btl->uids[$ue['id']]]['hpNow'] += $hpadd_pr; - $upd = mysql_query('UPDATE `stats` SET `hpNow` = '.$btl->stats[$btl->uids[$ue['id']]]['hpNow'].' WHERE `id` = "'.$btl->users[$btl->uids[$ue['id']]]['id'].'" LIMIT 1'); - if($upd) - { - $vLog = 'time1='.time().'||s1='.$btl->users[$btl->uids[$ue['id']]]['sex'].'||t1='.$btl->users[$btl->uids[$ue['id']]]['team'].'||login1='.$btl->users[$btl->uids[$ue['id']]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$btl->info['id'],'id_hod'=>$btl->hodID,'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - if($hpadd_pr>0) - { - $hpadd_pr = '+'.ceil($hpadd_pr); - }else{ - $hpadd_pr = '--'; - } - if($hpadd_pr_color == '') { - $hpaa_pr_color = '#006699'; - } - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$pr['name'].'" и {1x17x0} здоровье. '.$hpadd_pr.' ['.ceil($btl->stats[$btl->uids[$ue['id']]]['hpNow']).'/'.$btl->stats[$btl->uids[$ue['id']]]['hpAll'].']'; - $btl->add_log($mas1); - $pz[(int)$id] = 1; - }else{ - echo 'Can`t update table `user`'; - } - unset($hpadd_pr,$mas1,$trduh); -}elseif(isset($hpadd_pl)) -{ - if($this->stats[$this->uids[$hid]]['hpNow']+$hpadd_pl > $this->stats[$this->uids[$hid]]['hpAll']) - { - $hpadd_pr = $this->stats[$this->uids[$hid]]['hpAll']-$this->stats[$this->uids[$hid]]['hpNow']; - } - if($trduh==1) - { - if($this->users[$this->uids[$hid]]['tactic7']<=0) - { - $hpadd_pl = 0; - } - } - - if(isset($this->stats[$this->uids[$hid]]['min_heal_proc'])) { - if($this->stats[$this->uids[$hid]]['min_heal_proc'] > 100) { - $this->stats[$this->uids[$hid]]['min_heal_proc'] = 100; - } - $hpadd_pl = round($hpadd_pl/100*(100+$this->stats[$this->uids[$hid]]['min_heal_proc'])); - } - - if($u->info['id'] == $this->users[$this->uids[$hid]]['id']) { - $u->info['hpNow'] += $hpadd_pl; - $u->stats['hpNow'] += $hpadd_pl; - } - $this->users[$this->uids[$hid]]['hpNow'] += $hpadd_pl; - $this->stats[$this->uids[$hid]]['hpNow'] += $hpadd_pl; - $upd = mysql_query('UPDATE `stats` SET `hpNow` = '.$this->stats[$this->uids[$hid]]['hpNow'].' WHERE `id` = "'.$this->users[$this->uids[$hid]]['id'].'" LIMIT 1'); - if($upd) - { - $vLog = 'time1='.time().'||s1='.$this->users[$this->uids[$hid]]['sex'].'||t1='.$this->users[$this->uids[$hid]]['team'].'||login1='.$this->users[$this->uids[$hid]]['login'].''; - $mas1 = array('time'=>time(),'battle'=>$this->info['id'],'id_hod'=>($this->hodID+1),'text'=>'','vars'=>$vLog,'zona1'=>'','zonb1'=>'','zona2'=>'','zonb2'=>'','type'=>'1'); - if($hpadd_pl>0) - { - $hpadd_pl = '+'.ceil($hpadd_pl); - }else{ - $hpadd_pl = '--'; - } - if($hpadd_pr_color == '') { - $hpaa_pr_color = '#006699'; - } - $mas1['text'] = '{tm1} {u1} {1x16x0} прием "'.$plname.'" и {1x17x0} здоровье. '.$hpadd_pl.' ['.ceil($this->stats[$this->uids[$hid]]['hpNow']).'/'.$this->stats[$this->uids[$hid]]['hpAll'].']'; - $this->add_log($mas1); - $pz[(int)$id] = 1; - }else{ - echo 'Can`t update table `user`'; - } - unset($hpadd_pl,$mas1,$trduh); +if (isset($hpadd)) { + if ($u->stats['hpNow'] + $hpadd > $u->stats['hpAll']) { + $hpadd = $u->stats['hpAll'] - $u->stats['hpNow']; + } + if ($trduh == 1) { + if ($btl->users[$btl->uids[$u->info['id']]]['tactic7'] <= 0) { + $hpadd = 0; + } + } + + if (isset($btl->stats[$btl->uids[$u->info['id']]]['min_heal_proc'])) { + if ($btl->stats[$btl->uids[$u->info['id']]]['min_heal_proc'] > 100) { + $btl->stats[$btl->uids[$u->info['id']]]['min_heal_proc'] = 100; + } + $hpadd = round($hpadd / 100 * (100 + $btl->stats[$btl->uids[$u->info['id']]]['min_heal_proc'])); + } + + $u->info['hpNow'] += $hpadd; + $u->stats['hpNow'] += $hpadd; + $btl->users[$btl->uids[$u->info['id']]]['hpNow'] += $hpadd; + $btl->stats[$btl->uids[$u->info['id']]]['hpNow'] += $hpadd; + $upd = mysql_query('UPDATE `stats` SET `hpNow` = ' . $u->info['hpNow'] . ' WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + if ($upd) { + $vLog = 'time1=' . time() . '||s1=' . $u->info['sex'] . '||t1=' . $u->info['team'] . '||login1=' . $u->info['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => $btl->hodID, 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + if ($hpadd > 0) { + $hpadd = '+' . ceil($hpadd); + } else { + $hpadd = '--'; + } + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pl['name'] . '" и {1x17x0} здоровье. ' . $hpadd . ' [' . ceil($u->info['hpNow']) . '/' . $btl->stats[$btl->uids[$u->info['id']]]['hpAll'] . ']'; + $btl->add_log($mas1); + $pz[(int)$id] = 1; + } else { + echo 'Can`t update table `user`'; + } + unset($hpadd, $mas1, $trduh); +} elseif (isset($hpadd_pr)) { + if ($btl->stats[$btl->uids[$ue['id']]]['hpNow'] + $hpadd_pr > $btl->stats[$btl->uids[$ue['id']]]['hpAll']) { + $hpadd_pr = $btl->stats[$btl->uids[$ue['id']]]['hpAll'] - $btl->stats[$btl->uids[$ue['id']]]['hpNow']; + } + if ($trduh == 1) { + if ($btl->users[$btl->uids[$ue['id']]]['tactic7'] <= 0) { + $hpadd_pr = 0; + } + } + + if (isset($btl->stats[$btl->uids[$ue['id']]]['min_heal_proc'])) { + if ($btl->stats[$btl->uids[$ue['id']]]['min_heal_proc'] > 100) { + $btl->stats[$btl->uids[$ue['id']]]['min_heal_proc'] = 100; + } + $hpadd_pr = round($hpadd_pr / 100 * (100 + $btl->stats[$btl->uids[$ue['id']]]['min_heal_proc'])); + } + + if ($u->info['id'] == $btl->users[$btl->uids[$ue['id']]]['id']) { + $u->info['hpNow'] += $hpadd; + $u->stats['hpNow'] += $hpadd; + } + $btl->users[$btl->uids[$ue['id']]]['hpNow'] += $hpadd_pr; + $btl->stats[$btl->uids[$ue['id']]]['hpNow'] += $hpadd_pr; + $upd = mysql_query('UPDATE `stats` SET `hpNow` = ' . $btl->stats[$btl->uids[$ue['id']]]['hpNow'] . ' WHERE `id` = "' . $btl->users[$btl->uids[$ue['id']]]['id'] . '" LIMIT 1'); + if ($upd) { + $vLog = 'time1=' . time() . '||s1=' . $btl->users[$btl->uids[$ue['id']]]['sex'] . '||t1=' . $btl->users[$btl->uids[$ue['id']]]['team'] . '||login1=' . $btl->users[$btl->uids[$ue['id']]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $btl->info['id'], 'id_hod' => $btl->hodID, 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + if ($hpadd_pr > 0) { + $hpadd_pr = '+' . ceil($hpadd_pr); + } else { + $hpadd_pr = '--'; + } + if ($hpadd_pr_color == '') { + $hpaa_pr_color = '#006699'; + } + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $pr['name'] . '" и {1x17x0} здоровье. ' . $hpadd_pr . ' [' . ceil($btl->stats[$btl->uids[$ue['id']]]['hpNow']) . '/' . $btl->stats[$btl->uids[$ue['id']]]['hpAll'] . ']'; + $btl->add_log($mas1); + $pz[(int)$id] = 1; + } else { + echo 'Can`t update table `user`'; + } + unset($hpadd_pr, $mas1, $trduh); +} elseif (isset($hpadd_pl)) { + if ($this->stats[$this->uids[$hid]]['hpNow'] + $hpadd_pl > $this->stats[$this->uids[$hid]]['hpAll']) { + $hpadd_pr = $this->stats[$this->uids[$hid]]['hpAll'] - $this->stats[$this->uids[$hid]]['hpNow']; + } + if ($trduh == 1) { + if ($this->users[$this->uids[$hid]]['tactic7'] <= 0) { + $hpadd_pl = 0; + } + } + + if (isset($this->stats[$this->uids[$hid]]['min_heal_proc'])) { + if ($this->stats[$this->uids[$hid]]['min_heal_proc'] > 100) { + $this->stats[$this->uids[$hid]]['min_heal_proc'] = 100; + } + $hpadd_pl = round($hpadd_pl / 100 * (100 + $this->stats[$this->uids[$hid]]['min_heal_proc'])); + } + + if ($u->info['id'] == $this->users[$this->uids[$hid]]['id']) { + $u->info['hpNow'] += $hpadd_pl; + $u->stats['hpNow'] += $hpadd_pl; + } + $this->users[$this->uids[$hid]]['hpNow'] += $hpadd_pl; + $this->stats[$this->uids[$hid]]['hpNow'] += $hpadd_pl; + $upd = mysql_query('UPDATE `stats` SET `hpNow` = ' . $this->stats[$this->uids[$hid]]['hpNow'] . ' WHERE `id` = "' . $this->users[$this->uids[$hid]]['id'] . '" LIMIT 1'); + if ($upd) { + $vLog = 'time1=' . time() . '||s1=' . $this->users[$this->uids[$hid]]['sex'] . '||t1=' . $this->users[$this->uids[$hid]]['team'] . '||login1=' . $this->users[$this->uids[$hid]]['login'] . ''; + $mas1 = ['time' => time(), 'battle' => $this->info['id'], 'id_hod' => ($this->hodID + 1), 'text' => '', 'vars' => $vLog, 'zona1' => '', 'zonb1' => '', 'zona2' => '', 'zonb2' => '', 'type' => '1']; + if ($hpadd_pl > 0) { + $hpadd_pl = '+' . ceil($hpadd_pl); + } else { + $hpadd_pl = '--'; + } + if ($hpadd_pr_color == '') { + $hpaa_pr_color = '#006699'; + } + $mas1['text'] = '{tm1} {u1} {1x16x0} прием "' . $plname . '" и {1x17x0} здоровье. ' . $hpadd_pl . ' [' . ceil($this->stats[$this->uids[$hid]]['hpNow']) . '/' . $this->stats[$this->uids[$hid]]['hpAll'] . ']'; + $this->add_log($mas1); + $pz[(int)$id] = 1; + } else { + echo 'Can`t update table `user`'; + } + unset($hpadd_pl, $mas1, $trduh); } ?> \ No newline at end of file diff --git a/_incl_data/mails.php b/_incl_data/mails.php deleted file mode 100644 index 62a5d713..00000000 --- a/_incl_data/mails.php +++ /dev/null @@ -1,32 +0,0 @@ -IsSMTP(); // Set mailer to use SMTP - $mail->Host = 'smtp.mail.yahoo.com'; // Specify main and backup server - $mail->SMTPAuth = true; // Enable SMTP authentication - $mail->Username = 'newcombats@yahoo.com'; // SMTP username - $mail->Password = 'uqcdbnsoagxcyysh'; - $mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted - $mail->Port = 587; - $mail->CharSet = 'UTF-8'; - - $mail->From = 'newcombats@yahoo.com'; - $mail->FromName = 'Бойцовский Клуб'; - $mail->AddAddress($to); // Add a recipient - - $mail->IsHTML(true); // Set email format to HTML - - $mail->Subject = $subject; - $mail->Body = '
' . $message . '
'; - $mail->AltBody = $message; - - if (!$mail->Send()) { - return 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo; - } - return 1; -} \ No newline at end of file diff --git a/adminion/recovery.php b/adminion/recovery.php index 698ff1ec..ec341a20 100644 --- a/adminion/recovery.php +++ b/adminion/recovery.php @@ -6,16 +6,16 @@ include('_incl_data/__config.php'); include('_incl_data/class/__db_connect.php'); $u = User::start(); -if(!$u->info['admin']) { - header('location: /'); - die(); +if (!$u->info['admin']) { + header('location: /'); + die(); } $_GET['id'] = (int)$_GET['id']; $_GET['exp'] = (int)$_GET['exp']; -$us = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "'.mysql_real_escape_string($_GET['id']).'" LIMIT 1')); -if(!isset($us['id'])) { +$us = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "' . mysql_real_escape_string($_GET['id']) . '" LIMIT 1')); +if (!isset($us['id'])) { return; } $st = mysql_fetch_array( @@ -49,7 +49,7 @@ while ($pl = mysql_fetch_array($sp)) { $r[5] -= $pl['money']; } // -$sts = \Core\ConversionHelper::dataStringToArray($st['stats']); +$sts = Helper\Conversion::dataStringToArray($st['stats']); $nst = [ 's1' => 3, 's2' => 3, @@ -57,7 +57,7 @@ $nst = [ 's4' => 3, 's5' => 0, 's6' => 0, - 's7' => 0 + 's7' => 0, ]; // $sp = mysql_query('SELECT * FROM `levels` WHERE `upLevel` <= ' . $lvn['upLevel'] . ''); diff --git a/adminion/testing.php b/adminion/testing.php index e917cddd..10b046ad 100644 --- a/adminion/testing.php +++ b/adminion/testing.php @@ -22,7 +22,7 @@ while ($i < 100) { - + Тестирование ботов @@ -227,8 +227,7 @@ while ($i < 100) { mysql_query( 'INSERT INTO `eff_users` ( `id_eff` , `uid` , `name` , `data` , `timeUse` ) VALUES ( - "' . $efs['id2'] . '" , "' . $bot1 . '" , "' . $efs['mname'] . '" , "' . $efs['mdata'] . '" , "' . time( - ) . '" + "' . $efs['id2'] . '" , "' . $bot1 . '" , "' . $efs['mname'] . '" , "' . $efs['mdata'] . '" , "' . time() . '" )' ); } @@ -236,8 +235,7 @@ while ($i < 100) { mysql_query( 'INSERT INTO `eff_users` ( `id_eff` , `uid` , `name` , `data` , `timeUse` ) VALUES ( - "' . $efs['id2'] . '" , "' . $bot2 . '" , "' . $efs['mname'] . '" , "' . $efs['mdata'] . '" , "' . time( - ) . '" + "' . $efs['id2'] . '" , "' . $bot2 . '" , "' . $efs['mname'] . '" , "' . $efs['mdata'] . '" , "' . time() . '" )' ); } @@ -287,7 +285,7 @@ while ($i < 100) { $tr = ''; $t = $u->items['add']; $x = 0; - $ed = \Core\ConversionHelper::dataStringToArray($pl['mdata']); + $ed = Helper\Conversion::dataStringToArray($pl['mdata']); while ($x < count($t)) { $n = $t[$x]; if (isset($ed['add_' . $n], $u->is[$n])) { diff --git a/inf.php b/inf.php index ddd3c2a9..c2499049 100644 --- a/inf.php +++ b/inf.php @@ -1,10 +1,9 @@ 0) { $pl_gift = mysql_fetch_array( diff --git a/items_info.php b/items_info.php index e3019e76..2274a4e3 100644 --- a/items_info.php +++ b/items_info.php @@ -1,9 +1,9 @@ ['lvl', 's1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9', 's10', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'mg1', 'mg2', 'mg3', 'mg4', 'mg5', 'mg6', 'mg7', 'mall', 'm2all', 'aall'], @@ -538,7 +538,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы'; //действие комплекта $i1c = 0; $i2c = 0; - $i1e = ConversionHelper::dataStringToArray($itmc['data']); + $i1e = Conversion::dataStringToArray($itmc['data']); while ($i1c < count($items['add'])) { if (isset($i1e[$items['add'][$i1c]])) { $i3c = $i1e[$items['add'][$i1c]]; @@ -756,7 +756,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы'; $itd = mysql_fetch_array( mysql_query('SELECT * FROM `items_main_data` WHERE `items_id` = ' . $itm['id']) ); - $itd = ConversionHelper::dataStringToArray($itd['data']); + $itd = Conversion::dataStringToArray($itd['data']); ?>
@@ -1017,7 +1017,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы'; //действие комплекта $i1c = 0; $i2c = 0; - $i1e = ConversionHelper::dataStringToArray($itmc['data']); + $i1e = Conversion::dataStringToArray($itmc['data']); while ($i1c < count($items['add'])) { if (isset($i1e[$items['add'][$i1c]])) { $i3c = $i1e[$items['add'][$i1c]]; diff --git a/modules_data/_animal.php b/modules_data/_animal.php index cc133ec1..16176ff0 100644 --- a/modules_data/_animal.php +++ b/modules_data/_animal.php @@ -1,236 +1,242 @@ var elem = document.getElementById('se-pre-con'); elem.parentNode.removeChild(elem); "; -if(!defined('GAME')) -{ - die(); +if (!defined('GAME')) { + die(); } $err = ''; -$an = mysql_fetch_array(mysql_query('SELECT * FROM `users_animal` WHERE `id` = "'.$u->info['animal'].'" LIMIT 1')); -if(!isset($an['id'])) -{ - echo '



Зверь не найден...
'; -}else{ -if(isset($_GET['delete']) && $_GET['delete'] == $an['id']) { - echo 'Зверь был выгнан...'; - mysql_query('UPDATE `users` SET `animal` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `users_animal` SET `delete` = "'.time().'" WHERE `uid` = "'.$u->info['id'].'" AND `id` = "'.$an['id'].'" AND `delete` = "0" LIMIT 1'); -}elseif(isset($_GET['anml_login']) && $an['rename'] == 0) { - $n = 1; - function en_ru($txt) - { - $g = false; - $en = preg_match("/^(([a-zA-Z _-])+)$/i", $txt); - $ru = preg_match("/^(([а-яА-Я _-])+)$/i", $txt); - if(($ru && $en) || (!$ru && !$en)) - { - $g = true; - } - return $g; - } - $nl = htmlspecialchars($_GET['anml_login'],NULL); - $nl = str_replace(' ','',$nl); - $nl = str_replace(' ','',$nl); - $sr = "!@#$%^&*()\+Ёё|/'`\"-_"; - if($nl == '' || strlen($nl) > 10 || strlen($nl) < 2 || en_ru($nl) == true || strpos($sr,$nl)) { - $n = 0; - }else{ - - } - - - if($n == 1) { - mysql_query('UPDATE `users_animal` SET `name` = "'.mysql_real_escape_string($nl).'",`rename` = "1" WHERE `uid` = "'.$u->info['id'].'" AND `id` = "'.$an['id'].'" AND `delete` = "0" LIMIT 1'); - $an['rename'] = 1; - echo 'Вы успешно переименовали питомца в "'.$nl.'"'; - }else{ - echo 'Эта кличка не подходит'; - } -} +$an = mysql_fetch_array(mysql_query('SELECT * FROM `users_animal` WHERE `id` = "' . $u->info['animal'] . '" LIMIT 1')); +if (!isset($an['id'])) { + echo '



Зверь не найден...
'; +} else { + if (isset($_GET['delete']) && $_GET['delete'] == $an['id']) { + echo 'Зверь был выгнан...'; + mysql_query('UPDATE `users` SET `animal` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `users_animal` SET `delete` = "' . time() . '" WHERE `uid` = "' . $u->info['id'] . '" AND `id` = "' . $an['id'] . '" AND `delete` = "0" LIMIT 1'); + } elseif (isset($_GET['anml_login']) && $an['rename'] == 0) { + $n = 1; + function en_ru($txt) + { + $g = false; + $en = preg_match("/^(([a-zA-Z _-])+)$/i", $txt); + $ru = preg_match("/^(([а-яА-Я _-])+)$/i", $txt); + if (($ru && $en) || (!$ru && !$en)) { + $g = true; + } + return $g; + } -$anl = mysql_fetch_array(mysql_query('SELECT `bonus` FROM `levels_animal` WHERE `type` = "'.$an['type'].'" AND `level` = "'.$an['level'].'" LIMIT 1')); -$anl = $anl['bonus']; -$anl = \Core\ConversionHelper::dataStringToArray($anl); + $nl = htmlspecialchars($_GET['anml_login'], null); + $nl = str_replace(' ', '', $nl); + $nl = str_replace(' ', '', $nl); + $sr = "!@#$%^&*()\+Ёё|/'`\"-_"; + if ($nl == '' || strlen($nl) > 10 || strlen($nl) < 2 || en_ru($nl) == true || strpos($sr, $nl)) { + $n = 0; + } else { -$nam = array(1=>'Кот',2=>'Сова',3=>'Светляк',4=>'Чертяка',5=>'Собака',6=>'Свинья',7=>'Дракон'); -$sab = mysql_fetch_array(mysql_query('SELECT * FROM `test_bot` WHERE `login` = "'.$nam[$an['type']].' ['.$an['level'].']" LIMIT 1')); -$sa = \Core\ConversionHelper::dataStringToArray($an['stats']); -$sa['hpAll'] += 30+$sa['s4']*6+$sa['hpAll']; -$ne = ''; + } -if(!isset($ne['id'])) -{ - $ne['exp'] = '??'; - if($an['exp'] < 110) { - $ne['exp'] = '110'; - }elseif($an['exp'] < 410) { - $ne['exp'] = '410'; - }elseif($an['exp'] < 1300) { - $ne['exp'] = '1300'; - }elseif($an['exp'] < 2500) { - $ne['exp'] = '2500'; - }elseif($an['exp'] < 5000) { - $ne['exp'] = '5000'; - }elseif($an['exp'] < 12500) { - $ne['exp'] = '12500'; - }elseif($an['exp'] < 30000) { - $ne['exp'] = '30000'; - }elseif($an['exp'] < 300000) { - $ne['exp'] = '300000'; - }elseif($an['exp'] < 3000000) { - $ne['exp'] = '3000000'; - }elseif($an['exp'] < 10000000) { - $ne['exp'] = '10000000'; - }elseif($an['exp'] < 52000000) { - $ne['exp'] = '52000000'; - }elseif($an['exp'] < 120000000) { - $ne['exp'] = '120000000'; - } -} - -if(isset($_GET['obj_corm'])) { - $corm = mysql_fetch_array(mysql_query('SELECT `iu`.*,`im`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON `iu`.`item_id` = `im`.`id` WHERE `im`.`type` = "49" AND `iu`.`delete` = "0" AND `iu`.`inShop` = "0" AND `iu`.`inOdet` = "0" AND `iu`.`inTransfer` = "0" AND `iu`.`id` = "'.mysql_real_escape_string($_GET['obj_corm']).'" LIMIT 1')); - if(isset($corm['id'])) { - //кормушка зверя - $see1 = 1; - if($an['type'] == 3 && substr_count($corm['img'],'wisp') == 0) { - //светляк - $see1 = 0; - }elseif($an['type'] == 2 && substr_count($corm['img'],'owl') == 0) { - //сова - $see1 = 0; - }elseif($an['type'] == 1 && substr_count($corm['img'],'cat') == 0) { - //кот - $see1 = 0; - }elseif($an['type'] == 4 && substr_count($corm['img'],'chrt') == 0) { - //чертяка - $see1 = 0; - }elseif($an['type'] == 5 && substr_count($corm['img'],'dog') == 0) { - //собака - $see1 = 0; - }elseif($an['type'] == 6 && substr_count($corm['img'],'pig') == 0) { - //свинья - $see1 = 0; - }elseif($an['type'] == 7 && substr_count($corm['img'],'dragon') == 0) { - //дракон - $see1 = 0; - } - if($see1 == 1) { - if($an['yad'] > time()) { - $err = '"'.$an['name'].'" отвернулся от еды...'; - }elseif($an['eda'] < 50) { - $po = \Core\ConversionHelper::dataStringToArray($corm['data']); - $corm['level'] = $po['tr_lvl']; - if($an['level'] >= $corm['level']) { - $rzc = $an['level']-$corm['level']; - if($rzc <= 0) { - $rzc = 20; - }elseif($rzc == 1) { - $rzc = 16; - }elseif($rzc == 2) { - $rzc = 12; - }elseif($rzc == 3) { - $rzc = 8; - }elseif($rzc >= 4) { - $rzc = 4; - }elseif($rzc >= 5) { - $rzc = 2; - } - $an['eda'] += $rzc; - if($an['eda'] > 50) { - $an['eda'] = 50; - } - mysql_query('UPDATE `users_animal` SET `eda` = "'.$an['eda'].'" WHERE `id` = "'.$an['id'].'" LIMIT 1'); - mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `id` = "'.mysql_real_escape_string($_GET['obj_corm']).'" LIMIT 1'); - $err = 'Ваш питомец был успешно накормлен...'; - }else{ - $err = 'Ваш питомец пока-что не может употреблять подобную пищу ...'; - } - }else{ - $err = 'Ваш питомец сыт...'; - } - }else{ - $err = 'Ваш питомец не употребляет подобную пищу...'; - } - }else{ - $err = 'Предмет не найден'; - } -} - -$itmAll = $u->genInv(15,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `im`.`type` = "49" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ORDER BY `name` ASC'); -if($itmAll[0] != 0) { - $itmAll = $itmAll[2]; -}else{ - $itmAll = ''; -} -?> -
ПУСТО
- - - - -
- - - - -
[]

HP:

-

Сила:
Ловкость:
Интуиция:
Выносливость:

-

Уровень:
Опыт: /
- Сытость:

-

- Освоенные навыки:
- • Отсутствуют

-

- Боевые бонусы:
- items['add'])) { - if(isset($anl['add_'.$u->items['add'][$i]])) { - if( $u->items['add'][$i] == 'mib1' ) { - $ba .= '• Броня головы: +'.$anl['add_'.$u->items['add'][$i]].'
'; - }elseif( $u->items['add'][$i] == 'mib2' ) { - $ba .= '• Броня корпуса: +'.$anl['add_'.$u->items['add'][$i]].'
'; - }elseif( $u->items['add'][$i] == 'mib3' ) { - $ba .= '• Броня пояса: +'.$anl['add_'.$u->items['add'][$i]].'
'; - }elseif( $u->items['add'][$i] == 'mib4' ) { - $ba .= '• Броня ног: +'.$anl['add_'.$u->items['add'][$i]].'
'; - }elseif( $u->items['add'][$i] == 'mab1' || $u->items['add'][$i] == 'mab2' || $u->items['add'][$i] == 'mab3' || $u->items['add'][$i] == 'mab4') { - - }else{ - $ba .= '• '.$u->is[$u->items['add'][$i]].': +'.$anl['add_'.$u->items['add'][$i]].'
'; - } - } - $i++; - } - - if($ba == '') { - $ba = '• Отсутствуют'; - } - echo $ba; - ?> -

-
-
-
-
-
-

- '.$err.''; - } - ?> -
- - + + if ($n == 1) { + mysql_query('UPDATE `users_animal` SET `name` = "' . mysql_real_escape_string($nl) . '",`rename` = "1" WHERE `uid` = "' . $u->info['id'] . '" AND `id` = "' . $an['id'] . '" AND `delete` = "0" LIMIT 1'); + $an['rename'] = 1; + echo 'Вы успешно переименовали питомца в "' . $nl . '"'; + } else { + echo 'Эта кличка не подходит'; + } + } + + $anl = mysql_fetch_array(mysql_query('SELECT `bonus` FROM `levels_animal` WHERE `type` = "' . $an['type'] . '" AND `level` = "' . $an['level'] . '" LIMIT 1')); + $anl = $anl['bonus']; + $anl = Helper\Conversion::dataStringToArray($anl); + + $nam = [1 => 'Кот', 2 => 'Сова', 3 => 'Светляк', 4 => 'Чертяка', 5 => 'Собака', 6 => 'Свинья', 7 => 'Дракон']; + $sab = mysql_fetch_array(mysql_query('SELECT * FROM `test_bot` WHERE `login` = "' . $nam[$an['type']] . ' [' . $an['level'] . ']" LIMIT 1')); + $sa = Helper\Conversion::dataStringToArray($an['stats']); + $sa['hpAll'] += 30 + $sa['s4'] * 6 + $sa['hpAll']; + $ne = ''; + + if (!isset($ne['id'])) { + $ne['exp'] = '??'; + if ($an['exp'] < 110) { + $ne['exp'] = '110'; + } elseif ($an['exp'] < 410) { + $ne['exp'] = '410'; + } elseif ($an['exp'] < 1300) { + $ne['exp'] = '1300'; + } elseif ($an['exp'] < 2500) { + $ne['exp'] = '2500'; + } elseif ($an['exp'] < 5000) { + $ne['exp'] = '5000'; + } elseif ($an['exp'] < 12500) { + $ne['exp'] = '12500'; + } elseif ($an['exp'] < 30000) { + $ne['exp'] = '30000'; + } elseif ($an['exp'] < 300000) { + $ne['exp'] = '300000'; + } elseif ($an['exp'] < 3000000) { + $ne['exp'] = '3000000'; + } elseif ($an['exp'] < 10000000) { + $ne['exp'] = '10000000'; + } elseif ($an['exp'] < 52000000) { + $ne['exp'] = '52000000'; + } elseif ($an['exp'] < 120000000) { + $ne['exp'] = '120000000'; + } + } + + if (isset($_GET['obj_corm'])) { + $corm = mysql_fetch_array(mysql_query('SELECT `iu`.*,`im`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON `iu`.`item_id` = `im`.`id` WHERE `im`.`type` = "49" AND `iu`.`delete` = "0" AND `iu`.`inShop` = "0" AND `iu`.`inOdet` = "0" AND `iu`.`inTransfer` = "0" AND `iu`.`id` = "' . mysql_real_escape_string($_GET['obj_corm']) . '" LIMIT 1')); + if (isset($corm['id'])) { + //кормушка зверя + $see1 = 1; + if ($an['type'] == 3 && substr_count($corm['img'], 'wisp') == 0) { + //светляк + $see1 = 0; + } elseif ($an['type'] == 2 && substr_count($corm['img'], 'owl') == 0) { + //сова + $see1 = 0; + } elseif ($an['type'] == 1 && substr_count($corm['img'], 'cat') == 0) { + //кот + $see1 = 0; + } elseif ($an['type'] == 4 && substr_count($corm['img'], 'chrt') == 0) { + //чертяка + $see1 = 0; + } elseif ($an['type'] == 5 && substr_count($corm['img'], 'dog') == 0) { + //собака + $see1 = 0; + } elseif ($an['type'] == 6 && substr_count($corm['img'], 'pig') == 0) { + //свинья + $see1 = 0; + } elseif ($an['type'] == 7 && substr_count($corm['img'], 'dragon') == 0) { + //дракон + $see1 = 0; + } + if ($see1 == 1) { + if ($an['yad'] > time()) { + $err = '"' . $an['name'] . '" отвернулся от еды...'; + } elseif ($an['eda'] < 50) { + $po = Helper\Conversion::dataStringToArray($corm['data']); + $corm['level'] = $po['tr_lvl']; + if ($an['level'] >= $corm['level']) { + $rzc = $an['level'] - $corm['level']; + if ($rzc <= 0) { + $rzc = 20; + } elseif ($rzc == 1) { + $rzc = 16; + } elseif ($rzc == 2) { + $rzc = 12; + } elseif ($rzc == 3) { + $rzc = 8; + } elseif ($rzc >= 4) { + $rzc = 4; + } elseif ($rzc >= 5) { + $rzc = 2; + } + $an['eda'] += $rzc; + if ($an['eda'] > 50) { + $an['eda'] = 50; + } + mysql_query('UPDATE `users_animal` SET `eda` = "' . $an['eda'] . '" WHERE `id` = "' . $an['id'] . '" LIMIT 1'); + mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . mysql_real_escape_string($_GET['obj_corm']) . '" LIMIT 1'); + $err = 'Ваш питомец был успешно накормлен...'; + } else { + $err = 'Ваш питомец пока-что не может употреблять подобную пищу ...'; + } + } else { + $err = 'Ваш питомец сыт...'; + } + } else { + $err = 'Ваш питомец не употребляет подобную пищу...'; + } + } else { + $err = 'Предмет не найден'; + } + } + + $itmAll = $u->genInv(15, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `im`.`type` = "49" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ORDER BY `name` ASC'); + if ($itmAll[0] != 0) { + $itmAll = $itmAll[2]; + } else { + $itmAll = ''; + } + ?> +
ПУСТО
+ + + +
+ + + + + +
[]

HP:

+

Сила:
Ловкость:
Интуиция:
Выносливость:

+

Уровень:
Опыт: /
+ Сытость:

+

+ Освоенные навыки:
+ • Отсутствуют

+

+ Боевые бонусы:
+ items['add'])) { + if (isset($anl['add_' . $u->items['add'][$i]])) { + if ($u->items['add'][$i] == 'mib1') { + $ba .= '• Броня головы: +' . $anl['add_' . $u->items['add'][$i]] . '
'; + } elseif ($u->items['add'][$i] == 'mib2') { + $ba .= '• Броня корпуса: +' . $anl['add_' . $u->items['add'][$i]] . '
'; + } elseif ($u->items['add'][$i] == 'mib3') { + $ba .= '• Броня пояса: +' . $anl['add_' . $u->items['add'][$i]] . '
'; + } elseif ($u->items['add'][$i] == 'mib4') { + $ba .= '• Броня ног: +' . $anl['add_' . $u->items['add'][$i]] . '
'; + } elseif ($u->items['add'][$i] == 'mab1' || $u->items['add'][$i] == 'mab2' || $u->items['add'][$i] == 'mab3' || $u->items['add'][$i] == 'mab4') { + + } else { + $ba .= '• ' . $u->is[$u->items['add'][$i]] . ': +' . $anl['add_' . $u->items['add'][$i]] . '
'; + } + } + $i++; + } + + if ($ba == '') { + $ba = '• Отсутствуют'; + } + echo $ba; + ?> +

+
+
+
+
+
+
+
+

+ ' . $err . ''; + } + ?> +
+ + +
+
+
-
-
\ No newline at end of file diff --git a/modules_data/_clan.php b/modules_data/_clan.php index d432fe7d..01572b8f 100644 --- a/modules_data/_clan.php +++ b/modules_data/_clan.php @@ -4,8 +4,8 @@ use Clan\ItemStorage; use Clan\Register; use Core\Config; -use Core\ConversionHelper; use Core\Db; +use Helper\Conversion; use User\Clan; if (!defined('GAME')) { @@ -2331,7 +2331,7 @@ if ($u->info['clan_prava'] != 'glava') { ) ); if (isset($itms['data'])) { - $ps = ConversionHelper::dataStringToArray($itms['data']); + $ps = Conversion::dataStringToArray($itms['data']); } $ps['cl'] = explode('#', $ps['toclan']); $use_s = $ps['cl'][1]; diff --git a/modules_data/_friends.php b/modules_data/_friends.php index 1c8096c3..68a91808 100644 --- a/modules_data/_friends.php +++ b/modules_data/_friends.php @@ -65,7 +65,7 @@ $friend = mysql_fetch_array( mysql_query("SELECT * FROM `friends` WHERE `user` = '" . $u->info['id'] . "' LIMIT 1;") ); -$st = \Core\ConversionHelper::dataStringToArray($u->info['stats']); +$st = Helper\Conversion::dataStringToArray($u->info['stats']); $addfr = mysql_fetch_array( mysql_query("SELECT count(`id`) FROM `friends` WHERE `user` = '" . $u->info['id'] . "';") ); @@ -324,7 +324,7 @@ function printModeratorsOnline(): void } s += ''; } - ; + s += 'Комментарий: '; s += ''; @@ -349,7 +349,7 @@ function printModeratorsOnline(): void } s += ''; } - ; + s += 'Комментарий: '; s += ''; @@ -488,7 +488,7 @@ function printModeratorsOnline(): void ", "", "2", new Array( "Друзья","Враги","Не в группе","Игнорирование" ), "", new Array( ), "");'> + onclick='editcontact("Редактирование контакта", "main.php?friends", "friendedit", "", "", "2", ["Друзья","Враги","Не в группе","Игнорирование"], "", [], "");'> ", "", "1", new Array( "Друзья","Враги","Не в группе","Игнорирование" ), "", new Array( ), "");'> + onclick='editcontact("Редактирование контакта", "main.php?friends", "friendedit", "", "", "1", ["Друзья","Враги","Не в группе","Игнорирование"], "", [], "");'> ", "", "0", new Array( "Друзья","Враги","Не в группе","Игнорирование" ), "", new Array( ), "");'> + onclick='editcontact("Редактирование контакта", "main.php?friends", "friendedit", "", "", "0", ["Друзья","Враги","Не в группе","Игнорирование"], "", [], "");'> ", "", "0", new Array( "Друзья","Враги","Не в группе","Игнорирование" ), "", new Array( ), "");'> + onclick='editcontact("Редактирование контакта", "main.php?friends", "friendedit", "", "", "0", ["Друзья","Враги","Не в группе","Игнорирование"], "", [], "");'> var elem = document.getElementById('se-pre-con'); elem.parentNode.removeChild(elem); "; -if(!defined('GAME')) -{ - die(); +if (!defined('GAME')) { + die(); } - ?> - - - -
microLogin($u->info['id'],1).'
';?>
- - + + + +
microLogin($u->info['id'], 1) . '
'; ?>
+ + +

-   
  - - -
-
-
-

+    +
  + + +
+
+
+
\ No newline at end of file diff --git a/modules_data/_umenie.php b/modules_data/_umenie.php index 6d4df3a0..b2f1cb71 100644 --- a/modules_data/_umenie.php +++ b/modules_data/_umenie.php @@ -6,9 +6,9 @@ elem.parentNode.removeChild(elem); "; use Core\Config; -use Core\ConversionHelper; use DarksLight2\Battle\Techniques\TechniqueCategoryEntity; use DarksLight2\Training\TrainingManager; +use Helper\Conversion; if (!defined('GAME')) { die(); @@ -201,7 +201,7 @@ $tma = ''; microLogin($u->info['id']); - $st = ConversionHelper::dataStringToArray($u->info['stats']); + $st = Conversion::dataStringToArray($u->info['stats']); if ( $_GET['dec_transfer'] || $_GET['dec_travma'] || @@ -261,7 +261,7 @@ $tma = ''; $st['os9'] += (int)$_GET['speed_HP']; $st['os10'] += (int)$_GET['speed_MP']; $st['os11'] += (int)$_GET['speed_debuff']; - $u->info['stats'] = ConversionHelper::arrayToDataString($st); + $u->info['stats'] = Conversion::arrayToDataString($st); } if ($u->info['sskills'] - (int)$summs < 0) { echo '   У вас нет свободных особенностей
'; @@ -466,7 +466,7 @@ $tma = ''; $st['s10'] += (int)$_GET['god']; } - $u->info['stats'] = ConversionHelper::arrayToDataString($st); + $u->info['stats'] = Conversion::arrayToDataString($st); if ( $_GET['str'] < 0 || @@ -1448,7 +1448,7 @@ $tma = ''; $clr = $clr == 'C7' ? 'D5' : 'C7'; $v1 = ''; $v2 = ''; - $v3 = ConversionHelper::dataStringToArray($u->stats['effects'][$i]['data']); + $v3 = Conversion::dataStringToArray($u->stats['effects'][$i]['data']); $j = 0; while ($j < count($u->items['add'])) { if (isset($v3['add_' . $u->items['add'][$j]])) { @@ -1507,7 +1507,7 @@ $tma = ''; $clr = $clr == 'C7' ? 'D5' : 'C7'; $v1 = ''; $v2 = ''; - $v3 = ConversionHelper::dataStringToArray($e['bonus']); + $v3 = Conversion::dataStringToArray($e['bonus']); $j = 0; while ($j < count($u->items['add'])) { @@ -1922,7 +1922,7 @@ $tma = ''; //добавляем действия комплекта $cmss .= ''; $ij = 0; - $sti = ConversionHelper::dataStringToArray($plc['data']); + $sti = Conversion::dataStringToArray($plc['data']); while ($ij < count($ia)) { if (isset($ia[$ij]) && isset($sti[$ia[$ij]])) { $mad = $sti[$ia[$ij]]; @@ -2343,7 +2343,7 @@ $tma = ''; 1 ); if (isset($sf['id'])) { - $sfe = ConversionHelper::dataStringToArray($sf['vals']); + $sfe = Conversion::dataStringToArray($sf['vals']); $sf[0] = $u->info['exp'] - (int)$sfe['e']; $sf[1] = $u->info['win'] - (int)$sfe['w']; $sf[2] = $u->info['lose'] - (int)$sfe['l']; diff --git a/modules_data/location/cp1.php b/modules_data/location/cp1.php index 83c25fb4..8945674a 100644 --- a/modules_data/location/cp1.php +++ b/modules_data/location/cp1.php @@ -1,8 +1,8 @@ + if (Conversion::secondsToTimeout(getBtc(89489) - time()) == '0 сек.'): ?>
@@ -104,7 +104,7 @@ function getBtc(int $id) + if (Conversion::secondsToTimeout(getBtc(903093) - time()) == '0 сек.'): ?>
diff --git a/modules_data/location/hram.php b/modules_data/location/hram.php index aff9ec69..66514a69 100644 --- a/modules_data/location/hram.php +++ b/modules_data/location/hram.php @@ -1,7 +1,6 @@ info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%modif%" AND `iu`.`data` NOT LIKE "%upgrade=5%" AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['upgrade']) . '" LIMIT 1')); if (isset($ir['id'])) { $po = []; - $po = ConversionHelper::dataStringToArray($ir['data']); + $po = Conversion::dataStringToArray($ir['data']); if ($ir['price1'] > $ir['1price']) { $ir['1price'] = $ir['price1']; } @@ -117,7 +116,7 @@ if (isset($_GET['upgrade']) && true == false) { $u->addDelo(2, $u->info['id'], '"System.remont.itemUpgrade": Предмет "' . $ir['name'] . '" [itm:' . $ir['id'] . '] был успешно улучшен (' . $po['upgrade'] . '/5) за ' . $pcena . ' кр..', time(), $u->info['city'], 'System.remont.itemUpgrade', 0, 0); - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query('UPDATE `items_users` SET `data` = "' . $po . '",`1price` = "' . $ir['1price'] . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); $u->info['money'] -= $pcena; @@ -138,7 +137,7 @@ if (isset($_GET['upgrade']) && true == false) { AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['modif']) . '" LIMIT 1')); if (isset($ir['id'])) { $po = []; - $po = ConversionHelper::dataStringToArray($ir['data']); + $po = Conversion::dataStringToArray($ir['data']); if ($ir['price1'] > $ir['1price']) { $ir['1price'] = $ir['price1']; } @@ -248,7 +247,7 @@ if (isset($_GET['upgrade']) && true == false) { $po['mf_mib'] += $fadd[2]; } $po['modif'] = 1; - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query('UPDATE `items_users` SET `data` = "' . $po . '",`1price` = "' . $ir['1price'] . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); @@ -272,7 +271,7 @@ if (isset($_GET['upgrade']) && true == false) { // Предмет существует. if (isset($ir['id'])) { $po = []; - $po = ConversionHelper::dataStringToArray($ir['data']); // Тут мы храним характеристики предмета. + $po = Conversion::dataStringToArray($ir['data']); // Тут мы храним характеристики предмета. if ($po['tr_lvl'] > $ir['level']) { $pl['level'] = $po['tr_lvl']; // Если уровень предмета, меньше чем уровень требований с характеристик, то идет обновление уровня предмета. } @@ -309,8 +308,8 @@ if (isset($_GET['upgrade']) && true == false) { // Обнуляем инфу к стандартным данным - $ir['item_id'] $item_default = mysql_fetch_array(mysql_query('SELECT `data` FROM `items_main_data` WHERE `items_id` = "' . mysql_real_escape_string((int)$ir['item_id']) . '" LIMIT 1')); - $item_default = ConversionHelper::dataStringToArray($item_default['data']); - $upattack = ConversionHelper::dataStringToArray($upattack['data']); + $item_default = Conversion::dataStringToArray($item_default['data']); + $upattack = Conversion::dataStringToArray($upattack['data']); if ($upattack['uptype'] == 22) { $po['add_m11'] -= $upattack['upatack'] * 2; $po['tr_lvl'] = $item_default['tr_lvl']; @@ -326,7 +325,7 @@ if (isset($_GET['upgrade']) && true == false) { unset($po["upatack_lvl"]); unset($item_default); unset($upattack); - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); var_info($po); @@ -343,7 +342,7 @@ if (isset($_GET['upgrade']) && true == false) { $ir = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%rune_id%" AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['unrune']) . '" LIMIT 1')); if (isset($ir['id'])) { $po = []; - $po = ConversionHelper::dataStringToArray($ir['data']); + $po = Conversion::dataStringToArray($ir['data']); if ($po['tr_lvl'] > $ir['level']) { $ir['level'] = $po['tr_lvl']; } @@ -378,7 +377,7 @@ if (isset($_GET['upgrade']) && true == false) { $ir = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%upatack_id%" AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['ubeff']) . '" LIMIT 1')); if (isset($ir['id'])) { $po = []; - $po = ConversionHelper::dataStringToArray($ir['data']); + $po = Conversion::dataStringToArray($ir['data']); if ($po['tr_lvl'] > $ir['level']) { $ir['level'] = $po['tr_lvl']; } @@ -389,7 +388,7 @@ if (isset($_GET['upgrade']) && true == false) { $pcena = 0; } $iro = mysql_fetch_array(mysql_query('SELECT * FROM `items_main_data` WHERE `items_id` = "' . $po['upatack_id'] . '" LIMIT 1')); - $ro = ConversionHelper::dataStringToArray($iro['data']); + $ro = Conversion::dataStringToArray($iro['data']); $restat = []; $i = 0; @@ -414,7 +413,7 @@ if (isset($_GET['upgrade']) && true == false) { $u->addDelo(2, $u->info['id'], '"System.remont.ubeff": Руна "' . $po['upatack_name'] . '" была успешно извлечена из предмета "' . $ir['name'] . '" [itm:' . $ir['id'] . '] за ' . $pcena . ' кр.', time(), $u->info['city'], 'System.remont.ubeff', 0, 0); unset($po['upatack'], $po['upatack_id'], $po['upatack_name'], $po['upatack_lvl']); - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); $u->info['money'] -= $pcena; @@ -436,7 +435,7 @@ if (isset($_GET['upgrade']) && true == false) { } if ($pcena <= $u->info['money']) { $po = []; - $po = ConversionHelper::dataStringToArray($ir['data']); + $po = Conversion::dataStringToArray($ir['data']); $po['gravi'] = substr($_GET['grav_text'], 0, 20); $po['gravic'] = $u->info['city']; $po['gravi'] = str_replace('=', '', $po['gravi']); @@ -445,7 +444,7 @@ if (isset($_GET['upgrade']) && true == false) { $tst = str_replace(' ', '', $po['gravi']); $po['gravi'] = preg_replace("/[^a-zA-ZА-Яа-я0-9\s]/", "", $po['gravi']); if ($po['gravi'] != '' && $tst != '') { - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); $re = '
На предмете "' . $ir['name'] . '" был успешно выгровирован текст за ' . $pcena . ' кр.
'; @@ -469,7 +468,7 @@ if (isset($_GET['upgrade']) && true == false) { } if ($pcena <= $u->info['money']) { $po = []; - $po = ConversionHelper::dataStringToArray($ir['data']); + $po = Conversion::dataStringToArray($ir['data']); $po['gravi'] = substr($_GET['grav_text'], 0, 20); $po['gravic'] = $u->info['city']; $po['gravi'] = str_replace('=', '', $po['gravi']); @@ -478,7 +477,7 @@ if (isset($_GET['upgrade']) && true == false) { $tst = str_replace(' ', '', $po['gravi']); $po['gravi'] = preg_replace("/[^a-zA-ZА-Яа-я0-9\s]/", "", $po['gravi']); if ($po['gravi'] != '' && $tst != '') { - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); $re = '
На предмете "' . $ir['name'] . '" был успешно выгровирован текст за ' . $pcena . ' кр.
'; @@ -495,7 +494,7 @@ if (isset($_GET['upgrade']) && true == false) { $ir = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `im`.`inslot` = 5 AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['podgon']) . '" LIMIT 1')); if (isset($ir['id'])) { $po = []; - $po = ConversionHelper::dataStringToArray($ir['data']); + $po = Conversion::dataStringToArray($ir['data']); if (!isset($po['podgon'])) { if ($po['tr_lvl'] > $ir['level']) { $ir['level'] = $po['tr_lvl']; @@ -506,7 +505,7 @@ if (isset($_GET['upgrade']) && true == false) { $po['podgon'] = 1; $po['add_hpAll'] += $prhp; $po['sudba'] = $u->info['login']; - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); $re = '
Предмет "' . $ir['name'] . '" был успешно подогнан за ' . $pcena . ' кр. (Добавлено +' . $prhp . 'HP)
'; @@ -544,7 +543,7 @@ if (isset($_GET['upgrade']) && true == false) { } //кэп поможет if (isset($ir['id'])) { - $po = ConversionHelper::dataStringToArray($ir['data']); + $po = Conversion::dataStringToArray($ir['data']); if (isset($po['noremont'])) { $re2 = 'Предмет не подлежит ремонту в этой мастерской.'; } else { @@ -616,7 +615,7 @@ if (isset($_GET['upgrade']) && true == false) { } //кэп поможет if (isset($ir['id'])) { - $po = ConversionHelper::dataStringToArray($ir['data']); + $po = Conversion::dataStringToArray($ir['data']); if (isset($po['noremont'])) { $re2 = 'Предмет не подлежит ремонту в этой мастерской.'; } else { @@ -664,7 +663,7 @@ if (isset($_GET['upgrade']) && true == false) { if ($ir['iznosMAX'] < 1) { $ir['iznosMAX'] = 1; } - $po = ConversionHelper::arrayToDataString($po); + $po = Conversion::arrayToDataString($po); mysql_query('UPDATE `items_users` SET `data` = "' . $po . '",`iznosNOW` = "' . $ir['iznosNOW'] . '",`iznosMAX` = "' . $ir['iznosMAX'] . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); $re2 = 'Удачно произведен ремонт ' . $re2 . ' предмета "' . $ir['name'] . '" за ' . $u->zuby($rem_cell, 1) . '.'; $dop = 0; @@ -977,7 +976,7 @@ if ($re != '') { if ($wrk == 1 && ($sti['sudba'] == '0' || !isset($sti['sudba']))) { $sti['sudba'] = $u->info['login']; } - $sti_imp = ConversionHelper::arrayToDataString($sti); + $sti_imp = Conversion::arrayToDataString($sti); $u->addEkr(-$epr); mysql_query('UPDATE `items_users` SET `data` = "' . mysql_real_escape_string($sti_imp) . '" WHERE `id` = "' . $itmu['id'] . '" LIMIT 1'); $er2 = 'Предмет "' . $itmm['name'] . '" успешно подогнан под "' . $com2['name'] . '" за ' . $epr . ' екр.'; diff --git a/modules_data/location/shop_.php b/modules_data/location/shop_.php index 6cfddfe2..d6c35180 100644 --- a/modules_data/location/shop_.php +++ b/modules_data/location/shop_.php @@ -1,9 +1,9 @@ info['id']); - $itemData = ConversionHelper::dataStringToArray($item['data']); + $itemData = Conversion::dataStringToArray($item['data']); $status = $item['gift'] ? 'Подарки не продаются!' : ''; $status = $itemData['nosale'] ? 'Предмет не для продажи!' : ''; if (!$status && $sellItemId) { diff --git a/modules_data/location/znahar.php b/modules_data/location/znahar.php index 956b6846..950cf09e 100644 --- a/modules_data/location/znahar.php +++ b/modules_data/location/znahar.php @@ -1,8 +1,8 @@ info['stats']); +$st = Conversion::dataStringToArray($u->info['stats']); $vinos = [ /* level,summvinos*/ "0" => 3, @@ -102,7 +102,7 @@ if (Effects::hasInjury($u->info['id'])) { zact(4); //сброс пристрастия Effects::removeById($u->info['id'], $addictionId); - $st = ConversionHelper::dataStringToArray($u->info['stats']); + $st = Conversion::dataStringToArray($u->info['stats']); $err = 'Все прошло успешно.'; } else { $err = 'Пристрастие не найдено.'; @@ -111,7 +111,7 @@ if (Effects::hasInjury($u->info['id'])) { zact(3); //сброс статов - $st = ConversionHelper::dataStringToArray($u->info['stats']); + $st = Conversion::dataStringToArray($u->info['stats']); $st['s1'] = 3; $st['s2'] = 3; $st['s3'] = 3; @@ -127,18 +127,18 @@ if (Effects::hasInjury($u->info['id'])) { $st['s13'] = 0; $st['s14'] = 0; $st['s15'] = 0; - $st = ConversionHelper::arrayToDataString($st); + $st = Conversion::arrayToDataString($st); $n1 = testAbilities(); $n2 = $u->info['skills']; $n3 = $u->info['sskills']; $n4 = $u->info['nskills']; Db::sql('update stats set wipe = 0, stats = ?, ability = ?, skills = ?, sskills = ?, nskills = ? where id = ?', [$st, $n1, $n2, $n3, $n4, $u->info['id']]); - $st = ConversionHelper::dataStringToArray($u->info['stats']); + $st = Conversion::dataStringToArray($u->info['stats']); $err = 'Все прошло успешно.'; } elseif (isset($_POST['dropmastery'])) { zact(1); //сброс статов - $st = ConversionHelper::dataStringToArray($u->info['stats']); + $st = Conversion::dataStringToArray($u->info['stats']); $st['a1'] = 0; $st['a2'] = 0; $st['a3'] = 0; @@ -152,13 +152,13 @@ if (Effects::hasInjury($u->info['id'])) { $st['mg5'] = 0; $st['mg6'] = 0; $st['mg7'] = 0; - $st = ConversionHelper::arrayToDataString($st); + $st = Conversion::arrayToDataString($st); $n1 = $u->info['ability']; $n2 = testSkills(); $n3 = $u->info['sskills']; $n4 = $u->info['nskills']; Db::sql('update stats set wipe = 0, stats = ?, ability = ?, skills = ?, sskills = ?, nskills = ? where id = ?', [$st, $n1, $n2, $n3, $n4, $u->info['id']]); - $st = ConversionHelper::dataStringToArray($u->info['stats']); + $st = Conversion::dataStringToArray($u->info['stats']); $err = 'Все прошло успешно.'; } elseif (isset($_POST['dropmastery'])) { //Старая версия @@ -166,7 +166,7 @@ if (Effects::hasInjury($u->info['id'])) { //сброс характеристик $u->info['wipe'] = 3; $u->wipe(); - $st = ConversionHelper::dataStringToArray($u->info['stats']); + $st = Conversion::dataStringToArray($u->info['stats']); $err = 'Умения покинули вас.'; } elseif (isset($_POST['dropperks'])) { zact(1); @@ -174,7 +174,7 @@ if (Effects::hasInjury($u->info['id'])) { //сброс особенностей $u->info['wipe'] = 3.5; $u->wipe(); - $st = ConversionHelper::dataStringToArray($u->info['stats']); + $st = Conversion::dataStringToArray($u->info['stats']); $err = 'Особенности покинули вас.'; } elseif (isset($_GET['movestat'])) { @@ -219,13 +219,13 @@ if (Effects::hasInjury($u->info['id'])) { $st['s10'] >= 0 ) { //Желательно проверку на статы по уровню (можно ли этот стат поднимать на текущем уровне перса) - $u->info['stats'] = ConversionHelper::arrayToDataString($st); + $u->info['stats'] = Conversion::arrayToDataString($st); Db::sql('update stats set stats = ? where id = ?', [$u->info['stats'], $u->info['id']]); //Надо добавить UPDATE в базе свободных статов $u->stats = $u->getStats($u->info['id'], 0, 1); $u->testItems($u->info['id'], $u->stats, 0); - $st = ConversionHelper::dataStringToArray($u->info['stats']); + $st = Conversion::dataStringToArray($u->info['stats']); } } } diff --git a/modules_data/location/znahar1.php b/modules_data/location/znahar1.php index adb18139..32329a21 100644 --- a/modules_data/location/znahar1.php +++ b/modules_data/location/znahar1.php @@ -1,203 +1,247 @@ room['file']=='znahar'){?> - - - - - - - - - + +
Комната Знахаря
-
-
-Запахи трав наполняют помещение, непонятные и пугающие предметы скрываются в пляшущих тенях...
-Говорят, здесь можно изменить свою судьбу. -Стать кем-то иным... кем раньше был лишь в мечтах...


-Деньги: info['money'];?> кр.
-Бесплатных перераспределений: Сегодня - неограничено!
-
-info['stats']); -$vinos = array( - /* level,summvinos*/ - "0" => 3, - "1" => 4, - "2" => 5, - "3" => 6, - "4" => 7, - "5" => 8, - "6" => 9, - "7" => 10, - "8" => 11, - "9" => 13, - "10" => 16, - "11" => 21, - "12" => 41, - "21" => 41 -); -#------------------Запросы и прочее -?> - - - + +
- - - - - - + +
- +if ($u->room['file'] == 'znahar') { + ?> + + + + + + +
+ + + - -
+
Комната Знахаря
+
+
+ Запахи трав наполняют помещение, непонятные и пугающие предметы скрываются в пляшущих тенях...
+ Говорят, здесь можно изменить свою судьбу. + Стать кем-то иным... кем раньше был лишь в мечтах...


+ Деньги: info['money']; ?> кр.
+ Бесплатных перераспределений: Сегодня - неограничено!
+
+ info['stats']); + $vinos = [ + /* level,summvinos*/ + "0" => 3, + "1" => 4, + "2" => 5, + "3" => 6, + "4" => 7, + "5" => 8, + "6" => 9, + "7" => 10, + "8" => 11, + "9" => 13, + "10" => 16, + "11" => 21, + "12" => 41, + "21" => 41, + ]; + #------------------Запросы и прочее + ?> + + + - -
+ + + + + + - -
+ + + + + - + - - - - -
Этаж 2
Торговый Зал
-
- -
- - -
- - - - - - - - - + + + +
Характеристики Пристрастия Прочее
- - - -


-
У вас нет пристрастий
-

-Навыки владения оружием и магией
+
Торговый Зал
+
+ +
+ + +
+ + + + + + + + +
Характеристики Пристрастия Прочее
+ + + +


+ +
У вас нет пристрастий
+
+

+ Навыки владения оружием и магией
+ +
' name='dropmastery'>' + onclick="return confirm('Вы действительно хотите сбросить умения?')"> +
+
+ Особенности персонажа
+
' name='dropperks'> ' + onclick="return confirm('Вы действительно хотите сбросить особенности?')"> +
+
+ Характеристики
+
' name='dropstats'>' + onclick="return confirm('Вы действительно хотите сбросить все характеристики до минимального уровня?')"> +
+
+ Каждые 7 дней после последнего использования комнаты знахаря вы получаете 1 бесплатное перераспределение, но не более 15
+ Исцеление пристрастия, cброс умений или особенностей стоят 5 перераспределений
+ Изменение Характеристик досрочно завершает некоторые эффекты, например эффект свитка Жажда Жизни +
+
+ +
+ +
+ + + \ No newline at end of file diff --git a/modules_data/titul.php b/modules_data/titul.php index 9cae6062..2c567c9c 100644 --- a/modules_data/titul.php +++ b/modules_data/titul.php @@ -1,7 +1,5 @@ 0) { $i_s = '[Предмет из подземелья]'; @@ -231,7 +231,7 @@ if ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { ) ); if (isset($itm['id'])) { - $po = ConversionHelper::dataStringToArray($itm['data']); + $po = Conversion::dataStringToArray($itm['data']); if (isset($po['sudba']) && $po['sudba'] != '0') { $g = 0; }
-info['sex'].'" AND `level` <= "'.$u->info['level'].'" AND (`login` = "" OR `login` = "'.$u->info['login'].'") AND (`uid` = "" OR `uid` = "'.$u->info['id'].'") AND (`align` = "0" OR `align` = "'.$u->info['align'].'") AND (`clan` = "0" OR `clan` = "'.$u->info['clan'].'") ORDER BY `level` ASC, `img` ASC'); -while($pl = mysql_fetch_array($sp)) { - $tr = true; - $trd = ''; - $po = \Core\ConversionHelper::dataStringToArray($pl['tr']); - $t = $u->items['tr']; - $x = 0; - if( $pl['level'] > 0 ) { - $trd .= "\r".'• Уровень персонажа: '.$pl['level'].''; - } - if( $pl['itm'] > 0 ) { - $pl['itm'] = explode(',',$pl['itm']); - $j = 0; - $tritm = ''; - while( $j < count($pl['itm']) ) { - $itm_id = $pl['itm'][$j]; - if( $itm_id > 0 ) { - $itm_id = mysql_fetch_array(mysql_query('SELECT `id`,`name` FROM `items_main` WHERE `id` = "'.$itm_id.'" LIMIT 1')); - $itm_id_true = mysql_fetch_array(mysql_query('SELECT `id` FROM `items_users` WHERE `item_id` = "'.$itm_id['id'].'" AND - `delete` = 0 AND `inOdet` > 0 AND `inShop` = 0 AND `uid` = "'.$u->info['id'].'" + info['sex'] . '" AND `level` <= "' . $u->info['level'] . '" AND (`login` = "" OR `login` = "' . $u->info['login'] . '") AND (`uid` = "" OR `uid` = "' . $u->info['id'] . '") AND (`align` = "0" OR `align` = "' . $u->info['align'] . '") AND (`clan` = "0" OR `clan` = "' . $u->info['clan'] . '") ORDER BY `level` ASC, `img` ASC'); + while ($pl = mysql_fetch_array($sp)) { + $tr = true; + $trd = ''; + $po = Helper\Conversion::dataStringToArray($pl['tr']); + $t = $u->items['tr']; + $x = 0; + if ($pl['level'] > 0) { + $trd .= "\r" . '• Уровень персонажа: ' . $pl['level'] . ''; + } + if ($pl['itm'] > 0) { + $pl['itm'] = explode(',', $pl['itm']); + $j = 0; + $tritm = ''; + while ($j < count($pl['itm'])) { + $itm_id = $pl['itm'][$j]; + if ($itm_id > 0) { + $itm_id = mysql_fetch_array(mysql_query('SELECT `id`,`name` FROM `items_main` WHERE `id` = "' . $itm_id . '" LIMIT 1')); + $itm_id_true = mysql_fetch_array(mysql_query('SELECT `id` FROM `items_users` WHERE `item_id` = "' . $itm_id['id'] . '" AND + `delete` = 0 AND `inOdet` > 0 AND `inShop` = 0 AND `uid` = "' . $u->info['id'] . '" LIMIT 1')); - if(!isset($itm_id_true['id'])) { - $tr = false; - } - if( $j > 0 ) { - $tritm .= ', '; - } - $tritm .= '"'.$itm_id['name'].'"'; - } - $j++; - } - if( $tritm != '' ) { - $trd .= "\r".'• Предметы: '.$tritm.''; - } - } - while($x < count($t)) { - $n = $t[$x]; - if(isset($po['tr_'.$n])) { - $trd .= "\r".'• '.$u->is[$n].': '.$po['tr_'.$n].''; - if($po['tr_'.$n] > $u->stats[$n]) { - $tr = false; - } - } - $x++; - } - - if( ($pl['tr'] == '' && $pl['itm'] == '') || $tr == true ) { - if( $trd != '' ) { - $trd = 'Требуется минимальное:'.$trd; - } - echo ' '; - } -} -?> + if (!isset($itm_id_true['id'])) { + $tr = false; + } + if ($j > 0) { + $tritm .= ', '; + } + $tritm .= '"' . $itm_id['name'] . '"'; + } + $j++; + } + if ($tritm != '') { + $trd .= "\r" . '• Предметы: ' . $tritm . ''; + } + } + while ($x < count($t)) { + $n = $t[$x]; + if (isset($po['tr_' . $n])) { + $trd .= "\r" . '• ' . $u->is[$n] . ': ' . $po['tr_' . $n] . ''; + if ($po['tr_' . $n] > $u->stats[$n]) { + $tr = false; + } + } + $x++; + } + + if (($pl['tr'] == '' && $pl['itm'] == '') || $tr == true) { + if ($trd != '') { + $trd = 'Требуется минимальное:' . $trd; + } + echo ' '; + } + } + ?>