This commit is contained in:
2024-12-17 10:40:25 +02:00
106 changed files with 6704 additions and 5723 deletions
+69 -55
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,12 @@ JS;
$jstext = json_encode($log['text']);
$jsvars = json_encode($log['vars']);
$js = "add_log({$log['id']},0,$jstext,{$log['id_hod']},$jsvars);" . $js;
//old
//$js = "add_log({$log['id']},0,$jstext,{$log['id_hod']},0,0,$jsvars)" . $js;
//home
//$js = "add_log({$log['id']},0,$jstext,{$log['id_hod']},$jsvars);" . $js;
//work
$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']]);
@@ -1589,8 +1595,15 @@ JS;
$jstext = json_encode($log['text']);
$jsvars = json_encode($log['vars']);
//$js = "add_mlog({$log['id']},0,$jstext,{$log['id_hod']},$jsvars);" . $js;
$js = "add_mlog({$log['id']},0,'{$log['text']}',{$log['id_hod']},'{$log['vars']}');" . $js;
$js = "add_mlog({$log['id']},0,$jstext,{$log['id_hod']},0,0,$jsvars)" . $js;
//old
//$js = "add_mlog({$log['id']},0,$jstext,{$log['id_hod']},0,0,$jsvars)" . $js;
//home
////$js = "add_mlog({$log['id']},0,$jstext,{$log['id_hod']},$jsvars);" . $js;
//$js = "add_mlog({$log['id']},0,'{$log['text']}',{$log['id_hod']},'{$log['vars']}');" . $js;
//work
$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']]);
@@ -1920,17 +1933,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;
@@ -1963,8 +1965,6 @@ JS;
}
}
//Используем приемы
public function startAtack($id): void
{
global $u, $priem;
@@ -2413,12 +2413,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(
@@ -2427,7 +2429,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;
@@ -2484,8 +2487,6 @@ JS;
$this->stats[$this->uids[$pl['uid']]] = $u->getStats($pl['uid'], 0, 0, false, false, true);
}
//Повторная проверка приемов
/**
* Расчет количества блоков и противников?
* @param $uid
@@ -2564,7 +2565,7 @@ JS;
}
}
//Проверка действия приема
//Повторная проверка приемов
/**
* Магия предметов?
@@ -2597,7 +2598,7 @@ JS;
}
}
//Проверка урона приемов
//Проверка действия приема
private function newRazmen($id): array
{
@@ -2618,6 +2619,8 @@ JS;
return $at;
}
//Проверка урона приемов
private function usersTestAtack($id, $uid1, $uid2): array
{
$r = [];
@@ -2681,8 +2684,6 @@ JS;
return $r;
}
//Наносим удар между игроками
public function priemsRazmen(array|int $id, array|string $at): void
{
if ($at == 'fast') {
@@ -2734,6 +2735,8 @@ JS;
}
}
//Наносим удар между игроками
/** Осторожно! Подключаются файлы!!!
* @param $id
* @param $at
@@ -2955,10 +2958,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; //проверка на туманный образ
@@ -3059,6 +3058,8 @@ JS;
return $yr2;
}
//Расчет типа удара от оружия
//Расчет урона от оружия
/**
@@ -3226,8 +3227,7 @@ JS;
return $at;
}
//Расчет защиты
//Расчет урона от оружия
public function yhod_user($uid1, $uid2, $type)
{
@@ -3288,7 +3288,8 @@ JS;
return $r;
}
//Расчет защиты (магия)
//Расчет защиты
/**
* Добавляем опыт \ нанесенный урон.
@@ -3447,6 +3448,8 @@ JS;
}
}
//Расчет защиты (магия)
private function clearCache($uid): void
{
if ($uid <= 0 || isset($this->uclearc[$uid])) {
@@ -3871,7 +3874,6 @@ JS;
return '{' . $a . 'x' . $id . 'x' . $rnd . '}';
}
/**
* Свиток спасения.
*
@@ -3998,7 +4000,8 @@ JS;
$hodID,
$tm1 = 0,
$tm2 = 0
): void {
): void
{
$time = time();
if ($tm1 == 0) {
$tm1 = isset($this->atacks[$id]) ? $this->atacks[$id]['time'] : $time;
@@ -4032,8 +4035,6 @@ JS;
Log::add($mas);
}
//Расчет МФ
/**
* Возращаем зоны блока?
* @param $uid1
@@ -4050,6 +4051,8 @@ JS;
}
}
//Расчет МФ
private function saveStats($uid): void
{
Stats::saveBattleStats($this->stats[$this->uids[$uid]], $uid);
@@ -4120,8 +4123,6 @@ JS;
return $result ?: [];
}
//Действия бота (атака)
/**
* Смерть от пропуска ходов. Включается в конфиге.
* @param int $id
@@ -4154,7 +4155,7 @@ JS;
}
}
//Проверяем удары, приемы, свитки, зверей
//Действия бота (атака)
private function addNewAtack(User $u): void
{
@@ -4240,7 +4241,7 @@ JS;
}
//Действия бота
//Проверяем удары, приемы, свитки, зверей
private function botAct($uid): bool
{
@@ -4257,6 +4258,19 @@ JS;
return $r;
}
//Действия бота
/**
* Массово встречается в подключаемых файлах приёмов.
* @param array $arr
* @return void
* @deprecated
*/
public function add_log(array $arr): void
{
Log::add($arr);
}
/**
* Запись выбранных ударов и блоков в массив $this->uAtc.
* Технически это сеттер.