Переезд lookstats отовсюду в 1 класс.

This commit is contained in:
2023-04-16 01:54:07 +03:00
parent 2d63efd915
commit 3dc4cf7284
76 changed files with 1112 additions and 1124 deletions
+92 -141
View File
@@ -1,6 +1,7 @@
<?php
use Core\Config;
use Core\ConversionHelper;
use Core\Database;
use Core\Db;
@@ -839,7 +840,7 @@ class User
}
}
public function shopSaleM($val, $itm)
public function shopSaleM($val, $itm): float
{
$procs = [
0, //0
@@ -865,7 +866,7 @@ class User
30,
30,
];
$po = $this->lookStats($itm['data']);
$po = ConversionHelper::dataStringToArray($itm['data']);
$proc = $procs[$po['tr_lvl']];
//
if ($itm['type'] >= 28) {
@@ -885,37 +886,6 @@ class User
}
//Удаление определенного типа предметов
public function deleteItemID(int $id, int $uid, int $coldel)
{
$sp = mysql_query(
'SELECT * FROM `items_users` WHERE `item_id` = "' . mysql_real_escape_string(
$id
) . '" AND `uid` = "' . mysql_real_escape_string(
$uid
) . '" AND (`delete` = 0 OR `delete` = 1000) ORDER BY `inGroup` DESC LIMIT ' . $coldel
);
$delitm = [];
while ($pl = mysql_fetch_array($sp)) {
if (count($delitm) < $coldel) {
$delitm[] = $pl['id'];
}
}
$i = 0;
while ($i < count($delitm)) {
mysql_query(
'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $delitm[$i] . '" LIMIT 1'
);
$i++;
}
}
public function count_items(int $id, int $uid, int $coldel): int
{
return Db::getValue(
'select count(*) from items_users where item_id = ? and uid = ? and (`delete` = 0 or `delete` = 1000) limit ?',
[$id, $uid, $coldel]
);
}
public function repobmen($id, $type)
{
@@ -925,7 +895,7 @@ class User
'SELECT `im`.*,`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 = $this->lookStats($pl['data']);
$po = ConversionHelper::dataStringToArray($pl['data']);
if ((!isset($po['frompisher']) || $po['tr_lvl'] < 4) && $pl['type'] != 31) {
$e = 'Не удалось обменять предмет на репутацию.';
} else {
@@ -1161,7 +1131,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $pl['item_id'] . '" LIMIT 1'
)
);
$po = $this->lookStats($d['data']);
$po = ConversionHelper::dataStringToArray($d['data']);
if ($pl['level'] == 0) {
$pl['level'] = 0 + $po['tr_lvl'];
}
@@ -1230,7 +1200,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
{
$tp = 0;
if (isset($item['id'])) {
$itm = $this->lookStats($item['data']);
$itm = ConversionHelper::dataStringToArray($item['data']);
//начинаем расчет урона
if (!isset($st['minAtack'])) {
$st['minAtack'] = 0;
@@ -1371,7 +1341,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$tp = 0;
$t = 0;
$i = 1;
$d = $this->lookStats($w1['data']);
$d = ConversionHelper::dataStringToArray($w1['data']);
while ($i <= 4) {
if (isset($d['tya' . $i]) && $t < $d['tya' . $i]) {
$t = $d['tya' . $i];
@@ -1410,7 +1380,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$tp = 0;
$t = 0;
$i = 1;
$d = $this->lookStats($w2['data']);
$d = ConversionHelper::dataStringToArray($w2['data']);
while ($i <= 4) {
if ($t < $d['tya' . $i]) {
$t = $d['tya' . $i];
@@ -1446,7 +1416,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$tp = 0;
$t = 0;
$i = 1;
$d = $this->lookStats($w1['data']);
$d = ConversionHelper::dataStringToArray($w1['data']);
while ($i <= 4) {
if (isset($d['tya' . $i]) && $t < $d['tya' . $i]) {
$t = $d['tya' . $i];
@@ -1479,7 +1449,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$tp = 0;
$t = 0;
$i = 1;
$d = $this->lookStats($w2['data']);
$d = ConversionHelper::dataStringToArray($w2['data']);
while ($i <= 4) {
if ($t < $d['tya' . $i]) {
$t = $d['tya' . $i];
@@ -1512,7 +1482,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$tp = 0;
$t = 0;
$i = 1;
$d = $this->lookStats($w1['data']);
$d = ConversionHelper::dataStringToArray($w1['data']);
$y = 0;
if (isset($d['sv_' . $v])) {
$y += $d['sv_' . $v];
@@ -1532,7 +1502,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$tp = 0;
$t = 0;
$i = 1;
$d = $this->lookStats($w2['data']);
$d = ConversionHelper::dataStringToArray($w2['data']);
$y = @$this->stats[$v] + @$d['sv_' . $v];
if ($y != $ry) {
$r .= ' / <span title="' . $w2['name'] . '">' . $y . '</span>';
@@ -1670,7 +1640,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
}
if ($md != null) {
$data .= $md;
$data = $this->lookStats($data); // Если в функции имеются две одинаковых константы SROK?
$data = ConversionHelper::dataStringToArray($data); // Если в функции имеются две одинаковых константы SROK?
$data = $this->impStats($data);
}
@@ -2305,7 +2275,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
//снимаем все вещи
mysql_query('UPDATE `items_users` SET `inOdet` = "0" WHERE `uid` = "' . $this->info['id'] . '"');
//одеваем вещи, если они не удалены
$cm = $this->lookStats($cmp['val']);
$cm = ConversionHelper::dataStringToArray($cmp['val']);
$i = 1;
while ($i <= 250) {
if (isset($cm[$i])) {
@@ -2372,7 +2342,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
);
$t = $this->items['tr'];
$x = 0;
$po = $this->lookStats($o['tr']);
$po = ConversionHelper::dataStringToArray($o['tr']);
if ($o['itm'] > 0) {
$o['itm'] = explode(',', $o['itm']);
$j = 0;
@@ -2433,7 +2403,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
);
$t = $this->items['tr'];
$x = 0;
$po = $this->lookStats($o['tr']);
$po = ConversionHelper::dataStringToArray($o['tr']);
if ($o['itm'] > 0) {
$o['itm'] = explode(',', $o['itm']);
$j = 0;
@@ -2696,7 +2666,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
if ($ins1) {
if ($round > 0) {
//Улучшаем мф. и статы и НР 1 раунд = +10%
$statss = $this->lookStats($clon['stats']);
$statss = ConversionHelper::dataStringToArray($clon['stats']);
//
$statss['s1'] = ceil($statss['s1'] * (1 + 0.1 * ($round)));
$statss['s2'] = ceil($statss['s2'] * (1 + 0.1 * ($round)));
@@ -2718,7 +2688,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
}
if ($luser && $clon['level'] < 8) {
//Хуже уворот, крит и защита
$statss = $this->lookStats($clon['stats']);
$statss = ConversionHelper::dataStringToArray($clon['stats']);
$statss['m1'] = ceil($statss['m1'] * 0.75);
$statss['m2'] = ceil($statss['m2'] * 0.75);
$statss['m3'] = ceil($statss['m3'] * 0.75);
@@ -2820,7 +2790,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$uid = mysql_insert_id();
if ($round > 0) {
//Улучшаем мф. и статы и НР 1 раунд = +20%
$statss = $this->lookStats($bot['stats']);
$statss = ConversionHelper::dataStringToArray($bot['stats']);
//
$statss['s1'] = ceil($statss['s1'] * (1 + 0.20 * ($round)));
$statss['s2'] = ceil($statss['s2'] * (1 + 0.20 * ($round)));
@@ -2973,7 +2943,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
if (isset($i['tr_reputation']) && $i['tr_reputation'] != '') { // Требуемая репутация для покупки
$need_rep = 0;
$tr_rep = $this->lookStats($i['tr_reputation']);
$tr_rep = ConversionHelper::dataStringToArray($i['tr_reputation']);
foreach ($tr_rep as $row) {
if ($this->rep[$row[0]] >= $row[1]) {
$need_rep++;
@@ -3162,7 +3132,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$need_rep = 0;
if (isset($i['tr_reputation']) && $i['tr_reputation'] != '') { // Требуемая репутация для покупки
$tr_rep = $this->lookStats($i['tr_reputation']);
$tr_rep = ConversionHelper::dataStringToArray($i['tr_reputation']);
foreach ($tr_rep as $row) {
if ($this->rep[$row[0]] >= $row[1]) {
$need_rep++;
@@ -3499,7 +3469,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
if (isset($i['tr_reputation']) && $i['tr_reputation'] != '') { // Требуемая репутация для покупки
$need_rep = 0;
$tr_rep = $this->lookStats($i['tr_reputation']);
$tr_rep = ConversionHelper::dataStringToArray($i['tr_reputation']);
foreach ($tr_rep as $row) {
if ($this->rep[$row[0]] >= $row[1]) {
$need_rep++;
@@ -3569,7 +3539,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
);
if (isset($itm['data']) && $itm['data'] != '' && $c_itm == 0) {
$po = $this->lookStats($itm['data']);
$po = ConversionHelper::dataStringToArray($itm['data']);
if (isset($po['sudba'])) {
if (isset($po['sudba'])) {
@@ -3658,7 +3628,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$j++;
}
if ($c_itm > 0) {
$data = $this->lookStats($data);
$data = ConversionHelper::dataStringToArray($data);
// Чарка
if (isset($c_itm_data_a['spell_st_name']) && isset($c_itm_data_a['spell_st_val']) && $c_itm_data_a['spell_st_name'] != '' && $c_itm_data_a['spell_st_val'] != '') {
$data['add_' . $c_itm_data_a['spell_st_name']] = (int)(isset($data['add_' . $c_itm_data_a['spell_st_name']]) ? (int)$data['add_' . $c_itm_data_a['spell_st_name']] : 0) + (int)$c_itm_data_a['spell_st_val'];
@@ -3671,7 +3641,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
)
);
$j = 0;
$data_r = $this->lookStats($ritm['data']);
$data_r = ConversionHelper::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]];
@@ -3850,7 +3820,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
if (isset($i['tr_reputation']) && $i['tr_reputation'] != '') { // Требуемая репутация для покупки
$need_rep = 0;
$tr_rep = $this->lookStats($i['tr_reputation']);
$tr_rep = ConversionHelper::dataStringToArray($i['tr_reputation']);
foreach ($tr_rep as $key => $val) {
if ((int)$this->rep[$key] > (int)$val) {
$need_rep++;
@@ -3884,7 +3854,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1'
)
);
$po = $this->lookStats($d['data']);
$po = ConversionHelper::dataStringToArray($d['data']);
if ($zuby == 1 && $po['tr_lvl'] > 7) {
$r = 'Данный предмет нельзя приобрести за зубы.';
@@ -4253,7 +4223,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
'SELECT `id`, `item_id`, `data`, `inGroup`, `uid` FROM `items_users` WHERE `id` = ' . $iid . ' LIMIT 1'
)
);
$ChSudba = $this->lookStats($ChImtem['data']);
$ChSudba = ConversionHelper::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']);
@@ -4395,7 +4365,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $pl['id'] . '" LIMIT 1'
)
);
$po = $this->lookStats($d['data']);
$po = ConversionHelper::dataStringToArray($d['data']);
if ($sid == 609) {
$po['icos'] = 'WL';
@@ -4837,7 +4807,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
//действие комплекта
$i1c = 0;
$i2c = 0;
$i1e = $this->lookStats($plc['data']);
$i1e = ConversionHelper::dataStringToArray($plc['data']);
while ($i1c < count($this->items['add'])) {
if (isset($i1e[$this->items['add'][$i1c]])) {
$i3c = $i1e[$this->items['add'][$i1c]];
@@ -4959,7 +4929,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
if ($this->info['wipe'] > 0 && $this->info['battle'] == 0) {
//wipe = 1 , значит обнуляем статы и умения
if ($this->info['wipe'] < 4) {
$st = $this->lookStats($this->info['stats']);
$st = ConversionHelper::dataStringToArray($this->info['stats']);
$n1 = $this->info['ability']; //способности
$n2 = $this->info['skills']; //владение магией и оружием
$n3 = $this->info['sskills']; //особенности
@@ -5066,7 +5036,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
)
);
if (isset($itm['id'])) {
$po = $this->lookStats($itm['data']);
$po = ConversionHelper::dataStringToArray($itm['data']);
//статы
if ($_GET['mf'] == 's1' || $_GET['mf'] == 's2' || $_GET['mf'] == 's3' || $_GET['mf'] == 's5') {
@@ -5125,7 +5095,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
)
);
if (isset($itm['id']) && ($s == 1 || $s == 2 || $s == 3 || $s == 5)) {
$po = $this->lookStats($itm['data']);
$po = ConversionHelper::dataStringToArray($itm['data']);
if (isset($po['free_stats']) && $po['free_stats'] > 0) {
$s = (int)$s;
if ($s >= 1 || $s <= 3 || $s == 5) {
@@ -5151,7 +5121,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
)
);
if (isset($itm['id'])) {
$po = $this->lookStats($itm['data']);
$po = ConversionHelper::dataStringToArray($itm['data']);
if ($itm['so'] > 0) {
$s = (int)$s;
if ($tp == 1) {
@@ -5303,14 +5273,14 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
return;
}
$s = (int)$s;
$po = $this->lookStats($itm['data']);
$po = ConversionHelper::dataStringToArray($itm['data']);
if (isset($po['sudba']) && $po['sudba'] == '0') {
return;
}
if (isset($po['sm_skill']) && $s > 100) {
$mx2 = 1;
$mx1 = 0;
$mx3 = $this->lookStats($this->info['stats']);
$mx3 = ConversionHelper::dataStringToArray($this->info['stats']);
while ($mx2 <= 7) {
$mx1 += ($mx3['a' . $mx2] + $mx3['mg' . $mx2]) - ($po['add_a' . $mx2] + $po['add_mg' . $mx2]);
$mx2++;
@@ -5330,7 +5300,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 = $this->lookStats($this->info['stats']);
$mx3 = ConversionHelper::dataStringToArray($this->info['stats']);
while ($mx2 <= 7) {
$mx1 += $mx3['s' . $mx2] - $po['add_s' . $mx2];
$mx2++;
@@ -5407,7 +5377,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
while ($pl = mysql_fetch_array($sp)) {
$vibor .= '<img src="//img.new-combats.tech/i/items/' . $pl['img'] . '"><hr>';
if (!isset($id['id'])) {
$dt = $this->lookStats($pl['data']);
$dt = ConversionHelper::dataStringToArray($pl['data']);
$id = [];
$id = $pl;
$id_type = $pl['type'];
@@ -5458,7 +5428,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
if ($idt['type'] == 4) {
$idt['type'] = 6;
}
$data = $this->lookStats($id['data']);
$data = ConversionHelper::dataStringToArray($id['data']);
$type_rune = [
'хи' => 9, //Серьги
'хэ' => 10, //Ожерелье
@@ -5501,7 +5471,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
)
);
$j = 0;
$data_r = $this->lookStats($ritm['data']);
$data_r = ConversionHelper::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]];
@@ -5514,7 +5484,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 = $this->lookStats($rune['data']);
$add = ConversionHelper::dataStringToArray($rune['data']);
$i = 0;
while ($i < count($this->items['add'])) {
if (isset($add['add_' . $this->items['add'][$i]])) {
@@ -5555,8 +5525,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
)
);
$data = $this->lookStats($id['data']);
$add = $this->lookStats($rune['data']);
$data = ConversionHelper::dataStringToArray($id['data']);
$add = ConversionHelper::dataStringToArray($rune['data']);
if (isset($data['nomodif'])) {
$this->error = 'Улучшить данный предмет невозможно';
} elseif (isset($data['art']) && $data['tr_lvl'] < 0) {
@@ -5658,8 +5628,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
}
//$id['type'] = $idt['type'];
//Встраиваем руну
$data = $this->lookStats($id['data']);
$add = $this->lookStats($rune['data']);
$data = ConversionHelper::dataStringToArray($id['data']);
$add = ConversionHelper::dataStringToArray($rune['data']);
if (isset($data['nomodif'])) {
$this->error = 'Улучшить данный предмет невозможно';
} elseif (isset($data['art']) && $data['tr_lvl'] < 0) {
@@ -5720,7 +5690,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
)
);
$data_l = $this->lookStats($litm['data']);
$data_l = ConversionHelper::dataStringToArray($litm['data']);
$pvr = [
'i' => 0,
'spell' => [],
@@ -5745,7 +5715,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
)
);
$j = 0;
$data_r = $this->lookStats($ritm['data']);
$data_r = ConversionHelper::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]];
@@ -5923,8 +5893,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
}
}
} elseif ($rune['type'] == 47) {
$add = $this->lookStats($id['data']);
$data = $this->lookStats($rune['data']);
$add = ConversionHelper::dataStringToArray($id['data']);
$data = ConversionHelper::dataStringToArray($rune['data']);
if ($add['art'] == 1) {
if ($id['iznosNOW'] > 0) {
$id['iznosNOW'] -= $data['repairLevel'];
@@ -5956,9 +5926,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 = $this->lookStats($rune['data']);
$add = ConversionHelper::dataStringToArray($rune['data']);
if (isset($add['uptimeitem'])) {
$data = $this->lookStats($id['data']);
$data = ConversionHelper::dataStringToArray($id['data']);
if ($data['srok'] > 0 || $id['srok'] > 0) {
if (!isset($data['srok'])) {
$data['srok'] = $id['srok'];
@@ -5996,8 +5966,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
}
} else {
//Заточка
$data = $this->lookStats($id['data']);
$add = $this->lookStats($rune['data']);
$data = ConversionHelper::dataStringToArray($id['data']);
$add = ConversionHelper::dataStringToArray($rune['data']);
if (isset($data['upatack_id'])) {
$this->error = 'Предмет уже заточен, вытащите заточку в Ремонтной мастерской.';
} elseif (isset($data['nomodif'])) {
@@ -6011,7 +5981,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 = $this->lookStats($ritm['data']);
$data_r = ConversionHelper::dataStringToArray($ritm['data']);
if ($id_type == 22) {
$data['add_m11'] -= $data_r['upatack']; //*2
}
@@ -6056,8 +6026,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
}
} elseif ($rune['type'] == 48) {
//Профиль
$data = $this->lookStats($id['data']);
$add = $this->lookStats($rune['data']);
$data = ConversionHelper::dataStringToArray($id['data']);
$add = ConversionHelper::dataStringToArray($rune['data']);
if ($data['tya1'] >= 90 || $data['tya2'] >= 90 || $data['tya3'] >= 90 || $data['tya4'] >= 90) {
$this->error = 'Предмет уже имеет 90 своего профиля';
@@ -6139,8 +6109,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$id['type'] = $idt['type'];
//Встраиваем руну
$data = $this->lookStats($id['data']);
$add = $this->lookStats($rune['data']);
$data = ConversionHelper::dataStringToArray($id['data']);
$add = ConversionHelper::dataStringToArray($rune['data']);
if (isset($data['nomodif'])) {
$this->error = 'Улучшить данный предмет невозможно';
} elseif (!isset($data['close']) && $data['close'] != 0) {
@@ -6171,8 +6141,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
);
if ($idt['type'] != 37) {
//
$data = $this->lookStats($id['data']);
$add = $this->lookStats($rune['data']);
$data = ConversionHelper::dataStringToArray($id['data']);
$add = ConversionHelper::dataStringToArray($rune['data']);
//
if ($id['gift'] == '' || $id['gift'] == '0') {
if (isset($data['notransfer'])) {
@@ -6315,7 +6285,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 = $this->lookStats($pl['data']);
$ChSudba = ConversionHelper::dataStringToArray($pl['data']);
if (isset($ChSudba['sudba']) || $ChSudba['sudba'] != 0 || $ChSudba['nosale'] == 1) {
continue;
}
@@ -6330,7 +6300,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 = $this->lookStats($pl['data']);
$po = ConversionHelper::dataStringToArray($pl['data']);
$see1 = 1;
if ($type == 15) { //кормушка зверя
@@ -6842,7 +6812,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
//Возможно сохранять и распределять скилы
$mx2 = 1;
$mx1 = 0;
$mx3 = $this->lookStats($this->info['stats']);
$mx3 = ConversionHelper::dataStringToArray($this->info['stats']);
while ($mx2 <= 7) {
$mx1 += $mx3['s' . $mx2] - $po['add_s' . $mx2];
$mx2++;
@@ -6872,7 +6842,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
//Возможно сохранять и распределять скилы
$mx2 = 1;
$mx1 = 0;
$mx3 = $this->lookStats($this->info['stats']);
$mx3 = ConversionHelper::dataStringToArray($this->info['stats']);
while ($mx2 <= 7) {
$mx1 += ($mx3['a' . $mx2] + $mx3['mg' . $mx2]) - ($po['add_a' . $mx2] + $po['add_mg' . $mx2]);
$mx2++;
@@ -6919,7 +6889,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
//действие комплекта
$i1c = 0;
$i2c = 0;
$i1e = $this->lookStats($plc['data']);
$i1e = ConversionHelper::dataStringToArray($plc['data']);
while ($i1c < count($this->items['add'])) {
if (isset($i1e[$this->items['add'][$i1c]])) {
$i3c = $i1e[$this->items['add'][$i1c]];
@@ -6955,7 +6925,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
//действие комплекта
$i1c = 0;
$i2c = 0;
$i1e = $this->lookStats($plc['data']);
$i1e = ConversionHelper::dataStringToArray($plc['data']);
while ($i1c < count($this->items['add'])) {
if (isset($i1e[$this->items['add'][$i1c]])) {
$i3c = $i1e[$this->items['add'][$i1c]];
@@ -7156,7 +7126,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 = $this->lookStats($itemrun['data']);
$it = ConversionHelper::dataStringToArray($itemrun['data']);
if (!isset($it['rune_name']) || $_GET['otdel'] == 2) //отдел 2(заточки)
{
$is1 .= '<small><a href="main.php?inv=1&otdel=' . floor($_GET['otdel']) . '&use_rune=' . floor(
@@ -7762,10 +7732,10 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$i = 0;
$j = 0;
while ($pl = mysql_fetch_array($sp)) {
$pl['data'] = $this->lookStats($pl['data']);
$pl['data'] = ConversionHelper::dataStringToArray($pl['data']);
unset($pl['data']['frompisher']);
$pl['data'] = $this->impStats($pl['data']);
$itm['data'] = $this->lookStats($itm['data']);
$itm['data'] = ConversionHelper::dataStringToArray($itm['data']);
unset($itm['data']['frompisher']);
$itm['data'] = $this->impStats($itm['data']);
if ($pl['data'] == $itm['data'] && $pl['name'] == $itm['name'] && $itm['iznosMAX'] == $pl['iznosMAX'] && $pl['iznosNOW'] == 0 && ($pl['timeOver'] == 0 || $pl['timeOver'] > time(
@@ -7841,25 +7811,6 @@ LIMIT 1'
}
}
public function lookStats($m): array
{
$ist = [];
$di = explode('|', $m);
$i = 0;
$de = false;
while ($i < count($di)) {
$de = explode('=', $di[$i]);
if (isset($de[0], $de[1])) {
if (!isset($ist[$de[0]])) {
$ist[$de[0]] = 0;
}
$ist[$de[0]] = $de[1];
}
$i++;
}
return $ist;
}
public function testItems($uid, $sn, $dt)
{
global $c, $code;
@@ -7899,7 +7850,7 @@ LIMIT 1'
);
while ($itm = mysql_fetch_array($cl)) {
$po = [];
$po = $this->lookStats($itm['data']);
$po = ConversionHelper::dataStringToArray($itm['data']);
$po['lvl'] = $u['level'];
//проверяем требования
$t = $this->items['tr'];
@@ -8067,7 +8018,7 @@ LIMIT 1'
if ($zub > 0) {
$zzba = '|zazuby=1';
}
$po = $this->lookStats($this->stats['items'][$i]['data']);
$po = ConversionHelper::dataStringToArray($this->stats['items'][$i]['data']);
if ($id2 > 0) {
if ($id2 == 4708) {
$this->addItem($id2, $uid, '|notransfer=1|nosale=1' . $zzba);
@@ -8100,7 +8051,7 @@ LIMIT 1'
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 = $this->lookStats($this->stats['items'][$i]['data']);
$po = ConversionHelper::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 {
@@ -8180,7 +8131,7 @@ LIMIT 1'
public function getInfoItemInfo($pl): string
{
$lvar = '';
$td = $this->lookStats($pl['data']);
$td = ConversionHelper::dataStringToArray($pl['data']);
if (isset($td['sv_yron_max']) && $td['sv_yron_max'] > 0) {
$lvar .= '<br>Урон: ' . $td['sv_yron_min'] . '-' . $td['sv_yron_max'] . '';
@@ -8377,7 +8328,7 @@ LIMIT 1'
$b1 = '<br>';
while ($pl = mysql_fetch_array($cl)) {
$td = $this->lookStats($pl['data']);
$td = ConversionHelper::dataStringToArray($pl['data']);
if (isset($td['modif'])) {
$pl['name'] = $pl['name'] . ' (мф)';
@@ -8451,13 +8402,13 @@ LIMIT 1'
$wj1i .= $br;
}
$td = [];
$td = $this->lookStats($wj[1]['data']);
$td = ConversionHelper::dataStringToArray($wj[1]['data']);
$wj[1]['name'] = $this->nameItemMf($wj[1], $td);
$wj1i .= '<strong>' . $wj[1]['name'] . '</strong>';
$wj1i .= $this->getInfoItemInfo($wj[1]);
}
if (isset($wj[52]) && $wj[52]) {
$td = $this->lookStats($wj[52]['data']);
$td = ConversionHelper::dataStringToArray($wj[52]['data']);
$wj[52]['name'] = $this->nameItemMf($wj[52], $td);
@@ -8472,7 +8423,7 @@ LIMIT 1'
$wj4i = '';
if ($wj[6]) {
$td = [];
$td = $this->lookStats($wj[6]['data']);
$td = ConversionHelper::dataStringToArray($wj[6]['data']);
$wj[6]['name'] = $this->nameItemMf($wj[6], $td);
$wj4i .= '<strong>' . $wj[6]['name'] . '</strong>';
@@ -8483,7 +8434,7 @@ LIMIT 1'
}
if ($wj[5]) {
$td = [];
$td = $this->lookStats($wj[5]['data']);
$td = ConversionHelper::dataStringToArray($wj[5]['data']);
$wj[5]['name'] = $this->nameItemMf($wj[5], $td);
$wj4i .= '<strong>' . $wj[5]['name'] . '</strong>';
@@ -8494,7 +8445,7 @@ LIMIT 1'
}
if ($wj[4]) {
$td = [];
$td = $this->lookStats($wj[4]['data']);
$td = ConversionHelper::dataStringToArray($wj[4]['data']);
$wj[4]['name'] = $this->nameItemMf($wj[4], $td);
$wj4i .= '<strong>' . $wj[4]['name'] . '</strong>';
@@ -8736,7 +8687,7 @@ LIMIT 1'
$tr = '';
$t = $this->items['add'];
$x = 0;
$ed = $this->lookStats($e['data']);
$ed = ConversionHelper::dataStringToArray($e['data']);
while ($x < count($t)) {
$n = $t[$x];
if (isset($ed['add_' . $n], $this->is[$n])) {
@@ -8763,7 +8714,7 @@ LIMIT 1'
$eff .= '<img width="38" height="23" style="margin:1px;display:block;float:left;" src="//img.new-combats.tech/i/eff/' . $e['img'] . '"onMouseOver="top.hi(this,\'' . $ei . '\',event,0,1,1,1,\'\');" onMouseOut="top.hic(event);" onMouseDown="top.hic(event);" >';
} elseif ($e['timeUse'] + $e['timeAce'] + $e['actionTime'] < time() && $e['timeUse'] != 77) {
//удаляем эффект
$ed = $this->lookStats($e['data']);
$ed = ConversionHelper::dataStringToArray($e['data']);
if (!isset($ed['finish_file']) || $this->info['id'] == $e['uid']) {
$this->endEffect($e['id'], $u);
}
@@ -9093,7 +9044,7 @@ LIMIT 1'
'UPDATE `eff_users` SET `delete`="' . time() . '" WHERE `id` = "' . $e['id'] . '" LIMIT 1'
);
if ($upd) {
$po = $this->lookStats($e['data']);
$po = ConversionHelper::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');
@@ -9209,7 +9160,7 @@ LIMIT 1'
}
$tr = $this->lookStats($itm['data']);
$tr = ConversionHelper::dataStringToArray($itm['data']);
$notr = $this->trItem($tr);
$msb = '';
if (isset($tr['maks_itm_one']) && $tr['maks_itm_one'] > 0) {
@@ -9655,7 +9606,7 @@ LIMIT 1'
}
if ($upd) {
if (isset($_GET['deleteall7'])) {
$st = $this->lookStats($itm['data']);
$st = ConversionHelper::dataStringToArray($itm['data']);
$whr = '';
if (isset($st['frompisher'])) {
$whr .= 'AND `data` LIKE "%frompisher=' . $st['frompisher'] . '%"';
@@ -10153,7 +10104,7 @@ LIMIT 1'
) . '" AND (`endTime` > "' . time() . '" OR `endTime` = 0)'
);
while ($e = mysql_fetch_array($efs)) {
$sts = $this->lookStats($e['bonus']);
$sts = ConversionHelper::dataStringToArray($e['bonus']);
$i = 0;
while ($i < count($ia)) {
if (isset($ia[$i])) {
@@ -10234,7 +10185,7 @@ LIMIT 1'
}
$st['effects'][$h] = $e;
$h++;
$sts = $this->lookStats($e['data']);
$sts = ConversionHelper::dataStringToArray($e['data']);
if (isset($sts['itempl']) && $sts['itempl'] > 0) {
$nbs[$sts['itempl']] += 1;
}
@@ -10408,7 +10359,7 @@ LIMIT 1'
}
$st['effects'][$h] = $e;
$h++;
$sts = $this->lookStats($e['data']);
$sts = ConversionHelper::dataStringToArray($e['data']);
if ($e['v2'] == 217) {
$st['raztac'] = 1;
}
@@ -10583,7 +10534,7 @@ LIMIT 1'
if (isset($com['id'])) {
//добавляем действия комплекта
$ij = 0;
$sti = $this->lookStats($com['data']);
$sti = ConversionHelper::dataStringToArray($com['data']);
while ($ij < count($ia)) {
if (isset($ia[$ij]) && isset($sti[$ia[$ij]])) {
$st[$ia[$ij]] += $sti[$ia[$ij]];
@@ -11514,7 +11465,7 @@ LIMIT 1'
}
}
$tst = $this->lookStats($this->info['stats']);
$tst = ConversionHelper::dataStringToArray($this->info['stats']);
$tst['s4'] += $lvl['vinos'];
$tst['s7'] += $lvl['duh'];
$this->info['stats'] = $this->impStats($tst);
@@ -11742,7 +11693,7 @@ LIMIT 1'
);
$res = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $cl . '" LIMIT 1'));
if (isset($item_['id'])) {
$po = $this->lookStats($item_['data']);
$po = ConversionHelper::dataStringToArray($item_['data']);
if (isset($po['toclan'])) {
$po['toclan1'] = explode('#', $po['toclan']);
$po['toclan1'] = $po['toclan1'][0];
@@ -11848,7 +11799,7 @@ LIMIT 1'
);
$res = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $cl . '" LIMIT 1'));
if (isset($itm_['id'])) {
$po = $this->lookStats($itm_['data']);
$po = ConversionHelper::dataStringToArray($itm_['data']);
if (isset($po['toclan'])) {
$cls = explode('#', $po['toclan']);
$cls = $cls[1];
@@ -11879,7 +11830,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 = $this->lookStats($pl['data']);
$po = ConversionHelper::dataStringToArray($pl['data']);
if (isset($po['toclan'])) {
$cls = explode('#', $po['toclan']);
$cls = $cls[1];