Рефакторинг яваскриптов.

This commit is contained in:
2024-05-10 14:32:06 +03:00
parent 2026029bf5
commit 023d9856ea
9 changed files with 205 additions and 238 deletions
+56 -54
View File
@@ -247,7 +247,7 @@ class Battle
/**
* @param int|null $experience
* @param bool $hardcore поединок с гарантированной травмой
* @param bool $hardcore поединок с гарантированной травмой
* @return array|int[]
*/
public static function getType(?int $experience, bool $hardcore = false): array
@@ -365,10 +365,10 @@ class Battle
Db::sql(
'update stats set last_hp = ?, tactic7 = ? where id = ?', [
$this->users[$this->uids[$uid]]['last_hp'],
$this->users[$this->uids[$uid]]['tactic7'],
$uid,
]
$this->users[$this->uids[$uid]]['last_hp'],
$this->users[$this->uids[$uid]]['tactic7'],
$uid,
]
);
return (int)$hp;
@@ -1139,9 +1139,9 @@ JS;
/**
* @param array $botLogins
* @param int $counter
* @param int $obr
* @param int $unique для совместимости с непонятным вызовом User->addAction
* @param int $counter
* @param int $obr
* @param int $unique для совместимости с непонятным вызовом User->addAction
* при вызове уникального монстра.
* @return void
*/
@@ -1231,14 +1231,14 @@ JS;
/** Осторожно! Подключаются файлы!!!
* Трогать очень осторожно. Этот шайтан как-то проверяет приёмы на враге
* и рассчитывает урон учитывая и эти приёмы тоже.
* @param int $uid1
* @param int $uid2
* @param int $priem
* @param int $uid1
* @param int $uid2
* @param int $priem
* @param $yron
* @param int $profil
* @param int $profil
* @param bool $stabil
* @param bool $test
* @param int $inlog
* @param int $inlog
* @return float|int|mixed
*/
public function testYronPriem(
@@ -1250,7 +1250,8 @@ JS;
bool $stabil,
bool $test = false,
int $inlog = 0
): mixed {
): mixed
{
/**
* profil = {
@@ -1524,7 +1525,7 @@ JS;
$jstext = json_encode($log['text']);
$jsvars = json_encode($log['vars']);
$js = "add_log({$log['id']},0,$jstext,{$log['id_hod']},0,0,$jsvars)" . $js;
$js = "add_log({$log['id']},$jstext,{$log['id_hod']},$jsvars)" . $js;
}
Db::sql('update stats set alog = ? where id = ?', [$u->info['alog'], $u->info['id']]);
@@ -1588,7 +1589,7 @@ JS;
$jstext = json_encode($log['text']);
$jsvars = json_encode($log['vars']);
$js = "add_mlog({$log['id']},0,$jstext,{$log['id_hod']},0,0,$jsvars)" . $js;
$js = "add_mlog({$log['id']},$jstext,{$log['id_hod']},$jsvars)" . $js;
}
Db::sql('update stats set mlog = ? where id = ?', [$u->info['mlog'], $u->info['id']]);
@@ -1917,17 +1918,6 @@ JS;
}
}
/**
* Массово встречается в подключаемых файлах приёмов.
* @param array $arr
* @return void
* @deprecated
*/
public function add_log(array $arr): void
{
Log::add($arr);
}
private function botAtack($uid, $pl, $tp): void
{
$testAttack = Db::getValue('select count(id) from battle_act where battle = ? and uid1 in (?,?) and uid2 in(?,?) and uid1 != uid2', [$this->i->id, $pl, $uid, $pl, $uid]) === 0;
@@ -1960,8 +1950,6 @@ JS;
}
}
//Используем приемы
public function startAtack($id): void
{
global $u, $priem;
@@ -2410,12 +2398,14 @@ JS;
Db::sql('delete from battle_act where id = ?', [$id]);
}
//Используем приемы
/** Осторожно! Подключаются файлы!!!
* @param array $pl
* @param array $pl
* @param $u1
* @param int $t
* @param int $t
* @param int|array $u2
* @param string $rznm
* @param string $rznm
* @return void
*/
public function delPriem(
@@ -2424,7 +2414,8 @@ JS;
int $t = 1,
int|array $u2 = 0,
string $rznm = 'Очиститься Кровью'
): void {
): void
{
global $u, $priem;
if (!isset($pl['priem']['id']) || isset($this->del_val['eff'][$pl['priem']['id']])) {
return;
@@ -2481,8 +2472,6 @@ JS;
$this->stats[$this->uids[$pl['uid']]] = $u->getStats($pl['uid'], 0, 0, false, false, true);
}
//Повторная проверка приемов
/**
* Расчет количества блоков и противников?
* @param $uid
@@ -2561,7 +2550,7 @@ JS;
}
}
//Проверка действия приема
//Повторная проверка приемов
/**
* Магия предметов?
@@ -2594,7 +2583,7 @@ JS;
}
}
//Проверка урона приемов
//Проверка действия приема
private function newRazmen($id): array
{
@@ -2615,6 +2604,8 @@ JS;
return $at;
}
//Проверка урона приемов
private function usersTestAtack($id, $uid1, $uid2): array
{
$r = [];
@@ -2678,8 +2669,6 @@ JS;
return $r;
}
//Наносим удар между игроками
public function priemsRazmen(array|int $id, array|string $at): void
{
if ($at == 'fast') {
@@ -2731,6 +2720,8 @@ JS;
}
}
//Наносим удар между игроками
/** Осторожно! Подключаются файлы!!!
* @param $id
* @param $at
@@ -2952,10 +2943,6 @@ JS;
return $at;
}
//Расчет типа удара от оружия
//Расчет урона от оружия
public function testPogB($uid, $yr, $pliid, $test = 0)
{
$checktuman = Db::getValue('select count(id) from eff_users where uid = ? and v2 in (273,286,287,288)', [$uid]) == 0; //проверка на туманный образ
@@ -3056,6 +3043,8 @@ JS;
return $yr2;
}
//Расчет типа удара от оружия
//Расчет урона от оружия
/**
@@ -3223,8 +3212,7 @@ JS;
return $at;
}
//Расчет защиты
//Расчет урона от оружия
public function yhod_user($uid1, $uid2, $type)
{
@@ -3285,7 +3273,8 @@ JS;
return $r;
}
//Расчет защиты (магия)
//Расчет защиты
/**
* Добавляем опыт \ нанесенный урон.
@@ -3444,6 +3433,8 @@ JS;
}
}
//Расчет защиты (магия)
private function clearCache($uid): void
{
if ($uid <= 0 || isset($this->uclearc[$uid])) {
@@ -3868,7 +3859,6 @@ JS;
return '{' . $a . 'x' . $id . 'x' . $rnd . '}';
}
/**
* Свиток спасения.
*
@@ -3995,7 +3985,8 @@ JS;
$hodID,
$tm1 = 0,
$tm2 = 0
): void {
): void
{
$time = time();
if ($tm1 == 0) {
$tm1 = isset($this->atacks[$id]) ? $this->atacks[$id]['time'] : $time;
@@ -4029,8 +4020,6 @@ JS;
Log::add($mas);
}
//Расчет МФ
/**
* Возращаем зоны блока?
* @param $uid1
@@ -4047,6 +4036,8 @@ JS;
}
}
//Расчет МФ
private function saveStats($uid): void
{
Stats::saveBattleStats($this->stats[$this->uids[$uid]], $uid);
@@ -4117,8 +4108,6 @@ JS;
return $result ?: [];
}
//Действия бота (атака)
/**
* Смерть от пропуска ходов. Включается в конфиге.
* @param int $id
@@ -4151,7 +4140,7 @@ JS;
}
}
//Проверяем удары, приемы, свитки, зверей
//Действия бота (атака)
private function addNewAtack(User $u): void
{
@@ -4237,7 +4226,7 @@ JS;
}
//Действия бота
//Проверяем удары, приемы, свитки, зверей
private function botAct($uid): bool
{
@@ -4254,6 +4243,19 @@ JS;
return $r;
}
//Действия бота
/**
* Массово встречается в подключаемых файлах приёмов.
* @param array $arr
* @return void
* @deprecated
*/
public function add_log(array $arr): void
{
Log::add($arr);
}
/**
* Запись выбранных ударов и блоков в массив $this->uAtc.
* Технически это сеттер.