Замена прямых запросов в БД на метод Effects::addHod.
This commit is contained in:
parent
66d825bc6e
commit
9843a3a991
@ -466,11 +466,11 @@ class Priems
|
|||||||
/**
|
/**
|
||||||
* Новая функция магического заклинания с приёма.
|
* Новая функция магического заклинания с приёма.
|
||||||
* Работает с числовыми приёмами в папке [priem].
|
* Работает с числовыми приёмами в папке [priem].
|
||||||
* @param int $attackerId кто использует приём
|
* @param int $attackerId кто использует приём
|
||||||
* @param int $defenderId на кого использует приём
|
* @param int $defenderId на кого использует приём
|
||||||
* @param float $damage базовый урон приёма
|
* @param float $damage базовый урон приёма
|
||||||
* @param string $damageType тип урона (стихия?) приходит строкой, и конвертируется функцией.
|
* @param string $damageType тип урона (стихия?) приходит строкой, и конвертируется функцией.
|
||||||
* @param bool $hasCritical флаг, что приём МОЖЕТ критовать
|
* @param bool $hasCritical флаг, что приём МОЖЕТ критовать
|
||||||
* @return array [0|damage] int урон, [1|crit] bool был ли крит, [2|miss] bool был ли промах, [3|miss_type] int тип промаха (всегда = 2).
|
* @return array [0|damage] int урон, [1|crit] bool был ли крит, [2|miss] bool был ли промах, [3|miss_type] int тип промаха (всегда = 2).
|
||||||
* @author Insallah
|
* @author Insallah
|
||||||
*/
|
*/
|
||||||
@ -786,8 +786,7 @@ class Priems
|
|||||||
$krituet = true,
|
$krituet = true,
|
||||||
$heal = 0,
|
$heal = 0,
|
||||||
$namenew = null
|
$namenew = null
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
$trawm_off = false;
|
$trawm_off = false;
|
||||||
global $btl;
|
global $btl;
|
||||||
if ($namenew != null) {
|
if ($namenew != null) {
|
||||||
@ -966,7 +965,8 @@ 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 = [
|
$mas1 = [
|
||||||
'time' => time(),
|
'time' => time(),
|
||||||
'battle' => $btl->i->id,
|
'battle' => $btl->i->id,
|
||||||
@ -1579,13 +1579,13 @@ class Priems
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param int $uid на кого кастуем
|
* @param int $uid на кого кастуем
|
||||||
* @param int $pr id приема
|
* @param int $pr id приема
|
||||||
* @param int|string $data дата, если -1, то добавляем дату3
|
* @param int|string $data дата, если -1, то добавляем дату3
|
||||||
* @param int $d2
|
* @param int $d2
|
||||||
* @param $tm
|
* @param $tm
|
||||||
* @param int $h ход
|
* @param int $h ход
|
||||||
* @param int $uu id юзера который использовал
|
* @param int $uu id юзера который использовал
|
||||||
* @param $max
|
* @param $max
|
||||||
* @param $bj
|
* @param $bj
|
||||||
* @param $tp
|
* @param $tp
|
||||||
@ -1614,8 +1614,7 @@ class Priems
|
|||||||
$noupdatebtl = 0,
|
$noupdatebtl = 0,
|
||||||
$noplus = 0,
|
$noplus = 0,
|
||||||
$pname = null
|
$pname = null
|
||||||
)
|
) {
|
||||||
{
|
|
||||||
global $btl;
|
global $btl;
|
||||||
//$pl = mysql_fetch_assoc(mysql_query('SELECT * FROM `priems` WHERE `id` = ' . (int)$pr));
|
//$pl = mysql_fetch_assoc(mysql_query('SELECT * FROM `priems` WHERE `id` = ' . (int)$pr));
|
||||||
$pl = Db::getRow('select * from priems where id = ?', [$pr]);
|
$pl = Db::getRow('select * from priems where id = ?', [$pr]);
|
||||||
@ -1654,10 +1653,8 @@ class Priems
|
|||||||
|
|
||||||
if (isset($num['id']) && ($num['user_use'] != $this->u->info['id'] && $pl['zmu'] != 2)) {
|
if (isset($num['id']) && ($num['user_use'] != $this->u->info['id'] && $pl['zmu'] != 2)) {
|
||||||
// удаляем эффект
|
// удаляем эффект
|
||||||
Db::sql(
|
Effects::removeById(0, $num['id']);
|
||||||
'update eff_users set `delete` = unix_timestamp() where id = ?',
|
|
||||||
[$num['id']]
|
|
||||||
);
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
while ($i < count($btl->stats[$btl->uids[$uid]]['effects'])) {
|
while ($i < count($btl->stats[$btl->uids[$uid]]['effects'])) {
|
||||||
if ($btl->stats[$btl->uids[$uid]]['effects'][$i]['id'] == $num['id']) {
|
if ($btl->stats[$btl->uids[$uid]]['effects'][$i]['id'] == $num['id']) {
|
||||||
@ -1669,17 +1666,28 @@ class Priems
|
|||||||
unset($num);
|
unset($num);
|
||||||
}
|
}
|
||||||
if (!isset($num['id'])) {
|
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'];
|
$image = !empty($pl['img']) ? $pl['img'] : $pl['id'];
|
||||||
$name = !empty($pname) ? $pname : $pl['name'];
|
$name = !empty($pname) ? $pname : $pl['name'];
|
||||||
$image .= '.gif';
|
$image .= '.gif';
|
||||||
Db::sql(
|
|
||||||
$q, [floor($tr_life_user), $bj, $uu, $h, $pl['id'], $image, 22, $uid, $name, $data, 0, $tm, 'priem']
|
Effects::addCustom(
|
||||||
|
[
|
||||||
|
'id_eff' => 22,
|
||||||
|
'uid' => $uid,
|
||||||
|
'name' => $name,
|
||||||
|
'data' => $data,
|
||||||
|
'timeUse' => $tm,
|
||||||
|
'user_use' => $uu,
|
||||||
|
'v1' => 'priem',
|
||||||
|
'v2' => $pl['id'],
|
||||||
|
'img2' => $image,
|
||||||
|
'hod' => $h,
|
||||||
|
'bj' => $bj,
|
||||||
|
'tr_life_user' => floor($tr_life_user),
|
||||||
|
]
|
||||||
);
|
);
|
||||||
$lid = Db::lastInsertId();
|
|
||||||
if ($lid) {
|
$r = true;
|
||||||
$r = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* добавляем данные к $btl->eff */
|
/* добавляем данные к $btl->eff */
|
||||||
if ($noupdatebtl == 0) {
|
if ($noupdatebtl == 0) {
|
||||||
@ -1691,15 +1699,9 @@ class Priems
|
|||||||
$num['hod'] = $h;
|
$num['hod'] = $h;
|
||||||
if ($data != -1 && $data != '' && $d2 == 2) {
|
if ($data != -1 && $data != '' && $d2 == 2) {
|
||||||
$num['data'] .= '|' . $data;
|
$num['data'] .= '|' . $data;
|
||||||
Db::sql(
|
Effects::setHod($num['id'], $h, 'x + 1', $num['data']);
|
||||||
'update eff_users set x = x + 1, hod = ?, data = ? where id = ?',
|
|
||||||
[$h, $num['data'], $num['id']]
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
Db::sql(
|
Effects::setHod($num['id'], $h, 'x + 1');
|
||||||
'update eff_users set x = x + 1, hod = ? where id = ?',
|
|
||||||
[$h, $num['id']]
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
$r = true;
|
$r = true;
|
||||||
} else {
|
} else {
|
||||||
@ -1707,12 +1709,9 @@ class Priems
|
|||||||
$num['hod'] = $h;
|
$num['hod'] = $h;
|
||||||
if ($data != -1 && $data != '' && $d2 == 2) {
|
if ($data != -1 && $data != '' && $d2 == 2) {
|
||||||
$num['data'] .= '|' . $data;
|
$num['data'] .= '|' . $data;
|
||||||
Db::sql("update eff_users set hod = ?, data = ? where id = ?", [$h, $num['data'], $num['id']]);
|
Effects::setHod($num['id'], $h, data: $num['data']);
|
||||||
} else {
|
} else {
|
||||||
Db::sql(
|
Effects::setHod($num['id'], $h);
|
||||||
'update eff_users set hod = ? where id = ?',
|
|
||||||
[$h, $num['id']]
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
$r = true;
|
$r = true;
|
||||||
}
|
}
|
||||||
@ -1733,8 +1732,8 @@ class Priems
|
|||||||
|
|
||||||
/** Получает строку data c шаблонной записью типа add_m11=2*{lvl1} и конвертирует в реальную строку.
|
/** Получает строку data c шаблонной записью типа add_m11=2*{lvl1} и конвертирует в реальную строку.
|
||||||
* <br>Шаблон: <br>lvl1 = $uid[level] <br>ts5 = $uid[s5] <br>mpAll = $uid[mpAll]
|
* <br>Шаблон: <br>lvl1 = $uid[level] <br>ts5 = $uid[s5] <br>mpAll = $uid[mpAll]
|
||||||
* @param string $pl строка в формате data
|
* @param string $pl строка в формате data
|
||||||
* @param int $uid пользователь, параметры которого используются для подставки в шаблон.
|
* @param int $uid пользователь, параметры которого используются для подставки в шаблон.
|
||||||
* @return string строка в формате data с развёрнутыми шаблонами.
|
* @return string строка в формате data с развёрнутыми шаблонами.
|
||||||
*/
|
*/
|
||||||
public function redate($pl, $uid)
|
public function redate($pl, $uid)
|
||||||
@ -1982,7 +1981,8 @@ class Priems
|
|||||||
} else {
|
} else {
|
||||||
//бьем противника с пропуском хода
|
//бьем противника с пропуском хода
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'INSERT INTO `battle_act` (`battle`,`uid1`,`uid2`,`time`,`out1`,`type`,`tpo1`) VALUES ("' . $btl->i->id . '","' . $this->u->info['id'] . '","' . $this->u->info['enemy'] . '","' . time() . '","1","1","2")'
|
'INSERT INTO `battle_act` (`battle`,`uid1`,`uid2`,`time`,`out1`,`type`,`tpo1`) VALUES ("' . $btl->i->id . '","' . $this->u->info['id'] . '","' . $this->u->info['enemy'] . '","' . time(
|
||||||
|
) . '","1","1","2")'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2086,11 +2086,11 @@ class Priems
|
|||||||
);
|
);
|
||||||
if ($upd) {
|
if ($upd) {
|
||||||
TrainingManager::getInstance()
|
TrainingManager::getInstance()
|
||||||
->addPoint(
|
->addPoint(
|
||||||
'my_user_fourth_quest', function (TrainingManager $manager) {
|
'my_user_fourth_quest', function (TrainingManager $manager) {
|
||||||
$manager->store();
|
$manager->store();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$this->u->info['priems'] = $p;
|
$this->u->info['priems'] = $p;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -2107,17 +2107,17 @@ class Priems
|
|||||||
|
|
||||||
if (isset($id)) {
|
if (isset($id)) {
|
||||||
return Db::getRow('select * from priems where level <= ? and activ > 0 and id = ? order by img,level', [$this->u->info['level'], $id]);
|
return Db::getRow('select * from priems where level <= ? and activ > 0 and id = ? order by img,level', [$this->u->info['level'], $id]);
|
||||||
// return Db::getRow(
|
// return Db::getRow(
|
||||||
// 'select * from techniques_categories left join priems on techniques_categories.technique_id = priems.id
|
// '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]
|
// 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 priems where level <= ? and activ > 0 order by img,level', [$this->u->info['level']]);
|
return Db::getRows('select * from priems where level <= ? and activ > 0 order by img,level', [$this->u->info['level']]);
|
||||||
// return Db::getRows(
|
// return Db::getRows(
|
||||||
// 'select * from techniques_categories left join priems on techniques_categories.technique_id = priems.id
|
// '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']]
|
// where priems.level <= ? and priems.activ > 0 order by priems.img,priems.level', [User::start()->info['level']]
|
||||||
// );
|
// );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2172,7 +2172,7 @@ class Priems
|
|||||||
/**
|
/**
|
||||||
* Летит в js, двойные кавычки не использовать.
|
* Летит в js, двойные кавычки не использовать.
|
||||||
* @param array $pl
|
* @param array $pl
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
private function priemInfo(array $pl, int $id = -1): array
|
private function priemInfo(array $pl, int $id = -1): array
|
||||||
@ -2355,9 +2355,11 @@ class Priems
|
|||||||
echo
|
echo
|
||||||
<<< HTML
|
<<< HTML
|
||||||
<a href="javascript:void(0)" onclick="location.href='main.php?skills=1&rz=4&use_priem=$priem[id]';">
|
<a href="javascript:void(0)" onclick="location.href='main.php?skills=1&rz=4&use_priem=$priem[id]';">
|
||||||
<img class="pwq$priem[category_id] pwqall" onMouseOver="top.popup(this, '(#$priem[id]) <b>$priem[name]</b><Br>{$this->priemInfo($priem)[0]}');" onMouseOut="top.hic();" onMouseDown="top.hic();" style="display:none;margin-top:2px; $cl margin-left:1px;" src="//img.new-combats.tech/i/eff/$priem[img].gif" width="40" height="25" />
|
<img class="pwq$priem[category_id] pwqall" onMouseOver="top.popup(this, '(#$priem[id]) <b>$priem[name]</b><Br>{$this->priemInfo(
|
||||||
|
$priem
|
||||||
|
)[0]}');" onMouseOut="top.hic();" onMouseDown="top.hic();" style="display:none;margin-top:2px; $cl margin-left:1px;" src="//img.new-combats.tech/i/eff/$priem[img].gif" width="40" height="25" />
|
||||||
</a>
|
</a>
|
||||||
HTML;
|
HTML;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2785,7 +2787,7 @@ class Priems
|
|||||||
* Конечный damage после множителей делится на 5 и пишется в БД (atgm=).
|
* Конечный damage после множителей делится на 5 и пишется в БД (atgm=).
|
||||||
* Файлы: 33, 56, 57, 58, 59, 60.
|
* Файлы: 33, 56, 57, 58, 59, 60.
|
||||||
* @param $id
|
* @param $id
|
||||||
* @param array $pl массив значений из БД priems.
|
* @param array $pl массив значений из БД priems.
|
||||||
* @param Battle $btl
|
* @param Battle $btl
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
@ -2817,7 +2819,7 @@ class Priems
|
|||||||
* Если есть одинаковые статы из них выбирается случайный.
|
* Если есть одинаковые статы из них выбирается случайный.
|
||||||
* Файл:267, приём 268. Понимай как хочешь.
|
* Файл:267, приём 268. Понимай как хочешь.
|
||||||
* @param $id
|
* @param $id
|
||||||
* @param array $pl
|
* @param array $pl
|
||||||
* @param Battle $btl
|
* @param Battle $btl
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
@ -208,6 +208,13 @@ insert into eff_users
|
|||||||
Db::sql("insert into eff_users (no_Ace, id_eff, overType, uid, name, data, timeUse) values (1,479,112,?,'Защита от нападения','zashitatk=1',unix_timestamp())", [$userId]);
|
Db::sql("insert into eff_users (no_Ace, id_eff, overType, uid, name, data, timeUse) values (1,479,112,?,'Защита от нападения','zashitatk=1',unix_timestamp())", [$userId]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param int $id
|
||||||
|
* @param int $hod
|
||||||
|
* @param int|string $x для запроса x = x + 1, вводить 'x + 1'
|
||||||
|
* @param string $data
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
public static function setHod(int $id, int $hod, int|string $x = 0, string $data = ''): void
|
public static function setHod(int $id, int $hod, int|string $x = 0, string $data = ''): void
|
||||||
{
|
{
|
||||||
$args = ['id' => $id, 'hod' => $hod];
|
$args = ['id' => $id, 'hod' => $hod];
|
||||||
|
@ -227,7 +227,7 @@ class Stats
|
|||||||
} elseif (Config::get('effz') > 0 && $e['hod'] == -1) {
|
} elseif (Config::get('effz') > 0 && $e['hod'] == -1) {
|
||||||
$efzz = round(($e['timeUse'] + $e['actionTime'] + $e['timeAce']) - time());
|
$efzz = round(($e['timeUse'] + $e['actionTime'] + $e['timeAce']) - time());
|
||||||
if ($efzz > 0) {
|
if ($efzz > 0) {
|
||||||
Db::sql('update eff_users set hod = ? where id = ?', [$efzz / Config::get('effz'), $e['id']]);
|
Effects::setHod($e['id'], $efzz / Config::get('effz'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user