WIP: разгрузка User:class от сторонних методов.

This commit is contained in:
2023-04-18 12:21:54 +03:00
parent 2bc67ce543
commit 02c76e76ad
15 changed files with 548 additions and 4100 deletions

View File

@@ -935,62 +935,6 @@ class User
return $r;
}
//Переплавка вещей \ рун
public function plavka($id, $type): string
{
$e = '';
$rn = 1;
$pl = mysql_fetch_array(
mysql_query(
'SELECT
`im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,
`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl`
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;'
)
);
$d = mysql_fetch_array(
mysql_query(
'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $pl['item_id'] . '" LIMIT 1'
)
);
$po = ConversionHelper::dataStringToArray($d['data']);
if ($pl['level'] == 0) {
$pl['level'] = 0 + $po['tr_lvl'];
}
if ($po['tr_lvl'] < 4 && $pl['item_id'] != 1035) {
$e = 'Предмет должен быть 4-го и выше уровня';
} elseif ($pl['type'] != 1 && $pl['type'] != 3 && $pl['type'] != 5 && $pl['type'] != 6 && $pl['type'] != 8 && $pl['type'] != 9 && $pl['type'] != 10 && $pl['type'] != 11 && $pl['type'] != 12 && $pl['type'] != 14 && $pl['type'] != 15 && $pl['type'] != 18 && $pl['type'] != 19 && $pl['type'] != 20 && $pl['type'] != 21 && $pl['type'] != 22 && $pl['type'] != 13 && $pl['item_id'] != 1035) {
$e = 'Хрен вам, а не руны! Куда кидаешь предмет? Не подходит он! Приходи как будет что-то стоющее!';
} elseif ($po['tr_lvl'] >= 7 && $this->rep['rep1'] < 0)//100
{
$e = 'Для растворения предметов 7-го и старше уровня требуется знак Храма Знаний первого круга';
} elseif ($po['tr_lvl'] >= 9 && $this->rep['rep1'] < 1000) {
$e = 'Для растворения предметов 9-го и старше уровня требуется знак Храма Знаний второго круга';
} elseif ($po['tr_lvl'] >= 10 && $this->rep['rep1'] < 10000) {
$e = 'Для растворения предметов 10-го и старше уровня требуется знак Храма Знаний третьего круга';
} elseif ($rn > 0) {
if (isset($pl['id'], $d['id'])) {
$pl['rep'] = 1;
//вероятность выпадения руны
$e = 'Удачно растворен предмет "' . $pl['name'] . '"! Получено репутации: +' . $pl['rep'] . ' ед.';
mysql_query(
'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'
);
$this->rep['rep1'] += $pl['rep'];
mysql_query(
'UPDATE `rep` SET `rep1` = "' . $this->rep['rep1'] . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1'
);
} else {
$e = 'Предмет не найден, либо не подходит ' . $pl['item_id'] . '...';
}
} else {
$e = 'Не удалось переплавить, рецепты рун были потеряны ...';
}
return $e;
}
//Выводим вещи котоыре нужно отремонтировать
public function info_remont(): string
{
@@ -1018,7 +962,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
}
//Расчет урона от оружия
public function weaponAtc($item, $st, $x)
private function weaponAtc($item, $st, $x)
{
$tp = 0;
if (isset($item['id'])) {
@@ -7397,6 +7341,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
public function itemsX($id, $uid = null, $item_id = null)
{
$item = mysql_fetch_array(
mysql_query(
'SELECT `iu`.`id`,`iu`.`item_id`,`iu`.`uid`,`iu`.`inGroup`,`iu`.`inShop` FROM `items_users` AS `iu` WHERE `iu`.`delete` = "0" AND `iu`.`id` = "' . ((int)$id) . '" LIMIT 1 '
@@ -11433,72 +11378,6 @@ LIMIT 1'
return [$sh, $sm, 'hpNow' => $st['hpNow'], 'mpNow' => $st['mpNow']];
}
public function set_cl_item($id, $user, $cl): string
{
$item_ = 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 `iu`.`uid` = "' . $user['id'] . '" AND `iu`.`delete` = 0 AND `iu`.`inOdet` = 0 AND `iu`.`inShop` = 0 AND `im`.`inslot` > 0 AND `iu`.`gift` = "" AND `iu`.`data` NOT LIKE "%frompisher=%" AND `iu`.`id` = "' . $id . '" LIMIT 1'
)
);
$res = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $cl . '" LIMIT 1'));
if (isset($item_['id'])) {
$po = ConversionHelper::dataStringToArray($item_['data']);
if (isset($po['toclan'])) {
$po['toclan1'] = explode('#', $po['toclan']);
$po['toclan1'] = $po['toclan1'][0];
}
if (isset($po['sudba']) && $po['sudba'] != '0') {
$r = '<font color="#FF0000"><strong>Предмет связан с вами судьбой</strong></font><br>';
} elseif (isset($po['toclan']) && $po['toclan1'] != $user['clan']) {
$r = '<font color="#FF0000"><strong>Предмет и так пренадлежит клану...</strong></font><br>';
} elseif ($user['inTurnir'] > 0 || $user['inTurnirnew'] > 0) {
$r = '<font color="#FF0000"><strong>Во время участия в турнире запрещено использовать клановое хранилище.</strong></font><br>';
} else {
if ((isset($po['sudba']) && $po['sudba'] != '0') || isset($po['icos']) || isset($po['frompisher']) || isset($po['fromlaba']) || ($item_['gift'] != '' && $item_['gift'] != 0)) {
$r = 'Не удалось';
} elseif (!isset($po['toclan'])) {
$po['toclan'] = $user['clan'] . '#' . $user['id'];
$item_['data'] = ConversionHelper::arrayToDataString($po);
if (mysql_query(
'UPDATE `items_users` SET `lastUPD` = "' . time(
) . '", `uid` = "-21' . $user['clan'] . '", `data` = "' . $item_['data'] . '" WHERE `id` = "' . $id . '" LIMIT 1'
)) {
$r = '<font color="#FF0000"><strong>Вы успешно пожертвовали предмет &quot;' . $item_['name'] . '&quot; клану</strong></font><br />';
$col = $this->itemsX(((int)$id));
$this->addDelo(
2, $user['id'],
'&quot;<font color="green">System.transfer.MONEY</font>&quot;: Предмет &quot;' . $item_['name'] . '&quot; (#id : "' . $id . '") (x' . $col . ') был пожертвован клану &quot;' . $res['name'] . '&quot; (' . $res['id'] . ').',
time(), $user['city'], 'System.transfer.clan', 0, 0
);
mysql_query(
'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time(
) . '", "4", "' . $user['login'] . '", "' . $item_['name'] . ' (x' . $col . ') Ид : [' . $id . ']", "' . $user['id'] . '")'
);
} else {
$r = '<font color="#FF0000"><strong>Не удалось...</strong></font><br>';
}
} else {
if (mysql_query(
'UPDATE `items_users` SET `lastUPD` = "' . time(
) . '", `uid` = "-21' . $user['clan'] . '" WHERE `id` = "' . $id . '" LIMIT 1'
)) {
$col = $this->itemsX(((int)$id));
mysql_query(
'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time(
) . '", "3", "' . $user['login'] . '", "' . $item_['name'] . '" (x' . $col . ') Ид : [' . $id . '], "' . $user['id'] . '")'
);
$r = '<font color="#FF0000"><strong>Вы успешно вернули предмет &quot;' . $item_['name'] . '&quot; в хранилище клана</strong></font><br />';
} else {
$r = '<font color="#FF0000"><strong>Не удалось...</strong></font><br>';
}
}
}
} else {
$r = '<font color="#FF0000"><strong>Предмет не найден.</strong></font><br>';
}
return $r;
}
public function ungive_itm_cl($id, $user, $cl): string
{