2022-12-19 20:22:19 +00:00
< ? php
class Battle
{
2022-12-30 19:03:37 +00:00
public function __construct ()
{
2022-12-19 20:22:19 +00:00
ignore_user_abort ( true );
}
2022-12-30 19:03:37 +00:00
public function maginfoattack ( $u1 , $u2 , $type ) : string
2022-12-19 20:22:19 +00:00
{
/*
2023-01-10 16:29:32 +00:00
1 - огонь ,
2 - воздух ,
3 - вода ,
4 - земля
2022-12-19 20:22:19 +00:00
*/
$v_l = str_replace ( ' ' , ' ' , $this -> users [ $this -> uids [ $u1 ]][ 'login' ]);
2023-01-10 16:29:32 +00:00
$v_z = 0 + $this -> stats [ $this -> uids [ $u2 ]][ 'zm' . $type ]; //защита цели
2022-12-30 19:03:37 +00:00
$v_p = 0 + round (
( $this -> stats [ $this -> uids [ $u1 ]][ 'pzm' . $type ] + $this -> stats [ $this -> uids [ $u1 ]][ 'pzm' ]) * 0.4
2023-01-10 16:29:32 +00:00
); //подавление защиты от магии
$v_m = 0 + $this -> stats [ $this -> uids [ $u1 ]][ 'pm' . $type ]; //мощность мага
2022-12-19 20:22:19 +00:00
//
return ' magelogin=' . $v_l . ' onMouseOver=top.hi(this,maginfo(' . $v_z . ',' . $v_p . ',' . $v_m . ',this),event,3,1,1,1,null); onMouseOut=top.hic(); onMouseDown=top.hic(); ' ;
}
2022-12-30 19:03:37 +00:00
public function typeBattle ( int $x ) : array
2022-12-19 20:22:19 +00:00
{
2023-01-10 16:29:32 +00:00
$r = [ 0 , 0 , 'Обычный поединок' , 'Кровавый Поединок' ];
2022-12-30 19:03:37 +00:00
if ( $x >= 50000 && $x < 100000 ) {
2023-01-10 16:29:32 +00:00
$r = [ 25 , 50 , 'Великая Битва' , 'Кровавая Битва' ];
2022-12-19 20:22:19 +00:00
} elseif ( $x < 500000 ) {
2023-01-10 16:29:32 +00:00
$r = [ 50 , 75 , 'Величайшая Битва' , 'Кровавая Резня' ];
2022-12-19 20:22:19 +00:00
} elseif ( $x < 1000000 ) {
2023-01-10 16:29:32 +00:00
$r = [ 75 , 100 , 'Историческая Битва' , 'Кровавая Сеча' ];
2022-12-19 20:22:19 +00:00
} elseif ( $x < 2500000 ) {
2023-01-10 16:29:32 +00:00
$r = [ 100 , 125 , 'Эпохальная Битва' , 'Кровавое Побоище' ];
2022-12-19 20:22:19 +00:00
} elseif ( $x >= 5000000 ) {
2023-01-10 16:29:32 +00:00
$r = [ 150 , 150 , 'Судный День' , 'Судный День' ];
2022-12-19 20:22:19 +00:00
}
return $r ;
}
2022-12-30 19:03:37 +00:00
public array $mncolor = [
2022-12-19 20:22:19 +00:00
1 => '006699' ,
2 => '006699' ,
3 => '006699' ,
4 => '006699' ,
5 => '006699' ,
6 => '006699' ,
7 => '006699' ,
2023-01-10 16:29:32 +00:00
]; //не крит
2022-12-30 19:03:37 +00:00
public array $mcolor = [
2022-12-19 20:22:19 +00:00
1 => 'A00000' ,
2 => '008080' ,
3 => '0000FF' ,
4 => 'A52A2A' ,
5 => '006699' ,
6 => '006699' ,
7 => '006699' ,
2023-01-10 16:29:32 +00:00
]; //не крит
2022-12-30 19:03:37 +00:00
public array $mname = [
2023-01-10 16:29:32 +00:00
'огонь' => 1 ,
'воздух' => 2 ,
'вода' => 3 ,
'земля' => 4 ,
'свет' => 5 ,
'тьма' => 6 ,
'серая' => 7 ,
2022-12-19 20:22:19 +00:00
];
2022-12-30 19:03:37 +00:00
public array $prm = [
2022-12-19 20:22:19 +00:00
/*
2023-01-10 16:29:32 +00:00
act : 1 - когда персонаж получает повреждение
2 - когда персонаж наносит удар
type_of : 1 - уворот
2 - крит
3 - атака
4 - защита
5 - прочее
2022-12-19 20:22:19 +00:00
*/
2023-01-10 16:29:32 +00:00
1 => [ 'name' => 'Прикрыться' , 'act' => 1 , 'type_of' => 5 ],
2 => [ 'name' => 'Вломить' , 'act' => 2 , 'type_of' => 3 ],
4 => [ 'name' => 'Сильный удар' , 'act' => 2 , 'type_of' => 3 ],
7 => [ 'name' => 'Активная защита' , 'act' => 1 , 'type_of' => 4 ],
290 => [ 'name' => 'Вытягивание души' , 'act' => 1 , 'type_of' => 4 ],
//Канализация
294 => [ 'name' => 'Зловонная Вода' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ],
295 => [ 'name' => 'Проткнуть' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ],
296 => [ 'name' => 'Гнилая Кровь' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ],
297 => [ 'name' => 'Собраться' , 'act' => 2 , 'type_of' => 0 , 'moment' => 3 ],
298 => [ 'name' => 'Приказ Слабости' , 'act' => 2 , 'type_of' => 3 ],
141 => [ 'name' => 'Призрачная защита' , 'act' => 2 , 'type_of' => 4 ],
147 => [ 'name' => 'Призрачный кинжал' , 'act' => 2 , 'type_of' => 4 ],
148 => [ 'name' => 'Призрачный топор' , 'act' => 2 , 'type_of' => 4 ],
149 => [ 'name' => 'Призрачный удар' , 'act' => 2 , 'type_of' => 4 ],
150 => [ 'name' => 'Призрачное лезвие' , 'act' => 2 , 'type_of' => 4 ],
142 => [ 'name' => 'Призрачный огонь' , 'act' => 2 , 'type_of' => 4 ],
144 => [ 'name' => 'Призрачный воздух' , 'act' => 2 , 'type_of' => 4 ],
146 => [ 'name' => 'Призрачная земля' , 'act' => 2 , 'type_of' => 4 ],
145 => [ 'name' => 'Призрачная вода' , 'act' => 2 , 'type_of' => 4 ],
8 => [ 'name' => 'Танец ветра' , 'act' => 1 , 'type_of' => 1 ],
9 => [ 'name' => 'Дикая удача' , 'act' => 2 , 'type_of' => 3 ],
10 => [ 'name' => 'Предвидение' , 'act' => 1 , 'type_of' => 1 ],
11 => [ 'name' => 'Удачный удар' , 'act' => 2 , 'type_of' => 3 ],
45 => [ 'name' => 'Полная защита' , 'act' => 1 , 'type_of' => 4 ],
47 => [ 'name' => 'Слепая удача' , 'act' => 2 , 'type_of' => 2 ],
48 => [ 'name' => 'Танец лезвий' , 'act' => 1 , 'type_of' => 1 ],
49 => [ 'name' => 'Второе дыхание' , 'act' => 1 , 'type_of' => 1 ],
138 => [ 'name' => 'Сокрушающий удар' , 'act' => 2 , 'type_of' => 3 ],
140 => [ 'name' => 'Абсолютная защита' , 'act' => 1 , 'type_of' => 4 ],
193 => [ 'name' => 'Усиленные удары' , 'act' => 2 , 'type_of' => 3 ],
204 => [ 'name' => 'Обречённость' , 'act' => 2 , 'type_of' => 0 , 'moment' => 3 ],
211 => [ 'name' => 'Агрессивная защита' , 'act' => 1 , 'type_of' => 4 ],
213 => [ 'name' => 'Коварный Уход' , 'act' => 1 , 'type_of' => 4 ],
215 => [ 'name' => 'Скрытая ловкость' , 'act' => 1 , 'type_of' => 1 ],
216 => [ 'name' => 'Скрытая сила' , 'act' => 2 , 'type_of' => 2 ],
217 => [ 'name' => 'Разгадать тактику' , 'act' => 2 , 'type_of' => 0 , 'moment' => 3 ],
219 => [ 'name' => 'Точный удар' , 'act' => 2 , 'type_of' => 3 ],
220 => [ 'name' => 'Ставка на опережение' , 'act' => 2 , 'type_of' => 0 , 'moment' => 3 ],
222 => [ 'name' => 'Последний удар' , 'act' => 2 , 'type_of' => 3 ],
225 => [ 'name' => 'Магическая защита' , 'act' => 1 , 'type_of' => 4 ],
226 => [ 'name' => 'Возмездие' , 'act' => 1 , 'type_of' => 4 ],
231 => [ 'name' => 'Глухая защита' , 'act' => 2 , 'type_of' => 0 , 'moment' => 3 ],
234 => [ 'name' => 'Осторожность' , 'act' => 2 , 'type_of' => 4 ],
235 => [ 'name' => 'Шокирующий удар' , 'act' => 2 , 'type_of' => 3 ],
342 => [ 'name' => 'Круговая Защита' , 'act' => 0 , 'type_of' => 0 ],
343 => [ 'name' => 'Натиск' , 'act' => 0 , 'type_of' => 0 ],
237 => [ 'name' => 'Разведка боем' , 'act' => 2 , 'type_of' => 3 ],
239 => [ 'name' => 'Поступь смерти' , 'act' => 2 , 'type_of' => 3 ],
240 => [ 'name' => 'Хлебнуть крови' , 'act' => 2 , 'type_of' => 5 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
21 => [ 'name' => 'Оледенение [4]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
73 => [ 'name' => 'Оледенение [5]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
74 => [ 'name' => 'Оледенение [6]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
75 => [ 'name' => 'Оледенение [7]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
76 => [ 'name' => 'Оледенение [8]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
77 => [ 'name' => 'Оледенение [9]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
78 => [ 'name' => 'Оледенение [10]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
79 => [ 'name' => 'Оледенение [11]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
22 => [ 'name' => 'Отравление [6]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
80 => [ 'name' => 'Отравление [7]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
81 => [ 'name' => 'Отравление [8]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
82 => [ 'name' => 'Отравление [9]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
83 => [ 'name' => 'Отравление [10]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
84 => [ 'name' => 'Отравление [11]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
36 => [ 'name' => 'Регенерация [5]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
85 => [ 'name' => 'Регенерация [6]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
86 => [ 'name' => 'Регенерация [7]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
87 => [ 'name' => 'Регенерация [8]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
88 => [ 'name' => 'Регенерация [9]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
89 => [ 'name' => 'Регенерация [10]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
90 => [ 'name' => 'Регенерация [11]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
23 => [ 'name' => 'Ядовитое Облако [8]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
70 => [ 'name' => 'Ядовитое Облако [9]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
71 => [ 'name' => 'Ядовитое Облако [10]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
72 => [ 'name' => 'Ядовитое Облако [11]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
269 => [ 'name' => 'Иней [8]' , 'act' => 2 , 'type_of' => 9 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
276 => [ 'name' => 'Иней [9]' , 'act' => 2 , 'type_of' => 9 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
277 => [ 'name' => 'Иней [10]' , 'act' => 2 , 'type_of' => 9 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
270 => [ 'name' => 'Духи Льда' , 'act' => 2 , 'type_of' => 5 , 'type_sec' => 5 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
280 => [ 'name' => 'Хватка Льда' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
281 => [ 'name' => 'Жертва Воде' , 'act' => 2 , 'type_of' => 5 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
282 => [ 'name' => 'Ледяное Спасение' , 'act' => 2 , 'type_of' => 5 ],
24 => [ 'name' => 'Медитация' , 'act' => 2 , 'type_of' => 0 , 'moment' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
210 => [ 'name' => 'Магический Барьер [4]' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
209 => [ 'name' => 'Магический Барьер [7]' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
208 => [ 'name' => 'Магический Барьер [8]' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
207 => [ 'name' => 'Магический Барьер [9]' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
206 => [ 'name' => 'Магический Барьер [10]' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
284 => [ 'name' => 'Магический Барьер [11]' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
175 => [ 'name' => 'Магический Барьер [7]' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
176 => [ 'name' => 'Магический Барьер [8]' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
177 => [ 'name' => 'Магический Барьер [9]' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
178 => [ 'name' => 'Магический Барьер [10]' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
179 => [ 'name' => 'Магический Барьер [11]' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
42 => [ 'name' => 'Метеорит [6]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
121 => [ 'name' => 'Метеорит [7]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
122 => [ 'name' => 'Метеорит [8]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
123 => [ 'name' => 'Метеорит [9]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
124 => [ 'name' => 'Метеорит [10]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
125 => [ 'name' => 'Метеорит [11]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
249 => [ 'name' => 'Каменный Щит' , 'act' => 2 , 'type_of' => 4 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
248 => [ 'name' => 'Песчаный Щит' , 'act' => 2 , 'type_of' => 4 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
251 => [ 'name' => 'Заземление: Плюс' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
252 => [ 'name' => 'Заземление: Минус' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
273 => [ 'name' => 'Туманный Образ [10]' , 'act' => 1 , 'type_of' => 4 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
286 => [ 'name' => 'Туманный Образ [9]' , 'act' => 1 , 'type_of' => 4 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
287 => [ 'name' => 'Туманный Образ [8]' , 'act' => 1 , 'type_of' => 4 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
288 => [ 'name' => 'Туманный Образ [7]' , 'act' => 1 , 'type_of' => 4 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
255 => [ 'name' => 'Воздушный Щит' , 'act' => 2 , 'type_of' => 8 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
337 => [ 'name' => 'Выпить Душу' , 'act' => 2 , 'type_of' => 5 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
33 => [ 'name' => 'Пожирающее Пламя [6]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
56 => [ 'name' => 'Пожирающее Пламя [7]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
57 => [ 'name' => 'Пожирающее Пламя [8]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
58 => [ 'name' => 'Пожирающее Пламя [9]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
59 => [ 'name' => 'Пожирающее Пламя [10]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
60 => [ 'name' => 'Пожирающее Пламя [11]' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
245 => [ 'name' => 'Огненный Щит' , 'act' => 2 , 'type_of' => 9 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
327 => [ 'name' => 'Живая Вода' , 'act' => 2 , 'type_of' => 0 , 'moment' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
328 => [ 'name' => 'Сушеный Мухомор' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
329 => [ 'name' => 'Мешочек Пыли' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
330 => [ 'name' => 'Отвар когтей ПГ' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
331 => [ 'name' => 'Отвар Василиска' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
332 => [ 'name' => 'Точильный Камень' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
333 => [ 'name' => 'Волшебный Эликсир' , 'act' => 2 , 'type_of' => 0 , 'moment' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
334 => [ 'name' => 'Цепь Защитника' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
335 => [
2023-01-10 16:29:32 +00:00
'name' => 'Эликсир Безумного Критовика' ,
2022-12-19 20:22:19 +00:00
'act' => 2 ,
'type_of' => 0 ,
'moment' => 0 ,
'moment_end' => 3 ,
]
,
2023-01-10 16:29:32 +00:00
299 => [ 'name' => 'Ядовитые язвы' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
300 => [ 'name' => 'Элементарный заряд' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
301 => [ 'name' => 'Темное ранение' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
302 => [ 'name' => 'Подлечиться' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
303 => [ 'name' => 'Шкура поглощения' , 'act' => 2 , 'type_of' => 4 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
304 => [ 'name' => 'Особенное проклятье!' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ]
2022-12-19 20:22:19 +00:00
,
2023-01-10 16:29:32 +00:00
305 => [ 'name' => 'Кровожадность' , 'act' => 2 , 'type_of' => 0 , 'moment' => 0 , 'moment_end' => 3 ],
2022-12-19 20:22:19 +00:00
];
2023-01-10 16:29:32 +00:00
//Сохраняем лог в архик
2022-12-19 20:22:19 +00:00
public function saveLogs ( $id , $type )
{
if ( $type == 'all' ) {
$type = '' ;
2022-12-30 19:03:37 +00:00
mysql_query (
'INSERT INTO `battle_logs_save` SELECT `id`,`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type` FROM `battle_logs` WHERE `battle` = "' . $this -> info [ 'id' ] . '" AND `id_hod` <= ' . ( $this -> hodID ) . ''
);
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
mysql_query (
'INSERT INTO `battle_logs_save` SELECT `id`,`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type` FROM `battle_logs` WHERE `battle` = "' . $this -> info [ 'id' ] . '" AND `id_hod` <= ' . ( $this -> hodID - 5 ) . ''
);
2022-12-19 20:22:19 +00:00
}
mysql_query ( 'DELETE FROM `battle_logs` WHERE `battle` = "' . $this -> info [ 'id' ] . '" ' . $type . '' );
mysql_query ( 'DELETE FROM `battle_stat` WHERE `battle` < "' . ( $this -> info [ 'id' ] - 100 ) . '" ' );
mysql_query ( 'DELETE FROM `battle_actions` WHERE `btl` = "' . $this -> info [ 'id' ] . '" ' );
}
public function hphe ( $uid , $hp , $false_t7 = false )
{
global $u ;
if ( ! isset ( $this -> stats [ $this -> uids [ $uid ]])) {
2023-01-10 16:29:32 +00:00
echo 'WARNING! ОШИБКА! ПОТЕРЯНА ПЕРЕМЕННАЯ ЗДОРОВЬЯ ПЕРСОНАЖА!' ;
2022-12-19 20:22:19 +00:00
} else {
$hpnow = floor ( $this -> stats [ $this -> uids [ $uid ]][ 'hpNow' ]);
$hpall = $this -> stats [ $this -> uids [ $uid ]][ 'hpAll' ];
if ( $hp > 0 ) {
2023-01-10 16:29:32 +00:00
//Хиляем
2022-12-19 20:22:19 +00:00
if ( $hpnow + $hp > $hpall ) {
$hpli = $hpnow + $hp - $hpall ;
$hp -= $hpli ;
}
if ( isset ( $this -> stats [ $this -> uids [ $uid ]][ 'min_heal_proc' ]) && $this -> stats [ $this -> uids [ $uid ]][ 'min_heal_proc' ] < - 99 ) {
$hp = 0 ;
} else {
$hp = $hp / 100 * ( 100 + $this -> stats [ $this -> uids [ $uid ]][ 'min_heal_proc' ]);
}
2023-01-10 16:29:32 +00:00
//Отнимаем тактику
2022-12-30 19:03:37 +00:00
if ( ! $false_t7 ) {
2022-12-19 20:22:19 +00:00
if ( $this -> users [ $this -> uids [ $uid ]][ 'tactic7' ] <= 0 ) {
$hp = 0 ;
$this -> users [ $this -> uids [ $uid ]][ 'tactic7' ] = 0 ;
$this -> stats [ $this -> uids [ $uid ]][ 'tactic7' ] = $this -> users [ $this -> uids [ $uid ]][ 'tactic7' ];
} else {
$gdhh = round ( $hp / $this -> stats [ $this -> uids [ $uid ]][ 'hpAll' ] * 10 , 2 );
if ( $gdhh == 0 ) {
$gdhh = 0.01 ;
}
$gdhd = round ( $this -> users [ $this -> uids [ $uid ]][ 'tactic7' ] / $gdhh * 100 );
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $uid ]][ 'tactic7' ] = round (
( $this -> users [ $this -> uids [ $uid ]][ 'tactic7' ] - $gdhh ),
2
);
2022-12-19 20:22:19 +00:00
if ( $this -> users [ $this -> uids [ $uid ]][ 'tactic7' ] < 0 ) {
$this -> users [ $this -> uids [ $uid ]][ 'tactic7' ] = 0 ;
}
$this -> stats [ $this -> uids [ $uid ]][ 'tactic7' ] = $this -> users [ $this -> uids [ $uid ]][ 'tactic7' ];
if ( $gdhd < 100 ) {
$hp = floor ( $hp / 100 * $gdhd );
}
}
}
} elseif ( $hp < 0 ) {
2023-01-10 16:29:32 +00:00
//Отнимаемф
2022-12-19 20:22:19 +00:00
if ( $hpnow + $hp < 0 ) {
$hpli = $hpnow + $hp ;
$hp += - ( $hpli );
}
}
if ( $this -> stats [ $this -> uids [ $uid ]][ 'hpNow' ] < 1 ) {
$hp = 0 ;
}
$this -> stats [ $this -> uids [ $uid ]][ 'last_hp' ] = - $hp ;
2022-12-30 19:03:37 +00:00
mysql_query (
' UPDATE `stats` SET
2022-12-19 20:22:19 +00:00
`last_hp` = " ' . $this->users [ $this->uids [ $uid ]]['last_hp'] . ' " ,
`tactic7` = " ' . $this->users [ $this->uids [ $uid ]]['tactic7'] . ' "
2022-12-30 19:03:37 +00:00
WHERE `id` = " ' . $uid . ' " LIMIT 1 '
);
2022-12-19 20:22:19 +00:00
}
return floor ( $hp );
}
2022-12-30 19:03:37 +00:00
public function deleffm ( int $pid , int $uid , int $id )
2022-12-19 20:22:19 +00:00
{
if ( $id > 0 ) {
2022-12-30 19:03:37 +00:00
if ( ! mysql_query ( 'DELETE FROM `eff_users` WHERE `id` = ' . $id . ' AND `v1` = "priem" AND `v2` != 0' )) {
2023-01-10 16:29:32 +00:00
echo '[*Ошибка удаления прием[' . $id . ',' . $pid . ',' . $uid . ']]' ;
2022-12-19 20:22:19 +00:00
}
} else {
2022-12-30 19:03:37 +00:00
mysql_query ( 'DELETE FROM `eff_users` WHERE `uid` = ' . $uid . ' AND `v1` = "priem" AND `v2` = ' . $pid );
2022-12-19 20:22:19 +00:00
}
}
2023-01-10 16:29:32 +00:00
public $cached = false ; //Кэширование данных
public $expCoef = 0 ; # % опыта в бою
public $aBexp = 0 ; //Добавочный опыт в боях
public $mainStatus = 1 ; //Отображаем главное окно (1 - можно бить, 2 - ожидаем ход противника, 3 - Проиграли. Ожидаем завершения поединка)
public $info = []; //Информация о поединке
public $users = []; //Информация о пользователях в этом бою
public $stats = []; //Информация о статах пользователей в этом бою
public $uids = []; //Список пользователей и их id в stats или users пример id пользователя = 555 , то $uids[555] выдаст е г о порядковый номер в массиве users \ stats
public $atacks = []; //Список ударов в этом бою (действующих)
public $ga = []; //Список uid кто нанес удар и по кому $ga[ {id кто ударил} ][ {id кого ударил} ]
public $ag = []; //Список uid кто нанес удар и по кому $ga[ {id кого ударили} ][ {id кто ударил} ]
public $na = 1 ; //возможность использовать удар
public $np = 1 ; //возможность использовать приемы
public $nm = 1 ; //возможность использовать заклятия
2022-12-30 19:03:37 +00:00
public $hodID = 0 ;
public $stnZbVs = 0 ;
2023-01-10 16:29:32 +00:00
public $bots = []; // ID ботов
public $iBots = []; // i бота
2022-12-30 19:03:37 +00:00
public $stnZb = [];
public array $uAtc = [
2022-12-19 20:22:19 +00:00
'id' => 0 ,
'a' => [ 1 => 0 , 2 => 0 , 3 => 0 , 4 => 0 , 5 => 0 ],
'b' => 0 ,
2023-01-10 16:29:32 +00:00
]; //Если игрок нанес удар
2022-12-30 19:03:37 +00:00
public array $lg_itm = [
2022-12-19 20:22:19 +00:00
0 => [
2023-01-10 16:29:32 +00:00
'грудью' ,
'ребром руки' ,
'лбом' ,
'кулаком' ,
'ногой' ,
'левой ногой' ,
'правой ногой' ,
'коленом' ,
2022-12-19 20:22:19 +00:00
],
2023-01-10 16:29:32 +00:00
1 => [ 'ножом' , 'тыльной стороной лезвия ножа' , 'рукоятью ножа' , 'лезвием ножа' ],
2 => [ 'сучковатой палкой' , 'поленом' , 'тяжелой дубиной' , 'дубиной' , 'рукоятью молота' ],
3 => [ 'секирой' , 'топором' , 'лезвием секиры' , 'алебардой' , 'тяжелым держаком' , 'длинной секирой' ],
2022-12-19 20:22:19 +00:00
4 => [
2023-01-10 16:29:32 +00:00
'ножнами' ,
'гардой' ,
'мечом' ,
'лезвием меча' ,
'рукоятью меча' ,
'тупым лезвием' ,
'острой стороной меча' ,
'огромным мечом' ,
2022-12-19 20:22:19 +00:00
],
2023-01-10 16:29:32 +00:00
5 => [ 'сучковатой палкой' , 'посохом' , 'тяжелой тростью' , 'корявым посохом' , 'основанием посоха' ],
22 => [ 'костылем' ],
]; // Чем лупили
2022-12-30 19:03:37 +00:00
public array $lg_zon = [
2022-12-19 20:22:19 +00:00
1 => [
2023-01-10 16:29:32 +00:00
'в нос' ,
'в глаз' ,
'в челюсть' ,
'по переносице' ,
'в кадык' ,
'по затылку' ,
'в правый глаз' ,
'в левый глаз' ,
'в скулу' ,
2022-12-19 20:22:19 +00:00
],
2023-01-10 16:29:32 +00:00
2 => [ 'в грудь' , 'в корпус' , 'в солнечное сплетение' , 'в сердце' , 'в область лопаток' ],
3 => [ 'в бок' , 'по желудку' , 'по левой руке' , 'по правой руке' ],
4 => [ 'по <вырезано цензурой>' , 'в пах' , 'в промежность' , 'по левой ягодице' , 'по правой ягодице' ],
5 => [ 'по ногам' , 'в область правой пятки' , 'в область левой пятки' , 'по коленной чашечке' , 'по икрам' ],
]; // Куда лупили
public $e ; //Ошибка (текст)
2022-12-30 19:03:37 +00:00
public $is = [];
public $items = [];
2023-01-10 16:29:32 +00:00
//Очистка кэша для ...
2022-12-30 19:03:37 +00:00
public $uclearc = [];
public $ucleari = [];
2022-12-19 20:22:19 +00:00
public function clear_cache ( $uid )
{
if ( $uid > 0 && ! isset ( $this -> uclearc [ $uid ])) {
$this -> uclearc [ $uid ] = true ;
$this -> ucleari [] = $uid ;
}
}
public function clear_cache_start ()
{
$i = 0 ;
while ( $i < count ( $this -> ucleari )) {
2022-12-30 19:03:37 +00:00
mysql_query (
'DELETE FROM `battle_cache` WHERE `uid` = "' . mysql_real_escape_string ( $this -> ucleari [ $i ]) . '"'
);
2022-12-19 20:22:19 +00:00
$i ++ ;
}
}
2023-01-10 16:29:32 +00:00
//Проверка урон приемов над защитными
2022-12-19 20:22:19 +00:00
public function testYronPriemAttack ( $pid , $u1 , $u2 , $hp )
{
2023-01-10 16:29:32 +00:00
//Игрок 1 бьет по Игроку 2 при помощи приема № pid на hp ед. здоровья
2022-12-19 20:22:19 +00:00
/*
2023-01-10 16:29:32 +00:00
Полная защита
2022-12-19 20:22:19 +00:00
*/
2023-01-10 16:29:32 +00:00
//Получаем приемы и смотрим когда какой действует
2022-12-19 20:22:19 +00:00
$eff = $this -> stats [ $this -> uids [ $u2 ]][ 'effects' ];
$j = 0 ;
while ( $j <= count ( $eff )) {
if ( isset ( $eff [ $j ]) && $eff [ $j ][ 'id_eff' ] == 22 && $eff [ $j ][ 'v1' ] == 'priem' && $eff [ $j ][ 'v2' ] > 0 ) {
2023-01-10 16:29:32 +00:00
// id прием $eff[$j]['v2']
2022-12-19 20:22:19 +00:00
if ( $eff [ $j ][ 'v2' ] == 140 || $eff [ $j ][ 'v2' ] == 211 || $eff [ $j ][ 'v2' ] == 45 ) { //|| $eff[$j]['v2'] == 45
2023-01-10 16:29:32 +00:00
//Приемы от которых урон = 1 , то есть выдаем 0
2022-12-19 20:22:19 +00:00
$hp [ 'y' ] = - 1 ;
$hp [ 'r' ] = 1 ;
$hp [ 'k' ] = 2 ;
$hp [ 'm_y' ] = 1 ;
$hp [ 'm_k' ] = 2 ;
}
}
$j ++ ;
}
unset ( $eff );
return $hp ;
}
2023-01-10 16:29:32 +00:00
//Расчет маг.крита
2022-12-19 20:22:19 +00:00
public function magKrit ( $l2 , $t )
{
$r = 0 ;
$r = $l2 * 2 - 7 ;
if ( $r > $t ) {
2023-01-10 16:29:32 +00:00
//магический промах (серый удар, в 2 раза меньше) 6%
//250 ед. защиты от магии дает 1% шанса увернуться от магии
//$r = -1; , промах --
2022-12-19 20:22:19 +00:00
$r = 0 ;
} else {
2023-01-10 16:29:32 +00:00
//каждая владелка дает 3% шанс крита
2022-12-19 20:22:19 +00:00
$r = ceil ( $t * 0.75 );
if ( $r > 30 ) {
$r = 30 ;
}
if ( rand ( 0 , 10000 ) < $r * 100 ) {
2023-01-10 16:29:32 +00:00
//крит удар
2022-12-19 20:22:19 +00:00
$r = 1 ;
} else {
$r = 0 ;
}
}
return $r ;
}
2023-01-10 16:29:32 +00:00
//Расчет опыта
2022-12-19 20:22:19 +00:00
public function testExp ( $y , $s1 , $s2 , $id1 , $id2 )
{
global $u , $c ;
2023-01-10 16:29:32 +00:00
//Т У Т таблица умножения оыта
$oplevel = [ // Максимум для каждого уровня.
2022-12-19 20:22:19 +00:00
0 => 1 ,
1 => 1 ,
2 => 1 ,
3 => 1 ,
4 => 2 ,
5 => 2 ,
6 => 2 ,
7 => 2 ,
8 => 3 ,
9 => 4 ,
10 => 5 ,
11 => 6 ,
12 => 7 ,
13 => 50 ,
14 => 75 ,
];
if ( $y < 0 ) {
$y = 0 ;
}
if ( $s2 [ 'hpNow' ] < 0 ) {
$y = 0 ;
}
if ( $s2 [ 'hpNow' ] < $y ) {
$y = $s2 [ 'hpNow' ];
}
2022-12-30 19:03:37 +00:00
if ( $y < 0 ) {
2022-12-19 20:22:19 +00:00
$y = 0 ;
}
$addExp = 0 + ( $y * $oplevel [ $this -> users [ $this -> uids [ $s2 [ 'id' ]]][ 'level' ]]);
if ( $s2 [ 'hpAll' ] - $y <= 0 ) {
$addExp = 100 ;
}
if ( $addExp < 0 ) {
$addExp = 0 ;
}
if ( $s2 [ 'levels' ] != 'undefined' && $this -> users [ $this -> uids [ $s2 [ 'id' ]]][ 'pass' ] != 'saintlucia' ) {
if ( $doexp < 0 ) {
$doexp = 0 ;
}
if ( $this -> info [ 'razdel' ] != 5 && $c [ 'exp_limit_many' ] == true ) {
2022-12-30 19:03:37 +00:00
$texp = mysql_fetch_array (
mysql_query (
'SELECT COUNT(`a`.`id`) FROM `battle_users` AS `a` WHERE `a`.`uid` = "' . $id1 . '" AND `a`.`battle` IN ( SELECT `b`.`battle` FROM `battle_users` AS `b` WHERE `b`.`uid` = "' . $id2 . '" AND `b`.`team` != `a`.`team` AND `b`.`time` > "' . ( time (
) - 86400 ) . '" ) LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
$texp = $texp [ 0 ];
//
if ( $texp > 5 ) {
$addExp = $addExp * 0.00 ;
} elseif ( $texp > 4 ) {
$addExp = $addExp * 0.50 ;
} elseif ( $texp > 3 ) {
$addExp = $addExp * 0.75 ;
} elseif ( $texp > 2 ) {
$addExp = $addExp * 1.00 ;
} elseif ( $texp > 1 ) {
$addExp = $addExp * 1.00 ;
} else {
$addExp = $addExp * 1.00 ;
}
}
unset ( $doexp );
} else {
$addExp = 0 ;
}
return $addExp ;
}
2023-01-10 16:29:32 +00:00
//Добавляем опыт \ нанесенный урон
2022-12-19 20:22:19 +00:00
public function takeExp ( $id , $y , $id1 , $id2 , $mgregen = false , $nobattle_uron = false )
{
global $u ;
if ( isset ( $this -> users [ $this -> uids [ $id ]])) {
$s1 = $this -> stats [ $this -> uids [ $id1 ]];
$s2 = $this -> stats [ $this -> uids [ $id2 ]];
if ( $id1 != $id2 ) {
$e = $this -> testExp ( $y , $s1 , $s2 , $id1 , $id2 );
} else {
$e = 0 ;
}
if (( int ) $this -> users [ $this -> uids [ $id1 ]][ 'bot_id' ] == 0 && $this -> users [ $this -> uids [ $id1 ]][ 'dnow' ] != 0 && $this -> info [ 'dungeon' ] != 1 ) {
2023-01-10 16:29:32 +00:00
$dun_limitForLevel = [ // Максимум для каждого уровня.
2022-12-19 20:22:19 +00:00
4 => 750 ,
5 => 1500 ,
6 => 3500 ,
7 => 8000 ,
8 => 25000 ,
9 => 50000 ,
10 => 75000 ,
11 => 125000 ,
12 => 250000 ,
13 => 500000 ,
14 => 750000 ,
];
2023-01-10 16:29:32 +00:00
$dun_expFactor = [ // Максимум для каждого уровня.
2022-12-19 20:22:19 +00:00
4 => 5 ,
5 => 5 ,
6 => 5 ,
7 => 5 ,
8 => 5 ,
9 => 3 ,
10 => 1 ,
11 => 1 ,
12 => 1 ,
13 => 1 ,
14 => 1 ,
];
if ( isset ( $dun_expFactor [( int ) $this -> users [ $this -> uids [ $id1 ]][ 'level' ]])) {
$e = $e * $dun_expFactor [( int ) $this -> users [ $this -> uids [ $id1 ]][ 'level' ]];
}
2023-01-10 16:29:32 +00:00
if ( $this -> info [ 'dungeon' ] > 1 && $this -> users [ $this -> uids [ $id1 ]][ 'battle' ] > 0 ) { // пещерный лимит
$dun_exp = []; // Текущий лимит опыта игрока в подземельях.
2022-12-30 19:03:37 +00:00
$rep = mysql_fetch_array (
mysql_query (
'SELECT `dungeonexp`,`id` FROM `rep` WHERE `id` = "' . $this -> users [ $this -> uids [ $id1 ]][ 'id' ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
$rep = explode ( ',' , $rep [ 'dungeonexp' ]);
foreach ( $rep as $key => $val ) {
$val = explode ( '=' , $val );
if ( isset ( $val [ 0 ]) && isset ( $val [ 1 ]) && $val [ 0 ] != '' && $val [ 1 ] != 0 ) {
$dun_exp [( int ) $val [ 0 ]] = ( int ) $val [ 1 ];
2023-01-10 16:29:32 +00:00
} // текущий лимит опыта в подземке
2022-12-19 20:22:19 +00:00
}
unset ( $rep );
if ( ! isset ( $dun_exp [ $this -> info [ 'dungeon' ]])) {
$dun_exp [ $this -> info [ 'dungeon' ]] = 0 ;
}
2023-01-10 16:29:32 +00:00
if ( ! isset ( $dun_limitForLevel [( int ) $this -> users [ $this -> uids [ $id1 ]][ 'level' ]])) { // Если лимит не задан, опыт не даем.
2022-12-19 20:22:19 +00:00
$e = 0 ;
} elseif (
isset ( $dun_exp [ $this -> info [ 'dungeon' ]]) &&
$dun_exp [ $this -> info [ 'dungeon' ]] >= $dun_limitForLevel [( int ) $this -> users [ $this -> uids [ $id1 ]][ 'level' ]]
2023-01-10 16:29:32 +00:00
) { // Если лимит уже достигнут, опыт не даем.
2022-12-19 20:22:19 +00:00
$e = 0 ;
} elseif (
isset ( $dun_exp [ $this -> info [ 'dungeon' ]]) &&
$dun_limitForLevel [( int ) $this -> users [ $this -> uids [ $id1 ]][ 'level' ]] > $dun_exp [ $this -> info [ 'dungeon' ]]
2023-01-10 16:29:32 +00:00
) { // Если текущая репутация не достигла лимита.
2022-12-19 20:22:19 +00:00
if (( $dun_exp [ $this -> info [ 'dungeon' ]] + $e ) > $dun_limitForLevel [( int ) $this -> users [ $this -> uids [ $id1 ]][ 'level' ]]) {
2023-01-10 16:29:32 +00:00
// Если опыта набрано достаточно, для достижения лимита.
2022-12-30 19:03:37 +00:00
$e = abs (
$e - abs (
$dun_limitForLevel [( int ) $this -> users [ $this -> uids [ $id1 ]][ 'level' ]] - ( $e + $dun_exp [ $this -> info [ 'dungeon' ]])
)
);
2022-12-19 20:22:19 +00:00
$dun_exp [ $this -> info [ 'dungeon' ]] += $e ;
} elseif ( $dun_limitForLevel [( int ) $this -> users [ $this -> uids [ $id1 ]][ 'level' ]] > ( $dun_exp [ $this -> info [ 'dungeon' ]] + $e )) {
2023-01-10 16:29:32 +00:00
// Если опыта недостаточно, для достижения лимита.
2022-12-19 20:22:19 +00:00
$e = $e ;
$dun_exp [ $this -> info [ 'dungeon' ]] += $e ;
} else {
$e = 0 ;
}
2023-01-10 16:29:32 +00:00
} else { // В любой непонятной ситуцаии.
2022-12-19 20:22:19 +00:00
$e = 0 ;
}
2022-12-30 19:03:37 +00:00
}
2023-01-10 16:29:32 +00:00
// Опыт в пещерах.
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'dungeon' ] == 102 ) {
2022-12-19 20:22:19 +00:00
$e = floor ( $e * 0.002 );
}
}
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $id1 ]][ 'battle_exp' ] += floor ( $e );
if ( ! $mgregen && ! $nobattle_uron ) {
2022-12-19 20:22:19 +00:00
$this -> users [ $this -> uids [ $id1 ]][ 'battle_yron' ] += floor ( $y );
if ( $this -> stats [ $this -> uids [ $id1 ]][ 'notactic' ] != 1 ) {
if ( $s2 [ 'hpAll' ] <= 1000 ) {
if ( $this -> stats [ $this -> uids [ $id2 ]][ 'this_animal' ] == 0 ) {
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $id1 ]][ 'tactic6' ] += round (
0.1 * ( floor ( $y ) / $s2 [ 'hpAll' ] * 100 ),
10
);
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $id1 ]][ 'tactic6' ] += round (
0.1 * ( floor ( $y ) / $s2 [ 'hpAll' ] * 100 ),
10
) / 3 ;
2022-12-19 20:22:19 +00:00
}
} else {
if ( $this -> stats [ $this -> uids [ $id2 ]][ 'this_animal' ] == 0 ) {
$this -> users [ $this -> uids [ $id1 ]][ 'tactic6' ] += round ( 0.1 * ( floor ( $y ) / 1000 * 100 ), 10 );
} else {
$this -> users [ $this -> uids [ $id1 ]][ 'tactic6' ] += round ( 0.1 * ( floor ( $y ) / 1000 * 100 ), 10 ) / 3 ;
}
}
}
}
2022-12-30 19:03:37 +00:00
$upd = mysql_query (
'UPDATE `stats` SET `last_hp` = "' . $this -> users [ $this -> uids [ $id1 ]][ 'last_hp' ] . '",`tactic6` = "' . $this -> users [ $this -> uids [ $id1 ]][ 'tactic6' ] . '",`battle_yron` = "' . $this -> users [ $this -> uids [ $id1 ]][ 'battle_yron' ] . '",`battle_exp` = "' . $this -> users [ $this -> uids [ $id1 ]][ 'battle_exp' ] . '" WHERE `id` = "' . (( int ) $id1 ) . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
if ( ! $upd ) {
2023-01-10 16:29:32 +00:00
echo '[не удача при использовании приема]' ;
2022-12-19 20:22:19 +00:00
} else {
$this -> stats [ $this -> uids [ $id1 ]][ 'battle_exp' ] = $this -> users [ $this -> uids [ $id1 ]][ 'battle_exp' ];
$this -> clear_cache ( $id1 );
$this -> stats [ $this -> uids [ $id1 ]][ 'tactic6' ] = $this -> users [ $this -> uids [ $id1 ]][ 'tactic6' ];
if ( $id1 == $u -> info [ 'id' ]) {
$u -> info [ 'tactic6' ] = $this -> users [ $this -> uids [ $id1 ]][ 'tactic6' ];
$u -> stats [ 'tactic6' ] = $this -> users [ $this -> uids [ $id1 ]][ 'tactic6' ];
$u -> info [ 'battle_exp' ] = $this -> users [ $this -> uids [ $id1 ]][ 'battle_exp' ];
$u -> info [ 'battle_yron' ] = $this -> users [ $this -> uids [ $id1 ]][ 'battle_yron' ];
$u -> info [ 'notactic' ] = $this -> users [ $this -> uids [ $id1 ]][ 'notactic' ];
$u -> stats [ 'notactic' ] = $this -> users [ $this -> uids [ $id1 ]][ 'notactic' ];
}
}
unset ( $s1 , $s2 );
}
}
2023-01-10 16:29:32 +00:00
//Добавляем нанесенный урон
2022-12-19 20:22:19 +00:00
public function takeYronNow ( $uid , $y )
{
global $u ;
if ( ! is_numeric ( $y ) || ! is_numeric ( $uid )) {
return ;
}
( int ) $y = floor ( $y );
$this -> users [ $this -> uids [ $uid ]][ 'battle_yron' ] += $y ;
$this -> stats [ $this -> uids [ $uid ]][ 'battle_yron' ] += $y ;
if ( $uid == $u -> info [ 'id' ]) {
$u -> info [ 'battle_yron' ] += $y ;
$u -> stats [ 'battle_yron' ] += $y ;
}
mysql_query ( " UPDATE stats SET battle_yron = battle_yron + $y WHERE id = " . $uid );
}
2023-01-10 16:29:32 +00:00
//JS информация о игроке
2022-12-19 20:22:19 +00:00
public function myInfo ( $id , $t )
{
global $c , $u ;
if ( isset ( $this -> users [ $this -> uids [ $id ]]) || $u -> info [ 'id' ] == $id ) {
if ( $u -> info [ 'id' ] == $id || ( $u -> info [ 'enemy' ] == $id && $id > 0 )) {
2023-01-10 16:29:32 +00:00
//Всегда обновляем
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $id ]] = mysql_fetch_array (
mysql_query (
' SELECT
2022-12-19 20:22:19 +00:00
`u` . `zag` , `u` . `id` , `u` . `login` , `u` . `login2` , `u` . `online` , `u` . `admin` , `u` . `city` , `u` . `cityreg` , `u` . `align` , `u` . `align_lvl` , `u` . `align_exp` , `u` . `clan` ,
`u` . `level` , `u` . `money` , `u` . `money3` , `u` . `money2` , `u` . `money4` , `u` . `battle` , `u` . `sex` , `u` . `obraz` , `u` . `win` , `u` . `win_t` ,
`u` . `lose` , `u` . `lose_t` , `u` . `nich` , `u` . `timeMain` , `u` . `invis` , `u` . `bot_id` , `u` . `animal` , `u` . `type_pers` ,
2023-01-06 14:57:25 +00:00
`u` . `notrhod` , `u` . `bot_room` , `u` . `inUser` , `u` . `inTurnir` , `u` . `inTurnirnew` , `u` . `stopexp` , `u` . `real` ,
2022-12-19 20:22:19 +00:00
`st` .*
2022-12-30 19:03:37 +00:00
FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON ( `u` . `id` = `st` . `id` ) WHERE `u` . `id` = " ' . $id . ' " LIMIT 1 '
)
);
2022-12-19 20:22:19 +00:00
$this -> stats [ $this -> uids [ $id ]] = $u -> getStats ( $this -> users [ $this -> uids [ $id ]], 0 , 0 , false , false , true );
$this -> stats [ $this -> uids [ $id ]][ 'items' ] = $this -> stats [ $this -> uids [ $id ]][ 'items' ];
$this -> stats [ $this -> uids [ $id ]][ 'effects' ] = $this -> stats [ $this -> uids [ $id ]][ 'effects' ];
}
$ur = $this -> users [ $this -> uids [ $id ]];
$st = $this -> stats [ $this -> uids [ $id ]];
$itm = $this -> stats [ $this -> uids [ $id ]][ 'items' ];
$eff = $this -> stats [ $this -> uids [ $id ]][ 'effects' ];
$ef = '' ;
$i = 0 ;
if ( $u -> info [ 'seff' ] < 1 ) {
2023-01-10 16:29:32 +00:00
$ef .= '<div class=\"pimg\" pog=\"0\" col=\"0\" stl=\"0\" stt=\"Свернуть\"><img src=\"https://img.new-combats.com/i/eff/effs_hide.gif\"/ onclick=\"top.useMagicBattle(\'Свернуть\',7777,\'effs_show.gif\',1,2);\" onmouseover=\"top.hi(this,\'<strong>Свернуть</strong>\',event,3,1,1,1,\'\');\" onmouseout=\"top.hic();\" onmousedown=\"top.hic();\"></div>' ;
2022-12-19 20:22:19 +00:00
while ( $i != - 1 ) {
$nseef = 0 ;
if ( $this -> users [ $this -> uids [ $ur [ 'id' ]]][ 'id' ] != $u -> info [ 'id' ] && $ur [ 'id' ] != 0 ) {
if ( $this -> stats [ $this -> uids [ $ur [ 'id' ]]][ 'seeAllEff' ] != 1 ) {
$nseef = 1 ;
if ( $eff [ $i ][ 'v1' ] == 'priem' ) {
2022-12-30 19:03:37 +00:00
$eff [ $i ][ 'priem' ] = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `priems` WHERE `id` = "' . $eff [ $i ][ 'v2' ] . '" LIMIT 1' )
);
2022-12-19 20:22:19 +00:00
}
if ( isset ( $eff [ $i ][ 'priem' ][ 'id' ]) && $eff [ $i ][ 'priem' ][ 'neg' ] == 1 ) {
$nseef = 0 ;
}
}
}
if ( isset ( $eff [ $i ]) && $eff [ $i ] != 'delete' ) {
if ( $nseef == 0 ) {
$ei = '<strong><u>' . $eff [ $i ][ 'name' ] . '</u></strong>' ;
if ( $eff [ $i ][ 'x' ] > 1 ) {
$ei .= ' x' . $eff [ $i ][ 'x' ] . ' ' ;
}
if ( $eff [ $i ][ 'type1' ] > 0 && $eff [ $i ][ 'type1' ] < 7 ) {
2023-01-10 16:29:32 +00:00
$ei .= ' (Эликсир)' ;
2022-12-19 20:22:19 +00:00
} elseif (( $eff [ $i ][ 'type1' ] > 6 && $eff [ $i ][ 'type1' ] < 11 ) || $eff [ $i ][ 'type1' ] == 16 ) {
2023-01-10 16:29:32 +00:00
$ei .= ' (Заклятие)' ;
2022-12-19 20:22:19 +00:00
} elseif ( $eff [ $i ][ 'type1' ] == 14 ) {
2023-01-10 16:29:32 +00:00
$ei .= ' (Прием)' ;
2022-12-19 20:22:19 +00:00
} elseif ( $eff [ $i ][ 'type1' ] == 15 ) {
2023-01-10 16:29:32 +00:00
$ei .= ' (Изучение)' ;
2022-12-19 20:22:19 +00:00
} elseif ( $eff [ $i ][ 'type1' ] == 17 ) {
2023-01-10 16:29:32 +00:00
$ei .= ' (Проклятие)' ;
2022-12-19 20:22:19 +00:00
} elseif ( $eff [ $i ][ 'type1' ] == 18 || $eff [ $i ][ 'type1' ] == 19 ) {
2023-01-10 16:29:32 +00:00
$ei .= ' (Травма)' ;
2022-12-19 20:22:19 +00:00
} elseif ( $eff [ $i ][ 'type1' ] == 20 ) {
2023-01-10 16:29:32 +00:00
$ei .= ' (Пристрастие)' ;
2022-12-19 20:22:19 +00:00
} elseif ( $eff [ $i ][ 'type1' ] == 22 ) {
2023-01-10 16:29:32 +00:00
$ei .= ' (Ожидание)' ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$ei .= ' (Эффект)' ;
2022-12-19 20:22:19 +00:00
}
$ei .= '<br>' ;
$out = '' ;
$time_still = ( $eff [ $i ][ 'timeUse' ] + ( $eff [ $i ][ 'timeAce' ] - $eff [ $i ][ 'timeUse' ]) + $eff [ $i ][ 'actionTime' ]);
if ( $eff [ $i ][ 'timeAce' ] == 0 ) {
$time_still += $eff [ $i ][ 'timeUse' ];
}
$time_still -= time ();
if ( $eff [ $i ][ 'bp' ] == 0 && $eff [ $i ][ 'timeUse' ] != 77 ) {
if ( $eff [ $i ][ 'type1' ] != 13 ) {
2023-01-10 16:29:32 +00:00
$ei .= 'Осталось: ' . $u -> timeOut ( $time_still ) . '' ;
2022-12-19 20:22:19 +00:00
}
} else {
if ( $eff [ $i ][ 'timeUse' ] != 77 && $eff [ $i ][ 'hod' ] < 1 ) {
2023-01-10 16:29:32 +00:00
$ei .= 'Осталось: ' . $u -> timeOut ( $time_still ) . '' ;
//$ei .= 'Зарядов: '.$out.'<br>';
2022-12-19 20:22:19 +00:00
} elseif ( $eff [ $i ][ 'hod' ] >= 0 ) {
2023-01-10 16:29:32 +00:00
$ei .= 'Зарядов: ' . $eff [ $i ][ 'hod' ] . '' ;
2022-12-19 20:22:19 +00:00
}
}
if ( $eff [ $i ][ 'user_use' ] != '' ) {
if ( $this -> users [ $this -> uids [ $eff [ $i ][ 'user_use' ]]][ 'login2' ] != '' ) {
2023-01-10 16:29:32 +00:00
$ei .= '<br>Автор: <strong>' . $this -> users [ $this -> uids [ $eff [ $i ][ 'user_use' ]]][ 'login2' ] . '</strong>' ;
2022-12-19 20:22:19 +00:00
} elseif ( $this -> users [ $this -> uids [ $eff [ $i ][ 'user_use' ]]][ 'login' ] != '' ) {
2023-01-10 16:29:32 +00:00
$ei .= '<br>Автор: <strong>' . $this -> users [ $this -> uids [ $eff [ $i ][ 'user_use' ]]][ 'login' ] . '</strong>' ;
2022-12-19 20:22:19 +00:00
}
}
2023-01-10 16:29:32 +00:00
//Действие эффекта
2022-12-19 20:22:19 +00:00
$tr = '' ;
$ti = $u -> items [ 'add' ];
$x = 0 ;
$ed = $u -> lookStats ( $eff [ $i ][ 'data' ]);
while ( $x < count ( $ti )) {
$n = $ti [ $x ];
if ( isset ( $ed [ 'add_' . $n ], $u -> is [ $n ]) && $n != 'pog' ) {
$z = '' ;
if ( $ed [ 'add_' . $n ] > 0 ) {
$z = '+' ;
}
$tr .= '<br>' . $u -> is [ $n ] . ': ' . $z . '' . $ed [ 'add_' . $n ];
}
$x ++ ;
}
if ( $ed [ 'add_mib1' ] != 0 ) {
if ( $ed [ 'add_mab1' ] != 0 ) {
2023-01-10 16:29:32 +00:00
$tr .= '<br>Броня головы: ' . $ed [ 'add_mib1' ] . '-' . $ed [ 'add_mab1' ] . '' ;
2022-12-19 20:22:19 +00:00
} else {
$m1l = $ed [ 'add_mib1' ];
if ( $m1l > 0 ) {
$m1l = '+' . $m1l ;
}
2023-01-10 16:29:32 +00:00
$tr .= '<br>Броня головы: ' . $m1l . '' ;
2022-12-19 20:22:19 +00:00
}
}
if ( $ed [ 'add_mib2' ] != 0 ) {
if ( $ed [ 'add_mab2' ] != 0 ) {
2023-01-10 16:29:32 +00:00
$tr .= '<br>Броня корпуса: ' . $ed [ 'add_mib2' ] . '-' . $ed [ 'add_mab2' ] . '' ;
2022-12-19 20:22:19 +00:00
} else {
$m1l = $ed [ 'add_mib2' ];
if ( $m1l > 0 ) {
$m1l = '+' . $m1l ;
}
2023-01-10 16:29:32 +00:00
$tr .= '<br>Броня корпуса: ' . $m1l . '' ;
2022-12-19 20:22:19 +00:00
}
}
if ( $ed [ 'add_mib3' ] != 0 ) {
if ( $ed [ 'add_mab3' ] != 0 ) {
2023-01-10 16:29:32 +00:00
$tr .= '<br>Броня пояса: ' . $ed [ 'add_mib3' ] . '-' . $ed [ 'add_mab3' ] . '' ;
2022-12-19 20:22:19 +00:00
} else {
$m1l = $ed [ 'add_mib3' ];
if ( $m1l > 0 ) {
$m1l = '+' . $m1l ;
}
2023-01-10 16:29:32 +00:00
$tr .= '<br>Броня пояса: ' . $m1l . '' ;
2022-12-19 20:22:19 +00:00
}
}
if ( $ed [ 'add_mib4' ] != 0 ) {
if ( $ed [ 'add_mab4' ] != 0 ) {
2023-01-10 16:29:32 +00:00
$tr .= '<br>Броня ног: ' . $ed [ 'add_mib4' ] . '-' . $ed [ 'add_mab4' ] . '' ;
2022-12-19 20:22:19 +00:00
} else {
$m1l = $ed [ 'add_mib4' ];
if ( $m1l > 0 ) {
$m1l = '+' . $m1l ;
}
2023-01-10 16:29:32 +00:00
$tr .= '<br>Броня ног: ' . $m1l . '' ;
2022-12-19 20:22:19 +00:00
}
}
$efix = 0 ;
if ( isset ( $ed [ 'add_pog2' ]) && $ed [ 'add_pog2' ] > 0 ) {
$efix = $ed [ 'add_pog2' ];
}
if ( isset ( $ed [ 'add_pog' ])) {
2023-01-10 16:29:32 +00:00
$tr .= '<br>Магический барьер способен поглотить еще <strong>' . $ed [ 'add_pog' ] . '</strong> ед. урона' ;
2022-12-19 20:22:19 +00:00
}
if ( isset ( $ed [ 'add_pog2' ])) {
2023-01-10 16:29:32 +00:00
$tr .= '<br>Магический барьер способен поглотить еще <strong>' . $ed [ 'add_pog2' ] . '</strong> ед. урона <small>(' . $ed [ 'add_pog2p' ] . '%)</small>' ;
2022-12-19 20:22:19 +00:00
}
if ( $tr != '' ) {
$ei .= $tr ;
}
if ( $eff [ $i ][ 'info' ] != '' ) {
2023-01-10 16:29:32 +00:00
$ei .= '<br><i>Информация:</i><br>' . $eff [ $i ][ 'info' ];
2022-12-19 20:22:19 +00:00
}
$ef .= '<div class=\"pimg\" pog=\"' . $efix . '\" col=\"' . $eff [ $i ][ 'x' ] . '\" stl=\"0\" stt=\"' . $ei . '\"><img src=\"https://img.new-combats.com/i/eff/' . $eff [ $i ][ 'img' ] . '\"/></div>' ;
unset ( $efix );
}
} elseif ( $eff [ $i ] != 'delete' ) {
$i = - 2 ;
}
$i ++ ;
}
} else {
2023-01-10 16:29:32 +00:00
$ef .= '<div class=\"pimg\" pog=\"0\" col=\"0\" stl=\"0\" stt=\"Развернуть\"><img src=\"https://img.new-combats.com/i/eff/effs_show.gif\"/ onclick=\"top.useMagicBattle(\'Развернуть\',5555,\'effs_show.gif\',1,2);\" onmouseover=\"top.hi(this,\'<strong>Развернуть</strong>\',event,3,1,1,1,\'\');\" onmouseout=\"top.hic();\" onmousedown=\"top.hic();\"></div>' ;
2022-12-19 20:22:19 +00:00
}
$ca = '' ;
if ( $ur [ 'clan' ] > 0 ) {
$cl = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `clan` WHERE `id` = "' . $ur [ 'clan' ] . '" LIMIT 1' ));
if ( isset ( $cl [ 'id' ])) {
$ca = '<img src=\"https://img.new-combats.com/i/clan/' . $cl [ 'name_mini' ] . '.gif\" title=\"' . $cl [ 'name' ] . '\">' ;
}
}
if ( $ur [ 'align' ] > 0 ) {
$ca = '<img src=\"https://img.new-combats.com/i/align/align' . $ur [ 'align' ] . '.gif\">' . $ca ;
}
if ( $ur [ 'login2' ] == '' ) {
$ur [ 'login2' ] = $ur [ 'login' ];
}
if ( floor ( $st [ 'hpNow' ]) > $st [ 'hpAll' ]) {
$st [ 'hpNow' ] = $st [ 'hpAll' ];
}
if ( floor ( $st [ 'mpNow' ]) > $st [ 'mpAll' ]) {
$st [ 'mpNow' ] = $st [ 'mpAll' ];
}
$stsua = '<strong>' . $ur [ 'login2' ] . '</strong>' ;
2023-01-10 16:29:32 +00:00
$stsua .= '<br>Сила: ' . $st [ 's1' ];
$stsua .= '<br>Ловкость: ' . $st [ 's2' ];
$stsua .= '<br>Интуиция: ' . $st [ 's3' ];
$stsua .= '<br>Выносливость: ' . $st [ 's4' ];
2022-12-19 20:22:19 +00:00
if ( $st [ 's5' ] != 0 ) {
2023-01-10 16:29:32 +00:00
$stsua .= '<br>Интелект: ' . $st [ 's5' ];
2022-12-19 20:22:19 +00:00
}
if ( $st [ 's6' ] != 0 ) {
2023-01-10 16:29:32 +00:00
$stsua .= '<br>Мудрость: ' . $st [ 's6' ];
2022-12-19 20:22:19 +00:00
}
if ( $st [ 's7' ] != 0 ) {
2023-01-10 16:29:32 +00:00
$stsua .= '<br>Духовность: ' . $st [ 's7' ];
2022-12-19 20:22:19 +00:00
}
if ( $u -> info [ 'admin' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$align = $ur [ 'align' ];
2022-12-19 20:22:19 +00:00
}
$tp_img = [
1 => 4 ,
2 => 5 ,
14 => 6 ,
3 => 7 ,
5 => 8 ,
7 => 9 ,
17 => 10 ,
16 => 11 ,
13 => 12 ,
10 => 13 ,
9 => 14 ,
8 => 15 ,
2023-01-10 16:29:32 +00:00
11 => 17 , //кольцо 2
12 => 18 , //кольцо 3
2022-12-19 20:22:19 +00:00
];
2023-01-10 16:29:32 +00:00
$info = 'info_reflesh(' . $t . ',' . $ur [ 'id' ] . ',"' . $ca . '<a href=\"javascript:void(0)\" onclick=\"top.chat.addto(\'' . $ur [ 'login2' ] . '\',\'to\');return false;\">' . $ur [ 'login2' ] . '</a> [' . $ur [ 'level' ] . ']<a href=\"info/' . $ur [ 'id' ] . '\" target=\"_blank\"><img src=\"https://img.new-combats.com/i/inf_' . $ur [ 'cityreg' ] . '.gif\" title=\"Инф. о ' . $ur [ 'login2' ] . '\"></a> ","' . $ur [ 'obraz' ] . '",' . floor (
2022-12-30 19:03:37 +00:00
$st [ 'hpNow' ]
) . ',' . floor ( $st [ 'hpAll' ]) . ',' . floor ( $st [ 'mpNow' ]) . ',' . floor (
$st [ 'mpAll' ]
) . ',0,' . $ur [ 'sex' ] . ',"' . $ef . '","' . $stsua . '", "' . $align . '", "' . $ur [ 'zag' ] . '");shpb();' ;
2022-12-19 20:22:19 +00:00
$i = 0 ;
2022-12-30 19:03:37 +00:00
if ( is_array ( $itm )) {
while ( $i < count ( $itm )) {
//
if ( isset ( $st [ 'items_img' ][ $tp_img [ $itm [ $i ][ 'inOdet' ]]])) {
$itm [ $i ][ 'img' ] = $st [ 'items_img' ][ $tp_img [ $itm [ $i ][ 'inOdet' ]]];
}
2023-01-10 16:29:32 +00:00
//генерируем предметы
2022-12-30 19:03:37 +00:00
$ttl = '<strong>' . $itm [ $i ][ 'name' ] . '</strong>' ;
$td = $u -> lookStats ( $itm [ $i ][ 'data' ]);
$lvar = '' ;
2022-12-19 20:22:19 +00:00
if ( $td [ 'add_hpAll' ] > 0 ) {
$td [ 'add_hpAll' ] = '+' . $td [ 'add_hpAll' ];
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Уровень жизни: ' . $td [ 'add_hpAll' ] . '' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
if ( $td [ 'sv_yron_max' ] > 0 || $td [ 'sv_yron_min' ] > 0 ) {
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Урон: ' . ( 0 + $td [ 'sv_yron_min' ]) . '-' . ( 0 + $td [ 'sv_yron_max' ]) . '' ;
2022-12-30 19:03:37 +00:00
}
if ( $td [ 'add_mab1' ] > 0 ) {
if ( $td [ 'add_mib1' ] == $td [ 'add_mab1' ] && $pl [ 'geniration' ] == 1 ) {
$m1l = '+' ;
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Броня головы: ' . $m1l . '' . ( 0 + $td [ 'add_mab1' ]) . '' ;
2022-12-30 19:03:37 +00:00
} else {
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Броня головы: ' . ( 0 + $td [ 'add_mib1' ]) . '-' . ( 0 + $td [ 'add_mab1' ]) . '' ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
if ( $td [ 'add_mab2' ] > 0 ) {
if ( $td [ 'add_mib2' ] == $td [ 'add_mab2' ] && $pl [ 'geniration' ] == 1 ) {
$m1l = '+' ;
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Броня корпуса: ' . $m1l . '' . ( 0 + $td [ 'add_mab2' ]) . '' ;
2022-12-30 19:03:37 +00:00
} else {
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Броня корпуса: ' . ( 0 + $td [ 'add_mib2' ]) . '-' . ( 0 + $td [ 'add_mab2' ]) . '' ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
if ( $td [ 'add_mab3' ] > 0 ) {
if ( $td [ 'add_mib3' ] == $td [ 'add_mab3' ] && $pl [ 'geniration' ] == 1 ) {
$m1l = '+' ;
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Броня пояса: ' . $m1l . '' . ( 0 + $td [ 'add_mab3' ]) . '' ;
2022-12-30 19:03:37 +00:00
} else {
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Броня пояса: ' . ( 0 + $td [ 'add_mib3' ]) . '-' . ( 0 + $td [ 'add_mab3' ]) . '' ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
if ( $td [ 'add_mab4' ] > 0 ) {
if ( $td [ 'add_mib4' ] == $td [ 'add_mab4' ] && $pl [ 'geniration' ] == 1 ) {
$m1l = '+' ;
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Броня ног: ' . $m1l . '' . ( 0 + $td [ 'add_mab4' ]) . '' ;
2022-12-30 19:03:37 +00:00
} else {
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Броня ног: ' . ( 0 + $td [ 'add_mib4' ]) . '-' . ( 0 + $td [ 'add_mab4' ]) . '' ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
if ( $itm [ $i ][ 'iznosMAX' ] > 0 ) {
if ( $itm [ $i ][ 'iznosMAXi' ] == 999999999 ) {
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Долговечность: <font color=brown>неразрушимо</font>' ;
2022-12-30 19:03:37 +00:00
} else {
2023-01-10 16:29:32 +00:00
$lvar .= '<br>Долговечность: ' . floor ( $itm [ $i ][ 'iznosNOW' ]) . '/' . floor (
2022-12-30 19:03:37 +00:00
$itm [ $i ][ 'iznosMAX' ]
);
}
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$ttl .= $lvar ;
$ccv = '' ;
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $itm [ $i ][ 'magic_inci' ] != '' || $itm [ $i ][ 'magic_inc' ] != '' ) {
if ( $itm [ $i ][ 'magic_inc' ] == '' ) {
$itm [ $i ][ 'magic_inc' ] = $itm [ $i ][ 'magic_inci' ];
}
$mgi = mysql_fetch_array (
mysql_query (
'SELECT * FROM `eff_main` WHERE `id2` = "' . $itm [ $i ][ 'magic_inc' ] . '" AND `type1` = "12345" LIMIT 1'
)
);
if ( isset ( $mgi [ 'id2' ])) {
$mgilog = '' ;
$ccv .= 'top.useMagicBattle(\'' . $mgi [ 'mname' ] . '\',' . $itm [ $i ][ 'id' ] . ',\'' . $mgi [ 'img' ] . '\',1,2);' ;
}
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$info .= 'abitms(' . ( 0 + $t ) . ',' . ( 0 + $itm [ $i ][ 'uid' ]) . ',' . ( 0 + $itm [ $i ][ 'id' ]) . ',' . ( 0 + $itm [ $i ][ 'inOdet' ]) . ',"' . $itm [ $i ][ 'name' ] . '","' . $ttl . '","' . $itm [ $i ][ 'img' ] . '","' . $ccv . '");' ;
$i ++ ;
}
2022-12-19 20:22:19 +00:00
}
return $info ;
} else {
return false ;
}
}
2023-01-10 16:29:32 +00:00
//Проверка на выживших
2022-12-30 19:03:37 +00:00
public function testUsersLive () : bool
2022-12-19 20:22:19 +00:00
{
$r = false ;
$tl = 0 ;
$i = 0 ;
$j = 0 ;
while ( $i < count ( $this -> uids )) {
if ( $this -> stats [ $i ][ 'id' ] > 0 ) {
if ( floor ( $this -> stats [ $i ][ 'hpNow' ]) < 1 ) {
$this -> stats [ $i ][ 'hpNow' ] = 0 ;
}
$hp [ $this -> users [ $i ][ 'team' ]] += floor ( $this -> stats [ $i ][ 'hpNow' ]);
if ( ! isset ( $tml [ $this -> users [ $i ][ 'team' ]]) && floor ( $this -> stats [ $i ][ 'hpNow' ]) >= 1 ) {
$tml [ $this -> users [ $i ][ 'team' ]] = 1 ;
$tmv [ $j ] = $this -> users [ $i ][ 'team' ];
$tl ++ ;
}
}
$i ++ ;
}
if ( $tl > 1 ) {
$r = true ;
}
return $r ;
}
2023-01-10 16:29:32 +00:00
//Мини лог
2022-12-19 20:22:19 +00:00
public function miniLogAdd ( $user , $text )
{
$txt = $text ;
2022-12-30 19:03:37 +00:00
$vLog = 'at1=00000||at2=00000||zb1=0||zb2=0||bl1=0||bl2=0||time1=' . time () . '||time2=' . time (
) . '||s1=' . $user [ 'sex' ] . '||t1=' . $user [ 'team' ] . '||login1=' . $user [ 'login' ] . '||' ;
2022-12-19 20:22:19 +00:00
$mas1 = [
'time' => time (),
'battle' => $this -> info [ 'id' ],
'id_hod' => ( $this -> hodID + 1 ),
'text' => '' ,
'vars' => $vLog ,
'zona1' => '' ,
'zonb1' => '' ,
'zona2' => '' ,
'zonb2' => '' ,
'type' => '1' ,
];
$mas1 [ 'text' ] = $txt ;
$this -> add_log ( $mas1 );
}
2023-01-10 16:29:32 +00:00
//Проверяем завершение боя
2022-12-19 20:22:19 +00:00
public function testFinish ()
{
global $u ;
mysql_query ( 'START TRANSACTION;' );
2022-12-30 19:03:37 +00:00
$test = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `battle` WHERE `id` = "' . $this -> info [ 'id' ] . '" AND `team_win` = -1 LIMIT 1 FOR UPDATE'
)
);
2022-12-19 20:22:19 +00:00
mysql_query ( 'COMMIT;' );
if ( $this -> info [ 'team_win' ] == - 1 && isset ( $test [ 'id' ])) {
$hp = [];
$tml = [];
$tmv = [];
$tl = 0 ;
$i = 0 ;
$j = 0 ;
while ( $i < count ( $this -> uids )) {
if ( $this -> stats [ $i ][ 'id' ] > 0 ) {
if ( floor ( $this -> stats [ $i ][ 'hpNow' ]) < 1 ) {
$this -> stats [ $i ][ 'hpNow' ] = 0 ;
}
$hp [ $this -> users [ $i ][ 'team' ]] += floor ( $this -> stats [ $i ][ 'hpNow' ]);
if ( ! isset ( $tml [ $this -> users [ $i ][ 'team' ]]) && floor ( $this -> stats [ $i ][ 'hpNow' ]) >= 1 ) {
$tml [ $this -> users [ $i ][ 'team' ]] = 1 ;
$tmv [ $j ] = $this -> users [ $i ][ 'team' ];
$tl ++ ;
}
}
$i ++ ;
}
if ( $tl <= 1 ) {
2023-01-10 16:29:32 +00:00
//Доп.проверка
2022-12-19 20:22:19 +00:00
$tmHpNow = [];
$tmNow = [];
2022-12-30 19:03:37 +00:00
$sp = mysql_query (
'SELECT `u`.`login`,`u`.`id`,`u`.`battle`,`s`.`team`,`s`.`hpNow` FROM `users` AS `u` LEFT JOIN `stats` AS `s` ON `s`.`id` = `u`.`id` WHERE `u`.`battle` = "' . $this -> info [ 'id' ] . '"'
);
2022-12-19 20:22:19 +00:00
while ( $pl = mysql_fetch_array ( $sp )) {
if ( ! isset ( $tmHpNow [ $pl [ 'team' ]])) {
$tmHpNow [ $pl [ 'team' ]] = 0 ;
$tmNow [] = $pl [ 'team' ];
}
$hpTm = floor ( $pl [ 'hpNow' ]);
if ( $hpTm < 0 ) {
$hpTm = 0 ;
}
if ( $hpTm > 0 ) {
$tmHpNow [ $pl [ 'team' ]] += $pl [ 'hpNow' ];
}
}
$gdj = 0 ;
$i = 0 ;
while ( $i < count ( $tmNow )) {
if ( isset ( $tmNow [ $i ])) {
$j = $tmNow [ $i ];
if ( $tmHpNow [ $j ] > 0 ) {
$gdj ++ ;
}
}
$i ++ ;
}
if ( $gdj > 1 ) {
$tl = $gdj ;
2023-01-10 16:29:32 +00:00
echo 'Поединок может завершиться не корректно... (Сообщите Администрации о б этом)' ;
2022-12-19 20:22:19 +00:00
}
}
if ( $tl <= 1 ) {
2023-01-10 16:29:32 +00:00
//завершаем поединок, кто-то один победил, либо ничья
2022-12-19 20:22:19 +00:00
$i = 0 ;
$tmwin = 0 ;
while ( $i < count ( $tmv )) {
if ( $tmv [ $i ] >= 1 && $tml [ $tmv [ $i ]] > 0 ) {
$tmwin = $tmv [ $i ];
}
$i ++ ;
}
if ( $this -> info [ 'izlom' ] == 0 ) {
$rs = '' ;
$ts = [];
$tsi = 0 ;
if ( $this -> info [ 'id' ] > 0 ) {
2023-01-10 16:29:32 +00:00
//данные о игроках в бою
2022-12-19 20:22:19 +00:00
unset ( $this -> users , $this -> stats , $this -> uids , $this -> bots , $this -> iBots );
2022-12-30 19:03:37 +00:00
$trl = mysql_query (
'SELECT `u`.`no_ip`,`u`.`id`,`u`.`notrhod`,`u`.`login`,`u`.`login2`,`u`.`sex`,`u`.`online`,`u`.`admin`,`u`.`align`,`u`.`align_lvl`,`u`.`align_exp`,`u`.`clan`,`u`.`level`,`u`.`battle`,`u`.`obraz`,`u`.`win`,`u`.`lose`,`u`.`nich`,`u`.`animal`,`st`.`stats`,`st`.`hpNow`,`st`.`mpNow`,`st`.`exp`,`st`.`dnow`,`st`.`team`,`st`.`battle_yron`,`st`.`battle_exp`,`st`.`enemy`,`st`.`battle_text`,`st`.`upLevel`,`st`.`timeGo`,`st`.`timeGoL`,`st`.`bot`,`st`.`lider`,`st`.`btl_cof`,`st`.`tactic1`,`st`.`tactic2`,`st`.`tactic3`,`st`.`tactic4`,`st`.`tactic5`,`st`.`tactic6`,`st`.`tactic7`,`st`.`x`,`st`.`y`,`st`.`battleEnd`,`st`.`priemslot`,`st`.`priems`,`st`.`priems_z`,`st`.`bet`,`st`.`clone`,`st`.`atack`,`st`.`bbexp`,`st`.`res_x`,`st`.`res_y`,`st`.`res_s`,`st`.`id`,`st`.`last_hp`,`st`.`last_pr`,`u`.`sex`,`u`.`money`,`u`.`money3`,`u`.`money2`,`u`.`bot_id` FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`battle` = "' . $this -> info [ 'id' ] . '" ORDER BY `st`.`bot` DESC'
);
2022-12-19 20:22:19 +00:00
$ir = 0 ;
$bi = 0 ;
$this -> users = null ;
$this -> stats = null ;
$this -> uids = null ;
$this -> bots = null ;
$this -> iBots = null ;
while ( $pl = mysql_fetch_array ( $trl )) {
2023-01-10 16:29:32 +00:00
//записываем данные
2022-12-19 20:22:19 +00:00
if ( $pl [ 'login2' ] == '' ) {
$pl [ 'login2' ] = $pl [ 'login' ];
}
$this -> users [ $ir ] = $pl ;
$this -> uids [ $pl [ 'id' ]] = $ir ;
if ( $pl [ 'bot' ] > 0 ) {
$this -> bots [ $bi ] = $pl [ 'id' ];
$this -> iBots [ $pl [ 'id' ]] = $bi ;
$bi ++ ;
}
2023-01-10 16:29:32 +00:00
//записываем статы
2022-12-19 20:22:19 +00:00
$this -> stats [ $ir ] = $u -> getStats ( $pl , 0 , 0 , false , false , true );
$ir ++ ;
}
}
} elseif ( ! isset ( $this -> uids [ $u -> info [ 'id' ]])) {
$rs = '' ;
$ts = [];
$tsi = 0 ;
if ( $this -> info [ 'id' ] > 0 ) {
2023-01-10 16:29:32 +00:00
//данные о игроках в бою
2022-12-30 19:03:37 +00:00
$trl = mysql_query (
'SELECT `u`.`no_ip`,`u`.`id`,`u`.`notrhod`,`u`.`login`,`u`.`login2`,`u`.`sex`,`u`.`online`,`u`.`admin`,`u`.`align`,`u`.`align_lvl`,`u`.`align_exp`,`u`.`clan`,`u`.`level`,`u`.`battle`,`u`.`obraz`,`u`.`win`,`u`.`lose`,`u`.`nich`,`u`.`animal`,`st`.`stats`,`st`.`hpNow`,`st`.`mpNow`,`st`.`exp`,`st`.`dnow`,`st`.`team`,`st`.`battle_yron`,`st`.`battle_exp`,`st`.`enemy`,`st`.`battle_text`,`st`.`upLevel`,`st`.`timeGo`,`st`.`timeGoL`,`st`.`bot`,`st`.`lider`,`st`.`btl_cof`,`st`.`tactic1`,`st`.`tactic2`,`st`.`tactic3`,`st`.`tactic4`,`st`.`tactic5`,`st`.`tactic6`,`st`.`tactic7`,`st`.`x`,`st`.`y`,`st`.`battleEnd`,`st`.`priemslot`,`st`.`priems`,`st`.`priems_z`,`st`.`bet`,`st`.`clone`,`st`.`atack`,`st`.`bbexp`,`st`.`res_x`,`st`.`res_y`,`st`.`res_s`,`st`.`id`,`st`.`last_hp`,`st`.`last_pr`,`u`.`sex`,`u`.`money`,`u`.`bot_id`,`u`.`money3`,`u`.`money2` FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`id` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
$pl = mysql_fetch_array ( $trl );
2023-01-10 16:29:32 +00:00
//записываем данные
2022-12-19 20:22:19 +00:00
if ( $pl [ 'login2' ] == '' ) {
$pl [ 'login2' ] = $pl [ 'login' ];
}
2022-12-30 19:03:37 +00:00
$this -> users [] = $pl ;
2022-12-19 20:22:19 +00:00
$this -> uids [ $pl [ 'id' ]] = $ir ;
if ( $pl [ 'bot' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$this -> bots [] = $pl [ 'id' ];
2022-12-19 20:22:19 +00:00
$this -> iBots [ $pl [ 'id' ]] = $bi ;
}
2023-01-10 16:29:32 +00:00
//записываем статы
2022-12-30 19:03:37 +00:00
$this -> stats [] = $u -> getStats ( $pl , 0 , 0 , false , false , true );
2022-12-19 20:22:19 +00:00
}
}
if ( $this -> info [ 'izlom' ] > 0 && $tmwin == 1 ) {
2023-01-10 16:29:32 +00:00
// выкидываем ботов из боя
2022-12-19 20:22:19 +00:00
$i = 0 ;
$dlt = '' ;
$dlt2 = '' ;
2022-12-30 19:03:37 +00:00
$sp = mysql_query (
'SELECT `users`.`id`,`stats`.`bot`,`stats`.`team` FROM `users`,`stats` WHERE `users`.`battle` = "' . $this -> info [ 'id' ] . '" AND `stats`.`id` = `users`.`id` LIMIT 250'
);
2022-12-19 20:22:19 +00:00
while ( $pl = mysql_fetch_array ( $sp )) {
if ( $pl [ 'bot' ] == 1 && $pl [ 'team' ] != $u -> info [ 'team' ]) {
$dlt .= ' `id`="' . $pl [ 'id' ] . '" OR' ;
$dlt2 .= ' `uid`="' . $pl [ 'id' ] . '" OR' ;
$i ++ ;
}
}
if ( $i > 0 ) {
$dlt = trim ( $dlt , 'OR' );
$dlt2 = trim ( $dlt2 , 'OR' );
mysql_query ( 'DELETE FROM `users` WHERE ' . $dlt . ' LIMIT ' . $i );
mysql_query ( 'DELETE FROM `stats` WHERE ' . $dlt . ' LIMIT ' . $i );
mysql_query ( 'DELETE FROM `items_users` WHERE ' . $dlt2 . ' LIMIT ' . ( $i * 100 ));
mysql_query ( 'DELETE FROM `eff_users` WHERE ' . $dlt2 . ' LIMIT ' . ( $i * 100 ));
}
unset ( $i , $dlt , $dlt2 );
$j = 0 ;
$k = 0 ;
$obr = 0 ;
2023-01-10 16:29:32 +00:00
//Это излом, добавляем еще ботов
2022-12-30 19:03:37 +00:00
if ( $this -> get_chanse ( 20 )) {
2023-01-10 16:29:32 +00:00
//Уникальные монстры
2022-12-19 20:22:19 +00:00
if ( $this -> info [ 'izlomLvl' ] == 8 ) {
$bots = [
2023-01-10 16:29:32 +00:00
'Валентайский Охотник' ,
'Шипокрыл Х а о с а ' ,
'Шипокрыл' ,
'Лик Х а о с а ' ,
'Фанатик Х а о с а ' ,
2022-12-19 20:22:19 +00:00
];
}
$logins_bot = [];
//
2023-01-10 16:29:32 +00:00
echo '<center><strong><font color=red>Приближается нечто...</font></strong></center>' ;
2022-12-19 20:22:19 +00:00
//
$id2 = rand ( 0 , ( count ( $bots ) - 1 ));
2022-12-30 19:03:37 +00:00
$id = mysql_fetch_array (
mysql_query (
'SELECT * FROM `test_bot` WHERE `login` = "' . $bots [ $id2 ] . '" AND `pishera` != "" AND `active` = "1" ORDER BY `level` DESC LIMIT 1'
)
);
$bot = $u -> addNewbot (
$id [ 'id' ], null , null , $logins_bot , null ,
round ( $this -> info [ 'izlomRoundSee' ])
);
2022-12-19 20:22:19 +00:00
if ( isset ( $id [ 'id' ]) && $bot != false ) {
//
$btxt = '' ;
if ( $id [ 'align' ] > 0 ) {
$btxt = $btxt . '<img width=12 height=15 src=https://img.new-combats.com/i/align/align' . $id [ 'align' ] . '.gif >' ;
}
if ( $id [ 'clan' ] > 0 ) {
$btxt = $btxt . '<img width=24 height=15 src=https://img.new-combats.com/i/clan/' . $id [ 'clan' ] . '.gif >' ;
}
$btxt = $btxt . '<strong>{u1}</strong>[' . $id [ 'level' ] . ']<a href=info/' . $id [ 'id' ] . ' target=_blank ><img width=12 height=11 src=https://img.new-combats.com/i/inf_capitalcity.gif ></a>' ;
if ( $id [ 'sex' ] == 1 ) {
2023-01-10 16:29:32 +00:00
$btxt = $btxt . ' вмешалась в поединок.' ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$btxt = $btxt . ' вмешался в поединок.' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$this -> miniLogAdd (
[
'login' => $id [ 'login' ],
'sex' => $id [ 'sex' ],
'team' => 0 ,
], '{tm1} ' . $btxt
);
2022-12-19 20:22:19 +00:00
//
$logins_bot = $bot [ 'logins_bot' ];
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `battle`="' . $this -> info [ 'id' ] . '" WHERE `id` = "' . $bot [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
mysql_query ( 'UPDATE `stats` SET `team`="2" WHERE `id` = "' . $bot [ 'id' ] . '" LIMIT 1' );
$u -> addAction ( time (), 'win_bot_' . $id [ 'id' ], '' , $this -> users [ $i ][ 'id' ]);
if ( rand ( 0 , 10000 ) < 1500 ) {
$obr ++ ;
}
$j ++ ;
}
} else {
2023-01-10 16:29:32 +00:00
//Обычные монстры
2022-12-19 20:22:19 +00:00
if ( $this -> info [ 'izlomLvl' ] == 8 ) {
$bots = [
2023-01-10 16:29:32 +00:00
'Литейщик' ,
'Проклятие Глубин' ,
'Пустынник Маньяк' ,
'Пустынник Убийца' ,
'Рабочий Мглы' ,
'Смотритель Мглы' ,
'Сторож Мглы' ,
2022-12-19 20:22:19 +00:00
];
}
$logins_bot = [];
//
$id2 = rand ( 0 , ( count ( $bots ) - 1 ));
2022-12-30 19:03:37 +00:00
$id = mysql_fetch_array (
mysql_query (
'SELECT * FROM `test_bot` WHERE `login` = "' . $bots [ $id2 ] . '" AND `level` <= "' . $u -> info [ 'level' ] . '" AND `pishera` != "" AND `active` = "1" ORDER BY `level` DESC LIMIT 1'
)
);
$bot = $u -> addNewbot (
$id [ 'id' ], null , null , $logins_bot , null ,
( $this -> info [ 'izlomRoundSee' ] * 2 )
);
if ( isset ( $id [ 'id' ]) && $bot ) {
2022-12-19 20:22:19 +00:00
//
$btxt = '' ;
if ( $id [ 'align' ] > 0 ) {
$btxt = $btxt . '<img width=12 height=15 src=https://img.new-combats.com/i/align/align' . $id [ 'align' ] . '.gif >' ;
}
if ( $id [ 'clan' ] > 0 ) {
$btxt = $btxt . '<img width=24 height=15 src=https://img.new-combats.com/i/clan/' . $id [ 'clan' ] . '.gif >' ;
}
$btxt = $btxt . '<strong>{u1}</strong>[' . $id [ 'level' ] . ']<a href=info/' . $id [ 'id' ] . ' target=_blank ><img width=12 height=11 src=https://img.new-combats.com/i/inf_capitalcity.gif ></a>' ;
if ( $id [ 'sex' ] == 1 ) {
2023-01-10 16:29:32 +00:00
$btxt = $btxt . ' вмешалась в поединок.' ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$btxt = $btxt . ' вмешался в поединок.' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$this -> miniLogAdd (
[
'login' => $id [ 'login' ],
'sex' => $id [ 'sex' ],
'team' => 0 ,
], '{tm1} ' . $btxt
);
2022-12-19 20:22:19 +00:00
//
$logins_bot = $bot [ 'logins_bot' ];
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `battle`="' . $this -> info [ 'id' ] . '" WHERE `id` = "' . $bot [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
mysql_query ( 'UPDATE `stats` SET `team`="2" WHERE `id` = "' . $bot [ 'id' ] . '" LIMIT 1' );
if ( rand ( 0 , 10000 ) < 1500 ) {
$obr ++ ;
}
$j ++ ;
}
//
$id2 = rand ( 0 , ( count ( $bots ) - 1 ));
2022-12-30 19:03:37 +00:00
$id = mysql_fetch_array (
mysql_query (
'SELECT * FROM `test_bot` WHERE `login` = "' . $bots [ $id2 ] . '" AND `level` <= "' . $u -> info [ 'level' ] . '" AND `pishera` != "" AND `active` = "1" ORDER BY `level` DESC LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
$bot = $u -> addNewbot ( $id [ 'id' ], null , null , $logins_bot , null , $this -> info [ 'izlomRoundSee' ]);
2022-12-30 19:03:37 +00:00
if ( isset ( $id [ 'id' ]) && $bot ) {
2022-12-19 20:22:19 +00:00
//
$btxt = '' ;
if ( $id [ 'align' ] > 0 ) {
$btxt = $btxt . '<img width=12 height=15 src=https://img.new-combats.com/i/align/align' . $id [ 'align' ] . '.gif >' ;
}
if ( $id [ 'clan' ] > 0 ) {
$btxt = $btxt . '<img width=24 height=15 src=https://img.new-combats.com/i/clan/' . $id [ 'clan' ] . '.gif >' ;
}
$btxt = $btxt . '<strong>{u1}</strong>[' . $id [ 'level' ] . ']<a href=info/' . $id [ 'id' ] . ' target=_blank ><img width=12 height=11 src=https://img.new-combats.com/i/inf_capitalcity.gif ></a>' ;
if ( $id [ 'sex' ] == 1 ) {
2023-01-10 16:29:32 +00:00
$btxt = $btxt . ' вмешалась в поединок.' ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$btxt = $btxt . ' вмешался в поединок.' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$this -> miniLogAdd (
[
'login' => $id [ 'login' ],
'sex' => $id [ 'sex' ],
'team' => 0 ,
], '{tm1} ' . $btxt
);
2022-12-19 20:22:19 +00:00
//
$logins_bot = $bot [ 'logins_bot' ];
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `battle`="' . $this -> info [ 'id' ] . '" WHERE `id` = "' . $bot [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
mysql_query ( 'UPDATE `stats` SET `team`="2" WHERE `id` = "' . $bot [ 'id' ] . '" LIMIT 1' );
if ( rand ( 0 , 10000 ) < 1500 ) {
$obr ++ ;
}
$j ++ ;
}
//
if ( rand ( 0 , 100 ) < 70 ) {
$id2 = rand ( 0 , ( count ( $bots ) - 1 ));
2022-12-30 19:03:37 +00:00
$id = mysql_fetch_array (
mysql_query (
'SELECT * FROM `test_bot` WHERE `login` = "' . $bots [ $id2 ] . '" AND `level` <= "' . $u -> info [ 'level' ] . '" AND `pishera` != "" AND `active` = "1" ORDER BY `level` DESC LIMIT 1'
)
);
$bot = $u -> addNewbot (
$id [ 'id' ], null , null , $logins_bot , null ,
$this -> info [ 'izlomRoundSee' ]
);
if ( isset ( $id [ 'id' ]) && $bot ) {
2022-12-19 20:22:19 +00:00
//
$btxt = '' ;
if ( $id [ 'align' ] > 0 ) {
$btxt = $btxt . '<img width=12 height=15 src=https://img.new-combats.com/i/align/align' . $id [ 'align' ] . '.gif >' ;
}
if ( $id [ 'clan' ] > 0 ) {
$btxt = $btxt . '<img width=24 height=15 src=https://img.new-combats.com/i/clan/' . $id [ 'clan' ] . '.gif >' ;
}
$btxt = $btxt . '<strong>{u1}</strong>[' . $id [ 'level' ] . ']<a href=info/' . $id [ 'id' ] . ' target=_blank ><img width=12 height=11 src=https://img.new-combats.com/i/inf_capitalcity.gif ></a>' ;
if ( $id [ 'sex' ] == 1 ) {
2023-01-10 16:29:32 +00:00
$btxt = $btxt . ' вмешалась в поединок.' ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$btxt = $btxt . ' вмешался в поединок.' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$this -> miniLogAdd (
[
'login' => $id [ 'login' ],
'sex' => $id [ 'sex' ],
'team' => 0 ,
], '{tm1} ' . $btxt
);
2022-12-19 20:22:19 +00:00
//
$logins_bot = $bot [ 'logins_bot' ];
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `battle`="' . $this -> info [ 'id' ] . '" WHERE `id` = "' . $bot [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
mysql_query ( 'UPDATE `stats` SET `team`="2" WHERE `id` = "' . $bot [ 'id' ] . '" LIMIT 1' );
if ( rand ( 0 , 10000 ) < 1500 ) {
$obr ++ ;
}
$j ++ ;
}
}
2023-01-10 16:29:32 +00:00
//Каждые 10 вол = +1 монстр
2022-12-19 20:22:19 +00:00
$irb = floor ( $this -> info [ 'izlomRoundSee' ] / 10 );
while ( $irb > 0 ) {
//
if ( rand ( 0 , 100 ) < 20 ) {
$id2 = rand ( 0 , ( count ( $bots ) - 1 ));
2022-12-30 19:03:37 +00:00
$id = mysql_fetch_array (
mysql_query (
'SELECT * FROM `test_bot` WHERE `login` = "' . $bots [ $id2 ] . '" AND `level` <= "' . $u -> info [ 'level' ] . '" AND `pishera` != "" AND `active` = "1" ORDER BY `level` DESC LIMIT 1'
)
);
$bot = $u -> addNewbot (
$id [ 'id' ], null , null , $logins_bot , null ,
$this -> info [ 'izlomRoundSee' ]
);
if ( isset ( $id [ 'id' ]) && $bot ) {
2022-12-19 20:22:19 +00:00
//
$btxt = '' ;
if ( $id [ 'align' ] > 0 ) {
$btxt = $btxt . '<img width=12 height=15 src=https://img.new-combats.com/i/align/align' . $id [ 'align' ] . '.gif >' ;
}
if ( $id [ 'clan' ] > 0 ) {
$btxt = $btxt . '<img width=24 height=15 src=https://img.new-combats.com/i/clan/' . $id [ 'clan' ] . '.gif >' ;
}
$btxt = $btxt . '<strong>{u1}</strong>[' . $id [ 'level' ] . ']<a href=info/' . $id [ 'id' ] . ' target=_blank ><img width=12 height=11 src=https://img.new-combats.com/i/inf_capitalcity.gif ></a>' ;
if ( $id [ 'sex' ] == 1 ) {
2023-01-10 16:29:32 +00:00
$btxt = $btxt . ' вмешалась в поединок.' ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$btxt = $btxt . ' вмешался в поединок.' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$this -> miniLogAdd (
[
'login' => $id [ 'login' ],
'sex' => $id [ 'sex' ],
'team' => 0 ,
], '{tm1} ' . $btxt
);
2022-12-19 20:22:19 +00:00
//
$logins_bot = $bot [ 'logins_bot' ];
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `battle`="' . $this -> info [ 'id' ] . '" WHERE `id` = "' . $bot [ 'id' ] . '" LIMIT 1'
);
mysql_query (
'UPDATE `stats` SET `team`="2" WHERE `id` = "' . $bot [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
if ( rand ( 0 , 10000 ) < 1500 ) {
$obr ++ ;
}
$j ++ ;
}
}
$irb -- ;
}
}
//
unset ( $logins_bot );
if ( $j == 0 ) {
2023-01-10 16:29:32 +00:00
//конец излома
2022-12-19 20:22:19 +00:00
$this -> finishBattle ( $tml , $tmv , null , $tl );
2022-12-30 19:03:37 +00:00
$fin1 = mysql_query (
'INSERT INTO `izlom_rating` (`uid`,`time`,`voln`,`level`,`bots`,`rep`,`obr`,`btl`) VALUES ("' . $u -> info [ 'id' ] . '","' . time (
) . '","' . $this -> info [ 'izlomRoundSee' ] . '","' . $this -> info [ 'izlomLvl' ] . '","0","0","' . ( $this -> info [ 'izlomObr' ] - $this -> info [ 'izlomObrNow' ]) . '","' . $this -> info [ 'id' ] . '")'
);
2022-12-19 20:22:19 +00:00
} else {
$this -> info [ 'izlomRound' ] = $iz [ 'round' ];
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `battle` SET `izlomObrNow` = ' . $obr . ',`izlomObr` = `izlomObr` + ' . $obr . ',`timeout` = (`timeout`+5),`izlomRound` = "' . ( $this -> info [ 'izlomRound' ] + 1 ) . '",`izlomRoundSee` = `izlomRoundSee`+1 WHERE `id` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
$this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'hpNow' ] += $this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'hpAll' ] * 0.25 ;
$this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'mpNow' ] += $this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'mpAll' ] * 0.25 ;
$this -> users [ $this -> uids [ $u -> info [ 'id' ]]][ 'hpNow' ] = $this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'hpAll' ];
$this -> users [ $this -> uids [ $u -> info [ 'id' ]]][ 'mpNow' ] = $this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'mpAll' ];
$vLog = 'at1=00000||at2=00000||zb1=' . $this -> stats [ $this -> uids [ $u1 ]][ 'zonb' ] . '||zb2=' . $this -> stats [ $this -> uids [ $u2 ]][ 'zonb' ] . '||bl1=' . $this -> atacks [ $id ][ 'b' . $a ] . '||bl2=' . $this -> atacks [ $id ][ 'b' . $b ] . '||time1=' . $this -> atacks [ $id ][ 'time' ] . '||time2=' . $this -> atacks [ $id ][ 'time2' ] . '||s2=' . $this -> users [ $this -> uids [ $u2 ]][ 'sex' ] . '||s1=' . $this -> users [ $this -> uids [ $u1 ]][ 'sex' ] . '||t2=' . $this -> users [ $this -> uids [ $u2 ]][ 'team' ] . '||t1=' . $this -> users [ $this -> uids [ $u1 ]][ 'team' ] . '||login1=' . $this -> users [ $this -> uids [ $u1 ]][ 'login2' ] . '||login2=' . $this -> users [ $this -> uids [ $u2 ]][ 'login2' ] . '' ;
$mas = [
'text' => '' ,
'time' => time (),
'vars' => '' ,
'battle' => $this -> info [ 'id' ],
'id_hod' => ( $this -> hodID + 1 ),
'vars' => $vLog ,
'type' => 1 ,
];
if ( $u -> info [ 'sex' ] == 1 ) {
2022-12-30 19:03:37 +00:00
$mas [ 'text' ] = '<span class=date>' . date (
'H:i'
2023-01-10 16:29:32 +00:00
) . '</span> <strong>' . $u -> info [ 'login' ] . '</strong> воспользовалась приемом "<strong>Передышка</strong>".' ;
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$mas [ 'text' ] = '<span class=date>' . date (
'H:i'
2023-01-10 16:29:32 +00:00
) . '</span> <strong>' . $u -> info [ 'login' ] . '</strong> воспользовался приемом "<strong>Передышка</strong>".' ;
2022-12-19 20:22:19 +00:00
}
if ( $u -> stats [ 'hpNow' ] < $u -> stats [ 'hpAll' ]) {
$hpSks = floor (( $u -> stats [ 'hpAll' ] * (( rand ( 15 , 25 )) / 100 )));
if ( $hpSks > floor ( $u -> stats [ 'hpAll' ] - $u -> stats [ 'hpNow' ])) {
$hpSks = floor ( $u -> stats [ 'hpAll' ] - $u -> stats [ 'hpNow' ]);
}
$mas [ 'text' ] .= ' <font color=#0066aa><strong>+' . $hpSks . '</strong></font>' ;
} else {
$hpSks = 0 ;
$mas [ 'text' ] .= ' <font color=#0066aa><strong>--</strong></font>' ;
}
$mas [ 'text' ] .= ' [' . floor ( $u -> info [ 'hpNow' ] + $hpSks ) . '/' . $u -> stats [ 'hpAll' ] . ']' ;
$this -> add_log ( $mas );
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `hpNow` = "' . ( $u -> info [ 'hpNow' ] + ( $u -> stats [ 'hpAll' ] * (( rand (
15 ,
25
)) / 100 ))) . '",`mpNow` = "' . ( $u -> info [ 'mpNow' ] + ( $u -> stats [ 'mpAll' ] * 0.25 )) . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
} else {
2023-01-10 16:29:32 +00:00
//завершаем бой
2022-12-19 20:22:19 +00:00
$this -> finishBattle ( $tml , $tmv , null , $tl );
if ( $this -> info [ 'izlom' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$fin1 = mysql_query (
'INSERT INTO `izlom_rating` (`uid`,`time`,`voln`,`level`,`bots`,`rep`,`obr`,`btl`) VALUES ("' . $u -> info [ 'id' ] . '","' . time (
) . '","' . $this -> info [ 'izlomRoundSee' ] . '","' . $this -> info [ 'izlomLvl' ] . '","0","0","' . ( $this -> info [ 'izlomObr' ] - $this -> info [ 'izlomObrNow' ]) . '","' . $this -> info [ 'id' ] . '")'
);
2022-12-19 20:22:19 +00:00
}
}
if ( isset ( $fin1 )) {
2022-12-30 19:03:37 +00:00
mysql_query (
2023-01-10 16:29:32 +00:00
'INSERT INTO `eff_users` (`no_Ace`,`id_eff`,`overType`,`uid`,`name`,`data`,`timeUse`) VALUES ("1","31","23","' . $u -> info [ 'id' ] . '","Касание Х а о с а ","nofastfinisheff=1","' . time (
2022-12-30 19:03:37 +00:00
) . '")'
);
mysql_query (
2023-01-10 16:29:32 +00:00
" INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1',' " . $u -> info [ 'city' ] . " ',' " . $u -> info [ 'room' ] . " ','',' " . $u -> info [ 'login' ] . " ','Вы создали предмет "Образец"x " . (( $this -> info [ 'izlomObr' ] - $this -> info [ 'izlomObrNow' ]) * 7 ) . " ',' " . time (
2022-12-30 19:03:37 +00:00
) . " ','6','0') "
);
2022-12-19 20:22:19 +00:00
$i01 = 1 ;
while ( $i01 <= (( $this -> info [ 'izlomObr' ] - $this -> info [ 'izlomObrNow' ])) * 7 ) {
$u -> addItem ( 1226 , $u -> info [ 'id' ], '|sudba=' . $u -> info [ 'login' ]);
$i01 ++ ;
}
2022-12-30 19:03:37 +00:00
mysql_query (
'INSERT INTO `actions`(`uid`, `time`, `city`, `room`, `vars`, `ip`, `vals`, `val`) VALUES ("' . $u -> info [ 'id' ] . '","' . time (
) . '","capitalcity","' . $u -> info [ 'room' ] . '","izlom"," ","","")'
);
2022-12-19 20:22:19 +00:00
unset ( $fin1 );
}
}
} else {
mysql_query ( 'START TRANSACTION;' );
2022-12-30 19:03:37 +00:00
$test = mysql_fetch_array (
mysql_query (
'SELECT `id`,`team_win`, `testfinish` FROM `battle` WHERE `id` = "' . $this -> info [ 'id' ] . '" AND `team_win` != -1 LIMIT 1 FOR UPDATE'
)
);
2022-12-19 20:22:19 +00:00
mysql_query ( 'COMMIT;' );
if ( isset ( $test [ 'id' ])) {
$this -> finishBattle ( null , null , 10 , $tl );
}
}
}
2023-01-10 16:29:32 +00:00
//завершение поединка
2022-12-19 20:22:19 +00:00
public function finishBattle ( $t , $v , $nl , $tl )
{
global $magic , $u , $q , $c ;
mysql_query ( 'LOCK TABLES users,stats,battle,battle_last,battle_end,chat WRITE' );
$frtu = false ;
2022-12-30 19:03:37 +00:00
$test = mysql_fetch_array (
mysql_query (
'SELECT `id`,`team_win`,`testfinish` FROM `battle` WHERE `id` = "' . $this -> info [ 'id' ] . '" AND `team_win` != -1 LIMIT 1;'
)
);
if ( $test [ 'testfinish' ] != - 1 ) {
$trtt = mysql_query (
'UPDATE `battle` SET `testfinish` = "-1" WHERE `id` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
$relbf = $this -> info [ 'team_win' ];
if ( $nl != 10 ) {
$i = 0 ;
$dnr = 0 ;
if ( $this -> info [ 'team_win' ] == - 1 ) {
$this -> info [ 'team_win' ] = 0 ;
while ( $i < count ( $v )) {
if ( $v [ $i ] >= 1 && $t [ $v [ $i ]] > 0 ) {
$this -> info [ 'team_win' ] = $v [ $i ];
}
$i ++ ;
}
}
}
2023-01-10 16:29:32 +00:00
//данные о игроках в бою
2022-12-30 19:03:37 +00:00
$t = mysql_query (
'SELECT `u`.`stopexp`,`u`.`twink`,`u`.`city`,`u`.`room`,`u`.`no_ip`,`u`.`pass`,`u`.`id`,`u`.`notrhod`,`u`.`login`,`u`.`login2`,`u`.`sex`,`u`.`online`,`u`.`admin`,`u`.`align`,`u`.`align_lvl`,`u`.`align_exp`,`u`.`clan`,`u`.`level`,`u`.`battle`,`u`.`obraz`,`u`.`win`,`u`.`lose`,`u`.`nich`,`u`.`animal`,`st`.`stats`,`st`.`hpNow`,`st`.`mpNow`,`st`.`exp`,`st`.`dnow`,`st`.`team`,`st`.`battle_yron`,`st`.`battle_exp`,`st`.`enemy`,`st`.`battle_text`,`st`.`upLevel`,`st`.`timeGo`,`st`.`timeGoL`,`st`.`bot`,`st`.`lider`,`st`.`btl_cof`,`st`.`tactic1`,`st`.`tactic2`,`st`.`tactic3`,`st`.`tactic4`,`st`.`tactic5`,`st`.`tactic6`,`st`.`tactic7`,`st`.`x`,`st`.`y`,`st`.`battleEnd`,`st`.`priemslot`,`st`.`priems`,`st`.`priems_z`,`st`.`bet`,`st`.`clone`,`st`.`atack`,`st`.`bbexp`,`st`.`res_x`,`st`.`res_y`,`st`.`res_s`,`st`.`id`,`st`.`last_hp`,`st`.`last_pr`,`u`.`sex`,`u`.`money`,`u`.`bot_id`,`u`.`money3`,`u`.`money2` FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`battle` = "' . $this -> info [ 'id' ] . '"'
);
2022-12-19 20:22:19 +00:00
$i = 0 ;
$bi = 0 ;
while ( $pl = mysql_fetch_array ( $t )) {
2023-01-10 16:29:32 +00:00
//записываем данные
2022-12-19 20:22:19 +00:00
if ( $pl [ 'login2' ] == '' ) {
$pl [ 'login2' ] = $pl [ 'login' ];
}
$this -> users [ $i ] = $pl ;
$this -> uids [ $pl [ 'id' ]] = $i ;
if ( $pl [ 'bot' ] > 0 ) {
$this -> bots [ $bi ] = $pl [ 'id' ];
$this -> iBots [ $pl [ 'id' ]] = $bi ;
$bi ++ ;
}
2023-01-10 16:29:32 +00:00
//записываем статы
2022-12-19 20:22:19 +00:00
$this -> stats [ $i ] = $u -> getStats ( $pl , 0 , 0 , false , false , true );
$i ++ ;
}
unset ( $pl , $t );
if ( $this -> info [ 'time_over' ] == 0 ) {
2022-12-30 19:03:37 +00:00
$tststrt = mysql_fetch_array (
mysql_query (
'SELECT * FROM `battle` WHERE `id` = "' . $this -> info [ 'id' ] . '" AND `time_over` = "0" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( isset ( $tststrt [ 'id' ])) {
if ( $this -> info [ 'inTurnir' ] == 0 || $this -> info [ 'type' ] == 500 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `battle` SET `time_over` = "' . time (
) . '",`team_win` = "' . $this -> info [ 'team_win' ] . '" WHERE `id` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `battle_stat` SET `team_win` = "' . $this -> info [ 'team_win' ] . '" WHERE `battle_id` = "' . $this -> info [ 'id' ] . '"'
);
2023-01-10 16:29:32 +00:00
//Заносим данные о завершении боя
2022-12-19 20:22:19 +00:00
$i = 0 ;
$vl = '' ;
$vtvl = '' ;
$relu = 0 ;
while ( $i < count ( $this -> users )) {
2022-12-30 19:03:37 +00:00
$vl .= '("' . $this -> users [ $i ][ 'login' ] . '","' . $this -> users [ $i ][ 'city' ] . '","' . $this -> info [ 'id' ] . '","' . $this -> users [ $i ][ 'id' ] . '","' . time (
) . '","' . $this -> users [ $i ][ 'team' ] . '","' . $this -> users [ $i ][ 'level' ] . '","' . $this -> users [ $i ][ 'align' ] . '","' . $this -> users [ $i ][ 'clan' ] . '","' . $this -> users [ $i ][ 'exp' ] . '","' . $this -> users [ $i ][ 'bot' ] . '","' . $this -> users [ $i ][ 'money' ] . '","' . $this -> users [ $i ][ 'money2' ] . '","' . $this -> users [ $i ][ 'money3' ] . '"),' ;
2022-12-19 20:22:19 +00:00
if ( $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ] && $this -> info [ 'team_win' ] > 0 ) {
$vtvl .= '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong>, ' ;
}
$i ++ ;
}
2022-12-30 19:03:37 +00:00
$this -> info [ 'players_c' ] = mysql_fetch_array (
mysql_query (
2023-01-10 16:29:32 +00:00
'SELECT COUNT(`id`) FROM `users` WHERE `login` NOT LIKE "%(зверь%" AND `battle` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
2022-12-30 19:03:37 +00:00
)
);
2022-12-19 20:22:19 +00:00
$this -> info [ 'players_c' ] = $this -> info [ 'players_c' ][ 0 ];
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `battle` SET `players_c` = "' . $this -> info [ 'players_c' ] . '" WHERE `id` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
if ( $vtvl != '' ) {
$vtvl = rtrim ( $vtvl , ', ' );
$vtvl = str_replace ( '"' , '\\\\\"' , $vtvl );
$this -> hodID ++ ;
$vLog = 'time1=' . time ();
$mass = [
'time' => time (),
'battle' => $this -> info [ 'id' ],
'id_hod' => $this -> hodID ,
'text' => 'test' ,
'vars' => $vLog ,
'zona1' => '' ,
'zonb1' => '' ,
'zona2' => '' ,
'zonb2' => '' ,
'type' => '1' ,
];
2023-01-10 16:29:32 +00:00
$vtvl = 'Бой закончен, победа за ' . $vtvl . '.' ;
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$this -> info [ 'players_cc' ] = mysql_fetch_array (
mysql_query (
'SELECT COUNT(`u`.`id`) FROM `users` AS `u` LEFT JOIN `stats` AS `s` ON `s`.`id` = `u`.`id` WHERE `s`.`hpNow` > 0 AND `u`.`battle` = "' . $this -> info [ 'id' ] . '" AND `s`.`team` != "' . $u -> info [ 'team' ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
$this -> info [ 'players_cc' ] = $this -> info [ 'players_cc' ][ 0 ];
2022-12-30 19:03:37 +00:00
$this -> info [ 'players_cc2' ] = mysql_fetch_array (
mysql_query (
'SELECT COUNT(`u`.`id`) FROM `users` AS `u` LEFT JOIN `stats` AS `s` ON `s`.`id` = `u`.`id` WHERE `s`.`hpNow` >= 1 AND `u`.`battle` = "' . $this -> info [ 'id' ] . '" AND `s`.`team` != "' . $u -> info [ 'team' ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
$this -> info [ 'players_cc2' ] = $this -> info [ 'players_cc2' ][ 0 ];
$inf_test = ', users: ' . $this -> info [ 'players_cc' ] . ' and ' . $this -> info [ 'players_cc2' ] . '' ;
$this -> hodID ++ ;
$vLog = 'time1=' . time ();
$mass = [
'time' => time (),
'battle' => $this -> info [ 'id' ],
'id_hod' => $this -> hodID ,
'text' => 'test' ,
'vars' => $vLog ,
'zona1' => '' ,
'zonb1' => '' ,
'zona2' => '' ,
'zonb2' => '' ,
'type' => '1' ,
];
2023-01-10 16:29:32 +00:00
$vtvl = 'Бой закончен, ничья.' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$ins = mysql_query (
'INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("' . $mass [ 'time' ] . '","' . $mass [ 'battle' ] . '","' . $mass [ 'id_hod' ] . '","' . $vtvl . '","' . $mass [ 'vars' ] . '","' . $mass [ 'zona1' ] . '","' . $mass [ 'zonb1' ] . '","' . $mass [ 'zona2' ] . '","' . $mass [ 'zonb2' ] . '","' . $mass [ 'type' ] . '")'
);
2022-12-19 20:22:19 +00:00
$this -> saveLogs ( $this -> info [ 'id' ], 'all' );
if ( $this -> info [ 'type' ] == 99 ) {
$vLog = 'time1=' . time ();
$mass = [
'time' => time (),
'battle' => $this -> info [ 'id' ],
'id_hod' => $this -> hodID ,
'text' => 'test' ,
'vars' => $vLog ,
'zona1' => '' ,
'zonb1' => '' ,
'zona2' => '' ,
'zonb2' => '' ,
'type' => '1' ,
];
2023-01-10 16:29:32 +00:00
$vtvl = 'И победители стали калечить проигравших...' ;
2022-12-30 19:03:37 +00:00
$ins = mysql_query (
'INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("' . $mass [ 'time' ] . '","' . $mass [ 'battle' ] . '","' . $mass [ 'id_hod' ] . '","' . $vtvl . '","' . $mass [ 'vars' ] . '","' . $mass [ 'zona1' ] . '","' . $mass [ 'zonb1' ] . '","' . $mass [ 'zona2' ] . '","' . $mass [ 'zonb2' ] . '","' . $mass [ 'type' ] . '")'
);
2022-12-19 20:22:19 +00:00
$i = 0 ;
$vtvl = '' ;
$tr_nm = [
2023-01-10 16:29:32 +00:00
1 => 'легкую' ,
2 => 'среднюю' ,
3 => 'тяжелую' ,
4 => 'неизлечимую' ,
2022-12-19 20:22:19 +00:00
];
while ( $i < count ( $this -> users )) {
if ( $this -> users [ $i ][ 'team' ] != $this -> info [ 'team_win' ]) {
2022-12-30 19:03:37 +00:00
$tr_pl = mysql_fetch_array (
mysql_query (
'SELECT `id`,`v1` FROM `eff_users` WHERE `id_eff` = 4 AND `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `delete` = "0" ORDER BY `v1` DESC LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( ! isset ( $tr_pl [ 'id' ]) || $tr_pl [ 'v1' ] < 3 ) {
if ( $this -> info [ 'smert' ] == 1 ) {
$tr_tp = 4 ;
} else {
$tr_tp = rand ( 1 , 3 );
}
if ( isset ( $tr_pl [ 'id' ])) {
$tr_tp = rand (( $tr_pl [ 'v1' ] + 1 ), 3 );
}
if ( $this -> users [ $i ][ 'sex' ] == 1 ) {
2023-01-10 16:29:32 +00:00
$vtvl = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> получила повреждение: <font color=red>' . $tr_nm [ $tr_tp ] . ' травму</font>.<br>' . $vtvl ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$vtvl = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> получил повреждение: <font color=red>' . $tr_nm [ $tr_tp ] . ' травму</font>.<br>' . $vtvl ;
2022-12-19 20:22:19 +00:00
}
$this -> addTravm ( $this -> users [ $i ][ 'id' ], $tr_tp , rand ( 3 , 5 ));
}
}
$i ++ ;
}
2022-12-30 19:03:37 +00:00
$ins = mysql_query (
'INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("' . $mass [ 'time' ] . '","' . $mass [ 'battle' ] . '","' . $mass [ 'id_hod' ] . '","' . $vtvl . '","' . $mass [ 'vars' ] . '","' . $mass [ 'zona1' ] . '","' . $mass [ 'zonb1' ] . '","' . $mass [ 'zona2' ] . '","' . $mass [ 'zonb2' ] . '","' . $mass [ 'type' ] . '")'
);
2022-12-19 20:22:19 +00:00
}
if ( $vl != '' ) {
$vl = rtrim ( $vl , ',' );
2022-12-30 19:03:37 +00:00
mysql_query (
'INSERT INTO `battle_last` (`login`,`city`,`battle_id`,`uid`,`time`,`team`,`lvl`,`align`,`clan`,`exp`,`bot`,`money`,`money2`,`money3`) VALUES ' . $vl . ''
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
'INSERT INTO `battle_end` (`battle_id`,`city`,`time`,`team_win`) VALUES ("' . $this -> info [ 'id' ] . '","' . $this -> info [ 'city' ] . '","' . $this -> info [ 'time_start' ] . '","' . $this -> info [ 'team_win' ] . '")'
);
2022-12-19 20:22:19 +00:00
}
$vLog = 'time1=' . time ();
$mass = [
'time' => time (),
'battle' => $this -> info [ 'id' ],
'id_hod' => $this -> hodID ,
'text' => 'test' ,
'vars' => $vLog ,
'zona1' => '' ,
'zonb1' => '' ,
'zona2' => '' ,
'zonb2' => '' ,
'type' => '1' ,
];
$i = 0 ;
$vtvl = '' ;
$tr_nm = [
2023-01-10 16:29:32 +00:00
1 => 'легкую' ,
2 => 'среднюю' ,
3 => 'тяжелую' ,
4 => 'неизлечимую' ,
2022-12-19 20:22:19 +00:00
];
while ( $i < count ( $this -> users )) {
if ( $this -> users [ $i ][ 'team' ] != $this -> info [ 'team_win' ] && $this -> info [ 'team_win' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$tr_pl = mysql_fetch_array (
mysql_query (
'SELECT * FROM `eff_users` WHERE `v1` = "priem" AND `v2` = 292 AND `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `delete` = "0" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$ins = mysql_query (
'INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("' . $mass [ 'time' ] . '","' . $mass [ 'battle' ] . '","' . $mass [ 'id_hod' ] . '","' . $vtvl2 . '","' . $mass [ 'vars' ] . '","' . $mass [ 'zona1' ] . '","' . $mass [ 'zonb1' ] . '","' . $mass [ 'zona2' ] . '","' . $mass [ 'zonb2' ] . '","' . $mass [ 'type' ] . '")'
);
2022-12-19 20:22:19 +00:00
if ( isset ( $tr_pl [ 'id' ])) {
if ( rand ( 0 , 100 ) < $tr_pl [ 'data' ]) {
$tr_tp = rand ( 1 , 3 );
if ( isset ( $tr_pl [ 'id' ])) {
$tr_tp = rand (( $tr_pl [ 'v1' ] + 1 ), 3 );
}
if ( $this -> users [ $i ][ 'sex' ] == 1 ) {
2023-01-10 16:29:32 +00:00
$vtvl = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> получила повреждение (Искалечить, автор: <strong>' . $this -> users [ $this -> uids [ $tr_pl [ 'user_use' ]]][ 'login' ] . '</strong>): <font color=red>' . $tr_nm [ $tr_tp ] . ' травму</font>.<br>' . $vtvl ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$vtvl = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> получил повреждение (Искалечить, автор: <strong>' . $this -> users [ $this -> uids [ $tr_pl [ 'user_use' ]]][ 'login' ] . '</strong>): <font color=red>' . $tr_nm [ $tr_tp ] . ' травму</font>.<br>' . $vtvl ;
2022-12-19 20:22:19 +00:00
}
$this -> addTravm ( $this -> users [ $i ][ 'id' ], $tr_tp , rand ( 3 , 5 ));
}
}
}
$i ++ ;
}
if ( $vtvl != '' ) {
if ( $this -> info [ 'type' ] != 99 ) {
2023-01-10 16:29:32 +00:00
$vtvl2 = 'И победители стали калечить проигравших...' ;
2022-12-30 19:03:37 +00:00
$ins = mysql_query (
'INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("' . $mass [ 'time' ] . '","' . $mass [ 'battle' ] . '","' . $mass [ 'id_hod' ] . '","' . $vtvl2 . '","' . $mass [ 'vars' ] . '","' . $mass [ 'zona1' ] . '","' . $mass [ 'zonb1' ] . '","' . $mass [ 'zona2' ] . '","' . $mass [ 'zonb2' ] . '","' . $mass [ 'type' ] . '")'
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$ins = mysql_query (
'INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("' . $mass [ 'time' ] . '","' . $mass [ 'battle' ] . '","' . $mass [ 'id_hod' ] . '","' . $vtvl . '","' . $mass [ 'vars' ] . '","' . $mass [ 'zona1' ] . '","' . $mass [ 'zonb1' ] . '","' . $mass [ 'zona2' ] . '","' . $mass [ 'zonb2' ] . '","' . $mass [ 'type' ] . '")'
);
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Турнир БС
2022-12-19 20:22:19 +00:00
if ( $this -> info [ 'inTurnir' ] > 0 && $this -> info [ 'dungeon' ] != 15 && $u -> info [ 'room' ] != 413 ) {
2022-12-30 19:03:37 +00:00
$bs = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `bs_turnirs` WHERE `id` = "' . $this -> info [ 'inTurnir' ] . '" LIMIT 1' )
);
2022-12-19 20:22:19 +00:00
$i = 0 ;
$j = 0 ;
while ( $i < count ( $this -> users )) {
if ( $this -> stats [ $i ][ 'hpNow' ] < 1 && $this -> users [ $i ][ 'clone' ] == 0 && $this -> stats [ $i ][ 'clone' ] == 0 ) {
2023-01-10 16:29:32 +00:00
//Добавляем в лог БС
2022-12-19 20:22:19 +00:00
if ( $this -> users [ $i ][ 'sex' ] == 0 ) {
2023-01-10 16:29:32 +00:00
$text .= '{u1} повержен и выбывает из турнира' ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$text .= '{u1} повержена и выбывает из турнира' ;
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Выкидываем предметы с персонажа
2022-12-30 19:03:37 +00:00
$spik = mysql_query (
'SELECT `id`,`item_id` FROM `items_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `delete` ="0"'
);
2022-12-19 20:22:19 +00:00
while ( $plik = mysql_fetch_array ( $spik )) {
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `dungeon_items` ( `dn` , `item_id` , `time` , `x` , `y` ) VALUES (
" ' . $this->users [ $i ]['dnow'] . ' " , " ' . $plik['item_id'] . ' " , " ' . (time(
) - 600 ) . '","' . $this -> users [ $i ][ 'x' ] . '","' . $this -> users [ $i ][ 'y' ] . ' "
) '
);
2022-12-19 20:22:19 +00:00
}
unset ( $spik , $plik );
//
$usrreal = '' ;
2022-12-30 19:03:37 +00:00
$usr_real = mysql_fetch_array (
mysql_query (
'SELECT `id`,`login`,`align`,`clan`,`battle`,`level` FROM `users` WHERE `login` = "' . $this -> users [ $i ][ 'login' ] . '" AND `inUser` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( ! isset ( $usr_real [ 'id' ])) {
$usr_real = $this -> users [ $i ];
}
if ( isset ( $usr_real [ 'id' ])) {
if ( $usr_real [ 'align' ] > 0 ) {
$usrreal .= '<img src=https://img.new-combats.com/i/align/align' . $usr_real [ 'align' ] . '.gif width=12 height=15 >' ;
}
if ( $usr_real [ 'clan' ] > 0 ) {
$usrreal .= '<img src=https://img.new-combats.com/i/clan/' . $usr_real [ 'clan' ] . '.gif width=24 height=15 >' ;
}
$usrreal .= '<strong>' . $usr_real [ 'login' ] . '</strong>[' . $usr_real [ 'level' ] . ']<a target=_blank href=https://new-combats.com/info/' . $usr_real [ 'id' ] . ' ><img width=12 hiehgt=11 src=https://img.new-combats.com/i/inf_capitalcity.gif ></a>' ;
} else {
2023-01-10 16:29:32 +00:00
$mereal = '<i>Невидимка</i>[??]' ;
2022-12-19 20:22:19 +00:00
}
$text = str_replace ( '{u1}' , $usrreal , $text );
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `bs_logs` ( `type` , `text` , `time` , `id_bs` , `count_bs` , `city` , `m` , `u` ) VALUES (
" 1 " , " ' . mysql_real_escape_string( $text ) . ' " , " ' . time(
) . '", "' . $bs [ 'id' ] . '", "' . $bs [ 'count' ] . '", "' . $bs [ 'city' ] . ' " ,
2022-12-19 20:22:19 +00:00
" ' . round( $bs['money'] * 0.85, 2) . ' " , " ' . $i . ' "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
//
2023-01-10 16:29:32 +00:00
//Удаление клона
2022-12-19 20:22:19 +00:00
mysql_query ( 'DELETE FROM `users` WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1' );
mysql_query ( 'DELETE FROM `stats` WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1' );
mysql_query ( 'DELETE FROM `actions` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '"' );
mysql_query ( 'DELETE FROM `items_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '"' );
mysql_query ( 'DELETE FROM `eff_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '"' );
mysql_query ( 'DELETE FROM `users_delo` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '"' );
2023-01-10 16:29:32 +00:00
//Обновление персонажа
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `inUser` = "0" WHERE `login` = "' . $this -> users [ $i ][ 'login' ] . '" OR `inUser` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2023-01-10 16:29:32 +00:00
//Обновляем заявку
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `bs_zv` SET `off` = "' . time (
) . '" WHERE `inBot` = "' . $this -> users [ $i ][ 'id' ] . '" AND `off` = "0" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
unset ( $text , $usrreal , $usr_real );
if ( $this -> users [ $i ][ 'pass' ] != 'bstowerbot' ) {
$bs [ 'users' ] -- ;
$bs [ 'users_finish' ] ++ ;
} else {
$bs [ 'arhiv' ] -- ;
}
$j ++ ;
}
$i ++ ;
}
if ( $j > 0 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `bs_turnirs` SET `arhiv` = "' . $bs [ 'arhiv' ] . '",`users` = "' . $bs [ 'users' ] . '",`users_finish` = "' . $bs [ 'users_finish' ] . '" WHERE `id` = "' . $bs [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
unset ( $bs , $j );
}
2023-01-10 16:29:32 +00:00
//Награда за события
2022-12-19 20:22:19 +00:00
if ( $this -> info [ 'type' ] == 500 && isset ( $tststrt [ 'id' ])) {
2023-01-10 16:29:32 +00:00
//Предметы которые выпадают в центр
2022-12-19 20:22:19 +00:00
$i = 0 ;
while ( $i < count ( $this -> users )) {
if ( $this -> users [ $i ][ 'no_ip' ] == 'trupojor' ) {
2022-12-30 19:03:37 +00:00
$mon = mysql_fetch_array (
mysql_query (
'SELECT * FROM `aaa_monsters` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( isset ( $mon [ 'id' ])) {
if ( $this -> info [ 'team_win' ] == 0 ) {
2023-01-10 16:29:32 +00:00
//Ничья
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `hpNow` = "' . $this -> stats [ $i ][ 'hpAll' ] . '",`mpNow` = "' . $this -> stats [ $i ][ 'mpAll' ] . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
mysql_query (
2023-01-10 16:29:32 +00:00
'INSERT INTO `chat` (`text`,`city`,`to`,`type`,`new`,`time`) VALUES ("<font color=red>Внимание!</font> ' . mysql_real_escape_string (
2022-12-30 19:03:37 +00:00
str_replace (
'{b}' ,
'<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> [' . $this -> users [ $i ][ 'level' ] . ']<a target=_blank href=info/' . $this -> users [ $i ][ 'id' ] . ' ><img width=12 height=11 src=https://img.new-combats.com/i/inf_capitalcity.gif ></a>' ,
$mon [ 'nich_text' ]
)
) . ' ","' . $this -> users [ $i ][ 'city' ] . '","","6","1","' . time () . '")'
);
2022-12-19 20:22:19 +00:00
} elseif ( $this -> info [ 'team_win' ] != $this -> users [ $i ][ 'team' ]) {
2023-01-10 16:29:32 +00:00
//Выиграли
2022-12-19 20:22:19 +00:00
$j = 0 ;
$usrwin = '' ;
while ( $j < count ( $this -> users )) {
if ( $this -> users [ $j ][ 'no_ip' ] != 'trupojor' && $this -> users [ $j ][ 'bot' ] == 0 ) {
if ( $this -> stats [ $j ][ 'hpNow' ] > 0 ) {
$usrwin .= ', ' ;
if ( $this -> users [ $j ][ 'align' ] > 0 ) {
$usrwin .= '<img width=12 height=15 src=https://img.new-combats.com/i/align/align' . $this -> users [ $j ][ 'align' ] . '.gif >' ;
}
if ( $this -> users [ $j ][ 'clan' ] > 0 ) {
$usrwin .= '<img width=24 height=15 src=https://img.new-combats.com/i/clan/' . $this -> users [ $j ][ 'clan' ] . '.gif >' ;
}
$usrwin .= '<strong>' . $this -> users [ $j ][ 'login' ] . '</strong> [' . $this -> users [ $j ][ 'level' ] . ']<a target=_blank href=info/' . $this -> users [ $j ][ 'id' ] . ' ><img width=12 height=11 src=https://img.new-combats.com/i/inf_capitalcity.gif ></a>' ;
}
}
$j ++ ;
}
if ( $usrwin != '' ) {
$usrwin = ltrim ( $usrwin , ', ' );
} else {
2023-01-10 16:29:32 +00:00
$usrwin = '<i>Команда героев</i>' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `room` = "303" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
$truptimelast = time () + rand ( 1800 , 3600 );
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `res_x` = "' . $truptimelast . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
mysql_query (
2023-01-10 16:29:32 +00:00
'INSERT INTO `chat` (`text`,`city`,`to`,`type`,`new`,`time`) VALUES ("<font color=red>Внимание!</font> ' . mysql_real_escape_string (
2022-12-30 19:03:37 +00:00
str_replace (
'{b}' ,
'<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> [' . $this -> users [ $i ][ 'level' ] . ']<a target=_blank href=info/' . $this -> users [ $i ][ 'id' ] . ' ><img width=12 height=11 src=https://img.new-combats.com/i/inf_capitalcity.gif ></a>' ,
str_replace (
'{u}' , $usrwin ,
$mon [ 'win_text' ]
)
)
) . ' ","' . $this -> users [ $i ][ 'city' ] . '","","6","1","' . time () . '")'
);
2022-12-19 20:22:19 +00:00
unset ( $usrwin );
} else {
2023-01-10 16:29:32 +00:00
//Проиграли
2022-12-19 20:22:19 +00:00
if ( $mon [ 'win_back' ] == 1 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `room` = "303" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `hpNow` = "' . $this -> stats [ $i ][ 'hpAll' ] . '",`mpNow` = "' . $this -> stats [ $i ][ 'mpAll' ] . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
mysql_query (
2023-01-10 16:29:32 +00:00
'INSERT INTO `chat` (`text`,`city`,`to`,`type`,`new`,`time`) VALUES ("<font color=red>Внимание!</font> ' . mysql_real_escape_string (
2022-12-30 19:03:37 +00:00
str_replace (
'{b}' ,
'<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> [' . $this -> users [ $i ][ 'level' ] . ']<a target=_blank href=info/' . $this -> users [ $i ][ 'id' ] . ' ><img width=12 height=11 src=https://img.new-combats.com/i/inf_capitalcity.gif ></a>' ,
$mon [ 'lose_text' ]
)
) . ' ","' . $this -> users [ $i ][ 'city' ] . '","","6","1","' . time () . '")'
);
2022-12-19 20:22:19 +00:00
}
}
}
$i ++ ;
}
}
}
2023-01-10 16:29:32 +00:00
// выкидываем ботов из боя
2022-12-19 20:22:19 +00:00
$i = 0 ;
$botsi = 0 ;
if ( isset ( $tststrt [ 'id' ])) {
while ( $i < count ( $this -> users )) {
2023-01-10 16:29:32 +00:00
//Тут выкидываем юзеров из Призавого хаота
2022-12-19 20:22:19 +00:00
if ( $this -> info [ 'type' ] == 33 ) {
2022-12-30 19:03:37 +00:00
$plde = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `users` WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1' )
);
2022-12-19 20:22:19 +00:00
if ( isset ( $plde [ 'mail' ]) && $plde [ 'mail' ] == " haot@new-combats.com " ) {
2022-12-30 19:03:37 +00:00
$pld = mysql_fetch_array (
mysql_query (
'SELECT * FROM `users` WHERE `inUser` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( isset ( $pld [ 'id' ])) {
if ( $this -> users [ $i ][ 'battle_yron' ] >= 500 ) {
$u -> addItem ( 4754 , $pld [ 'id' ], '' );
$u -> addItem ( 4754 , $pld [ 'id' ], '' );
$u -> addItem ( 4754 , $pld [ 'id' ], '' );
$u -> addItem ( 4754 , $pld [ 'id' ], '' );
$u -> addItem ( 4754 , $pld [ 'id' ], '' );
2023-01-10 16:29:32 +00:00
$pld [ 'battle_text' ] .= ' З а Героическое Сражение вы получаете <strong>Реликвия Ангела (x5)</strong>. ' ;
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users_achiv` SET `pg`= `pg`+1 WHERE `id` = "' . $pld [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
if ( $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ]) {
if ( rand ( 1 , 100 ) <= 5 ) {
$u -> addItem ( 10020 , $pld [ 'id' ], '' );
2023-01-10 16:29:32 +00:00
$pld [ 'battle_text' ] .= ' и <strong>Жетон Успеха</strong>. ' ;
2022-12-19 20:22:19 +00:00
}
}
} else {
2023-01-10 16:29:32 +00:00
$pld [ 'battle_text' ] .= ' Вы ничего не получили. <strong>Нужно набить больше 500 урона урона</strong> .' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
" INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1',' " . $pld [ 'city' ] . " ',' " . $pld [ 'room' ] . " ','',' " . $pld [ 'login' ] . " ',' " . $pld [ 'battle_text' ] . " ','-1','6','0') "
);
mysql_query (
'DELETE FROM `stats` WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
mysql_query (
'DELETE FROM `items_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 100'
);
mysql_query (
'DELETE FROM `eff_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 100'
);
mysql_query (
'UPDATE `users` SET `inUser` = "0" WHERE `inUser` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
mysql_query (
'DELETE FROM `users` WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
}
unset ( $plde , $pld );
}
if ( $this -> users [ $i ][ 'bot' ] == 1 ) {
$botsi ++ ;
mysql_query ( 'DELETE FROM `users` WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1' );
mysql_query ( 'DELETE FROM `stats` WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1' );
2022-12-30 19:03:37 +00:00
mysql_query (
'DELETE FROM `items_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 100'
);
2022-12-19 20:22:19 +00:00
mysql_query ( 'DELETE FROM `eff_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 100' );
} elseif ( $this -> users [ $i ][ 'bot' ] == 2 ) {
$this -> users [ $i ][ 'battle' ] = 0 ;
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `battle` = "0" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
mysql_query (
'UPDATE `stats` SET `zv` = "0",`team` = "0",`exp` = `exp` + `battle_exp`,`battle_exp` = "0",`battle_yron` = "0",`enemy` = "0", `timeGo` = "' . time (
) . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
//mysql_query('UPDATE `stats` SET `zv` = "0",`team` = "0",`exp` = `exp` + `battle_exp`,`battle_exp` = "0",`timeGo` = "'.time().'" WHERE `id` = "'.$this->users[$i]['id'].'" LIMIT 1');
mysql_query ( 'DELETE FROM `eff_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 100' );
} elseif ( $this -> users [ $i ][ 'bot' ] > 0 ) {
$this -> users [ $i ][ 'battle' ] = 0 ;
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `battle` = "0" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
mysql_query (
'UPDATE `stats` SET `zv` = "0",`team` = "0",`exp` = `exp` + `battle_exp`,`battle_exp` = "0",`battle_yron` = "0",`enemy` = "0", `timeGo` = "' . time (
) . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
mysql_query ( 'DELETE FROM `eff_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 100' );
}
if ( $this -> users [ $i ][ 'clone' ] > 0 && $this -> users [ $i ][ 'bot' ] > 0 && isset ( $this -> users [ $this -> uids [ $this -> users [ $i ][ 'clone' ]]][ 'id' ]) && $this -> users [ $this -> uids [ $this -> users [ $i ][ 'clone' ]]][ 'team' ] != $this -> users [ $i ][ 'team' ]) {
2023-01-10 16:29:32 +00:00
//Добавляем что клон побежден
2022-12-19 20:22:19 +00:00
if ( $this -> users [ $this -> uids [ $this -> users [ $i ][ 'clone' ]]][ 'team' ] == $this -> info [ 'team_win' ]) {
$u -> addAction ( time (), 'win_bot_clone' , '' , $this -> users [ $i ][ 'clone' ]);
} elseif ( $this -> info [ 'team_win' ] == 0 ) {
$u -> addAction ( time (), 'nich_bot_clone' , '' , $this -> users [ $i ][ 'clone' ]);
} else {
$u -> addAction ( time (), 'lose_bot_clone' , '' , $this -> users [ $i ][ 'clone' ]);
}
} elseif ( $this -> users [ $i ][ 'bot' ] > 0 && $this -> users [ $i ][ 'bot_id' ] > 0 ) {
2023-01-10 16:29:32 +00:00
//Добавляем что бота победили
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j < count ( $this -> users )) {
if ( $this -> users [ $j ][ 'bot' ] == 0 && $this -> users [ $j ][ 'team' ] != $this -> users [ $i ][ 'team' ]) {
if ( $this -> users [ $j ][ 'team' ] == $this -> info [ 'team_win' ]) { // if($this->users[$j]['team']==$this->info['team_win']){
2022-12-30 19:03:37 +00:00
$u -> addAction (
time (), 'win_bot_' . $this -> users [ $i ][ 'bot_id' ], '' ,
$this -> users [ $j ][ 'id' ]
);
2022-12-19 20:22:19 +00:00
//
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `dialog_act` SET `now` = `now` + 1 WHERE `uid` = "' . $this -> users [ $j ][ 'id' ] . ' " AND
2022-12-19 20:22:19 +00:00
( `btl_bot` LIKE " ' . $this->users [ $i ]['bot_id'] . '!% " OR `btl_bot` LIKE " %!' . $this->users [ $i ]['bot_id'] . '!% " )
AND `val` != 1
2022-12-30 19:03:37 +00:00
LIMIT 1 '
);
2022-12-19 20:22:19 +00:00
//
} elseif ( $this -> info [ 'team_win' ] == 0 ) {
2022-12-30 19:03:37 +00:00
$u -> addAction (
time (), 'nich_bot_' . $this -> users [ $i ][ 'bot_id' ], '' ,
$this -> users [ $j ][ 'id' ]
);
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$u -> addAction (
time (), 'lose_bot_' . $this -> users [ $i ][ 'bot_id' ], '' ,
$this -> users [ $j ][ 'id' ]
);
2022-12-19 20:22:19 +00:00
}
}
$j ++ ;
}
}
$i ++ ;
}
}
$botss = [];
2022-12-30 19:03:37 +00:00
2023-01-10 16:29:32 +00:00
//Из бота падают предметы
2022-12-30 19:03:37 +00:00
if ( $nl != 10 && $this -> info [ 'dungeon' ] > 0 ) {
if ( $this -> info [ 'team_win' ] == $u -> info [ 'team' ] && $this -> info [ 'dungeon' ] == 102 ) {
$j1 = mysql_fetch_array (
mysql_query (
'SELECT * FROM `laba_obj` WHERE `type` = 2 AND `lib` = "' . $this -> info [ 'dn_id' ] . '" AND `x` = "' . $this -> info [ 'x' ] . '" AND `y` = "' . $this -> info [ 'y' ] . '" LIMIT 1'
)
);
if ( isset ( $j1 [ 'id' ])) {
mysql_query ( 'DELETE FROM `laba_obj` WHERE `id` = "' . $j1 [ 'id' ] . '" LIMIT 1' );
2023-01-10 16:29:32 +00:00
//Выпадает шмотка
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `laba_obj` ( `use` , `lib` , `time` , `type` , `x` , `y` , `vars` ) VALUES (
" 0 " , " ' . $j1['lib'] . ' " , " ' . time(
) . '","6","' . $j1 [ 'x' ] . '","' . $j1 [ 'y' ] . '","' . ( 0 + $botsi ) . ' "
) '
);
}
} elseif ( $this -> info [ 'team_win' ] == $u -> info [ 'team' ]) {
2023-01-10 16:29:32 +00:00
//выйграли люди, выкидываем предметы из мобов
2022-12-30 19:03:37 +00:00
$j1 = mysql_query (
'SELECT * FROM `dungeon_bots` WHERE `dn` = "' . $this -> info [ 'dn_id' ] . '" AND `for_dn` = "0" AND `x` = "' . $this -> info [ 'x' ] . '" AND `delete` = "0" AND `y`= "' . $this -> info [ 'y' ] . '" LIMIT 100'
);
while ( $tbot = mysql_fetch_array ( $j1 )) {
$j2 = 0 ;
while ( $j2 < $tbot [ 'colvo' ]) {
if ( isset ( $tbot [ 'id2' ])) {
$tbot2 = mysql_fetch_array (
mysql_query (
'SELECT * FROM `test_bot` WHERE `id` = "' . $tbot [ 'id_bot' ] . '" LIMIT 1'
)
);
$itms = explode ( '|' , $tbot2 [ 'p_items' ]);
$tii = 0 ;
$testdrop = 0 ;
while ( $tii < count ( $itms ) && $testdrop == 0 ) {
$itmz = explode ( '=' , $itms [ $tii ]);
if ( $itmz [ 0 ] > 0 ) {
if ( isset ( $itmz [ 2 ]) && $itmz [ 2 ] != '' ) { // $itmz[2] == quest888
$questDrop = mysql_fetch_array (
mysql_query (
'SELECT * FROM `actions` WHERE `vars` LIKE "%' . $itmz [ 2 ] . '%" AND `vals` = "go" AND `uid` = "' . $u -> info [ 'id' ] . '" LIMIT 1'
)
);
}
2023-01-10 16:29:32 +00:00
if ( isset ( $questDrop [ 'id' ])) { // Если квест есть, предмет имеет шанс выпасть
2022-12-30 19:03:37 +00:00
} elseif ( isset ( $itmz [ 2 ]) && $itmz [ 2 ] != '' ) {
$itmz [ 1 ] = 0 ;
2023-01-10 16:29:32 +00:00
} // Если предмет квестовый, а квеста у игрока нет, то предмет выпадет с вероятностью 0
2022-12-30 19:03:37 +00:00
unset ( $questDrop );
2023-01-10 16:29:32 +00:00
//Добавляем этот предмет в зону Х и У
2022-12-30 19:03:37 +00:00
if ( $itmz [ 1 ] * 100000 >= rand ( 1 , 10000000 )) {
2023-01-10 16:29:32 +00:00
$tou = 0 ; //какому юзеру предназначено
/* выделяем случайного юзера из команды */
2022-12-30 19:03:37 +00:00
$itmnm = mysql_fetch_array (
mysql_query (
'SELECT `name` FROM `items_main` WHERE `id` = "' . $itmz [ 0 ] . '" LIMIT 1'
)
);
$itmnm = $itmnm [ 'name' ];
2023-01-10 16:29:32 +00:00
$rtxt = 'У <strong>' . $tbot2 [ 'login' ] . '</strong> был предмет "' . $itmnm . '" и кто угодно может поднять е г о ' ;
2022-12-30 19:03:37 +00:00
mysql_query (
" INSERT INTO `chat` (`dn`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`,`typeTime`,`new`) VALUES (' " . $this -> info [ 'dn_id' ] . " ',' " . $this -> users [ 0 ][ 'city' ] . " ',' " . $this -> users [ 0 ][ 'room' ] . " ','','',' " . $rtxt . " ',' " . time (
) . " ','6','0','1','1') "
);
$ins = mysql_query (
' INSERT INTO `dungeon_items` ( `dn` , `user` , `item_id` , `time` , `x` , `y` ) VALUES (
" ' . $this->info ['dn_id'] . ' " ,
" ' . $tou . ' " ,
" ' . $itmz[0] . ' " ,
" ' . time() . ' " ,
" ' . $this->info ['x'] . ' " ,
" ' . $this->info ['y'] . ' " ) '
);
if ( ! isset ( $questDrop [ 'id' ])) {
2023-01-10 16:29:32 +00:00
$testdrop = 1 ; //Т У Т drop-drop //quest
2022-12-19 20:22:19 +00:00
}
}
}
2022-12-30 19:03:37 +00:00
$tii ++ ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
$j2 ++ ;
}
//
2023-01-10 16:29:32 +00:00
//Квест 1-15 сентября,
2022-12-30 19:03:37 +00:00
if ( date ( 'm' ) == 9 && date ( 'd' ) < 15 ) {
if ( $this -> get_chanse ( 99 ) == true ) {
2023-01-10 16:29:32 +00:00
//Н е выпало
2022-12-30 19:03:37 +00:00
} elseif ( $this -> info [ 'dungeon' ] == 12 || $this -> info [ 'dungeon' ] == 101 ) {
2023-01-10 16:29:32 +00:00
$tou = 0 ; //какому юзеру предназначено
/* выделяем случайного юзера из команды */
2022-12-30 19:03:37 +00:00
$itmz = [
rand ( 4745 , 4751 ),
100 ,
];
//
$itmnm = mysql_fetch_array (
mysql_query (
'SELECT `name` FROM `items_main` WHERE `id` = "' . $itmz [ 0 ] . '" LIMIT 1'
)
);
$itmnm = $itmnm [ 'name' ];
2023-01-10 16:29:32 +00:00
$rtxt = 'У <strong>' . $tbot2 [ 'login' ] . '</strong> был предмет "' . $itmnm . '" и кто угодно может поднять е г о ' ;
2022-12-30 19:03:37 +00:00
mysql_query (
" INSERT INTO `chat` (`dn`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`,`typeTime`,`new`) VALUES (' " . $this -> info [ 'dn_id' ] . " ',' " . $this -> users [ 0 ][ 'city' ] . " ',' " . $this -> users [ 0 ][ 'room' ] . " ','','',' " . $rtxt . " ',' " . time (
) . " ','6','0','1','1') "
);
$ins = mysql_query (
' INSERT INTO `dungeon_items` ( `dn` , `user` , `item_id` , `time` , `x` , `y` ) VALUES (
" ' . $this->info ['dn_id'] . ' " ,
" ' . $tou . ' " ,
" ' . $itmz[0] . ' " ,
" ' . time() . ' " ,
" ' . $this->info ['x'] . ' " ,
" ' . $this->info ['y'] . ' " ) '
);
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
//
2023-01-10 16:29:32 +00:00
//Странички саныча,
2022-12-30 19:03:37 +00:00
if ( rand ( 1 , 100 ) <= 99 ) {
2023-01-10 16:29:32 +00:00
//Н е выпало
2022-12-30 19:03:37 +00:00
} elseif ( $this -> info [ 'dungeon' ] == 12 || $this -> info [ 'dungeon' ] == 3 ||
$this -> info [ 'dungeon' ] == 101 || $this -> info [ 'dungeon' ] == 16 ||
$this -> info [ 'dungeon' ] == 9 || $this -> info [ 'dungeon' ] == 10 ||
$this -> info [ 'dungeon' ] == 13 || $this -> info [ 'dungeon' ] == 106 ) {
2023-01-10 16:29:32 +00:00
$tou = 0 ; //какому юзеру предназначено
// выделяем случайного юзера из команды
2022-12-30 19:03:37 +00:00
$itmz = rand ( 3143 , 3192 );
//
$itmnm = mysql_fetch_array (
mysql_query ( 'SELECT `name` FROM `items_main` WHERE `id` = "' . $itmz . '" LIMIT 1' )
);
$itmnm = $itmnm [ 'name' ];
2023-01-10 16:29:32 +00:00
$rtxt = 'У <strong>' . $tbot2 [ 'login' ] . '</strong> был предмет "' . $itmnm . '" и кто угодно может поднять е г о ' ;
2022-12-30 19:03:37 +00:00
mysql_query (
" INSERT INTO `chat` (`dn`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`,`typeTime`,`new`) VALUES (' " . $this -> info [ 'dn_id' ] . " ',' " . $this -> users [ 0 ][ 'city' ] . " ',' " . $this -> users [ 0 ][ 'room' ] . " ','','',' " . $rtxt . " ',' " . time (
) . " ','6','0','1','1') "
);
$ins = mysql_query (
' INSERT INTO `dungeon_items` ( `dn` , `user` , `item_id` , `time` , `x` , `y` ) VALUES (
" ' . $this->info ['dn_id'] . ' " ,
" ' . $tou . ' " ,
" ' . $itmz . ' " ,
" ' . time() . ' " ,
" ' . $this->info ['x'] . ' " ,
" ' . $this->info ['y'] . ' " ) '
);
}
}
mysql_query (
'UPDATE `dungeon_bots` SET `delete` = "' . time (
) . '" AND `inBattle` = "' . $this -> info [ 'id' ] . '" WHERE `dn` = "' . $this -> info [ 'dn_id' ] . '" AND `for_dn` = "0" AND `delete` = "0" '
);
} else {
2023-01-10 16:29:32 +00:00
//выкидываем всех игроков в клетку RESTART
2022-12-30 19:03:37 +00:00
$dnr = 1 ;
if ( $this -> info [ 'dungeon' ] != 102 ) {
mysql_query (
'UPDATE `dungeon_bots` SET `inBattle` = "0" WHERE `dn` = "' . $this -> info [ 'dn_id' ] . '" AND `for_dn` = "0" AND `x` = "' . $this -> info [ 'x' ] . '" AND `y`= "' . $this -> info [ 'y' ] . '"'
);
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$gm = [];
$gms = [];
$bm = [];
$bms = [];
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
//Квестовый раздел
//Квестовый раздел
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
//завершаем поединок
2022-12-30 19:03:37 +00:00
$i = $this -> uids [ $u -> info [ 'id' ]];
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'team_win' ] >= 0 ) {
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> stats [ $i ][ 'pbe' ] > 0 ) {
2023-01-10 16:29:32 +00:00
//Бонус покупателя
2022-12-30 19:03:37 +00:00
$this -> expCoef += $this -> stats [ $i ][ 'pbe' ];
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'razdel' ] == 5 ) {
if ( $c [ 'm' ] >= 6 && $c [ 'm' ] <= 8 ) {
2023-01-10 16:29:32 +00:00
//Летний период
2022-12-30 19:03:37 +00:00
$this -> expCoef += 5 ;
} elseif ( $c [ 'w' ] == 0 || $c [ 'w' ] == 6 ) {
2023-01-10 16:29:32 +00:00
//Выходные дни
2022-12-30 19:03:37 +00:00
$this -> expCoef += 5 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$this -> stats [ $i ][ 'exp' ] += $this -> expCoef ;
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$this -> stats [ $i ][ 'exp' ] += $this -> aBexp * $c [ 'exp' ];
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> stats [ $i ][ 'os4' ] > 0 ) {
$this -> stats [ $i ][ 'exp' ] += $this -> stats [ $i ][ 'os4' ];
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$act01 = 0 ;
$this -> users [ $i ][ 'battle_exp' ] = round (
$this -> users [ $i ][ 'battle_exp' ] + ( $this -> users [ $i ][ 'battle_exp' ] / 100 * ( 1 + $this -> info [ 'addExp' ] + $this -> stats [ $i ][ 'exp' ]))
);
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'type' ] == 564 ) {
2023-01-10 16:29:32 +00:00
//Бой с копией
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'battle_exp' ] = 0 ;
}
if ( $this -> info [ 'dungeon' ] == 104 ) {
$this -> users [ $i ][ 'battle_exp' ] = ( $u -> info [ 'level' ] * 2 ) * ( count ( $this -> uids ) - 1 );
} elseif ( $this -> info [ 'dungeon' ] > 0 && $this -> users [ $i ][ 'dnow' ] != 0 && $this -> info [ 'dungeon' ] != 1 && $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ]) {
$dun_limitForLevel = [
4 => 750 ,
5 => 1500 ,
6 => 3500 ,
7 => 8000 ,
8 => 25000 ,
9 => 50000 ,
10 => 75000 ,
11 => 100000 ,
12 => 100000 ,
13 => 100000 ,
14 => 100000 ,
];
2023-01-10 16:29:32 +00:00
// Максимум для каждого уровня.
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'battle_exp' ] > 0 ) {
2023-01-10 16:29:32 +00:00
$dun_exp = []; // Текущий лимит опыта игрока в подземельях.
2022-12-30 19:03:37 +00:00
$rep = mysql_fetch_array (
mysql_query (
'SELECT `dungeonexp`,`id` FROM `rep` WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
)
);
$rep = explode ( ',' , $rep [ 'dungeonexp' ]);
foreach ( $rep as $key => $val ) {
2023-01-10 16:29:32 +00:00
$val = explode ( '=' , $val ); // текущий лимит опыта в подземке
2022-12-30 19:03:37 +00:00
if ( isset ( $val [ 0 ]) && isset ( $val [ 1 ]) && $val [ 0 ] != '' && $val [ 1 ] != 0 ) {
$dun_exp [( int ) $val [ 0 ]] = ( int ) $val [ 1 ];
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
unset ( $rep );
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
if ( ! isset ( $dun_exp [ $this -> info [ 'dungeon' ]])) {
$dun_exp [ $this -> info [ 'dungeon' ]] = 0 ;
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
if ( ! isset ( $dun_limitForLevel [( int ) $this -> users [ $i ][ 'level' ]])) { // Если лимит не задан, опыт не даем.
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'battle_exp' ] = 0 ;
} elseif (
isset ( $dun_exp [ $this -> info [ 'dungeon' ]]) &&
$dun_exp [ $this -> info [ 'dungeon' ]] >= $dun_limitForLevel [( int ) $this -> users [ $i ][ 'level' ]]
2023-01-10 16:29:32 +00:00
) { // Если лимит уже достигнут, опыт не даем.
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'battle_exp' ] = 0 ;
} elseif (
isset ( $dun_exp [ $this -> info [ 'dungeon' ]]) &&
$dun_limitForLevel [( int ) $this -> users [ $i ][ 'level' ]] > $dun_exp [ $this -> info [ 'dungeon' ]]
2023-01-10 16:29:32 +00:00
) { // Если текущая репутация не достигла лимита.
2022-12-30 19:03:37 +00:00
if (( $dun_exp [ $this -> info [ 'dungeon' ]] + $this -> users [ $i ][ 'battle_exp' ]) > $dun_limitForLevel [( int ) $this -> users [ $i ][ 'level' ]]) {
2023-01-10 16:29:32 +00:00
// Если опыта набрано достаточно, для достижения лимита.
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'battle_exp' ] = abs (
$this -> users [ $i ][ 'battle_exp' ] - abs (
$dun_limitForLevel [( int ) $this -> users [ $i ][ 'level' ]] - ( $this -> users [ $i ][ 'battle_exp' ] + $dun_exp [ $this -> info [ 'dungeon' ]])
)
);
$dun_exp [ $this -> info [ 'dungeon' ]] += $this -> users [ $i ][ 'battle_exp' ];
} elseif ( $dun_limitForLevel [( int ) $this -> users [ $i ][ 'level' ]] > ( $dun_exp [ $this -> info [ 'dungeon' ]] + $this -> users [ $i ][ 'battle_exp' ])) {
2023-01-10 16:29:32 +00:00
// Если опыта недостаточно, для достижения лимита.
2022-12-30 19:03:37 +00:00
$dun_exp [ $this -> info [ 'dungeon' ]] += $this -> users [ $i ][ 'battle_exp' ];
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'battle_exp' ] = 0 ;
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
} else { // В любой непонятной ситуцаии.
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'battle_exp' ] = 0 ;
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'battle_exp' ] > 0 && isset ( $dun_exp [ $this -> info [ 'dungeon' ]]) && $dun_exp [ $this -> info [ 'dungeon' ]] > 0 ) {
$dunexp = [];
foreach ( $dun_exp as $key => $val ) {
2023-01-10 16:29:32 +00:00
$dunexp [ $key ] = $key . '=' . $val ; // текущий лимит опыта в подземке
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$dun_exp = implode ( " , " , $dunexp );
mysql_query (
'UPDATE `rep` SET `dungeonexp` = "' . $dun_exp . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
unset ( $dunexp , $dun_exp );
}
unset ( $dun_limitForLevel );
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$sinf = '' ;
if ( $c [ 'exp_mega' ]) {
$this -> users [ $i ][ 'battle_exp' ] += floor (
$this -> users [ $i ][ 'battle_exp' ] / 100 * $c [ 'exp_mega_val' ][ $this -> users [ $i ][ 'level' ]]
);
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'team_win' ] == 0 && $this -> info [ 'type' ] != 564 ) {
if ( $this -> users [ $i ][ 'level' ] <= 1 ) {
$this -> users [ $i ][ 'battle_exp' ] = floor ( $this -> users [ $i ][ 'battle_exp' ] * 0.50 );
} else {
$this -> users [ $i ][ 'battle_exp' ] = ceil ( $this -> users [ $i ][ 'battle_exp' ] * 0.10 );
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'nich' ] += 1 ;
mysql_query (
'UPDATE `users` SET `swin` = 0, `slose` = 0 WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
} elseif ( $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ] && $this -> info [ 'type' ] != 564 ) {
$gm [ $i ] = $this -> info [ 'money' ];
$gms [ $i ] = $this -> info [ 'money3' ];
$this -> users [ $i ][ 'win' ] += 1 ;
$act01 = 1 ;
mysql_query (
'UPDATE `users` SET `swin` = `swin` + 1, `slose` = 0 WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
} elseif ( $this -> info [ 'type' ] != 564 ) {
if ( $this -> users [ $i ][ 'level' ] <= 1 ) {
$this -> users [ $i ][ 'battle_exp' ] = ceil ( $this -> users [ $i ][ 'battle_exp' ] * 0.33 );
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'battle_exp' ] = ceil ( $this -> users [ $i ][ 'battle_exp' ] * 0.10 );
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$bm [ $i ] = $this -> info [ 'money' ];
$bms [ $i ] = $this -> info [ 'money3' ];
$this -> users [ $i ][ 'lose' ] += 1 ;
mysql_query (
'UPDATE `users` SET `swin` = 0, `slose` = `slose` + 1 WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
$act01 = 2 ;
}
2023-01-10 16:29:32 +00:00
//Рассчитываем кол-во выигрышных сумм и кто сколько получил (для екр.)
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'money3' ] > 0 && isset ( $gms [ $i ]) && $this -> info [ 'type' ] != 564 ) {
$mn = [
2023-01-10 16:29:32 +00:00
'l' => 0 , //сколько проигравших игроков
'w' => 0 , //сколько выигрывших игроков
'm' => 0 , //сумма выигрыша (общая)
2022-12-30 19:03:37 +00:00
];
if ( $act01 == 1 ) {
$mn [ 'l' ] = mysql_fetch_array (
mysql_query (
'SELECT COUNT(`id`) FROM `battle_users` WHERE `battle` = "' . $this -> info [ 'id' ] . '" AND `team` != "' . $this -> users [ $i ][ 'team' ] . '" LIMIT 1'
)
);
$mn [ 'l' ] = $mn [ 'l' ][ 0 ];
$mn [ 'w' ] = mysql_fetch_array (
mysql_query (
'SELECT COUNT(`id`) FROM `battle_users` WHERE `battle` = "' . $this -> info [ 'id' ] . '" AND `team` = "' . $this -> users [ $i ][ 'team' ] . '" LIMIT 1'
)
);
$mn [ 'w' ] = $mn [ 'w' ][ 0 ];
$mn [ 'm' ] = round (( $mn [ 'l' ] * $this -> info [ 'money3' ]) / 100 * 87 , 2 );
$gms [ $i ] = round (( $mn [ 'm' ] / $mn [ 'w' ]), 2 );
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2023-01-10 16:29:32 +00:00
//заносим данные в БД
//Поломка предметов
2022-12-30 19:03:37 +00:00
if ( $act01 == 1 ) {
2023-01-10 16:29:32 +00:00
//победа
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'dnow' ] == 0 ) {
if ( $this -> users [ $i ][ 'hpNow' ] < 1 ) {
$lom = 0.05 ;
}
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
} elseif ( $act01 == 2 ) {
2023-01-10 16:29:32 +00:00
//поражение
2022-12-30 19:03:37 +00:00
$lom = 0.55 ;
} else {
2023-01-10 16:29:32 +00:00
//ничья
2022-12-30 19:03:37 +00:00
$lom = 0.05 ;
}
$nlom = [ 0 => rand ( 0 , 18 ), 1 => rand ( 0 , 18 ), 2 => rand ( 0 , 18 ), 3 => rand ( 0 , 18 )];
if ( $this -> info [ 'type' ] == 564 ) {
$lom = 0 ;
}
if ( $this -> stats [ $i ][ 'silver' ] >= 4 ) {
$lom = 0 ;
}
mysql_query (
'UPDATE `items_users` SET `iznosNOW` = `iznosNOW`+' . $lom . ' WHERE `inOdet` < "18" AND `inOdet` > "0" AND `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `inOdet`!="0" AND `inOdet`!=' . $nlom [ 0 ] . ' AND `inOdet`!=' . $nlom [ 1 ] . ' AND `inOdet`!=' . $nlom [ 2 ] . ' AND `inOdet`!=' . $nlom [ 3 ] . ' LIMIT 18'
);
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$prc = '' ;
if ( $this -> users [ $i ][ 'align' ] == 2 ) {
$this -> users [ $i ][ 'battle_exp' ] = floor ( $this -> users [ $i ][ 'battle_exp' ] / 2 );
}
if ( $this -> users [ $i ][ 'animal' ] > 0 ) {
$ulan = $u -> testAction (
'`uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `vars` = "animal_use' . $this -> info [ 'id' ] . '" LIMIT 1' ,
1
);
if ( isset ( $ulan [ 'id' ]) && $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ] && $this -> users [ $i ][ 'level' ] > $ulan [ 'vals' ]) {
$a004 = mysql_fetch_array (
mysql_query (
'SELECT `max_exp`,`name` FROM `users_animal` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `id` = "' . $this -> users [ $i ][ 'animal' ] . '" AND `pet_in_cage` = "0" AND `delete` = "0" LIMIT 1'
)
);
2023-01-10 16:29:32 +00:00
//33% от опыта переходит зверю, но не более максимума
2022-12-30 19:03:37 +00:00
$aexp = ( round ( $this -> users [ $i ][ 'battle_exp' ] / 100 * 33 ));
if ( $aexp > $a004 [ 'max_exp' ]) {
$aexp = $a004 [ 'max_exp' ];
}
unset ( $ulan );
//
mysql_query (
" INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`
2022-12-19 20:22:19 +00:00
) VALUES (
'1' , '" . $this->users[$i][' city '] . "' , '" . $this->users[$i][' room '] . "' , '' , '" . $this->users[$i][' login '] . "'
2023-01-10 16:29:32 +00:00
, 'Ваш питомец "" . $a004[' name '] . "" получил опыт: <strong>" . $aexp . "</strong>' , '-1' , '6' , '0' ) "
2022-12-30 19:03:37 +00:00
);
//
$upd = mysql_query (
'UPDATE `users_animal` SET `exp` = `exp` + ' . $aexp . ' WHERE `id` = "' . $this -> users [ $i ][ 'animal' ] . '" AND `level` < ' . $this -> users [ $i ][ 'level' ] . ' LIMIT 1'
);
if ( $upd ) {
$this -> users [ $i ][ 'battle_exp' ] = round ( $this -> users [ $i ][ 'battle_exp' ] / 100 * 67 );
$this -> info [ 'addExp' ] -= 33.333 ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$prsusers = mysql_fetch_array (
mysql_query (
'SELECT SUM(`price1`) FROM `battle_users` WHERE `battle` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$btlstatus = $this -> typeBattle ( $prsusers [ 0 ]);
if ( $this -> info [ 'smert' ] == 1 ) {
2023-01-10 16:29:32 +00:00
$btlstatus = [ 150 , 150 , 'Жесточайшее Сражение' , 'Жесточайшее Сражение' ];
2022-12-30 19:03:37 +00:00
}
//
if ( $this -> stats [ $i ][ 'clanpos' ] > 0 && ( $this -> stats [ $i ][ 'clanpos' ] == 1 || $this -> stats [ $i ][ 'clanpos' ] == 2 || $this -> stats [ $i ][ 'clanpos' ] == 3 )) {
$this -> info [ 'addExp' ] += 0 ;
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
unset ( $r1 );
2023-01-10 16:29:32 +00:00
//Статусная битва
2022-12-30 19:03:37 +00:00
if ( $btlstatus [ 0 ] > 0 ) {
if ( $this -> info [ 'type' ] == 99 ) {
$this -> info [ 'addExp' ] += $btlstatus [ 1 ];
} else {
$this -> info [ 'addExp' ] += $btlstatus [ 0 ];
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'align' ] == 2 || $this -> users [ $i ][ 'haos' ] > time ()) {
$this -> stats [ $i ][ 'exp' ] = - ( $this -> info [ 'addExp' ] + 50 );
}
if ( $this -> info [ 'addExp' ] + $this -> stats [ $i ][ 'exp' ] != 0 ) {
$prc = ' (' . ( 100 + $this -> info [ 'addExp' ] + $this -> stats [ $i ][ 'exp' ]) . '%)' ;
}
if ( $this -> info [ 'money' ] > 0 ) {
if ( isset ( $gm [ $i ])) {
2023-01-10 16:29:32 +00:00
$prc .= ' Вы выйграли <strong>' . $gm [ $i ] . ' кр.</strong> за этот бой.' ;
2022-12-30 19:03:37 +00:00
$u -> addDelo (
4 , $this -> users [ $i ][ 'id' ],
2023-01-10 16:29:32 +00:00
'"<font color="olive">System.battle</font>": Персонаж выйграл <strong>' . $gm [ $i ] . ' кр.</strong> (В бою №' . $this -> info [ 'id' ] . ').' ,
2022-12-30 19:03:37 +00:00
time (), $this -> info [ 'city' ], 'System.battle' , 0 , 0
);
$this -> users [ $i ][ 'money' ] += $gm [ $i ];
} elseif ( isset ( $bm [ $i ])) {
2023-01-10 16:29:32 +00:00
$prc .= ' Вы заплатили <strong>' . $bm [ $i ] . ' кр.</strong> за этот бой.' ;
2022-12-30 19:03:37 +00:00
$u -> addDelo (
4 , $this -> users [ $i ][ 'id' ],
2023-01-10 16:29:32 +00:00
'"<font color="olive">System.battle</font>": Персонаж <i>проиграл</i> <strong>' . $gm [ $i ] . ' кр.</strong> (В бою №' . $this -> info [ 'id' ] . ').' ,
2022-12-30 19:03:37 +00:00
time (), $this -> info [ 'city' ], 'System.battle' , 0 , 0
);
$this -> users [ $i ][ 'money' ] -= $bm [ $i ];
}
}
if ( $c [ 'money_haot' ] && $this -> users [ $i ][ 'exp' ] <= 200000000 ) {
if ( $act01 == 1 && $this -> info [ 'razdel' ] == 5 && $this -> users [ $i ][ 'level' ] >= 8 ) {
2023-01-10 16:29:32 +00:00
//Сколько нужно опыта набить
2022-12-30 19:03:37 +00:00
$trexp = [
8 => 1200 ,
9 => 3000 ,
10 => 4500 ,
11 => 12000 ,
12 => 20000 ,
13 => 30000 ,
14 => 30000 ,
15 => 30000 ,
16 => 30000 ,
17 => 30000 ,
18 => 30000 ,
19 => 30000 ,
20 => 30000 ,
21 => 30000 ,
];
$trexp = $trexp [ $this -> users [ $i ][ 'level' ]];
2023-01-10 16:29:32 +00:00
//Какая цена фулла должна быть
2022-12-30 19:03:37 +00:00
$trmn = [
8 => 1000 ,
9 => 3000 ,
10 => 2500 ,
11 => 3000 ,
12 => 3000 ,
13 => 3000 ,
14 => 3000 ,
15 => 3000 ,
16 => 3000 ,
17 => 3000 ,
18 => 3000 ,
19 => 3000 ,
20 => 3000 ,
21 => 3000 ,
];
$trmn = $trmn [ $this -> users [ $i ][ 'level' ]];
2023-01-10 16:29:32 +00:00
//Сколько екр дается
2022-12-30 19:03:37 +00:00
$admn = [
8 => 0.05 , //0.05
9 => 0.065 , //0.065
10 => 0.075 , //0.075
11 => 0.085 , //0.085
12 => 0.1 , //0.1
13 => 0.1 ,
14 => 0.1 ,
15 => 0.1 ,
16 => 0.1 ,
17 => 0.1 ,
18 => 0.1 ,
19 => 0.1 ,
20 => 0.1 ,
21 => 0.1 ,
];
$admn = $admn [ $this -> users [ $i ][ 'level' ]];
if ( $c [ 'm' ] >= 6 && $c [ 'm' ] <= 8 ) {
2023-01-10 16:29:32 +00:00
//Летний период
2022-12-30 19:03:37 +00:00
if ( $c [ 'w' ] == 0 || $c [ 'w' ] == 5 || $c [ 'w' ] == 6 ) {
2023-01-10 16:29:32 +00:00
//Выходные дни
2022-12-19 20:22:19 +00:00
$admn = $admn * 2 ;
}
2022-12-30 19:03:37 +00:00
} elseif ( $c [ 'w' ] == 0 || $c [ 'w' ] == 5 || $c [ 'w' ] == 6 ) {
2023-01-10 16:29:32 +00:00
//Выходные дни
2022-12-30 19:03:37 +00:00
$admn = $admn * 2 ;
}
if ( $this -> users [ $i ][ 'battle_exp' ] < $trexp ) {
2023-01-10 16:29:32 +00:00
$prc .= ', Награда <strong>0 Е К Р </strong> за этот бой (Мало опыта набили).' ;
2022-12-30 19:03:37 +00:00
} elseif ( $admn > 0 ) {
if ( $this -> info [ 'type' ] != 33 ) {
2023-01-10 16:29:32 +00:00
$prc .= ', Награда <strong>' . $admn . ' Е К Р </strong> за этот бой.' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$u -> addDelo (
4 , $this -> users [ $i ][ 'id' ],
2023-01-10 16:29:32 +00:00
'"<font color="olive">System.battle</font>": Персонаж получил <strong>' . $admn . ' Е К Р </strong> (В бою №' . $this -> info [ 'id' ] . ').' ,
2022-12-30 19:03:37 +00:00
time (), $this -> info [ 'city' ], 'System.battle' , 0 , 0
);
$this -> users [ $i ][ 'money2' ] += $admn ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
}
if ( $this -> info [ 'money3' ] > 0 ) {
if ( isset ( $gms [ $i ])) {
2023-01-10 16:29:32 +00:00
$prc .= ' Вы выйграли <strong>' . $gms [ $i ] . ' $.</strong> за этот бой.' ;
2022-12-30 19:03:37 +00:00
$u -> addDelo (
4 , $this -> users [ $i ][ 'id' ],
2023-01-10 16:29:32 +00:00
'"<font color="olive">System.battle</font>": Персонаж выйграл <strong>' . $gms [ $i ] . ' $.</strong> (В бою №' . $this -> info [ 'id' ] . ').' ,
2022-12-30 19:03:37 +00:00
time (), $this -> info [ 'city' ], 'System.battle' , 0 , 0
);
$this -> users [ $i ][ 'money3' ] += $gms [ $i ];
mysql_query (
'UPDATE `users` SET `money3` = `money3` + "' . $gms [ $i ] . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
} elseif ( isset ( $bms [ $i ])) {
2023-01-10 16:29:32 +00:00
$prc .= ' Вы заплатили <strong>' . $bms [ $i ] . ' $.</strong> за этот бой.' ;
2022-12-30 19:03:37 +00:00
$u -> addDelo (
4 , $this -> users [ $i ][ 'id' ],
2023-01-10 16:29:32 +00:00
'"<font color="olive">System.battle</font>": Персонаж <i>проиграл</i> <strong>' . $gms [ $i ] . ' $.</strong> (В бою №' . $this -> info [ 'id' ] . ').' ,
2022-12-30 19:03:37 +00:00
time (), $this -> info [ 'city' ], 'System.battle' , 0 , 0
);
$this -> users [ $i ][ 'money3' ] -= $bms [ $i ];
mysql_query (
'UPDATE `users` SET `money3` = `money3` - "' . $bms [ $i ] . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$lime = [
8 => 18000 ,
9 => 28000 ,
10 => 84000 ,
11 => 100 ,
12 => 100 ,
13 => 100 ,
14 => 100 ,
15 => 100 ,
16 => 100 ,
17 => 100 ,
18 => 100 ,
19 => 100 ,
20 => 100 ,
21 => 100 ,
];
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'level' ] < 8 ) {
$lime = 5400 ;
} else {
$lime = $lime [ $this -> users [ $i ][ 'level' ]];
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> stats [ $i ][ 'silver' ] >= 5 ) {
$lime += round ( $lime );
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'stopexp' ] == 1 ) {
$lime = 0 ;
$this -> users [ $i ][ 'battle_exp' ] = 0 ;
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $lime < $this -> users [ $i ][ 'battle_exp' ] && $c [ 'limitedexp' ] == true ) {
$this -> users [ $i ][ 'battle_exp' ] = $lime ;
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
unset ( $lime );
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $btlstatus [ 0 ] > 0 ) {
if ( $this -> info [ 'type' ] == 99 ) {
$prc .= ' (' . $btlstatus [ 3 ] . ')' ;
} else {
$prc .= ' (' . $btlstatus [ 2 ] . ')' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'dungeon' ] == 1 && $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ]) {
2023-01-10 16:29:32 +00:00
//канализация лимит
2022-12-30 19:03:37 +00:00
$rep = mysql_fetch_array (
mysql_query (
'SELECT `dl1`,`id` FROM `rep` WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
)
);
if ( $rep [ 'dl' . $this -> info [ 'dungeon' ]] > 0 ) {
$this -> users [ $i ][ 'battle_exp' ] += 3 * count ( $this -> users );
if ( $rep [ 'dl' . $this -> info [ 'dungeon' ]] > $this -> users [ $i ][ 'battle_exp' ]) {
$rep [ 'dl' . $this -> info [ 'dungeon' ]] -= $this -> users [ $i ][ 'battle_exp' ];
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'battle_exp' ] = $rep [ 'dl' . $this -> info [ 'dungeon' ]];
$rep [ 'dl' . $this -> info [ 'dungeon' ]] = 0 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `rep` SET `dl' . $this -> info [ 'dungeon' ] . '` = "' . $rep [ 'dl' . $this -> info [ 'dungeon' ]] . '" WHERE `id` = "' . $rep [ 'id' ] . '" LIMIT 1'
);
} else {
2022-12-19 20:22:19 +00:00
$this -> users [ $i ][ 'battle_exp' ] = 0 ;
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'battle_exp' ] < 1 ) {
$this -> users [ $i ][ 'battle_exp' ] = 0 ;
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'battle_exp' ] < 1 && $this -> users [ $i ][ 'twink' ] == 0 ) {
if ( $this -> info [ 'money' ] == 0 && $this -> info [ 'money3' ] == 0 && $this -> info [ 'kingfight' ] == 0 && ( ! isset ( $admnb ) || $admnb == 0 )) {
$prc = '' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> user [ $i ][ 'host_reg' ] == 'real_bot_user' ) {
$this -> users [ $i ][ 'battle_exp' ] = round ( $this -> users [ $i ][ 'battle_exp' ] / 3 );
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $sinf != '' ) {
$sinf = ' ( ' . $sinf . ' )' ;
}
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
//--------------Лимит 8-9--------------
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'level' ] == 8 && $this -> users [ $i ][ 'battle_exp' ] >= 23000 ) {
$this -> users [ $i ][ 'battle_exp' ] = 23000 ;
};
if ( $this -> users [ $i ][ 'level' ] == 9 && $this -> users [ $i ][ 'battle_exp' ] >= 31000 ) {
$this -> users [ $i ][ 'battle_exp' ] = 31000 ;
};
if ( $this -> users [ $i ][ 'level' ] == 10 && $this -> users [ $i ][ 'battle_exp' ] >= 52000 ) {
$this -> users [ $i ][ 'battle_exp' ] = 52000 ;
};
if ( $this -> users [ $i ][ 'level' ] >= 11 && $this -> users [ $i ][ 'battle_exp' ] >= 75000 ) {
$this -> users [ $i ][ 'battle_exp' ] = 75000 ;
};
//-------------------------------------
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'type' ] != 33 ) {
2023-01-10 16:29:32 +00:00
$this -> users [ $i ][ 'battle_text' ] = 'Бой закончен. В с е г о вами нанесено урона: <strong>' . floor (
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'battle_yron' ]
2023-01-10 16:29:32 +00:00
) . ' HP</strong>. Получено опыта: <strong>' . ( 0 + $this -> users [ $i ][ 'battle_exp' ]) . '</strong>' . $prc . '.' . $sinf ; //stats
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
/*Выпадение зубов в конце боя */
2022-12-30 19:03:37 +00:00
if ( $c [ 'nolevel' ]) {
$rex95 = substr ( $this -> users [ $i ][ 'exp' ], - 1 );
if ( $this -> users [ $i ][ 'money4' ] < 1000 && $this -> users [ $i ][ 'exp' ] == 12499 ) {
$rex95 = 6 ;
2022-12-19 20:22:19 +00:00
$rex95 = 5 ;
}
2022-12-30 19:03:37 +00:00
} else {
$rex95 = 5 ;
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $c [ 'zuby' ] && $this -> info [ 'dungeon' ] == 0 && ( $this -> info [ 'clone' ] == 0 || $this -> users [ $i ][ 'level' ] < 5 ) && $rex95 != 9 && $this -> info [ 'type' ] != 564 ) {
if ( $this -> users [ $i ][ 'align' ] != 2 && $this -> users [ $i ][ 'level' ] >= 0 && $this -> users [ $i ][ 'level' ] < 8 && $this -> users [ $i ][ 'battle_exp' ] > 0 ) {
$rzb = 0 ;
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> get_chanse ( 50 )) {
$rzb += rand ( 1 , 3 );
} else {
if ( $this -> users [ $i ][ 'battle_exp' ] > 15 ) {
$rzb += 1 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$chzbs = 100 ;
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> stats [ $i ][ 'silver' ] > 0 ) {
$chzbs = 150 ;
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'battle_exp' ] > 9 ) {
if ( $this -> users [ $i ][ 'level' ] > 1 ) {
2023-01-10 16:29:32 +00:00
//Нормальный зуб
2022-12-30 19:03:37 +00:00
if ( $this -> get_chanse ( 25 / 100 * $chzbs )) {
$rzb += 10 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
} elseif ( $this -> users [ $i ][ 'level' ] == 1 ) {
if ( $this -> get_chanse ( 30 / 100 * $chzbs )) {
$rzb += 10 ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'level' ] > 3 ) {
if ( $this -> get_chanse ( 5 / 100 * $chzbs )) {
$rzb += 100 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
}
if ( $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ]) {
2023-01-10 16:29:32 +00:00
//выиграли
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'level' ] < 8 ) {
$rzb += 1 ;
}
} elseif ( $this -> users [ $i ][ 'team' ] == 0 ) {
2023-01-10 16:29:32 +00:00
//ничья
2022-12-30 19:03:37 +00:00
if ( $this -> get_chanse ( 25 / 100 * $chzbs ) && $this -> users [ $i ][ 'battle_exp' ] > 2 ) {
$rzb = rand ( 0 , 1 );
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$rzb = 0 ;
}
} else {
2023-01-10 16:29:32 +00:00
//проиграли
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'level' ] >= 1 ) {
$rzb = 0 ;
} else {
if ( $this -> users [ $i ][ 'battle_exp' ] < 3 ) {
2022-12-19 20:22:19 +00:00
$rzb = 0 ;
2022-12-30 19:03:37 +00:00
} elseif ( $this -> user [ $i ][ 'lose' ] > $this -> user [ $i ][ 'win' ]) {
if ( $this -> get_chanse ( 5 / 100 * $chzbs )) {
2022-12-19 20:22:19 +00:00
$rzb = rand ( 0 , 1 );
2022-12-30 19:03:37 +00:00
} else {
$rzb = 0 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
} elseif ( $this -> get_chanse ( 10 / 100 * $chzbs )) {
2022-12-19 20:22:19 +00:00
$rzb = rand ( 0 , 1 );
}
}
2022-12-30 19:03:37 +00:00
$rzb = 0 ;
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $rex95 == 6 ) {
if ( $this -> users [ $i ][ 'battle_exp' ] > 10 ) {
$rzb = rand ( 0 , 1 );
} else {
$rzb = 0 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
if ( $rzb > 0 && rand ( 0 , 1000 ) <= 500 ) {
$rzb = rand ( 1 , 3 );
}
if ( $rzb > 0 ) {
if ( $this -> stats [ $i ][ 'silver' ] >= 5 ) {
$rzb = $rzb * 2 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `money4` = `money4` + "' . $rzb . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2023-01-10 16:29:32 +00:00
$this -> users [ $i ][ 'battle_text' ] .= ' Вы получили <small>' . $u -> zuby (
2022-12-30 19:03:37 +00:00
$rzb ,
1
2023-01-10 16:29:32 +00:00
) . '</small> за этот бой.' ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'priz' ] > 0 ) {
2023-01-10 16:29:32 +00:00
//Призовой хаот
2022-12-30 19:03:37 +00:00
/*
[ 4754 ]
2023-01-10 16:29:32 +00:00
2 - 3 лвл = 1 жетон
4 - 5 лвл = 1 жетона
6 - 7 лвл = 2 жетонов
8 - 9 лвл = 3 жетонов
В случаи победы ( х 3)
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
*/
2023-01-10 16:29:32 +00:00
if ( $this -> info [ 'type' ] != 33 ) //Т У Т приз хаот дроп
2022-12-30 19:03:37 +00:00
{
$tmon = [
2 => 1 ,
3 => 1 ,
4 => 1 ,
5 => 1 ,
6 => 1 ,
7 => 2 ,
8 => 3 ,
9 => 3 ,
10 => 5 ,
11 => 5 ,
];
$tmon = $tmon [ $this -> users [ $i ][ 'level' ]];
$tmonc = mysql_fetch_array (
mysql_query (
'SELECT COUNT(*) FROM `battle` WHERE `id` IN ( SELECT `battle_id` FROM `battle_last` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" ) AND `priz` > 0 AND `time_start` > "' . strtotime (
date ( 'd.m.Y' )
) . '"'
)
);
$tmonc = $tmonc [ 0 ];
if ( $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ]) {
2023-01-10 16:29:32 +00:00
//При выигрыше увеличиваем
2022-12-30 19:03:37 +00:00
if ( $tmonc < 1 ) {
$tmonc = 1 ;
} elseif ( $tmonc > 96 ) {
$tmonc = 96 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$tmon = ( $tmon * $tmonc );
}
$tmoni = 1 ;
while ( $tmoni <= floor ( $tmon / 2 )) {
$u -> addItem ( 4754 , $this -> users [ $i ][ 'id' ], '' ); //
$tmoni ++ ;
}
2023-01-10 16:29:32 +00:00
$this -> users [ $i ][ 'battle_text' ] .= ' З а призовой хаот вы получаете <strong>Призовой Жетон (x' . floor (
2022-12-30 19:03:37 +00:00
$tmon / 2
2023-01-10 16:29:32 +00:00
) . ')</strong>. (Чем больше призовых хаотов вы примите за сутки, тем больше будет выдаваться жетонов при победе! Призовых хаотов посещено сегодня ' . ( $tmonc ) . '/96 )' ;
2022-12-30 19:03:37 +00:00
unset ( $tmon , $tmoni );
}
}
2023-01-10 16:29:32 +00:00
//Снижение времени Право на подвиг Титул за победу в хаоте
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'dungeon' ] == 0 && $this -> info [ 'razdel' ] == 5 && $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ]) {
2023-01-10 16:29:32 +00:00
//Т У Т 2
$u -> repexp_add ( $this -> users [ $i ][ 'id' ], 2 ); //Репутация за поб в хаоте +2
2022-12-30 19:03:37 +00:00
$check = mysql_fetch_array (
mysql_query (
'SELECT * FROM `eff_users` WHERE `id_eff` = 478 AND `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `delete` = 0 ORDER BY `overType` DESC LIMIT 1;'
)
);
if ( isset ( $check [ 'id' ])) {
$urcheck = 10000 ;
if ( $this -> users [ $i ][ 'level' ] == 8 ) {
$urcheck = 3000 ;
} elseif ( $this -> users [ $i ][ 'level' ] == 9 ) {
$urcheck = 7000 ;
} elseif ( $this -> users [ $i ][ 'level' ] == 10 ) {
$urcheck = 12000 ;
} elseif ( $this -> users [ $i ][ 'level' ] >= 11 ) {
$urcheck = 18000 ;
}
if ( $this -> users [ $i ][ 'battle_yron' ] >= $urcheck ) {
mysql_query (
'UPDATE `eff_users` SET `timeUse` = `timeUse` - 300 WHERE `id_eff`=478 AND `delete` = 0 AND `uid` =' . $this -> users [ $i ][ 'id' ] . ' LIMIT 1'
);
2023-01-10 16:29:32 +00:00
$this -> users [ $i ][ 'battle_text' ] .= ' З а победу в хаоте и нанесение урона в <strong>' . $urcheck . '</strong> и более вы получаете <strong>-5 мин.</strong> к праву на подвиг!' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
mysql_query (
'UPDATE `users_achiv` SET `vx`= `vx`+1 WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
); //
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
}
2023-01-10 16:29:32 +00:00
//Награда за клан вар
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'dungeon' ] == 0 && $this -> info [ 'type' ] == 250 && $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ]) {
mysql_query (
'UPDATE `users_achiv` SET `kw`= `kw`+1 WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
if ( date ( 'w' ) == 0 || date ( 'w' ) == 6 || date ( 'w' ) == 4 ) {
2023-01-10 16:29:32 +00:00
$u -> repexp_add ( $this -> users [ $i ][ 'id' ], 25 ); //Клановые войны(победа) 25
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2023-01-10 16:29:32 +00:00
//Награда за клан вар
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'dungeon' ] == 0 && $this -> info [ 'type' ] == 99 && $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ]) {
if ( date ( 'w' ) == 0 || date ( 'w' ) == 6 || date ( 'w' ) == 5 ) {
2023-01-10 16:29:32 +00:00
$u -> repexp_add ( $this -> users [ $i ][ 'id' ], 10 ); //Кровавые войны(победа) 10
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2023-01-10 16:29:32 +00:00
//Новая выдача на трупожора
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'dungeon' ] == 0 && $this -> info [ 'type' ] == 500 && $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ] && $this -> users [ $i ][ 'no_ip' ] != 'trupojor' && $this -> users [ $i ][ 'bot' ] == 0 ) {
if ( $this -> users [ $i ][ 'level' ] > 9 ) {
$mid = 903093 ;
} else {
$mid = 89489 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$mon = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `aaa_monsters` WHERE `uid` = "' . $mid . '" LIMIT 1' )
);
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'battle_yron' ] >= 2000 ) {
$ritem = rand ( 1 , 100 );
if ( $ritem <= 20 ) {
$mon [ 'win_itm' ] = '4459@1' ;
} elseif ( $ritem <= 40 ) {
$mon [ 'win_itm' ] = '4460@1' ;
} elseif ( $ritem <= 60 ) {
$mon [ 'win_itm' ] = '4461@1' ;
} elseif ( $ritem <= 80 ) {
$mon [ 'win_itm' ] = '4462@1' ;
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$mon [ 'win_itm' ] = '4463@1' ;
}
} elseif ( $this -> users [ $i ][ 'battle_yron' ] >= 1500 ) {
$ritem = rand ( 1 , 100 );
if ( $ritem <= 20 ) {
$mon [ 'win_itm' ] = '4459@1' ;
} elseif ( $ritem <= 40 ) {
$mon [ 'win_itm' ] = '4460@1' ;
} elseif ( $ritem <= 60 ) {
$mon [ 'win_itm' ] = '4461@1' ;
} elseif ( $ritem <= 80 ) {
$mon [ 'win_itm' ] = '4462@1' ;
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$mon [ 'win_itm' ] = '4463@1' ;
}
} elseif ( $this -> users [ $i ][ 'battle_yron' ] >= 1000 ) {
$ritem = rand ( 1 , 100 );
if ( $ritem <= 25 ) {
$mon [ 'win_itm' ] = '4460@1' ;
} elseif ( $ritem <= 50 ) {
$mon [ 'win_itm' ] = '4461@1' ;
} elseif ( $ritem <= 75 ) {
$mon [ 'win_itm' ] = '4462@1' ;
} else {
$mon [ 'win_itm' ] = '4463@1' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
} else {
$mon [ 'win_itm' ] = '4392@1' ;
$timewait = 0 ;
}
if ( $this -> users [ $i ][ 'battle_yron' ] > 0 ) {
mysql_query (
2023-01-10 16:29:32 +00:00
'INSERT INTO `eff_users` (`no_Ace`,`id_eff`,`overType`,`uid`,`name`,`data`,`timeUse`) VALUES ("1","478","111","' . $this -> users [ $i ][ 'id' ] . '","Право на подвиг","pravonapodvig=1","' . time (
2022-12-30 19:03:37 +00:00
) . '")'
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
'INSERT INTO `actions`(`uid`, `time`, `city`, `room`, `vars`, `ip`, `vals`, `val`) VALUES ("' . $this -> users [ $i ][ 'id' ] . '","' . ( time (
) - $timewait ) . '","capitalcity","' . $this -> users [ $i ][ 'room' ] . '","end_trup"," ","","")'
);
mysql_query (
2023-01-10 16:29:32 +00:00
'INSERT INTO `eff_users` (`no_Ace`,`id_eff`,`overType`,`uid`,`name`,`data`,`timeUse`) VALUES ("1","479","112","' . $u -> info [ 'id' ] . '","Защита от нападения","zashitatk=1","' . time (
2022-12-30 19:03:37 +00:00
) . '")'
);
$ritem = rand ( 1 , 1000 );
if ( $ritem == 555 ) {
$mon [ 'win_itm' ] = $mon [ 'win_itm' ] . ',5022@1' ;
}
//
$this -> addGlobalItems (
$mid , $this -> users [ $i ][ 'id' ], $mon [ 'win_itm' ], $mon [ 'win_eff' ],
$mon [ 'win_ico' ], 1 , $mon [ 'win_money1' ], $mon [ 'win_money2' ]
); //$mon['win_exp']
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'dungeon' ] == 0 && $this -> info [ 'razdel' ] == 5 && $u -> info [ 'battle_yron' ] >= 2000 ) //$u->info['battle_yron']
{
2023-01-10 16:29:32 +00:00
//Реликвия Ангела ang_g
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ]) {
2023-01-10 16:29:32 +00:00
//При выигрыше увеличиваем
2022-12-30 19:03:37 +00:00
$tmoni = 2 ;
} else {
$tmoni = 1 ;
}
//
$tmon = $tmoni ;
$effblago = mysql_fetch_array (
mysql_query (
'SELECT * FROM `eff_users` WHERE `uid` = ' . $this -> users [ $i ][ 'id' ] . ' AND `delete` = 0 AND `id_eff`= 414 LIMIT 1'
)
);
if ( isset ( $effblago [ 'id' ])) {
$limitg = 50 ;
} else {
$limitg = 25 ;
}
while ( $tmoni >= 1 ) {
if ( $u -> info [ 'ang_g' ] < $limitg ) {
$u -> addItem ( 4754 , $this -> users [ $i ][ 'id' ], '' );
mysql_query (
'UPDATE `users` SET `ang_g`=`ang_g`+1 WHERE `id` =' . $this -> users [ $i ][ 'id' ] . ''
);
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$tmon -- ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$tmoni -- ;
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'type' ] != 33 ) {
2023-01-10 16:29:32 +00:00
$this -> users [ $i ][ 'battle_text' ] .= ' З а хаот вы получаете <strong>Реликвия Ангела (' . $tmon . ')</strong>. В с е г о [' . ( $u -> info [ 'ang_g' ] + $tmon ) . '/' . $limitg . '] в день. ' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
unset ( $tmon , $tmoni , $effblago , $limitg );
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'razdel' ] == 5 || $this -> info [ 'razdel' ] == 4 ) {
if ( date ( 'd.m' ) == '31.10' || ( date ( 'm' ) == 11 && date ( 'd' ) < 7 )) {
2023-01-10 16:29:32 +00:00
//Хэллоуин 4504
$this -> users [ $i ][ 'battle_text' ] .= ' Вы получаете <strong>Тыква (x1)</strong>.' ;
2022-12-30 19:03:37 +00:00
$u -> addItem ( 4504 , $this -> users [ $i ][ 'id' ], '|sudba=1' );
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
//Добавляем воинственность
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'dungeon' ] == 0 && $this -> info [ 'razdel' ] == 5 && $this -> users [ $i ][ 'exp' ] >= 1500 /*($this->users[$i]['exp'] < 12499 || $this->users[$i]['exp'] > 12500)*/
) {
if ( $this -> users [ $i ][ 'battle_exp' ] > 100 * $this -> users [ $i ][ 'level' ]) {
$rzbvo = $this -> users [ $i ][ 'battle_exp' ] * 6 / 1000 ;
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'level' ] == 8 ) {
if ( $rzbvo >= 100 ) {
$rzbvo = 100 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
if ( $this -> users [ $i ][ 'level' ] == 9 ) {
if ( $rzbvo >= 150 ) {
$rzbvo = 150 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
if ( $this -> users [ $i ][ 'level' ] == 10 ) {
if ( $rzbvo >= 200 ) {
$rzbvo = 200 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
if ( $this -> users [ $i ][ 'level' ] == 11 ) {
if ( $rzbvo >= 250 ) {
$rzbvo = 250 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
if ( $this -> users [ $i ][ 'level' ] == 12 ) {
if ( $rzbvo >= 250 ) {
$rzbvo = 250 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'type' ] != 33 ) {
2023-01-10 16:29:32 +00:00
$this -> users [ $i ][ 'battle_text' ] .= ' Вы получили ' . $rzbvo . ' воинственности за этот бой.' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `rep` SET `rep3` = `rep3` + "' . $rzbvo . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
mysql_query (
'INSERT INTO `actions`(`uid`, `time`, `city`, `room`, `vars`, `ip`, `vals`, `val`) VALUES ("' . $this -> users [ $i ][ 'id' ] . '","' . time (
) . '","capitalcity","' . $this -> users [ $i ][ 'room' ] . '","end_xaot"," ","' . $zadID . '","")'
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> stats [ $i ][ 'hpNow' ] >= 1 ) {
$this -> stats [ $i ][ 'test_heal' ] = mysql_fetch_array (
mysql_query (
'SELECT SUM(`yrn`) FROM `battle_stat` WHERE `uid2` = "' . $this -> users [ $i ][ 'id' ] . '" AND `battle` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
)
);
$this -> stats [ $i ][ 'test_heal' ] = $this -> stats [ $i ][ 'test_heal' ][ 0 ];
$this -> stats [ $i ][ 'test_start' ] = mysql_fetch_array (
mysql_query (
'SELECT `hpStart` FROM `battle_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `battle` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
)
);
$this -> stats [ $i ][ 'test_start' ] = $this -> stats [ $i ][ 'test_start' ][ 'hpStart' ];
//
$this -> stats [ $i ][ 'hpNow' ] = ( $this -> stats [ $i ][ 'test_start' ] - $this -> stats [ $i ][ 'test_heal' ]);
if ( $this -> stats [ $i ][ 'hpNow' ] < 1 ) {
$this -> stats [ $i ][ 'hpNow' ] = 1 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
} else {
$this -> stats [ $i ][ 'hpNow' ] = 0 ;
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
unset ( $this -> stats [ $i ][ 'test_heal' ]);
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'last_b' ] = $this -> info [ 'id' ]; //stats
$this -> users [ $i ][ 'last_a' ] = $act01 ;
$this -> users [ $i ][ 'battle' ] = - 1 ; //users
$this -> users [ $i ][ 'battle_yron' ] = 0 ; //stats
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'exp' ] += $this -> users [ $i ][ 'battle_exp' ]; //users
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
//Добавляем клан опыт (В с е кроме пещер)
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'clan' ] > 0 ) {
$cpr = 1 ;
if ( $this -> info [ 'typeBattle' ] == 9 ) {
$cpr = 25 ;
} elseif ( $this -> info [ 'typeBattle' ] == 50 ) {
$cpr = 65 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
if ( $this -> stats [ $i ][ 'silver' ] >= 5 ) {
$cpr = floor ( $cpr / 100 * 150 );
}
mysql_query (
'UPDATE `clan` SET `exp` = `exp` + "' . round (
$this -> users [ $i ][ 'battle_exp' ] / 100 * $cpr
) . '" WHERE `id` = "' . $this -> users [ $i ][ 'clan' ] . '" LIMIT 1'
);
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'battle_exp' ] = 0 ; //stats
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'team' ] == $this -> info [ 'team_win' ]) {
mysql_query (
'UPDATE `rep` SET `n_capitalcity` = `n_capitalcity` + ' . $this -> users [ $i ][ 'bn_capitalcity' ] . ' ,`n_demonscity` = `n_demonscity` + ' . $this -> users [ $i ][ 'bn_demonscity' ] . ' ,`n_demonscity` = `n_demonscity` + ' . $this -> users [ $i ][ 'bn_suncity' ] . ' WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
}
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
//репутация
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'bn_demonscity' ] = 0 ;
$this -> users [ $i ][ 'bn_capitalcity' ] = 0 ;
$this -> users [ $i ][ 'bn_suncity' ] = 0 ;
2023-01-10 16:29:32 +00:00
//завершение эффектов с финишем
2022-12-30 19:03:37 +00:00
$spe = mysql_query (
'SELECT * FROM `eff_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `file_finish` != "" AND `v1` = "priem" LIMIT 30'
);
while ( $ple = mysql_fetch_array ( $spe )) {
if ( file_exists ( '../../_incl_data/class/priems/' . $ple [ 'file_finish' ] . '.php' )) {
require ( '../../_incl_data/class/priems/' . $ple [ 'file_finish' ] . '.php' );
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2023-01-10 16:29:32 +00:00
//обновляем данные
2022-12-30 19:03:37 +00:00
mysql_query (
'DELETE FROM `eff_users` WHERE `v1` = "priem" AND `uid` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 50'
);
if ( $dnr == 1 ) {
if ( $this -> users [ $i ][ 'room' ] == 370 ) {
$dies = mysql_fetch_array (
mysql_query (
'SELECT COUNT(`id`) FROM `dungeon_actions` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `dn` = "' . $this -> users [ $i ][ 'dnow' ] . '" AND `vars` = "dielaba" LIMIT 1'
)
);
$dies = $dies [ 0 ];
mysql_query (
' INSERT INTO `dungeon_actions` ( `dn` , `uid` , `x` , `y` , `time` , `vars` , `vals` ) VALUES (
" ' . $this->users [ $i ]['dnow'] . ' " , " ' . $this->users [ $i ]['id'] . ' " , " ' . $this->users [ $i ]['x'] . ' " , " ' . $this->users [ $i ]['y'] . ' " , " ' . time(
) . ' " , " dielaba " , " "
) '
);
} else {
$dies = mysql_fetch_array (
mysql_query (
'SELECT COUNT(`id`) FROM `dungeon_actions` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `dn` = "' . $this -> users [ $i ][ 'dnow' ] . '" AND `vars` = "die" LIMIT 1'
)
);
$dies = $dies [ 0 ];
mysql_query (
' INSERT INTO `dungeon_actions` ( `dn` , `uid` , `x` , `y` , `time` , `vars` , `vals` ) VALUES (
" ' . $this->users [ $i ]['dnow'] . ' " , " ' . $this->users [ $i ]['id'] . ' " , " ' . $this->users [ $i ]['x'] . ' " , " ' . $this->users [ $i ]['y'] . ' " , " ' . time(
) . ' " , " die " , " "
) '
);
}
if ( $dies < 2 || $this -> info [ 'dungeon' ] == 15 ) {
//
$tshbn = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `items_users` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `delete` = 0 AND `item_id` = "4910" LIMIT 1'
)
);
if ( isset ( $tshbn [ 'id' ])) {
2023-01-10 16:29:32 +00:00
//выбрасываем шайбу
2022-12-30 19:03:37 +00:00
mysql_query ( 'DELETE FROM `items_users` WHERE `id` = "' . $tshbn [ 'id' ] . '" LIMIT 1' );
2022-12-19 20:22:19 +00:00
//
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `dungeon_obj` (
2022-12-19 20:22:19 +00:00
`name` , `dn` , `x` , `y` , `img` , `delete` , `action` , `for_dn` ,
`type` , `w` , `h` , `s` , `s2` , `os1` , `os2` , `os3` , `os4` , `type2` , `top` , `left` , `date`
) VALUES (
2023-01-10 16:29:32 +00:00
" Шайба " , " ' . $this->info ['dn_id'] . ' " , " ' . $this->users [ $i ]['x'] . ' " , " ' . $this->users [ $i ]['y'] . ' " , " shaiba.png " , " 0 " , " fileact:15/shaiba " , " 0 " ,
2022-12-19 20:22:19 +00:00
" 0 " , " 120 " , " 220 " , " 0 " , " 0 " , " 5 " , " 8 " , " 12 " , " 0 " , " 0 " , " 0 " , " 0 " , " { use: \ 'takeit \ ',rt1:69,rl1:-47,rt2:74,rl2:126,rt3:76,rl3:140,rt4:80,rl4:150} "
2022-12-30 19:03:37 +00:00
) '
);
//
}
2023-01-10 16:29:32 +00:00
//телепортируем в рестарт (координата 0х 0)
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'x' ] = $this -> users [ $i ][ 'res_x' ];
$this -> users [ $i ][ 'y' ] = $this -> users [ $i ][ 'res_y' ];
$this -> users [ $i ][ 's' ] = $this -> users [ $i ][ 'res_s' ];
$r_n = mysql_fetch_array (
mysql_query (
'SELECT `name` FROM `room` WHERE `id` = "' . ( int ) $this -> users [ $i ][ 'room' ] . '" LIMIT 1'
)
);
if ( $this -> users [ $i ][ 'room' ] == 370 ) {
if ( $this -> users [ $i ][ 'sex' ] == 0 ) {
2023-01-10 16:29:32 +00:00
$rtxt = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> трагически погиб и находится в начале лабиринта' ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$rtxt = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> трагически погибла и находится в начале лабиринта' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
} else {
if ( $this -> users [ $i ][ 'sex' ] == 0 ) {
2023-01-10 16:29:32 +00:00
$rtxt = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> трагически погиб и находится в комнате "' . $r_n [ 'name' ] . '"' ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$rtxt = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> трагически погибла и находится в комнате "' . $r_n [ 'name' ] . '"' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
} elseif ( $this -> info [ 'dungeon' ] == 102 ) {
$nld = '' ;
$lab = mysql_fetch_array (
mysql_query (
'SELECT `id`,`users` FROM `laba_now` WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
)
);
if ( $lab [ 'users' ] < 2 ) {
2023-01-10 16:29:32 +00:00
//Удаляем подземелье
2022-12-30 19:03:37 +00:00
mysql_query ( 'DELETE FROM `laba_now` WHERE `id` = "' . $lab [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'DELETE FROM `laba_map` WHERE `id` = "' . $lab [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'DELETE FROM `laba_obj` WHERE `lib` = "' . $lab [ 'id' ] . '"' );
mysql_query ( 'DELETE FROM `laba_act` WHERE `lib` = "' . $lab [ 'id' ] . '"' );
mysql_query ( 'DELETE FROM `laba_itm` WHERE `lib` = "' . $lab [ 'id' ] . '"' );
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$lab [ 'users' ] -- ;
mysql_query (
'UPDATE `laba_now` SET `users` = "' . $lab [ 'users' ] . '" WHERE `id` = "' . $lab [ 'id' ] . '" LIMIT 1'
);
}
mysql_query (
'UPDATE `stats` SET `dnow` = "0" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
mysql_query (
'UPDATE `users` SET `room` = "369" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2023-01-10 16:29:32 +00:00
//удаляем все предметы которые пропадают после выхода из пещеры
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `items_users` SET `delete` = "' . time (
) . '" WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `delete` < 1234567890 AND `inShop` = "0" AND (`dn_delete` = "1" OR `data` LIKE "%fromlaba=1%")'
);
if ( $this -> users [ $i ][ 'login' ] != '' ) {
2022-12-19 20:22:19 +00:00
if ( $this -> users [ $i ][ 'sex' ] == 0 ) {
2023-01-10 16:29:32 +00:00
$rtxt = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> трагически погиб без права на воскрешение и покидает подземелье' . $nld ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$rtxt = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> трагически погибла без права на воскрешение и покидает подземелье' . $nld ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
} else {
$tinf = mysql_fetch_array (
mysql_query (
'SELECT `uid` FROM `dungeon_now` WHERE `id` = "' . $this -> info [ 'dn_id' ] . '" LIMIT 1'
)
);
$nld = '' ;
if ( $tinf [ 'uid' ] == $this -> users [ $i ][ 'id' ]) {
$tinf = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `stats` WHERE `dnow` = "' . $this -> info [ 'dn_id' ] . '" AND `hpNow` >= 1 LIMIT 1'
)
);
if ( isset ( $tinf [ 'id' ])) {
$tinf = mysql_fetch_array (
mysql_query (
'SELECT `id`,`login` FROM `users` WHERE `id` = "' . $tinf [ 'id' ] . '" LIMIT 1'
)
);
2023-01-10 16:29:32 +00:00
$nld .= ', новым лидером становится "' . $tinf [ 'login' ] . '"' ;
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `dungeon_now` SET `uid` = "' . $tinf [ 'id' ] . '" WHERE `id` = "' . $this -> info [ 'dn_id' ] . '" LIMIT 1'
);
}
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$rooms = [
2023-01-10 16:29:32 +00:00
374 => 372 , //ПТП (Кэпитал сити)
189 => 188 , //Водосток (Кэпитал сити)
392 => 393 , //Шахты (Кэпитал сити)
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
398 => 397 , //Шахты (Ангелс сити)
243 => 395 , //Водосток (Ангелс сити)
360 => 242 , //Бездна (Ангелс сити)
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
19 => 293 , //Катакомбы
2022-12-30 19:03:37 +00:00
];
// $n_rm = $rooms[$this->users[$i]['room']];
mysql_query (
'UPDATE `stats` SET `dnow` = "0" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
mysql_query (
'UPDATE `users` SET `room` = "321" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2023-01-10 16:29:32 +00:00
//удаляем все предметы которые пропадают после выхода из пещеры
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `items_users` SET `delete` = "' . time (
) . '" WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `dn_delete` = "1" LIMIT 1000'
);
mysql_query (
'UPDATE `items_users` SET `delete` = "' . time (
) . '" WHERE `uid` = "' . $u -> info [ 'id' ] . '" AND `item_id` = "1189" OR `item_id` = "4447" OR `item_id` = "1174") LIMIT 1000'
);
if ( $this -> users [ $i ][ 'sex' ] == 0 ) {
2023-01-10 16:29:32 +00:00
$rtxt = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> трагически погиб без права на воскрешение и покидает подземелье' . $nld ;
2022-12-30 19:03:37 +00:00
} else {
2023-01-10 16:29:32 +00:00
$rtxt = '<strong>' . $this -> users [ $i ][ 'login' ] . '</strong> трагически погибла без права на воскрешение и покидает подземелье' . $nld ;
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
if ( $rtxt != '' ) {
mysql_query (
" INSERT INTO `chat` (`dn`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`,`typeTime`,`new`) VALUES (' " . $this -> info [ 'dn_id' ] . " ',' " . $this -> users [ $i ][ 'city' ] . " ',' " . $this -> users [ $i ][ 'room' ] . " ','','',' " . $rtxt . " ',' " . time (
) . " ','6','0','1','1') "
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
}
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
mysql_query ( 'UPDATE `users` SET `login2` = "" WHERE `battle` = "' . $this -> info [ 'id' ] . '"' );
$upd = mysql_query (
'UPDATE `users` SET `login2` = "", `money` = "' . $this -> users [ $i ][ 'money' ] . '", `money2` = "' . $this -> users [ $i ][ 'money2' ] . '",`win` = "' . $this -> users [ $i ][ 'win' ] . '",`lose` = "' . $this -> users [ $i ][ 'lose' ] . '",`nich` = "' . $this -> users [ $i ][ 'nich' ] . '",`battle` = "-1" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
2022-12-30 19:03:37 +00:00
if ( $u -> info [ 'id' ] == $this -> users [ $i ][ 'id' ]) {
$u -> info [ 'battle_text' ] = $this -> users [ $i ][ 'battle_text' ];
}
$upd2 = mysql_query (
'UPDATE `stats` SET `hpNow` = "' . $this -> stats [ $i ][ 'hpNow' ] . '",`mpNow` = "' . $this -> stats [ $i ][ 'mpNow' ] . '",`bn_capitalcity` = 0,`bn_demonscity` = 0,`smena` = 3,`tactic7` = "-100",`x`="' . $this -> users [ $i ][ 'x' ] . '",`y`="' . $this -> users [ $i ][ 'y' ] . '",`priems_z`="0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0",`last_pr`="0",`tactic1`="0",`tactic2`="0",`tactic3`="0",`tactic4`="0",`tactic5`="0",`tactic6`="0.00000000",`tactic7`="10",`exp` = "' . $this -> users [ $i ][ 'exp' ] . '",`battle_exp` = "' . $this -> users [ $i ][ 'battle_exp' ] . '",`battle_text` = "' . $this -> users [ $i ][ 'battle_text' ] . '",`battle_yron` = "0",`enemy` = "0",`last_b`="' . $this -> info [ 'id' ] . '",`regHP` = "' . time (
) . '",`regMP` = "' . time () . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
if ( $this -> info [ 'turnir' ] == 0 ) {
2023-01-10 16:29:32 +00:00
//пишем в чат
2022-12-30 19:03:37 +00:00
mysql_query (
" INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1',' " . $this -> users [ $i ][ 'city' ] . " ',' " . $this -> users [ $i ][ 'room' ] . " ','',' " . $this -> users [ $i ][ 'login' ] . " ',' " . $this -> users [ $i ][ 'battle_text' ] . " ','-1','6','0') "
);
} else {
mysql_query (
'UPDATE `turnirs` SET `winner` = "' . $this -> info [ 'team_win' ] . '" WHERE `id` = "' . $this -> info [ 'turnir' ] . '" LIMIT 1'
);
}
2023-01-10 16:29:32 +00:00
//завершаем сам бой
2022-12-30 19:03:37 +00:00
$upd3 = mysql_query (
'UPDATE `battle` SET `time_over` = "' . time (
) . '",`team_win` = "' . $this -> info [ 'team_win' ] . '" WHERE `id` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
);
2023-01-10 16:29:32 +00:00
// Жрать хочет
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $i ][ 'animal' ] > 0 ) {
$a = mysql_fetch_array (
mysql_query (
'SELECT * FROM `users_animal` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `id` = "' . $this -> users [ $i ][ 'animal' ] . '" AND `pet_in_cage` = "0" AND `delete` = "0" LIMIT 1'
)
);
if ( isset ( $a [ 'id' ])) {
if ( $a [ 'eda' ] < 1 ) {
$u -> send (
'' , $this -> users [ $i ][ 'room' ], $this -> users [ $i ][ 'city' ], '' ,
2023-01-10 16:29:32 +00:00
$this -> users [ $i ][ 'login' ], '<strong>' . $a [ 'name' ] . '</strong> нуждается в еде...' ,
2022-12-30 19:03:37 +00:00
time (), 6 , 0 , 0 , 0 , 1
);
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
}
mysql_query (
'UPDATE `stats` SET `battle_text` = "",`last_b`="0" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
mysql_query ( 'UPDATE `battle_users` SET `finish` = 1 WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '"' );
$this -> saveLogs ( $this -> info [ 'id' ], 'all' );
if ( $u -> info [ 'battle' ] != 0 && ! isset ( $u -> info [ 'battle_lsto' ])) {
echo '<script>document.getElementById(\'teams\').style.display=\'none\';var battleFinishData = "' . $u -> info [ 'battle_text' ] . '";</script>' ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
2022-12-19 20:22:19 +00:00
} else {
sleep ( 2 );
}
2022-12-30 19:03:37 +00:00
mysql_query ( 'UPDATE `battle` SET `testfinish` = "0" WHERE `id` = "' . $this -> info [ 'id' ] . '" LIMIT 1' );
2022-12-19 20:22:19 +00:00
mysql_query ( 'UNLOCK TABLES' );
}
public $ainm = [];
public function addGlobalItems ( $bid , $uid , $itm , $eff , $ico , $exp , $cr , $ecr )
{
global $u ;
//
2023-01-10 16:29:32 +00:00
//Выпадение дропа на ЦП
2022-12-19 20:22:19 +00:00
if ( $bid == 1008 ) {
2023-01-10 16:29:32 +00:00
//Старый Новый Год
2022-12-19 20:22:19 +00:00
$jit = 0 ;
2022-12-30 19:03:37 +00:00
$iit = mysql_fetch_array (
mysql_query ( 'SELECT COUNT(*) FROM `users` WHERE `online` > ' . ( time () - 120 ) . '' )
);
2022-12-19 20:22:19 +00:00
$iit = floor ( $iit [ 0 ] / 20 );
$iit = rand ( 1 , $iit );
while ( $jit < $iit ) {
if ( rand ( 0 , 100 ) < 50 ) {
$svtk = [
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1461 ,
1462 ,
1463 ,
4037 ,
4038 ,
4039 ,
4040 ,
911 ,
1172 ,
1173 ,
2142 ,
2141 ,
2143 ,
2870 ,
2144 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
1000 ,
];
$svtk = $svtk [ rand ( 0 , count ( $svtk ) - 1 )];
if ( $svtk == 1000 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `items_local`
2022-12-19 20:22:19 +00:00
( `room` , `time` , `item_id` , `data` , `tr_login` , `colvo` ) VALUES
(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" ' . $svtk . ' " ,
" |nosale=1|srok=259200 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
),(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" ' . $svtk . ' " ,
" |nosale=1|srok=259200 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
),(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" ' . $svtk . ' " ,
" |nosale=1|srok=259200 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
),(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" ' . $svtk . ' " ,
" |nosale=1|srok=259200 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
),(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" ' . $svtk . ' " ,
" |nosale=1|srok=259200 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
),(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" ' . $svtk . ' " ,
" |nosale=1|srok=259200 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `items_local`
2022-12-19 20:22:19 +00:00
( `room` , `time` , `item_id` , `data` , `tr_login` , `colvo` ) VALUES
(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" ' . $svtk . ' " ,
" |nosale=1|srok=259200 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
}
$jit ++ ;
}
unset ( $svtk );
} elseif ( $bid == 1007 ) {
2023-01-10 16:29:32 +00:00
//Хэллоуин, Тыквоголовый CAPITAL CITY
2022-12-19 20:22:19 +00:00
$jit = 0 ;
2022-12-30 19:03:37 +00:00
$iit = mysql_fetch_array (
mysql_query ( 'SELECT COUNT(*) FROM `users` WHERE `online` > ' . ( time () - 120 ) . '' )
);
2022-12-19 20:22:19 +00:00
$iit = floor ( $iit [ 0 ] / 20 );
$iit = rand ( 1 , $iit );
while ( $jit < $iit ) {
if ( rand ( 0 , 100 ) < 50 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `items_local`
2022-12-19 20:22:19 +00:00
( `room` , `time` , `item_id` , `data` , `tr_login` , `colvo` ) VALUES
(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" 4504 " ,
" " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
}
$jit ++ ;
}
} elseif ( $bid == 1006 ) {
2023-01-10 16:29:32 +00:00
//Трупожор CAPITAL CITY
2022-12-19 20:22:19 +00:00
if ( rand ( 0 , 100 ) < 10 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `items_local`
2022-12-19 20:22:19 +00:00
( `room` , `time` , `item_id` , `data` , `tr_login` , `colvo` ) VALUES
(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" 4451 " ,
" srok=86400 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
}
} elseif ( $bid == 1000 ) {
2023-01-10 16:29:32 +00:00
//Трупожор CAPITAL CITY
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `items_local`
2022-12-19 20:22:19 +00:00
( `room` , `time` , `item_id` , `data` , `tr_login` , `colvo` ) VALUES
(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" 4460 " ,
" srok=2592000 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
} elseif ( $bid == 1001 ) {
2023-01-10 16:29:32 +00:00
//Трупожор CAPITAL CITY
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `items_local`
2022-12-19 20:22:19 +00:00
( `room` , `time` , `item_id` , `data` , `tr_login` , `colvo` ) VALUES
(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" 4461 " ,
" srok=2592000 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
} elseif ( $bid == 1002 ) {
2023-01-10 16:29:32 +00:00
//Трупожор CAPITAL CITY
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `items_local`
2022-12-19 20:22:19 +00:00
( `room` , `time` , `item_id` , `data` , `tr_login` , `colvo` ) VALUES
(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" 4462 " ,
" srok=2592000 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
} elseif ( $bid == 1003 ) {
2023-01-10 16:29:32 +00:00
//Трупожор CAPITAL CITY
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `items_local`
2022-12-19 20:22:19 +00:00
( `room` , `time` , `item_id` , `data` , `tr_login` , `colvo` ) VALUES
(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" 4463 " ,
" srok=2592000 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
} elseif ( $bid == 1004 ) {
2023-01-10 16:29:32 +00:00
//Трупожор CAPITAL CITY
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `items_local`
2022-12-19 20:22:19 +00:00
( `room` , `time` , `item_id` , `data` , `tr_login` , `colvo` ) VALUES
(
" ' . $this->users [ $this->uids [ $uid ]]['room'] . ' " ,
" ' . time() . ' " ,
" 4459 " ,
" srok=2592000 " ,
" ' . $this->users [ $this->uids [ $uid ]]['login'] . ' " ,
" 1 "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
}
if ( $exp >= 0 ) {
//added if, was division by zero. 27.08.22, ins.
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $uid ]][ 'battle_exp' ] += round (
$this -> stats [ $this -> uids [ $bid ]][ 'hpAll' ] > 0 ? $exp * $this -> users [ $this -> uids [ $uid ]][ 'battle_yron' ] / $this -> stats [ $this -> uids [ $bid ]][ 'hpAll' ] : $exp * $this -> users [ $this -> uids [ $uid ]][ 'battle_yron' ]
);
mysql_query (
'UPDATE `stats` SET `battle_exp` = "' . mysql_real_escape_string (
$this -> users [ $this -> uids [ $uid ]][ 'battle_exp' ]
) . '" WHERE `id` = "' . mysql_real_escape_string ( $uid ) . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
//
2022-12-30 19:03:37 +00:00
if ( $cr != '' && $cr > 0 && $this -> stats [ $this -> uids [ $uid ]][ 'hpNow' ] > 0 ) {
mysql_query (
'UPDATE `users` SET `money` = (`money` + ' . mysql_real_escape_string (
$cr
) . ') WHERE `id` = "' . mysql_real_escape_string ( $uid ) . '" LIMIT 1'
);
mysql_query (
2023-01-10 16:29:32 +00:00
" INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1',' " . $this -> users [ $this -> uids [ $uid ]][ 'city' ] . " ',' " . $this -> users [ $this -> uids [ $uid ]][ 'room' ] . " ','',' " . $this -> users [ $this -> uids [ $uid ]][ 'login' ] . " ','<font color=#cb0000><strong>Вы получили кредиты:</strong> " . mysql_real_escape_string (
2022-12-30 19:03:37 +00:00
$cr
2023-01-10 16:29:32 +00:00
) . " <strong>кр.</strong></font>','-1','6','0') "
2022-12-30 19:03:37 +00:00
);
2022-12-19 20:22:19 +00:00
}
//
2022-12-30 19:03:37 +00:00
if ( $ecr != '' && $ecr > 0 && $this -> stats [ $this -> uids [ $uid ]][ 'hpNow' ] > 0 ) {
$this -> users [ $this -> uids [ $uid ]][ 'money2' ] += $ecr ;
$resulttp = mysql_query (
'UPDATE `users` SET `money2` = (`money2` + ' . mysql_real_escape_string (
$ecr
) . ') WHERE `id` = "' . $this -> users [ $this -> uids [ $uid ]][ 'id' ] . '" LIMIT 1'
);
if ( ! $resulttp ) {
mysql_query (
2023-01-10 16:29:32 +00:00
" INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1',' " . $this -> users [ $this -> uids [ $uid ]][ 'city' ] . " ',' " . $this -> users [ $this -> uids [ $uid ]][ 'room' ] . " ','',' " . $this -> users [ $this -> uids [ $uid ]][ 'login' ] . " ','<font color=#cb0000><strong>Трупожор был пуст!!!</strong></font>','-1','6','0') "
2022-12-30 19:03:37 +00:00
);
$u -> addDelo (
4 , $this -> users [ $this -> uids [ $uid ]][ 'id' ],
2023-01-10 16:29:32 +00:00
'"<font color="olive">System.battle</font>": (В бою трупожор), ПУСТ!!! ' , time (),
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $uid ]][ 'city' ], 'System.battle' , 0 , 0
);
} else {
mysql_query (
2023-01-10 16:29:32 +00:00
" INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1',' " . $this -> users [ $this -> uids [ $uid ]][ 'city' ] . " ',' " . $this -> users [ $this -> uids [ $uid ]][ 'room' ] . " ','',' " . $this -> users [ $this -> uids [ $uid ]][ 'login' ] . " ','<font color=#cb0000><strong>Вы получили Евро-кредиты:</strong> " . mysql_real_escape_string (
2022-12-30 19:03:37 +00:00
$ecr
2023-01-10 16:29:32 +00:00
) . " <strong>екр.</strong></font>','-1','6','0') "
2022-12-30 19:03:37 +00:00
);
$u -> addDelo (
4 , $this -> users [ $this -> uids [ $uid ]][ 'id' ],
2023-01-10 16:29:32 +00:00
'"<font color="olive">System.battle</font>": Персонаж получил <strong>' . $ecr . ' Е К Р </strong> (В бою трупожор), сейчас: <strong>' . $this -> users [ $this -> uids [ $uid ]][ 'money2' ] . ' Е К Р </strong>' ,
2022-12-30 19:03:37 +00:00
time (), $this -> users [ $this -> uids [ $uid ]][ 'city' ], 'System.battle' , 0 , 0
);
2022-12-19 20:22:19 +00:00
}
}
if ( $ico != '' ) {
/*
2023-01-10 16:29:32 +00:00
0 ( тип , 1 - значок , 2 - подвиг ) @
1 ( время в минутах ) @
2 ( название картинки ) @
3 ( название ) @
4 ( требует остаться в живых 0 или 1 , либо игрок умер - 1 ) @
5 ( требует набить с ботам урона в % Например 0.001 ) @
6 ( действия например : add_s1 = 5 | add_hpAll = 50 ) @
7 ( Требует другой значок , название картинки ) @
8 ( плюсует значок 0 или 1 ) @
9 ( удаляем прошлый значок 0 or 1 )
2022-12-19 20:22:19 +00:00
*/
$i = 0 ;
$txt = '' ;
$ico = explode ( '#' , $ico );
while ( $i < count ( $ico )) {
$ico_e = explode ( '@' , $ico [ $i ]);
if ( isset ( $ico_e [ 3 ])) {
$add = 1 ;
if ( $ico_e [ 4 ] == 1 && floor ( $this -> stats [ $this -> uids [ $uid ]][ 'hpNow' ]) < 1 ) {
$add = 0 ;
}
if ( $add == 1 ) {
$ins = false ;
if ( $ico_e [ 8 ] == 0 ) {
$ins = true ;
if ( $ico_e [ 9 ] == 1 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
'DELETE FROM `users_ico` WHERE `uid` = "' . mysql_real_escape_string (
$uid
) . '" AND `img` = "' . mysql_real_escape_string ( $ico_e [ 2 ]) . '"'
);
2022-12-19 20:22:19 +00:00
}
} else {
2022-12-30 19:03:37 +00:00
$old_ico = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `users_ico` WHERE `uid` = "' . mysql_real_escape_string (
$uid
) . '" AND (`endTime` > "' . time (
) . '" OR `endTime` = 0) AND `img` = "' . mysql_real_escape_string (
$ico_e [ 2 ]
) . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( ! isset ( $old_ico [ 'id' ])) {
$ins = true ;
} else {
if ( $old_ico [ 'id' ] > 0 ) {
2023-01-10 16:29:32 +00:00
$txt .= ', "' . $ico_e [ 3 ] . ' (<small>Обновление</small>)"' ;
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users_ico` SET `x` = `x` + 1,`endTime` = "' . mysql_real_escape_string (
time () + $ico_e [ 1 ] * 60
) . '" WHERE `id` = "' . $old_ico [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
} else {
$ins = true ;
}
}
unset ( $old_ico );
}
2022-12-30 19:03:37 +00:00
if ( $ins ) {
2022-12-19 20:22:19 +00:00
if ( $ico_e [ 9 ] == 1 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
'DELETE FROM `users_ico` WHERE `uid` = "' . mysql_real_escape_string (
$uid
) . '" AND `img` = "' . mysql_real_escape_string ( $ico_e [ 2 ]) . '"'
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `users_ico` ( `uid` , `time` , `text` , `img` , `endTime` , `type` , `bonus` ) VALUES (
2022-12-19 20:22:19 +00:00
" ' . mysql_real_escape_string( $uid ) . ' " ,
" ' . time() . ' " ,
" ' . mysql_real_escape_string( $ico_e[3] ) . ' " ,
" ' . mysql_real_escape_string( $ico_e[2] ) . ' " ,
" ' . mysql_real_escape_string(time() + $ico_e[1] * 60) . ' " ,
" ' . mysql_real_escape_string( $ico_e[0] ) . ' " ,
" ' . mysql_real_escape_string( $ico_e[6] ) . ' "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
$txt .= ', "' . $ico_e [ 3 ] . '"' ;
}
}
}
$i ++ ;
}
if ( $txt != '' ) {
$txt = ltrim ( $txt , ', ' );
2022-12-30 19:03:37 +00:00
mysql_query (
2023-01-10 16:29:32 +00:00
" INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1',' " . $this -> users [ $this -> uids [ $uid ]][ 'city' ] . " ',' " . $this -> users [ $this -> uids [ $uid ]][ 'room' ] . " ','',' " . $this -> users [ $this -> uids [ $uid ]][ 'login' ] . " ','<font color=#cb0000><strong>Вы совершили подвиг:</strong> " . mysql_real_escape_string (
2022-12-30 19:03:37 +00:00
$txt
) . " </font>','-1','6','0') "
);
2022-12-19 20:22:19 +00:00
}
}
if ( $itm != '' ) {
$i = 0 ;
$txt = '' ;
$itm = explode ( ',' , $itm );
while ( $i < count ( $itm )) {
$itm_e = explode ( '@' , $itm [ $i ]);
if ( $itm_e [ 0 ] > 0 ) {
$j = 0 ;
while ( $j < $itm_e [ 1 ]) {
$u -> addItem ( $itm_e [ 0 ], $uid , '|' . $itm_e [ 2 ]);
$j ++ ;
}
if ( ! isset ( $this -> ainm [ $itm_e [ 0 ]])) {
2022-12-30 19:03:37 +00:00
$this -> ainm [ $itm_e [ 0 ]] = mysql_fetch_array (
mysql_query (
'SELECT `id`,`name` FROM `items_main` WHERE `id` = "' . mysql_real_escape_string (
$itm_e [ 0 ]
) . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
}
if ( isset ( $this -> ainm [ $itm_e [ 0 ]][ 'id' ])) {
2023-01-10 16:29:32 +00:00
//Добавляем текст о добавлении предмета
2022-12-19 20:22:19 +00:00
$txt .= ', <strong>' . $this -> ainm [ $itm_e [ 0 ]][ 'name' ] . '</strong>' ;
if ( $itm_e [ 1 ] > 1 ) {
$txt .= ' <strong>(x' . $itm_e [ 1 ] . ')</strong>' ;
}
}
}
$i ++ ;
}
if ( $txt != '' ) {
$txt = ltrim ( $txt , ', ' );
2022-12-30 19:03:37 +00:00
mysql_query (
2023-01-10 16:29:32 +00:00
" INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1',' " . $this -> users [ $this -> uids [ $uid ]][ 'city' ] . " ',' " . $this -> users [ $this -> uids [ $uid ]][ 'room' ] . " ','',' " . $this -> users [ $this -> uids [ $uid ]][ 'login' ] . " ','<font color=#cb0000><strong>Вы получили предметы:</strong> " . mysql_real_escape_string (
2022-12-30 19:03:37 +00:00
$txt
) . " </font>','-1','6','0') "
);
2022-12-19 20:22:19 +00:00
}
}
//
}
2023-01-10 16:29:32 +00:00
//Проводим удар
2022-12-19 20:22:19 +00:00
public function addNewAtack ()
{
global $u ;
if ( ! isset ( $this -> ga [ $u -> info [ 'id' ]][ $u -> info [ 'enemy' ]])) {
if ( $this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'hpNow' ] > 0 ) {
$us = $this -> stats [ $this -> uids [ $u -> info [ 'id' ]]];
$i = 1 ;
$no = 0 ;
while ( $i <= $us [ 'zona' ]) {
if ( $this -> uAtc [ 'a' ][ $i ] == 0 ) {
$no = 1 ;
}
$i ++ ;
}
if ( $this -> uAtc [ 'b' ] == 0 ) {
$no = 1 ;
}
if ( $no == 0 ) {
2023-01-10 16:29:32 +00:00
//наносим удар
2022-12-19 20:22:19 +00:00
if ( $u -> info [ 'enemy' ] > 0 ) {
if ( ! isset ( $this -> ga [ $u -> info [ 'enemy' ]][ $u -> info [ 'id' ]])) {
if ( $this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'hpNow' ] >= 1 && $this -> stats [ $this -> uids [ $u -> info [ 'enemy' ]]][ 'hpNow' ] >= 1 ) {
2023-01-10 16:29:32 +00:00
//наносим новый удар
2022-12-30 19:03:37 +00:00
$a = $this -> uAtc [ 'a' ][ 1 ] . $this -> uAtc [ 'a' ][ 2 ] . $this -> uAtc [ 'a' ][ 3 ] . $this -> uAtc [ 'a' ][ 4 ] . $this -> uAtc [ 'a' ][ 5 ];
2022-12-19 20:22:19 +00:00
$b = $this -> uAtc [ 'b' ];
2022-12-30 19:03:37 +00:00
mysql_query (
'DELETE FROM `battle_act` WHERE `battle` = "' . $this -> info [ 'id' ] . '" AND ((`uid2` = "' . $u -> info [ 'id' ] . '" AND `uid1` = "' . $u -> info [ 'enemy' ] . '") OR (`uid1` = "' . $u -> info [ 'id' ] . '" AND `uid2` = "' . $u -> info [ 'enemy' ] . '")) LIMIT 2'
);
$d = mysql_query (
'INSERT INTO `battle_act` (`battle`,`time`,`uid1`,`uid2`,`a1`,`b1`) VALUES ("' . $this -> info [ 'id' ] . '","' . time (
) . '","' . $u -> info [ 'id' ] . '","' . $u -> info [ 'enemy' ] . '","' . $a . '","' . $b . '")'
);
2022-12-19 20:22:19 +00:00
if ( ! $d ) {
2023-01-10 16:29:32 +00:00
$this -> e = 'Н е удалось нанести удар по противнику...' ;
2022-12-19 20:22:19 +00:00
} else {
$this -> ga [ $u -> info [ 'id' ]][ $u -> info [ 'enemy' ]] = mysql_insert_id ();
}
}
} else {
2023-01-10 16:29:32 +00:00
//отвечаем на удар противника
2022-12-30 19:03:37 +00:00
if ( $this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'hpNow' ] >= 1 && $this -> stats [ $this -> uids [ $u -> info [ 'enemy' ]]][ 'hpNow' ] >= 1 && isset ( $this -> atacks [ $this -> ga [ $u -> info [ 'enemy' ]][ $u -> info [ 'id' ]]][ 'id' ])) {
$this -> atacks [ $this -> ga [ $u -> info [ 'enemy' ]][ $u -> info [ 'id' ]]][ 'a2' ] = $this -> uAtc [ 'a' ][ 1 ] . '' . $this -> uAtc [ 'a' ][ 2 ] . '' . $this -> uAtc [ 'a' ][ 3 ] . '' . $this -> uAtc [ 'a' ][ 4 ] . '' . $this -> uAtc [ 'a' ][ 5 ];
$this -> atacks [ $this -> ga [ $u -> info [ 'enemy' ]][ $u -> info [ 'id' ]]][ 'b2' ] = $this -> uAtc [ 'b' ];
$this -> startAtack ( $this -> atacks [ $this -> ga [ $u -> info [ 'enemy' ]][ $u -> info [ 'id' ]]][ 'id' ]);
2022-12-19 20:22:19 +00:00
}
}
}
} else {
2023-01-10 16:29:32 +00:00
$this -> e = 'Выберите зоны удара и блока' ;
2022-12-19 20:22:19 +00:00
}
} else {
2023-01-10 16:29:32 +00:00
$this -> e = 'Для вас поединок закончен, ожидайте пока завершат другие...' ;
2022-12-19 20:22:19 +00:00
}
}
}
2023-01-10 16:29:32 +00:00
//Запускаем магические предметы, если в них что-то встроено
2022-12-19 20:22:19 +00:00
public function magicItems ( $uid1 , $uid2 , $end )
{
global $u , $priem , $c , $code ;
2022-12-30 19:03:37 +00:00
if ( ! isset ( $this -> stats [ $this -> uids [ $uid1 ]])) {
return ;
}
$i = 0 ;
while ( $i < count ( $this -> stats [ $this -> uids [ $uid1 ]][ 'items' ])) {
$itm = $this -> stats [ $this -> uids [ $uid1 ]][ 'items' ][ $i ];
if ( isset ( $itm [ 'id' ])) {
$e = $u -> lookStats ( $itm [ 'data' ]);
if ( isset ( $e [ 'bm_a1' ])) {
if ( $end > 0 ) {
if ( file_exists ( '../../_incl_data/class/priems/' . $e [ 'bm_a1' ] . '.end.php' )) {
require ( '../../_incl_data/class/priems/' . $e [ 'bm_a1' ] . '.end.php' );
}
} else {
if ( file_exists ( '../../_incl_data/class/priems/' . $e [ 'bm_a1' ] . '.php' )) {
require ( '../../_incl_data/class/priems/' . $e [ 'bm_a1' ] . '.php' );
2022-12-19 20:22:19 +00:00
}
}
}
}
2022-12-30 19:03:37 +00:00
$i ++ ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
unset ( $itm );
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Поглощение урона
2022-12-19 20:22:19 +00:00
public function testPog ( $uid , $yr )
{
$yr2 = $yr ;
if ( $yr > 0 ) {
$testmana = false ;
global $u , $priem ;
$i = 0 ;
$ypg22 = 0 ;
while ( $i < count ( $this -> stats [ $this -> uids [ $uid ]][ 'set_pog2' ])) {
$j = $this -> stats [ $this -> uids [ $uid ]][ 'set_pog2' ][ $i ];
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ] = str_replace (
'add_pog2=' . $j [ 'y' ],
'add_pog2=$' , $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ]
);
2022-12-19 20:22:19 +00:00
$dt3 = $u -> lookStats ( $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ]);
if ( isset ( $dt3 [ 'add_pog2mp' ])) {
$priem -> minMana ( $uid , round ( round ( $yr2 / 100 * ( 100 - $dt3 [ 'add_pog2p' ])) * $dt3 [ 'add_pog2mp' ]));
}
2023-01-10 16:29:32 +00:00
$j [ 'y' ] -= $yr2 ; // осталось для поглощения
2022-12-19 20:22:19 +00:00
if ( isset ( $dt3 [ 'add_pog2p' ])) {
$yr2 = round ( $yr2 / 100 * ( 100 - $dt3 [ 'add_pog2p' ]));
}
unset ( $dt3 );
if ( $j [ 'y' ] < 0 || ( $this -> stats [ $this -> uids [ $uid ]][ 'mpNow' ] <= 0 && $dt3 [ 'add_pog2mp' ] > 0 )) {
$dt2 = $u -> lookStats ( $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ]);
if ( isset ( $dt2 [ 'endPog' ]) && $dt2 [ 'endPog' ] == 1 ) {
2023-01-10 16:29:32 +00:00
//удаляем прием
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'priem' ] = mysql_fetch_array (
mysql_query (
'SELECT * FROM `priems` WHERE `id` = "' . $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'v2' ] . '" LIMIT 1'
)
);
$this -> delPriem (
$this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ],
$this -> users [ $this -> uids [ $uid ]], 4 , $uid
);
2022-12-19 20:22:19 +00:00
$this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ] = 'delete' ;
}
unset ( $dt2 );
$yr2 = - ( $j [ 'y' ]);
$j [ 'y' ] = 0 ;
}
$this -> stats [ $this -> uids [ $uid ]][ 'set_pog' ][ $i ][ 'y' ] = $j [ 'y' ];
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ] = str_replace (
'add_pog2=$' ,
'add_pog2=' . $j [ 'y' ], $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ]
);
$upd = mysql_query (
'UPDATE `eff_users` SET `data` = "' . $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ] . '" WHERE `id` = "' . $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
$i ++ ;
}
}
return $yr2 ;
}
public $rehodeff = [];
2023-01-10 16:29:32 +00:00
//Поглощение урона
2022-12-19 20:22:19 +00:00
public $poglast = [];
public function testPogB ( $uid , $yr , $pliid , $test = 0 )
{
$yr2 = $yr ;
2022-12-30 19:03:37 +00:00
$checktuman = mysql_fetch_array (
mysql_query (
'SELECT * FROM `eff_users` WHERE `uid` = "' . $uid . ' "
2022-12-19 20:22:19 +00:00
AND ( `v2` = 273 OR `v2` = 286 OR `v2` = 287 OR `v2` = 288 )
2022-12-30 19:03:37 +00:00
AND `delete` = 0 LIMIT 1 '
)
2023-01-10 16:29:32 +00:00
); //проверка на туманный образ
2022-12-19 20:22:19 +00:00
if ( $yr > 0 && ! isset ( $checktuman [ 'id' ])) {
$testmana = false ;
global $u , $priem ;
$i = 0 ;
$ypg22 = 0 ;
while ( $i < count ( $this -> stats [ $this -> uids [ $uid ]][ 'set_pog2' ])) {
$j = $this -> stats [ $this -> uids [ $uid ]][ 'set_pog2' ][ $i ];
if ( $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'id' ] == $pliid || $test == 1 ) {
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ] = str_replace (
'add_pog2=' . $j [ 'y' ],
'add_pog2=$' , $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ]
);
2022-12-19 20:22:19 +00:00
$dt3 = $u -> lookStats ( $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ]);
$dt30 = 0 ;
$dt30 = floor ( $j [ 'y' ] / $yr2 * 100 );
if ( $dt30 < $dt3 [ 'add_pog2p' ]) {
$dt3 [ 'add_pog2p' ] = $dt30 ;
}
unset ( $dt30 );
if ( isset ( $dt3 [ 'add_pog2mp' ])) {
2022-12-30 19:03:37 +00:00
if (( round (
round ( $yr2 / 100 * ( 100 - $dt3 [ 'add_pog2p' ])) * $dt3 [ 'add_pog2mp' ]
)) > $this -> stats [ $this -> uids [ $uid ]][ 'mpNow' ]) {
2023-01-10 16:29:32 +00:00
//не хватило маны, считаем сколько хватит % от поглощенного урона
2022-12-30 19:03:37 +00:00
$j [ 'yhj' ] = $this -> stats [ $this -> uids [ $uid ]][ 'mpNow' ] / ( round (
round ( $yr2 / 100 * ( 100 - $dt3 [ 'add_pog2p' ])) * $dt3 [ 'add_pog2mp' ]
)) * 100 ;
2023-01-10 16:29:32 +00:00
$j [ 'yhj' ] = floor ( $j [ 'yhj' ]); //Сколько % мы можем поглотить
2022-12-19 20:22:19 +00:00
$dt3 [ 'add_pog2p' ] = floor ( $dt3 [ 'add_pog2p' ] / 100 * $j [ 'yhj' ]);
}
if ( $test == 1 ) {
$priem -> minMana ( $uid , round ( round ( $yr2 / 100 * $dt3 [ 'add_pog2p' ]) * $dt3 [ 'add_pog2mp' ]));
}
}
if ( ! isset ( $this -> poglast [ $uid ])) {
$this -> poglast [ $uid ] = 0 ;
}
$this -> poglast [ $uid ] += $yr2 ;
if ( $test == 1 ) {
2023-01-10 16:29:32 +00:00
//$j['y'] -= $this->poglast[$uid]; // осталось для поглощения
2022-12-19 20:22:19 +00:00
$j [ 'y' ] -= round ( $this -> poglast [ $uid ] / 100 * $dt3 [ 'add_pog2p' ]);
2022-12-30 19:03:37 +00:00
$priem -> minMana (
$uid ,
round ( round ( $this -> poglast [ $uid ] / 100 * $dt3 [ 'add_pog2p' ]) * $dt3 [ 'add_pog2mp' ])
);
2022-12-19 20:22:19 +00:00
}
if ( isset ( $dt3 [ 'add_pog2p' ])) {
$yr2 = round ( $yr2 / 100 * ( 100 - $dt3 [ 'add_pog2p' ]));
}
if ( $j [ 'y' ] < 0 || ( $this -> stats [ $this -> uids [ $uid ]][ 'mpNow' ] <= 0 && $dt3 [ 'add_pog2mp' ] > 0 )) {
$dt2 = $u -> lookStats ( $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ]);
if ( isset ( $dt2 [ 'endPog' ]) && $dt2 [ 'endPog' ] == 1 ) {
2023-01-10 16:29:32 +00:00
//удаляем прием
//Добавляем в лог
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'priem' ] = mysql_fetch_array (
mysql_query (
'SELECT * FROM `priems` WHERE `id` = "' . $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'v2' ] . '" LIMIT 1'
)
);
$this -> delPriem (
$this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ],
$this -> users [ $this -> uids [ $uid ]], 4 , $uid
);
2022-12-19 20:22:19 +00:00
$this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ] = 'delete' ;
}
unset ( $dt2 );
$j [ 'y' ] = 0 ;
}
$this -> stats [ $this -> uids [ $uid ]][ 'set_pog' ][ $i ][ 'y' ] = $j [ 'y' ];
if ( isset ( $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ])) {
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ] = str_replace (
'add_pog2=$' ,
'add_pog2=' . $j [ 'y' ], $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ]
);
$upd = mysql_query (
'UPDATE `eff_users` SET `data` = "' . $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'data' ] . '" WHERE `id` = "' . $this -> stats [ $this -> uids [ $uid ]][ 'effects' ][ $j [ 'id' ] - 1 ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
if ( $j [ 'y' ] - $this -> poglast [ $uid ] + $yr2 < 0 ) {
$yr -= $yr + ( $j [ 'y' ] - $this -> poglast [ $uid ] + $yr2 );
$yr2 = $yr ;
$i = count ( $this -> stats [ $this -> uids [ $uid ]][ 'set_pog2' ]) + 1 ;
}
}
$i ++ ;
}
}
unset ( $checktuman );
return $yr2 ;
}
2023-01-10 16:29:32 +00:00
//Тестируем удары и т.д
2022-12-19 20:22:19 +00:00
public function newRazmen ( $id , $at = null )
{
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
if ( $this -> atacks [ $id ][ 'out1' ] == 0 ) {
$at [ 1 ] = $this -> usersTestAtack ( $id , $uid1 , $uid2 );
} else {
$at [ 1 ] = [ 0 ];
}
if ( $this -> atacks [ $id ][ 'out2' ] == 0 ) {
$at [ 2 ] = $this -> usersTestAtack ( $id , $uid2 , $uid1 );
} else {
$at [ 2 ] = [ 0 ];
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Иг р о к1 наносит удар Иг р о к2
2022-12-30 19:03:37 +00:00
public function usersTestAtack ( $id , $uid1 , $uid2 ) : array
2022-12-19 20:22:19 +00:00
{
$r = [];
$block = [
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
];
2023-01-10 16:29:32 +00:00
//Проверка блоков
2022-12-19 20:22:19 +00:00
$i = 1 ;
if ( $uid1 == $this -> atacks [ $id ][ 'uid1' ]) {
$a = 2 ;
$j = $this -> atacks [ $id ][ 'b2' ];
$atack = [
0 ,
$this -> atacks [ $id ][ 'a1' ][ 0 ],
$this -> atacks [ $id ][ 'a1' ][ 1 ],
$this -> atacks [ $id ][ 'a1' ][ 2 ],
$this -> atacks [ $id ][ 'a1' ][ 3 ],
$this -> atacks [ $id ][ 'a1' ][ 4 ],
];
} elseif ( $uid2 == $this -> atacks [ $id ][ 'uid1' ]) {
$a = 1 ;
$j = $this -> atacks [ $id ][ 'b1' ];
$atack = [
0 ,
$this -> atacks [ $id ][ 'a2' ][ 0 ],
$this -> atacks [ $id ][ 'a2' ][ 1 ],
$this -> atacks [ $id ][ 'a2' ][ 2 ],
$this -> atacks [ $id ][ 'a2' ][ 3 ],
$this -> atacks [ $id ][ 'a2' ][ 4 ],
];
}
if ( $this -> atacks [ $id ][ 'out' . $a ] == 0 ) {
while ( $i <= $this -> stats [ $this -> uids [ $uid2 ]][ 'zonb' ]) {
$block [ $j ] = 1 ;
$j ++ ;
if ( $j > 5 || $j < 1 ) {
$j = 1 ;
}
$i ++ ;
}
}
2023-01-10 16:29:32 +00:00
//Проверка ударов
2022-12-19 20:22:19 +00:00
$i = 1 ;
while ( $i <= $this -> stats [ $this -> uids [ $uid1 ]][ 'zona' ]) {
if ( ! isset ( $atack [ $i ]) || $atack [ $i ] == 0 ) {
$atack [ $i ] = rand ( 1 , 5 );
}
if ( $atack [ $i ] > 0 ) {
if ( $block [ $atack [ $i ]] == 1 ) {
2023-01-10 16:29:32 +00:00
//удар был заблокирован
// КУДА БИЛ , ТИП УДАРА
2022-12-19 20:22:19 +00:00
$r [ 'atack' ][] = [ $atack [ $i ], 3 , 0 ];
} else {
2023-01-10 16:29:32 +00:00
//Удар прошел
// КУДА БИЛ , ТИП УДАРА
2022-12-19 20:22:19 +00:00
$r [ 'atack' ][] = [ $atack [ $i ], 1 , 0 ];
}
}
$i ++ ;
}
return $r ;
}
2023-01-10 16:29:32 +00:00
//Проверка зоны и блока
2022-12-30 19:03:37 +00:00
public function testRazmenblock1 ( $id , $uid1 , $uid2 , $atack ) : bool
2022-12-19 20:22:19 +00:00
{
$r = false ;
2023-01-10 16:29:32 +00:00
//Проверка блоков
2022-12-19 20:22:19 +00:00
$i = 1 ;
if ( $uid1 == $this -> atacks [ $id ][ 'uid1' ]) {
$j = $this -> atacks [ $id ][ 'b2' ];
} elseif ( $uid2 == $this -> atacks [ $id ][ 'uid1' ]) {
$j = $this -> atacks [ $id ][ 'b1' ];
}
if ( $this -> atacks [ $id ][ 'out2' ] == 0 ) {
while ( $i <= $this -> stats [ $this -> uids [ $uid2 ]][ 'zonb' ]) {
$block [ $j ] = 1 ;
$j ++ ;
if ( $j > 5 || $j < 1 ) {
$j = 1 ;
}
$i ++ ;
}
}
2023-01-10 16:29:32 +00:00
//Проверка ударов
2022-12-19 20:22:19 +00:00
if ( $atack > 0 ) {
2022-12-30 19:03:37 +00:00
$r = $block [ $atack ] == 1 ;
2022-12-19 20:22:19 +00:00
}
return $r ;
}
2023-01-10 16:29:32 +00:00
//Проверка ухода удара в игрока
2022-12-19 20:22:19 +00:00
public function yhod_user ( $uid1 , $uid2 , $type )
{
2023-01-10 16:29:32 +00:00
// 1 - кто бьет . 2 - в кого бьют . тип
//Удал летит прямо в противника
2022-12-19 20:22:19 +00:00
if ( $this -> import_user == 0 ) {
$r = $uid1 ;
$rand_user = false ;
if ( $type == 2 ) {
2023-01-10 16:29:32 +00:00
//Случайный персонаж из своей команды (в том числе игрок)
2022-12-19 20:22:19 +00:00
$i = 0 ;
while ( $i < count ( $this -> users )) {
if ( $this -> users [ $i ][ 'team' ] == $this -> users [ $this -> uids [ $uid2 ]][ 'team' ]) {
$rand_user [] = $this -> users [ $i ][ 'id' ];
}
$i ++ ;
}
} elseif ( $type == 4 ) {
2023-01-10 16:29:32 +00:00
//Случайный персонаж, любой
2022-12-19 20:22:19 +00:00
$i = 0 ;
while ( $i < count ( $this -> users )) {
//if( $this->users[$i]['team'] == $this->users[$this->uids[$uid1]]['team'] ) {
$rand_user [] = $this -> users [ $i ][ 'id' ];
//}
$i ++ ;
}
} elseif ( $type == 5 ) {
2023-01-10 16:29:32 +00:00
//Случайный персонаж, любой (кроме игрока)
2022-12-19 20:22:19 +00:00
$i = 0 ;
while ( $i < count ( $this -> users )) {
if ( $this -> users [ $i ][ 'team' ] == $this -> users [ $this -> uids [ $uid2 ]][ 'team' ] && $uid2 != $this -> users [ $i ][ 'id' ]) {
$rand_user [] = $this -> users [ $i ][ 'id' ];
}
$i ++ ;
}
} elseif ( $type == 6 ) {
2023-01-10 16:29:32 +00:00
//Случайный персонаж из команды противника
2022-12-19 20:22:19 +00:00
$i = 0 ;
while ( $i < count ( $this -> users )) {
if ( $this -> users [ $i ][ 'team' ] != $this -> users [ $this -> uids [ $uid2 ]][ 'team' ]) {
$rand_user [] = $this -> users [ $i ][ 'id' ];
}
$i ++ ;
}
} elseif ( $type > 100 ) {
2023-01-10 16:29:32 +00:00
//Удар идет в конкретного игрока
2022-12-19 20:22:19 +00:00
if ( ! isset ( $this -> users [ $this -> uids [ $type ]]) || $this -> users [ $this -> uids [ $type ]][ 'id' ] != $type ) {
$r = $uid2 ;
} else {
$r = $type ;
}
}
2022-12-30 19:03:37 +00:00
if ( $rand_user && count ( $rand_user ) > 0 ) {
2022-12-19 20:22:19 +00:00
$r = $rand_user [ rand ( 0 , ( count ( $rand_user ) - 1 ))];
}
$this -> import_user = $r ;
} else {
$r = $this -> import_user ;
}
return $r ;
}
2023-01-10 16:29:32 +00:00
//Расчет уворота игроков
2022-12-19 20:22:19 +00:00
public function mf1Razmen ( $id , $at , $v , $pat = false , $rjd = 0 )
{
global $u ;
2022-12-30 19:03:37 +00:00
if ( $pat ) {
2022-12-19 20:22:19 +00:00
$pat = $at ;
$at = $pat [ 'p' ];
} else {
unset ( $pat );
}
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid1 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid2' ], $this -> atacks [ $id ][ 'uid1' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
} elseif ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid2 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid1' ], $this -> atacks [ $id ][ 'uid2' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
}
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
2023-01-10 16:29:32 +00:00
//Расчет уворота Цели (u2) от Атакующего (u1)
2022-12-19 20:22:19 +00:00
$j = 0 ;
$wp01 = 3 ;
$k01 = 0 ;
if ( $rjd > 0 ) {
$j = $rjd - 1 ;
}
if ( is_array ( $at [ $a ][ 'atack' ])) {
while ( $j < count ( $at [ $a ][ 'atack' ]) && $j < 8 ) {
2023-01-10 16:29:32 +00:00
// КУДА БИЛ , ТИП УДАРА
2022-12-19 20:22:19 +00:00
if ( $k01 == 0 && isset ( $this -> stats [ $this -> uids [ $u1 ]][ 'wp3id' ])) {
2023-01-10 16:29:32 +00:00
//Левая рука
2022-12-19 20:22:19 +00:00
$wp01 = 3 ;
$k01 = 1 ;
} else {
2023-01-10 16:29:32 +00:00
//Правая рука
2022-12-19 20:22:19 +00:00
if ( isset ( $this -> stats [ $this -> uids [ $u1 ]][ 'wp14id' ]) && $this -> stats [ $this -> uids [ $u1 ]][ 'items' ][ $this -> stats [ $this -> uids [ $u1 ]][ 'wp14id' ]][ 'type' ] != 13 ) {
$wp01 = 14 ;
} else {
$wp01 = 3 ;
}
$k01 = 0 ;
}
$witm01 = 0 ;
$witm_type01 = 0 ;
2022-12-30 19:03:37 +00:00
$witm01 = $this -> stats [ $this -> uids [ $u1 ]][ 'items' ][ $this -> stats [ $this -> uids [ $u1 ]][ 'wp' . $wp01 . 'id' ]];
$witm_data01 = $u -> lookStats ( $witm01 [ 'data' ]);
2022-12-19 20:22:19 +00:00
if ( $at [ $a ][ 'atack' ][ $j ][ 2 ] == $v ) {
$tyv = $this -> mfs (
2 , [
'u1' => $u1 ,
'u2' => $u2 ,
'mf' => $this -> stats [ $this -> uids [ $u2 ]][ 'm4' ],
'amf' => ( int ) $this -> stats [ $this -> uids [ $u2 ]][ 'm15' ],
'smf' => ( $this -> stats [ $this -> uids [ $u1 ]][ 'm5' ] + $witm_data01 [ 'sv_m5' ]),
'asmf' => $this -> stats [ $this -> uids [ $u1 ]][ 'm21' ],
], $this -> users [ $this -> uids [ $u1 ]][ 'level' ], $this -> users [ $this -> uids [ $u2 ]][ 'level' ]
);
if ( $tyv == 1 && $this -> atacks [ $id ][ 'out' . $b ] == 0 ) {
2023-01-10 16:29:32 +00:00
//увернулся, гад :)
2022-12-19 20:22:19 +00:00
$this -> stats [ $this -> uids [ $u1 ]][ 'nopryh' ] = floor (
0 + ( int ) $this -> stats [ $this -> uids [ $u1 ]][ 'nopryh' ]
);
if ( ! isset ( $this -> stats [ $this -> uids [ $u1 ]][ 'nopryh' ]) || $this -> stats [ $this -> uids [ $u1 ]][ 'nopryh' ] <= 0 ) {
$at [ $a ][ 'atack' ][ $j ][ 1 ] = 2 ;
} else {
$this -> stats [ $this -> uids [ $u1 ]][ 'nopryh' ] -- ;
$this -> stats [ $this -> uids [ $u1 ]][ 'nopryh_act' ] ++ ;
}
}
}
$j ++ ;
}
}
$i ++ ;
}
unset ( $witm01 , $witm_type01 , $wp01 , $k01 );
2022-12-30 19:03:37 +00:00
if ( isset ( $pat ) && $pat ) {
2022-12-19 20:22:19 +00:00
$pat [ 'p' ] = $at ;
$at = $pat ;
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Расчет крита игроков
2022-12-19 20:22:19 +00:00
public function mf2Razmen ( $id , $at , $v , $pat = false , $rjd = 0 )
{
global $u ;
2022-12-30 19:03:37 +00:00
if ( $pat ) {
2022-12-19 20:22:19 +00:00
$pat = $at ;
$at = $pat [ 'p' ];
} else {
unset ( $pat );
}
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid1 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid2' ], $this -> atacks [ $id ][ 'uid1' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
} elseif ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid2 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid1' ], $this -> atacks [ $id ][ 'uid2' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
}
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
2023-01-10 16:29:32 +00:00
//Расчет крита Атакующего (u1) по Цели (u2)
2022-12-19 20:22:19 +00:00
$j = 0 ;
$wp01 = 0 ;
$k01 = 0 ;
if ( $rjd > 0 ) {
$j = $rjd - 1 ;
}
if ( is_array ( $at [ $a ][ 'atack' ])) {
while ( $j < count ( $at [ $a ][ 'atack' ]) && $j <= 8 ) {
2023-01-10 16:29:32 +00:00
// КУДА БИЛ , ТИП УДАРА
2022-12-19 20:22:19 +00:00
if ( $k01 == 0 && isset ( $this -> stats [ $this -> uids [ $u1 ]][ 'wp3id' ])) {
2023-01-10 16:29:32 +00:00
//Левая рука
2022-12-19 20:22:19 +00:00
$wp01 = 3 ;
$k01 = 1 ;
} else {
2023-01-10 16:29:32 +00:00
//Правая рука
2022-12-19 20:22:19 +00:00
if ( isset ( $this -> stats [ $this -> uids [ $u1 ]][ 'wp14id' ]) && $this -> stats [ $this -> uids [ $u1 ]][ 'items' ][ $this -> stats [ $this -> uids [ $u1 ]][ 'wp14id' ]][ 'type' ] != 13 ) {
$wp01 = 14 ;
} else {
2022-12-30 19:03:37 +00:00
$wp01 = 3 ;
2022-12-19 20:22:19 +00:00
}
$k01 = 0 ;
}
$witm01 = 0 ;
$witm_type01 = 0 ;
2022-12-30 19:03:37 +00:00
$witm01 = $this -> stats [ $this -> uids [ $u1 ]][ 'items' ][ $this -> stats [ $this -> uids [ $u1 ]][ 'wp' . $wp01 . 'id' ]];
$witm_data01 = $u -> lookStats ( $witm01 [ 'data' ]);
2022-12-19 20:22:19 +00:00
if ( $this -> mfs (
1 , [
'u1' => $u1 ,
'u2' => $u2 ,
'mf' => $this -> stats [ $this -> uids [ $u1 ]][ 'm1' ] + $witm_data01 [ 'sv_m1' ],
'amf' => $this -> stats [ $this -> uids [ $u1 ]][ 'm14' ],
'smf' => $this -> stats [ $this -> uids [ $u2 ]][ 'm2' ],
'aamf1' => ( int ) $this -> stats [ $this -> uids [ $u2 ]][ 'enemy_am1' ],
], $this -> users [ $this -> uids [ $u1 ]][ 'level' ], $this -> users [ $this -> uids [ $u2 ]][ 'level' ]
) == 1 ) {
2023-01-10 16:29:32 +00:00
//кританул, гад :)
2022-12-19 20:22:19 +00:00
if ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 3 ) {
2023-01-10 16:29:32 +00:00
//в блок
$at [ $a ][ 'atack' ][ $j ][ 1 ] = 4 ; //Тут тест
2022-12-19 20:22:19 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] != 2 && $at [ $a ][ 'atack' ][ $j ][ 1 ] != 6 && $at [ $a ][ 'atack' ][ $j ][ 1 ] != 7 && $at [ $a ][ 'atack' ][ $j ][ 1 ] != 8 ) {
2023-01-10 16:29:32 +00:00
//обычный крит
2022-12-19 20:22:19 +00:00
$at [ $a ][ 'atack' ][ $j ][ 1 ] = 5 ;
} else {
$at [ $a ][ 'atack' ][ $j ][ 1 ] = 1 ;
}
}
$j ++ ;
}
}
$i ++ ;
}
unset ( $witm01 , $witm_type01 , $k01 , $wp01 );
2022-12-30 19:03:37 +00:00
if ( isset ( $pat ) && $pat ) {
2022-12-19 20:22:19 +00:00
$pat [ 'p' ] = $at ;
$at = $pat ;
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Расчет парирования игроков
2022-12-19 20:22:19 +00:00
public function mf3Razmen ( $id , $at , $v , $pat = false , $rjd = 0 )
{
2022-12-30 19:03:37 +00:00
if ( $pat ) {
2022-12-19 20:22:19 +00:00
$pat = $at ;
$at = $pat [ 'p' ];
} else {
unset ( $pat );
}
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid1 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid2' ], $this -> atacks [ $id ][ 'uid1' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
} elseif ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid2 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid1' ], $this -> atacks [ $id ][ 'uid2' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
}
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
2023-01-10 16:29:32 +00:00
//Расчет парирования Цели (u2) от Атакующего (u1)
2022-12-19 20:22:19 +00:00
$j = 0 ;
if ( $rjd > 0 ) {
$j = $rjd - 1 ;
}
if ( is_array ( $at [ $a ][ 'atack' ])) {
while ( $j < count ( $at [ $a ][ 'atack' ]) && $j < 8 ) {
2023-01-10 16:29:32 +00:00
// КУДА БИЛ , ТИП УДАРА
2022-12-19 20:22:19 +00:00
if (( ! isset ( $this -> stats [ $this -> uids [ $u2 ]][ 'no_pr1' ]) || $this -> stats [ $this -> uids [ $u2 ]][ 'no_pr1' ] == 0 ) && $at [ $a ][ 'atack' ][ $j ][ 2 ] == $v ) {
if ( $this -> mfs (
3 , [
'u1' => $u1 ,
'u2' => $u2 ,
'1' => $this -> stats [ $this -> uids [ $u2 ]][ 'm7' ],
'2' => $this -> stats [ $this -> uids [ $u1 ]][ 'm7' ],
], $this -> users [ $this -> uids [ $u1 ]][ 'level' ],
$this -> users [ $this -> uids [ $u2 ]][ 'level' ]
) == 1 && $this -> atacks [ $id ][ 'out' . $b ] == 0 ) {
2023-01-10 16:29:32 +00:00
//Парировал, гад :)
2022-12-19 20:22:19 +00:00
$this -> stats [ $this -> uids [ $u1 ]][ 'nopryh' ] = floor (
0 + ( int ) $this -> stats [ $this -> uids [ $u1 ]][ 'nopryh' ]
);
if (( ! isset ( $this -> stats [ $this -> uids [ $u1 ]][ 'nopryh' ]) || $this -> stats [ $this -> uids [ $u1 ]][ 'nopryh' ] == 0 ) && $this -> stats [ $this -> uids [ $u1 ]][ 'nopryh_act' ] < 1 ) {
$at [ $a ][ 'atack' ][ $j ][ 1 ] = 6 ;
$this -> stats [ $this -> uids [ $u1 ]][ 'nopryh' ] -- ;
$this -> stats [ $this -> uids [ $u1 ]][ 'nopryh_act' ] ++ ;
}
}
}
$j ++ ;
}
}
$i ++ ;
}
2022-12-30 19:03:37 +00:00
if ( isset ( $pat ) && $pat ) {
2022-12-19 20:22:19 +00:00
$pat [ 'p' ] = $at ;
$at = $pat ;
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Расчет блока щитом игроков
2022-12-19 20:22:19 +00:00
public function mf4Razmen ( $id , $at , $v , $pat = false , $rjd = 0 )
{
2022-12-30 19:03:37 +00:00
if ( $pat ) {
2022-12-19 20:22:19 +00:00
$pat = $at ;
$at = $pat [ 'p' ];
} else {
unset ( $pat );
}
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid1 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid2' ], $this -> atacks [ $id ][ 'uid1' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
} elseif ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid2 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid1' ], $this -> atacks [ $id ][ 'uid2' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
}
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'sheld1' ] > 0 ) {
2023-01-10 16:29:32 +00:00
//Расчет блока щитом Цели (u2) от Атакующего (u1)
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j < count ( $at [ $a ][ 'atack' ]) && $j < 8 ) {
2023-01-10 16:29:32 +00:00
// КУДА БИЛ , ТИП УДАРА
2022-12-19 20:22:19 +00:00
if ( $at [ $a ][ 'atack' ][ $j ][ 2 ] == $v ) {
2022-12-30 19:03:37 +00:00
if ( $this -> mfs (
5 ,
2022-12-19 20:22:19 +00:00
( $this -> stats [ $this -> uids [ $u2 ]][ 'm8' ] / 2 + $this -> stats [ $this -> uids [ $u2 ]][ 'm18' ]),
$this -> users [ $this -> uids [ $u1 ]][ 'level' ],
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $u2 ]][ 'level' ]
) == 1 && $this -> atacks [ $id ][ 'out' . $b ] == 0 ) {
2023-01-10 16:29:32 +00:00
//блокировал щитом, гад :)
2022-12-19 20:22:19 +00:00
$at [ $a ][ 'atack' ][ $j ][ 1 ] = 7 ;
}
}
$j ++ ;
}
}
$i ++ ;
}
2022-12-30 19:03:37 +00:00
if ( isset ( $pat ) && $pat ) {
2022-12-19 20:22:19 +00:00
$pat [ 'p' ] = $at ;
$at = $pat ;
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Расчет контрудара игроков
2022-12-19 20:22:19 +00:00
public function mf5Razmen ( $id , $at , $v , $rjd = 0 )
{
global $u ;
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid1 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid2' ], $this -> atacks [ $id ][ 'uid1' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
} elseif ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid2 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid1' ], $this -> atacks [ $id ][ 'uid2' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
}
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
2023-01-10 16:29:32 +00:00
//Расчет контрудара Цели (u2) по Атакующему (u1)
2022-12-19 20:22:19 +00:00
$j = 0 ;
if ( $rjd > 0 ) {
$j = $rjd - 1 ;
}
while ( $j < count ( $at [ $a ][ 'atack' ]) && $j < 8 ) {
2023-01-10 16:29:32 +00:00
// КУДА БИЛ , ТИП УДАРА
2022-12-19 20:22:19 +00:00
if ( $at [ $a ][ 'atack' ][ $j ][ 2 ] == $v ) {
if ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 2 ) {
2022-12-30 19:03:37 +00:00
if ( $this -> mfs (
6 , [
2022-12-19 20:22:19 +00:00
'u1' => $u1 ,
'u2' => $u2 ,
'a' => $this -> stats [ $this -> uids [ $u2 ]][ 'm6' ],
'b' => $this -> stats [ $this -> uids [ $u1 ]][ 'm6' ],
2022-12-30 19:03:37 +00:00
], $this -> users [ $this -> uids [ $u1 ]][ 'level' ], $this -> users [ $this -> uids [ $u2 ]][ 'level' ]
) == 1 ) {
2023-01-10 16:29:32 +00:00
//контрудар, гад :)
2022-12-19 20:22:19 +00:00
$at [ $a ][ 'atack' ][ $j ][ 1 ] = 8 ;
$rnd_a = rand ( 1 , 5 );
$rjd = count ( $at [ $b ][ 'atack' ]);
2022-12-30 19:03:37 +00:00
if ( ! $this -> testRazmenblock1 ( $id , $u2 , $u1 , $rnd_a )) {
2022-12-19 20:22:19 +00:00
$at [ $b ][ 'atack' ][] = [ $rnd_a , 1 , 0 , 1 ]; // 3 , 0 , 1
} else {
$at [ $b ][ 'atack' ][] = [ $rnd_a , 3 , 0 , 1 ]; // 3 , 0 , 1
}
$at = $this -> contrRestart ( $id , $at , 1 , $rjd );
}
}
}
$j ++ ;
}
$i ++ ;
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Выделение из лог текста
2022-12-30 19:03:37 +00:00
public function addlt ( $a , $id , $s , $rnd = null ) : string
2022-12-19 20:22:19 +00:00
{
global $log_text ;
if ( $rnd === null ) {
$rnd = rand ( 0 , ( count ( $log_text [ $s ][ $id ]) - 1 ));
}
return '{' . $a . 'x' . $id . 'x' . $rnd . '}' ;
}
2023-01-10 16:29:32 +00:00
//Добавляем статистику
2022-12-19 20:22:19 +00:00
public function addNewStat ( $stat )
{
if ( isset ( $stat [ 1 ])) {
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `battle_stat`
2022-12-19 20:22:19 +00:00
( `battle` , `uid1` , `uid2` , `time` , `type` , `a` , `b` , `ma` , `mb` , `type_a` , `type_b` , `yrn` , `yrn_krit` , `tm1` , `tm2` ) VALUES (
" ' . $this->info ['id'] . ' " ,
" ' . $stat[1] ['uid1'] . ' " ,
" ' . $stat[1] ['uid2'] . ' " ,
" ' . $stat[1] ['time'] . ' " ,
" ' . $stat[1] ['type'] . ' " ,
" ' . $stat[1] ['a'] . ' " ,
" ' . $stat[1] ['b'] . ' " ,
" ' . $stat[1] ['ma'] . ' " ,
" ' . $stat[1] ['mb'] . ' " ,
" ' . $stat[1] ['type_a'] . ' " ,
" ' . $stat[1] ['type_b'] . ' " ,
" ' . $stat[1] ['yrn'] . ' " ,
" ' . $stat[1] ['yrn_krit'] . ' " ,
" ' . $stat[1] ['tm1'] . ' " ,
" ' . $stat[1] ['tm2'] . ' "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
}
if ( isset ( $stat [ 2 ])) {
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `battle_stat`
2022-12-19 20:22:19 +00:00
( `battle` , `uid1` , `uid2` , `time` , `type` , `a` , `b` , `ma` , `mb` , `type_a` , `type_b` , `yrn` , `yrn_krit` , `tm1` , `tm2` ) VALUES (
" ' . $this->info ['id'] . ' " ,
" ' . $stat[2] ['uid1'] . ' " ,
" ' . $stat[2] ['uid2'] . ' " ,
" ' . $stat[2] ['time'] . ' " ,
" ' . $stat[2] ['type'] . ' " ,
" ' . $stat[2] ['a'] . ' " ,
" ' . $stat[2] ['b'] . ' " ,
" ' . $stat[1] ['ma'] . ' " ,
" ' . $stat[2] ['mb'] . ' " ,
" ' . $stat[2] ['type_a'] . ' " ,
" ' . $stat[2] ['type_b'] . ' " ,
" ' . $stat[2] ['yrn'] . ' " ,
" ' . $stat[2] ['yrn_krit'] . ' " ,
" ' . $stat[2] ['tm1'] . ' " ,
" ' . $stat[2] ['tm2'] . ' "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
}
}
public $prlog = [];
2023-01-10 16:29:32 +00:00
//Добавляем статистику ударов
2022-12-19 20:22:19 +00:00
public function asr ( $u1 , $u2 , $type )
{
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO battle_static (
2022-12-19 20:22:19 +00:00
`uid1` , `uid2` , `hod` , `type` , `time` , `bid`
) VALUES (
2022-12-30 19:03:37 +00:00
" ' . $u1 . ' " , " ' . $u2 . ' " , " ' . $this->hodID . ' " , " ' . $type . ' " , " ' . time(
) . '","' . $this -> info [ 'id' ] . ' "
) '
);
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Добавляем размены в лог
2022-12-30 19:03:37 +00:00
public function addlogRazmen ( $id , $at ) : bool
2022-12-19 20:22:19 +00:00
{
global $u ;
$r = '' ;
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
$this -> hodID ++ ;
$dies = [
1 => 0 ,
2 => 0 ,
];
2023-01-10 16:29:32 +00:00
//массив для статистики
2022-12-19 20:22:19 +00:00
$stat = [
1 => [
'uid1' => 0 ,
'uid2' => 0 ,
'time' => time (),
'type' => 0 ,
'a' => '00000' ,
'b' => '0' ,
'type_a' => '' ,
'type_b' => '0' ,
'yrn' => 0 ,
'yrn_krit' => 0 ,
'ma' => 0 ,
'mb' => 0 ,
'tm1' => 0 ,
'tm2' => 0 ,
],
2 => [
'uid1' => 0 ,
'uid2' => 0 ,
'time' => time (),
'type' => 0 ,
'a' => '00000' ,
'b' => '0' ,
'type_a' => '' ,
'type_b' => '0' ,
'yrn' => 0 ,
'yrn_krit' => 0 ,
'ma' => 0 ,
'mb' => 0 ,
'tm1' => 0 ,
'tm2' => 0 ,
],
];
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
2022-12-30 19:03:37 +00:00
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'yhod' ] <= 0 && $this -> stats [ $this -> uids [ $u2 ]][ 'yhod' ] > 0 ) {
2022-12-19 20:22:19 +00:00
$u2 = $this -> yhod_user ( $u1 , $u2 , $this -> stats [ $this -> uids [ $u2 ]][ 'yhod' ]);
}
$s1 = $this -> users [ $this -> uids [ $u1 ]][ 'sex' ];
$s2 = $this -> users [ $this -> uids [ $u2 ]][ 'sex' ];
$stat [ $a ][ 'uid1' ] = $u1 ;
$stat [ $a ][ 'uid2' ] = $u2 ;
$stat [ $a ][ 'ma' ] = $this -> stats [ $this -> uids [ $u1 ]][ 'zona' ];
$stat [ $a ][ 'mb' ] = $this -> stats [ $this -> uids [ $u1 ]][ 'zonb' ];
$stat [ $a ][ 'tm1' ] = $this -> users [ $this -> uids [ $u1 ]][ 'team' ];
$stat [ $a ][ 'tm2' ] = $this -> users [ $this -> uids [ $u2 ]][ 'team' ];
$stat [ $a ][ 'a' ] = $this -> atacks [ $id ][ 'a' . $a ];
$stat [ $a ][ 'b' ] = $this -> atacks [ $id ][ 'b' . $a ];
$vLog = 'at1=00000||at2=00000||zb1=' . $this -> stats [ $this -> uids [ $u1 ]][ 'zonb' ] . '||zb2=' . $this -> stats [ $this -> uids [ $u2 ]][ 'zonb' ] . '||bl1=' . $this -> atacks [ $id ][ 'b' . $a ] . '||bl2=' . $this -> atacks [ $id ][ 'b' . $b ] . '||time1=' . $this -> atacks [ $id ][ 'time' ] . '||time2=' . $this -> atacks [ $id ][ 'time2' ] . '||s' . $a . '=' . $s1 . '||s' . $b . '=' . $s2 . '||t2=' . $this -> users [ $this -> uids [ $u2 ]][ 'team' ] . '||t1=' . $this -> users [ $this -> uids [ $u1 ]][ 'team' ] . '||login1=' . $this -> users [ $this -> uids [ $u1 ]][ 'login2' ] . '||login2=' . $this -> users [ $this -> uids [ $u2 ]][ 'login2' ] . '' ;
$mas = [
'text' => '' ,
'time' => time (),
'vars' => '' ,
'battle' => $this -> info [ 'id' ],
'id_hod' => $this -> hodID ,
'vars' => $vLog ,
'type' => 1 ,
];
2023-01-10 16:29:32 +00:00
if ( ! isset ( $at [ $a ][ 'atack' ])) { //Т У Т тест пропуска
2022-12-19 20:22:19 +00:00
if ( $this -> atacks [ $id ][ 'tpo' . $a ] == 2 ) {
2023-01-10 16:29:32 +00:00
$mas [ 'text' ] .= '{u1} потратил свой ход на магию.' ;
2022-12-19 20:22:19 +00:00
} else {
//
if ( $this -> info [ 'razdel' ] == 0 && $this -> info [ 'dn_id' ] == 0 && $this -> info [ 'izlom' ] == 0 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `battle_out` ( `battle` , `uid1` , `uid2` , `time` , `out` ) VALUES (
2022-12-19 20:22:19 +00:00
" ' . $this->info ['id'] . ' " , " ' . $u1 . ' " , " ' . $u2 . ' " , " ' . time() . ' " , " 1 "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
}
//
if ( isset ( $u1 )) {
2023-01-10 16:29:32 +00:00
$mas [ 'text' ] .= '{u1} пропустил свой ход.' ;
//Проверка с б р о с туманок
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `eff_users` SET `delete` = "' . time (
) . '" WHERE `uid` = "' . $u1 . '" AND `delete` = 0 AND `v1` = "priem" AND (`v2`=288 OR `v2`=287 OR `v2`=286 OR `v2`=273) LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
}
$mas [ 'text' ] = '{tm1} ' . $mas [ 'text' ];
$this -> add_log ( $mas );
} else {
$j = 0 ;
while ( $j < count ( $at [ $a ][ 'atack' ]) && $j < 8 ) {
//
$mas [ 'text' ] = '' ;
//
$wt = [
21 => 4 ,
22 => 5 ,
20 => 2 ,
28 => 2 ,
19 => 3 ,
18 => 1 ,
26 => 22 ,
];
$par = [
'zona' => '{zn2_' . $at [ $a ][ 'atack' ][ $j ][ 0 ] . '} ' ,
2022-12-30 19:03:37 +00:00
'kyda' => $this -> lg_zon [ $at [ $a ][ 'atack' ][ $j ][ 0 ]][ rand (
0 ,
( count ( $this -> lg_zon [ $at [ $a ][ 'atack' ][ $j ][ 0 ]]) - 1 )
)],
'chem' => $this -> lg_itm [ $wt [ $at [ $a ][ 'atack' ][ $j ][ 'wt' ]]][ rand (
0 ,
( count ( $this -> lg_itm [ $wt [ $at [ $a ][ 'atack' ][ $j ][ 'wt' ]]]) - 1 )
)],
2022-12-19 20:22:19 +00:00
];
//
$this -> atacks [ $id ][ 'uid_' . $u1 . '_t' . $at [ $a ][ 'atack' ][ $j ][ 1 ]] ++ ;
//
//
$this -> asr ( $u1 , $u2 , $at [ $a ][ 'atack' ][ $j ][ 1 ]);
//
if ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 1 ) {
2023-01-10 16:29:32 +00:00
//u1 ударил обычным ударом u2
2022-12-30 19:03:37 +00:00
$mas [ 'text' ] .= $par [ 'zona' ] . '{u2} ' . $this -> addlt ( $b , 1 , $s2 , null ) . '' . $this -> addlt (
$b ,
2 , $s2 , null
) . '' . $this -> addlt ( $a , 3 , $s1 , null ) . ' {u1} ' . $this -> addlt (
$a , 4 ,
$s1 , null
) . '' . $this -> addlt ( $a , 5 , $s1 , null ) . '' . $this -> addlt (
$a , 6 , $s1 ,
null
) . ' ' . $this -> addlt (
1 , 7 , $s1 ,
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 't' ]
) . ' ' . $par [ 'chem' ] . ' ' . $par [ 'kyda' ] . '. ' ;
2022-12-19 20:22:19 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 2 ) {
2023-01-10 16:29:32 +00:00
//u2 увернулся от u1
2022-12-30 19:03:37 +00:00
$mas [ 'text' ] .= $par [ 'zona' ] . '{u1} ' . $this -> addlt ( $a , 8 , $s1 , null ) . '' . $this -> addlt (
$a ,
9 , $s1 , null
) . ' {u2} <font color=#0071a3><strong>' . $this -> addlt (
$b , 11 , $s2 ,
null
) . '</strong></font> ' . $par [ 'chem' ] . ' ' . $par [ 'kyda' ] . '. ' ;
2022-12-19 20:22:19 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 3 ) {
2023-01-10 16:29:32 +00:00
//u2 заблокировал удар u1
2022-12-30 19:03:37 +00:00
$mas [ 'text' ] .= $par [ 'zona' ] . '{u1} ' . $this -> addlt ( $a , 8 , $s1 , null ) . '' . $this -> addlt (
$a ,
9 , $s1 , null
) . ' {u2} <font color=#356d37><strong>' . $this -> addlt (
$b , 10 , $s2 ,
null
) . '</strong></font> ' . $this -> addlt (
1 , 7 , 0 , $s1 ,
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 't' ]
) . ' ' . $par [ 'chem' ] . ' ' . $par [ 'kyda' ] . '. ' ;
2022-12-19 20:22:19 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 4 ) {
2023-01-10 16:29:32 +00:00
//u1 пробил блок u2 критом
2022-12-19 20:22:19 +00:00
if ( isset ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 't' ])) {
2022-12-30 19:03:37 +00:00
$mas [ 'text' ] .= $par [ 'zona' ] . '{u2} ' . $this -> addlt (
$b , 1 , $s2 ,
null
) . '' . $this -> addlt ( $b , 2 , $s2 , null ) . '' . $this -> addlt (
$a , 3 , $s1 ,
null
) . ' {u1} ' . $this -> addlt ( $a , 4 , $s1 , null ) . '' . $this -> addlt (
$a , 5 , $s1 ,
null
2023-01-10 16:29:32 +00:00
) . ', <u><font color=red>пробив блок</font></u>, ' . $this -> addlt (
2022-12-30 19:03:37 +00:00
$a , 6 , $s1 ,
null
) . ' ' . $this -> addlt (
1 , 7 , $s1 ,
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 't' ]
) . ' ' . $par [ 'chem' ] . ' ' . $par [ 'kyda' ] . '. ' ;
2022-12-19 20:22:19 +00:00
}
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 5 ) {
2023-01-10 16:29:32 +00:00
//u1 ударил критическим ударом u2
2022-12-30 19:03:37 +00:00
$mas [ 'text' ] .= $par [ 'zona' ] . '{u2} ' . $this -> addlt ( $b , 1 , $s2 , null ) . '' . $this -> addlt (
$b ,
2 , $s2 , null
) . '' . $this -> addlt ( $a , 3 , $s1 , null ) . ' {u1} ' . $this -> addlt (
$a , 4 ,
$s1 , null
) . '' . $this -> addlt ( $a , 5 , $s1 , null ) . '' . $this -> addlt (
$a , 6 , $s1 ,
null
) . ' ' . $this -> addlt (
1 , 7 , $s1 ,
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 't' ]
) . ' ' . $par [ 'chem' ] . ' ' . $par [ 'kyda' ] . '. ' ;
2022-12-19 20:22:19 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 6 ) {
2023-01-10 16:29:32 +00:00
//u2 парировал удар u1
2022-12-30 19:03:37 +00:00
$mas [ 'text' ] .= $par [ 'zona' ] . '{u1} ' . $this -> addlt ( $a , 8 , $s1 , null ) . '' . $this -> addlt (
$a ,
2022-12-19 20:22:19 +00:00
9 , $s1 ,
2022-12-30 19:03:37 +00:00
null
2023-01-10 16:29:32 +00:00
) . ' {u2} неожиданно <strong><font color=#c59400>парировал</font></strong> ' . $this -> addlt (
2022-12-30 19:03:37 +00:00
1 ,
2022-12-19 20:22:19 +00:00
7 , 0 , $s1 ,
2022-12-30 19:03:37 +00:00
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 't' ]
) . ' ' . $par [ 'chem' ] . ' ' . $par [ 'kyda' ] . '. ' ;
2022-12-19 20:22:19 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 7 ) {
2023-01-10 16:29:32 +00:00
//u2 блокировал щитом удар u1
2022-12-30 19:03:37 +00:00
$mas [ 'text' ] .= $par [ 'zona' ] . '{u1} ' . $this -> addlt ( $a , 8 , $s1 , null ) . '' . $this -> addlt (
$a ,
2022-12-19 20:22:19 +00:00
9 , $s1 ,
2022-12-30 19:03:37 +00:00
null
2023-01-10 16:29:32 +00:00
) . ' {u2}, воспользовавшись <u><font color=#356d37>своим щитом</font></u>, ' . $this -> addlt (
2022-12-30 19:03:37 +00:00
$b ,
10 , $s2 , null
) . ' ' . $this -> addlt (
1 , 7 , 0 , $s1 ,
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 't' ]
) . ' ' . $par [ 'chem' ] . ' ' . $par [ 'kyda' ] . '. ' ;
2022-12-19 20:22:19 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 8 ) {
2023-01-10 16:29:32 +00:00
//u2 увернулся от удара u1 и нанес по нему контрудар
2022-12-30 19:03:37 +00:00
$mas [ 'text' ] .= $par [ 'zona' ] . '{u1} ' . $this -> addlt ( $a , 8 , $s1 , null ) . '' . $this -> addlt (
$a ,
9 , $s1 , null
) . ' {u2} <font color=#0071a3><strong>' . $this -> addlt (
$b , 11 , $s2 ,
null
2023-01-10 16:29:32 +00:00
) . '</strong></font> ' . $par [ 'chem' ] . ' ' . $par [ 'kyda' ] . ' и нанес контрудар. ' ;
2022-12-19 20:22:19 +00:00
}
$stat [ $a ][ 'type_a' ] .= '' . $at [ $a ][ 'atack' ][ $j ][ 1 ] . '' ;
2022-12-30 19:03:37 +00:00
if (( ! isset ( $this -> stats [ $this -> uids [ $u2 ]][ 'notravma' ]) || $this -> stats [ $this -> uids [ $u2 ]][ 'notravma' ] == 0 ) && isset ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'travma' ]) && $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'travma' ][ 0 ] > 0 && floor (
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hp' ]
) <= 0 ) {
$tr_pl = mysql_fetch_array (
mysql_query (
'SELECT `id`,`v1` FROM `eff_users` WHERE `id_eff` = 4 AND `uid` = "' . $u2 . '" AND `delete` = "0" ORDER BY `v1` DESC LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( ! isset ( $tr_pl [ 'id' ]) || $tr_pl [ 'v1' ] < 3 ) {
//263
if ( isset ( $tr_pl [ 'id' ])) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'travma' ][ 0 ] = rand (( $tr_pl [ 'v1' ] + 1 ), 3 );
}
2022-12-30 19:03:37 +00:00
$tr_pl2 = mysql_fetch_array (
mysql_query (
2023-01-10 16:29:32 +00:00
'SELECT `id` FROM `eff_users` WHERE `uid` = "' . $u2 . '" AND `delete` = "0" AND `name` LIKE "%Защита от травм%" LIMIT 1'
2022-12-30 19:03:37 +00:00
)
);
2022-12-19 20:22:19 +00:00
if ( ! isset ( $tr_pl2 [ 'id' ]) && $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'travma' ][ 0 ] <= 3 ) {
$mas [ 'text' ] = rtrim ( $mas [ 'text' ], '. ' );
2023-01-10 16:29:32 +00:00
$mas [ 'text' ] .= ', <font color=red>нанеся противнику <strong>' ;
2022-12-19 20:22:19 +00:00
if ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'travma' ][ 0 ] == 1 ) {
2023-01-10 16:29:32 +00:00
$mas [ 'text' ] .= 'Легкую' ;
2022-12-19 20:22:19 +00:00
$this -> addTravm ( $u2 , 1 , rand ( 3 , 5 ));
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'travma' ][ 0 ] == 2 ) {
2023-01-10 16:29:32 +00:00
$mas [ 'text' ] .= 'Среднюю' ;
2022-12-19 20:22:19 +00:00
$this -> addTravm ( $u2 , 2 , rand ( 3 , 5 ));
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'travma' ][ 0 ] == 3 ) {
2023-01-10 16:29:32 +00:00
$mas [ 'text' ] .= 'Тяжелую' ;
2022-12-19 20:22:19 +00:00
$this -> addTravm ( $u2 , 3 , rand ( 3 , 5 ));
}
2023-01-10 16:29:32 +00:00
$mas [ 'text' ] .= ' травму</strong></font>. ' ;
2022-12-19 20:22:19 +00:00
}
}
unset ( $tr_pl );
}
if ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'pb' ] == 1 && isset ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hp' ])) {
$mas [ 'text' ] = rtrim ( $mas [ 'text' ], '. ' );
2023-01-10 16:29:32 +00:00
$mas [ 'text' ] .= ' <i>пробив броню</i>. ' ;
2022-12-19 20:22:19 +00:00
}
if ( $at [ $a ][ 'atack' ][ $j ][ 3 ] == 1 ) {
2023-01-10 16:29:32 +00:00
$mas [ 'text' ] .= '(контрудар) ' ;
2022-12-19 20:22:19 +00:00
}
if ( isset ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ])) {
if ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'w' ] == 3 ) {
2023-01-10 16:29:32 +00:00
$mas [ 'textWP' ] = '(правая рука)' ;
2022-12-19 20:22:19 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'w' ] == 14 ) {
2023-01-10 16:29:32 +00:00
$mas [ 'textWP' ] = '(левая рука)' ;
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
$mas [ 'textWP' ] = '(непонятно чем)' ;
2022-12-19 20:22:19 +00:00
}
if ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 4 || $at [ $a ][ 'atack' ][ $j ][ 1 ] == 5 || $at [ $a ][ 'atack' ][ $j ][ 1 ] == 1 ) {
if ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ] < 1 ) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'r' ] = '--' ;
}
}
if ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 4 || $at [ $a ][ 'atack' ][ $j ][ 1 ] == 5 ) {
$stat [ $a ][ 'yrn_krit' ] += - $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'r' ];
$mas [ 'text' ] .= ' <font title=' . $mas [ 'textWP' ] . ' color=#ff0000><strong>' . $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'r' ] . '</strong></font>' ;
} else {
$mas [ 'text' ] .= ' <font title=' . $mas [ 'textWP' ] . ' color=#0066aa><strong>' . $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'r' ] . '</strong></font>' ;
}
$stat [ $a ][ 'yrn' ] += - $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'r' ];
}
if ( isset ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hp' ])) {
if ( $this -> users [ $this -> uids [ $u2 ]][ 'align' ] == 9 ) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hp' ] = $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hp' ] / ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hpAll' ] / 100 );
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hpAll' ] = '100%' ;
}
2022-12-30 19:03:37 +00:00
$mas [ 'text' ] .= ' [' . floor ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hp' ]) . '/' . floor (
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hpAll' ]
) . ']' ;
2022-12-19 20:22:19 +00:00
}
if ( $mas [ 'text' ] != '' ) {
$mas [ 'text' ] = '{tm1} ' . $mas [ 'text' ];
}
if ( is_array ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'plog' ])) {
$il = 0 ;
while ( $il <= count ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'plog' ])) {
if ( isset ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'plog' ][ $il ])) {
eval ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'plog' ][ $il ]);
}
$il ++ ;
}
}
$this -> add_log ( $mas );
$j ++ ;
}
}
$i ++ ;
}
2023-01-10 16:29:32 +00:00
//Добавляем статистику + записываем в б а ттл_юзе р с Н Р игроков
2022-12-19 20:22:19 +00:00
$this -> addNewStat ( $stat );
2023-01-10 16:29:32 +00:00
//Вывод в лог смерти персонажа
2022-12-19 20:22:19 +00:00
if ( floor ( $this -> stats [ $this -> uids [ $u1 ]][ 'hpNow' ]) < 1 ) {
$dies [ 1 ] = 1 ;
}
if ( floor ( $this -> stats [ $this -> uids [ $u2 ]][ 'hpNow' ]) < 1 ) {
$dies [ 2 ] = 1 ;
}
if ( $dies [ 1 ] > 0 || $dies [ 2 ] > 0 ) {
$s1 = $this -> users [ $this -> uids [ $u1 ]][ 'sex' ];
$s2 = $this -> users [ $this -> uids [ $u2 ]][ 'sex' ];
$vLog = 'at1=00000||at2=00000||zb1=' . $this -> stats [ $this -> uids [ $u1 ]][ 'zonb' ] . '||zb2=' . $this -> stats [ $this -> uids [ $u2 ]][ 'zonb' ] . '||bl1=' . $this -> atacks [ $id ][ 'b' . $a ] . '||bl2=' . $this -> atacks [ $id ][ 'b' . $b ] . '||time1=' . $this -> atacks [ $id ][ 'time' ] . '||time2=' . $this -> atacks [ $id ][ 'time2' ] . '||s2=' . $this -> users [ $this -> uids [ $u2 ]][ 'sex' ] . '||s1=' . $this -> users [ $this -> uids [ $u1 ]][ 'sex' ] . '||t2=' . $this -> users [ $this -> uids [ $u2 ]][ 'team' ] . '||t1=' . $this -> users [ $this -> uids [ $u1 ]][ 'team' ] . '||login1=' . $this -> users [ $this -> uids [ $u1 ]][ 'login2' ] . '||login2=' . $this -> users [ $this -> uids [ $u2 ]][ 'login2' ] . '' ;
$mas = [
'text' => '' ,
'time' => time (),
'vars' => '' ,
'battle' => $this -> info [ 'id' ],
'id_hod' => $this -> hodID ,
'vars' => $vLog ,
'type' => 1 ,
];
$rtngwin = [ 1 , 2 , 3 , 5 , 10 , 20 , 40 , 80 , 160 ];
$rtnglos = [ 0 , 0 , 0 , - 1 , - 2 , - 5 , - 10 , - 20 , - 40 ];
if ( $this -> info [ 'typeBattle' ] == 99 ) {
if ( $btlstatus [ 0 ] == 0 ) {
2023-01-10 16:29:32 +00:00
//Кровавые бои обычные
2022-12-19 20:22:19 +00:00
$rtngwin = [ 2 , 4 , 6 , 10 , 20 , 40 , 80 , 160 , 320 ];
if ( $this -> info [ 'razdel' ] == 5 ) {
2023-01-10 16:29:32 +00:00
//не хаот
2022-12-19 20:22:19 +00:00
$rtnglos = [ 0 , 0 , 0 , - 2 , - 4 , - 10 , - 20 , - 40 , - 80 ];
} else {
2023-01-10 16:29:32 +00:00
//хаот
2022-12-19 20:22:19 +00:00
$rtnglos = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ];
}
} elseif ( $btlstatus [ 0 ] == 25 ) {
2023-01-10 16:29:32 +00:00
//Кровавая битва
2022-12-19 20:22:19 +00:00
$rtngwin = [ 3 , 6 , 9 , 15 , 30 , 60 , 120 , 240 , 480 ];
$rtnglos = [ 0 , 0 , 0 , - 2 , - 4 , - 10 , - 20 , - 40 , - 80 ];
} elseif ( $btlstatus [ 0 ] == 50 ) {
2023-01-10 16:29:32 +00:00
//Кровавая резня
2022-12-19 20:22:19 +00:00
$rtngwin = [ 4 , 8 , 16 , 32 , 64 , 128 , 256 , 512 , 1024 ];
$rtnglos = [ 0 , 0 , 0 , - 2 , - 4 , - 10 , - 20 , - 40 , - 80 ];
} elseif ( $btlstatus [ 0 ] == 75 ) {
2023-01-10 16:29:32 +00:00
//Кровавая сеча
2022-12-19 20:22:19 +00:00
$rtngwin = [ 5 , 10 , 20 , 40 , 80 , 160 , 320 , 640 , 1280 ];
$rtnglos = [ 0 , 0 , 0 , - 2 , - 4 , - 10 , - 20 , - 40 , - 80 ];
} elseif ( $btlstatus [ 0 ] == 100 ) {
2023-01-10 16:29:32 +00:00
//Кровавое побоище
2022-12-19 20:22:19 +00:00
$rtngwin = [ 6 , 12 , 24 , 48 , 98 , 196 , 392 , 784 , 1568 ];
$rtnglos = [ 0 , 0 , 0 , - 2 , - 4 , - 10 , - 20 , - 40 , - 80 ];
} elseif ( $btlstatus [ 0 ] == 150 ) {
2023-01-10 16:29:32 +00:00
//Судный день
2022-12-19 20:22:19 +00:00
$rtngwin = [ 7 , 14 , 28 , 56 , 112 , 224 , 448 , 896 , 1792 ];
$rtnglos = [ 0 , 0 , 0 , - 2 , - 4 , - 10 , - 20 , - 40 , - 80 ];
}
} else {
if ( $btlstatus [ 0 ] == 0 ) {
2023-01-10 16:29:32 +00:00
//Обычный поединок
2022-12-19 20:22:19 +00:00
$rtngwin = [ 1 , 2 , 3 , 5 , 10 , 20 , 40 , 80 , 160 ];
if ( $this -> info [ 'razdel' ] == 5 ) {
2023-01-10 16:29:32 +00:00
//не хаот
2022-12-19 20:22:19 +00:00
$rtnglos = [ 0 , 0 , 0 , - 1 , - 2 , - 5 , - 10 , - 20 , - 40 ];
} else {
2023-01-10 16:29:32 +00:00
//хаот
2022-12-19 20:22:19 +00:00
$rtnglos = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ];
}
} elseif ( $btlstatus [ 0 ] == 25 ) {
2023-01-10 16:29:32 +00:00
//великая битва
2022-12-19 20:22:19 +00:00
$rtngwin = [ 2 , 4 , 6 , 10 , 20 , 40 , 80 , 160 , 320 ];
$rtnglos = [ 0 , 0 , 0 , - 2 , - 4 , - 10 , - 20 , - 40 , - 80 ];
} elseif ( $btlstatus [ 0 ] == 50 ) {
2023-01-10 16:29:32 +00:00
//величайшая битва
2022-12-19 20:22:19 +00:00
$rtngwin = [ 3 , 6 , 9 , 15 , 30 , 60 , 120 , 240 , 480 ];
$rtnglos = [ 0 , 0 , 0 , - 2 , - 4 , - 10 , - 20 , - 40 , - 80 ];
} elseif ( $btlstatus [ 0 ] == 75 ) {
2023-01-10 16:29:32 +00:00
//историческая битва сеча
2022-12-19 20:22:19 +00:00
$rtngwin = [ 4 , 8 , 16 , 32 , 64 , 128 , 256 , 512 , 1024 ];
$rtnglos = [ 0 , 0 , 0 , - 2 , - 4 , - 10 , - 20 , - 40 , - 80 ];
} elseif ( $btlstatus [ 0 ] == 100 ) {
2023-01-10 16:29:32 +00:00
//эпохальная битва
2022-12-19 20:22:19 +00:00
$rtngwin = [ 5 , 10 , 20 , 40 , 80 , 160 , 320 , 640 , 1280 ];
$rtnglos = [ 0 , 0 , 0 , - 2 , - 4 , - 10 , - 20 , - 40 , - 80 ];
} elseif ( $btlstatus [ 0 ] == 150 ) {
2023-01-10 16:29:32 +00:00
//судный день
2022-12-19 20:22:19 +00:00
$rtngwin = [ 7 , 14 , 28 , 56 , 112 , 224 , 448 , 896 , 1792 ];
$rtnglos = [ 0 , 0 , 0 , - 2 , - 4 , - 10 , - 20 , - 40 , - 80 ];
}
}
if ( $this -> info [ 'dn_id' ] > 0 || $this -> info [ 'izlom' ] != 0 || $this -> info [ 'turnir' ] != 0 ) {
2023-01-10 16:29:32 +00:00
//Пещерные бои не считаются и Изломы тоже, ну и Турниры
2022-12-19 20:22:19 +00:00
$rtngwin = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ];
$rtnglos = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ];
} elseif ( $this -> info [ 'clan1' ] > 0 && $this -> info [ 'clan2' ] > 0 ) {
2023-01-10 16:29:32 +00:00
//Клановая война
2022-12-19 20:22:19 +00:00
$rtngwin = [ 3 , 6 , 9 , 15 , 30 , 60 , 120 , 240 , 480 ];
$rtnglos = [ - 1 , - 2 , - 4 , - 8 , - 16 , - 32 , - 64 , - 128 , - 256 ];
}
if ( $dies [ 1 ] == 1 ) {
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'dn_id' ] <= 0 && $this -> users [ $this -> uids [ $u1 ]][ 'level' ] >= 4 ) {
$rtng1 += $rtnglos [ $this -> users [ $this -> uids [ $u1 ]][ 'level' ] - 4 ];
$rtng2 += $rtngwin [ $this -> users [ $this -> uids [ $u1 ]][ 'level' ] - 4 ];
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Персонаж 1 погиб от рук персонаж 2
2022-12-19 20:22:19 +00:00
$this -> spaCheck ( $this -> users [ $this -> uids [ $u1 ]][ 'id' ]);
}
if ( $dies [ 2 ] == 1 ) {
2022-12-30 19:03:37 +00:00
if ( $this -> info [ 'dn_id' ] <= 0 && $this -> users [ $this -> uids [ $u1 ]][ 'level' ] >= 4 ) {
$rtng1 += $rtnglos [ $this -> users [ $this -> uids [ $u1 ]][ 'level' ] - 4 ];
$rtng2 += $rtngwin [ $this -> users [ $this -> uids [ $u1 ]][ 'level' ] - 4 ];
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Персонаж 2 погиб от рук персонаж 1
2022-12-19 20:22:19 +00:00
$this -> spaCheck ( $this -> stats [ $this -> uids [ $u2 ]][ 'id' ]);
}
2023-01-10 16:29:32 +00:00
//Записываем рейтинг
2022-12-19 20:22:19 +00:00
//
if ( $this -> info [ 'type' ] != 564 && $this -> stats [ $this -> uids [ $u1 ]][ 'inTurnir' ] == 0 && $this -> stats [ $this -> uids [ $u2 ]][ 'inTurnir' ] == 0 && $this -> info [ 'dn_id' ] == 0 && $this -> info [ 'izlom' ] == 0 ) {
//
if ( $this -> users [ $this -> uids [ $u2 ]][ 'bot' ] == 0 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `users_reting` ( `uid` , `time` , `val` , `align` , `clan` ) VALUES (
" ' . $u1 . ' " , " ' . time(
) . '","' . $rtng1 . '","' . $this -> users [ $this -> uids [ $u1 ]][ 'align' ] . '","' . $this -> users [ $this -> uids [ $u1 ]][ 'clan' ] . '")'
);
2022-12-19 20:22:19 +00:00
}
unset ( $rtng );
if ( $this -> users [ $this -> uids [ $u1 ]][ 'bot' ] == 0 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `users_reting` ( `uid` , `time` , `val` , `align` , `clan` ) VALUES (
" ' . $u2 . ' " , " ' . time(
) . '","' . $rtng2 . '","' . $this -> users [ $this -> uids [ $u2 ]][ 'align' ] . '","' . $this -> users [ $this -> uids [ $u2 ]][ 'clan' ] . '")'
);
2022-12-19 20:22:19 +00:00
}
}
unset ( $rtng1 , $rtng2 );
}
return true ;
}
2023-01-10 16:29:32 +00:00
//Добавляем в лог действия приема
2022-12-19 20:22:19 +00:00
public function priemAddLog ( $id , $a , $b , $u1 , $u2 , $prm , $text , $hodID , $tm1 = 0 , $tm2 = 0 )
{
$time = time ();
if ( $tm1 == 0 ) {
$tm1 = isset ( $this -> atacks [ $id ]) ? $this -> atacks [ $id ][ 'time' ] : $time ;
}
if ( $tm2 == 0 ) {
$tm2 = isset ( $this -> atacks [ $id ]) ? $this -> atacks [ $id ][ 'time2' ] : $time ;
}
$prm = str_replace ( '=' , '^^^^' , $prm );
$vLog =
'prm=' . $prm .
'||at1=00000||at2=00000||zb1=' . $this -> stats [ $this -> uids [ $u1 ]][ 'zonb' ] .
'||zb2=' . $this -> stats [ $this -> uids [ $u2 ]][ 'zonb' ] .
'||bl1=' . $this -> atacks [ $id ][ 'b' . $a ] .
'||bl2=' . $this -> atacks [ $id ][ 'b' . $b ] .
'||time1=' . $tm1 .
'||time2=' . $tm2 .
'||s' . $a . '=' . $this -> users [ $this -> uids [ $u1 ]][ 'sex' ] .
'||s' . $b . '=' . $this -> users [ $this -> uids [ $u2 ]][ 'sex' ] .
'||t2=' . $this -> users [ $this -> uids [ $u2 ]][ 'team' ] .
'||t1=' . $this -> users [ $this -> uids [ $u1 ]][ 'team' ] .
'||login1=' . $this -> users [ $this -> uids [ $u1 ]][ 'login2' ] .
'||login2=' . $this -> users [ $this -> uids [ $u2 ]][ 'login2' ];
$mas = [
'text' => $text ,
'time' => $time ,
'battle' => $this -> info [ 'id' ],
'id_hod' => $hodID ,
'vars' => $vLog ,
'type' => 1 ,
];
$this -> add_log ( $mas );
}
2023-01-10 16:29:32 +00:00
//Добавляем в лог действия приема (без атаки)
2022-12-19 20:22:19 +00:00
public function priemAddLogFast ( $u1 , $u2 , $prm , $text , $hodID , $tm )
{
$vLog = 'prm=' . $prm . '||time1=' . $tm . '||time2=' . $tm . '||s1=' . $this -> users [ $this -> uids [ $u1 ]][ 'sex' ] . '||s2=' . $this -> users [ $this -> uids [ $u2 ]][ 'sex' ] . '||t2=' . $this -> users [ $this -> uids [ $u2 ]][ 'team' ] . '||t1=' . $this -> users [ $this -> uids [ $u1 ]][ 'team' ] . '||login1=' . $this -> users [ $this -> uids [ $u1 ]][ 'login2' ] . '||login2=' . $this -> users [ $this -> uids [ $u2 ]][ 'login2' ] . '' ;
$mas = [
'text' => $text ,
'time' => time (),
'vars' => '' ,
'battle' => $this -> info [ 'id' ],
'id_hod' => ( $this -> hodID + $hodID ),
'vars' => $vLog ,
'type' => 1 ,
];
$this -> add_log ( $mas );
}
2023-01-10 16:29:32 +00:00
//Считаем контру
2022-12-19 20:22:19 +00:00
public function contrRestart ( $id , $at , $v , $rjd = 0 )
{
2023-01-10 16:29:32 +00:00
//уворот
2022-12-19 20:22:19 +00:00
$at = $this -> mf1Razmen ( $id , $at , $v , true , $rjd );
2023-01-10 16:29:32 +00:00
//парирование
2022-12-19 20:22:19 +00:00
$at = $this -> mf3Razmen ( $id , $at , $v , true , $rjd );
2023-01-10 16:29:32 +00:00
//контрудар
2022-12-19 20:22:19 +00:00
//$at = $this->mf5Razmen($id,$at,$v,true,$rjd);
2023-01-10 16:29:32 +00:00
//блок щитом (если есть щит, конечно)
2022-12-19 20:22:19 +00:00
$at = $this -> mf4Razmen ( $id , $at , $v , true , $rjd );
2023-01-10 16:29:32 +00:00
//Проверяем урон
2022-12-19 20:22:19 +00:00
//$at = $this->yronRazmen($id,$at);
2023-01-10 16:29:32 +00:00
//крит
2022-12-19 20:22:19 +00:00
$at = $this -> mf2Razmen ( $id , $at , $v , true , $rjd );
$at = $this -> yronRazmen ( $id , $at , true , $rjd );
return $at ;
}
2023-01-10 16:29:32 +00:00
//Расчитываем статы для конкретной зоны атаки
2022-12-19 20:22:19 +00:00
public function yronGetrazmenStats ( $s , $z )
{
global $u ;
/*
2023-01-10 16:29:32 +00:00
1 - шлем
2 - наручи
3 - оружие ( правая рука )
4 - р у б а х а
5 - броня
6 - плащ
7 - пояс
8 - серьги
9 - амулет
10 - 12 - кольца
13 - перчатки
14 - оружие / щит ( левая рука )
16 - поножи
17 - ботинки
2022-12-19 20:22:19 +00:00
*/
2023-01-10 16:29:32 +00:00
$zi = [ //Предметы влияющие на зоны
1 => [ 1 , 8 , 9 , 52 ], //голова
2 => [ 4 , 5 , 6 ], //грудь
3 => [ 2 , 4 , 5 , 6 , 13 ], //живот
4 => [ 7 , 16 , 10 , 11 , 12 ], //пояс
5 => [ 17 ], //ноги
2022-12-19 20:22:19 +00:00
];
$zi = $zi [ $z ];
$i = 0 ;
while ( $i < count ( $zi )) {
$t = $u -> items [ 'add' ];
$ii = 0 ;
while ( $ii < count ( $s [ 'items' ])) {
if ( isset ( $s [ 'items' ][ $ii ]) && $s [ 'items' ][ $ii ][ 'inOdet' ] == $zi [ $i ]) {
$po = $u -> lookStats ( $s [ 'items' ][ $ii ][ 'data' ]);
$x = 0 ;
while ( $x < count ( $t )) {
$n = $t [ $x ];
if ( isset ( $po [ 'sv_' . $n ])) {
$s [ $n ] += $po [ 'sv_' . $n ];
if ( $n == 'za' ) {
$iii = 1 ;
while ( $iii <= 4 ) {
$s [ 'za' . $iii ] += $po [ 'sv_' . $n ];
$iii ++ ;
}
} elseif ( $n == 'zm' ) {
$iii = 1 ;
while ( $iii <= 4 ) {
$s [ 'zm' . $iii ] += $po [ 'sv_' . $n ];
$iii ++ ;
}
} elseif ( $n == 'zma' ) {
$iii = 1 ;
while ( $iii <= 7 ) {
$s [ 'zma' . $iii ] += $po [ 'sv_' . $n ];
$iii ++ ;
}
}
}
$x ++ ;
}
}
$ii ++ ;
}
$i ++ ;
}
return $s ;
}
2023-01-10 16:29:32 +00:00
//Расчитываем ед. урона
2022-12-30 19:03:37 +00:00
public function yronGetrazmen ( $uid1 , $uid2 , $wp , $zona ) : array
2022-12-19 20:22:19 +00:00
{
global $u ;
$r = [
'y' => 0 ,
'r' => '--' ,
];
2023-01-10 16:29:32 +00:00
//Определяем тип урона
2022-12-19 20:22:19 +00:00
/*
2023-01-10 16:29:32 +00:00
Колющий
Рубящий
Режущий
Дробящий
2022-12-19 20:22:19 +00:00
*/
$witm = 0 ;
$witm_type = 0 ;
if ( $wp > 0 ) {
$witm = $this -> stats [ $this -> uids [ $uid1 ]][ 'items' ][ $this -> stats [ $this -> uids [ $uid1 ]][ 'wp' . $wp . 'id' ]];
$witm_data = $u -> lookStats ( $witm [ 'data' ]);
$witm_type = $this -> weaponTx ( $witm );
}
if ( $witm_type == 0 || $witm_type == 12 ) {
$witm_type2 = '' ;
} else {
$witm_type2 = $witm_type ;
}
$r [ 't' ] = $witm_type2 ;
2023-01-10 16:29:32 +00:00
//Расчет брони
2022-12-19 20:22:19 +00:00
/*
2023-01-10 16:29:32 +00:00
голова
грудь
живот
пояс
ноги
2022-12-19 20:22:19 +00:00
*/
$bron = [
1 => [ $this -> stats [ $this -> uids [ $uid2 ]][ 'mib1' ], $this -> stats [ $this -> uids [ $uid2 ]][ 'mab1' ]],
2 => [ $this -> stats [ $this -> uids [ $uid2 ]][ 'mib2' ], $this -> stats [ $this -> uids [ $uid2 ]][ 'mab2' ]],
3 => [ $this -> stats [ $this -> uids [ $uid2 ]][ 'mib2' ], $this -> stats [ $this -> uids [ $uid2 ]][ 'mab2' ]],
4 => [ $this -> stats [ $this -> uids [ $uid2 ]][ 'mib3' ], $this -> stats [ $this -> uids [ $uid2 ]][ 'mab3' ]],
5 => [ $this -> stats [ $this -> uids [ $uid2 ]][ 'mib4' ], $this -> stats [ $this -> uids [ $uid2 ]][ 'mab4' ]],
];
//
2023-01-10 16:29:32 +00:00
//Увеличиваем параметры от текущего оружия которым бьем
2022-12-19 20:22:19 +00:00
$iii = 1 ;
while ( $iii <= 7 ) {
if ( isset ( $witm_data [ 'sv_a' . $iii ]) && $witm_data [ 'sv_a' . $iii ] != 0 ) {
$this -> stats [ $this -> uids [ $uid1 ]][ 'a' . $iii ] += $witm_data [ 'sv_a' . $iii ];
}
if ( isset ( $witm_data [ 'sv_mg' . $iii ]) && $witm_data [ 'sv_mg' . $iii ] != 0 ) {
$this -> stats [ $this -> uids [ $uid1 ]][ 'mg' . $iii ] += $witm_data [ 'sv_mg' . $iii ];
}
$iii ++ ;
}
$iii = 1 ;
while ( $iii <= 4 ) {
if ( isset ( $witm_data [ 'sv_aall' ]) && $witm_data [ 'sv_aall' ] != 0 ) {
$this -> stats [ $this -> uids [ $uid1 ]][ 'a' . $iii ] += $witm_data [ 'sv_aall' ];
}
$iii ++ ;
}
$iii = 1 ;
while ( $iii <= 4 ) {
if ( isset ( $witm_data [ 'sv_mall' ]) && $witm_data [ 'sv_mall' ] != 0 ) {
$this -> stats [ $this -> uids [ $uid1 ]][ 'mg' . $iii ] += $witm_data [ 'sv_mall' ];
}
$iii ++ ;
}
$iii = 1 ;
while ( $iii <= 7 ) {
if ( isset ( $witm_data [ 'sv_m2all' ]) && $witm_data [ 'sv_m2all' ] != 0 ) {
$this -> stats [ $this -> uids [ $uid1 ]][ 'mg' . $iii ] += $witm_data [ 'sv_m2all' ];
}
$iii ++ ;
}
if ( isset ( $witm_data [ 'sv_m3' ]) && $witm_data [ 'sv_m3' ] != 0 ) {
$this -> stats [ $this -> uids [ $uid1 ]][ 'm3' ] += $witm_data [ 'sv_m3' ];
}
$iii = 1 ;
while ( $iii <= 7 ) {
if ( isset ( $witm_data [ 'sv_pa' . $iii ]) && $witm_data [ 'sv_pa' . $iii ] != 0 ) {
$this -> stats [ $this -> uids [ $uid1 ]][ 'pa' . $iii ] += $witm_data [ 'sv_pa' . $iii ] + $witm_data [ 'sv_m10' ];
}
if ( isset ( $witm_data [ 'sv_pm' . $iii ]) && $witm_data [ 'sv_pm' . $iii ] != 0 ) {
$this -> stats [ $this -> uids [ $uid1 ]][ 'pm' . $iii ] += $witm_data [ 'sv_pm' . $iii ] + $witm_data [ 'sv_m11a' ];
if ( $iii < 5 ) {
$this -> stats [ $this -> uids [ $uid1 ]][ 'pm' . $iii ] += $witm_data [ 'sv_m11' ];
}
}
$iii ++ ;
}
//
2023-01-10 16:29:32 +00:00
//мощность + подавление мощности противником
2022-12-19 20:22:19 +00:00
$wAp = 0 ;
$w3p = 0 ;
$w14p = 0 ;
if ( $witm_type == 12 ) {
2023-01-10 16:29:32 +00:00
//удар кулаком
2022-12-19 20:22:19 +00:00
$wAp += $this -> stats [ $this -> uids [ $uid1 ]][ 'm10' ];
if ( $this -> users [ $this -> uids [ $uid1 ]][ 'align' ] == 7 ) {
$wAp += 15 ;
}
} elseif ( $witm_type < 5 ) {
$wAp += $this -> stats [ $this -> uids [ $uid1 ]][ 'pa' . $witm_type . '' ] /* + $this->stats[$this->uids[$uid1]]['m10'] + $witm_data['sv_pa'.$witm_type.'']*/
;
$wAp -= $this -> stats [ $this -> uids [ $uid2 ]][ 'antpa' . $witm_type . '' ];
} else {
$wAp += $this -> stats [ $this -> uids [ $uid1 ]][ 'm10' ] + $this -> stats [ $this -> uids [ $uid1 ]][ 'pm' . ( $witm_type - 4 ) . '' ] + $this -> stats [ $this -> uids [ $uid1 ]][ 'm11a' ] + $witm_data [ 'sv_pm' . ( $witm_type - 4 ) . '' ];
$wAp -= $this -> stats [ $this -> uids [ $uid2 ]][ 'antpm' . ( $witm_type - 4 ) . '' ];
}
2023-01-10 16:29:32 +00:00
//Владение данным оружием
2022-12-19 20:22:19 +00:00
$vladenie = 0 ;
2023-01-10 16:29:32 +00:00
//Пробой брони
2022-12-19 20:22:19 +00:00
$proboi = 0 ;
$witm_data [ 'm9' ] = $this -> stats [ $this -> uids [ $uid1 ]][ 'm9' ];
if ( rand ( 1 , 100 ) < floor ( $witm_data [ 'm9' ] / 2 )) {
$proboi = floor ( $witm_data [ 'm9' ] / 2 );
$r [ 'pb' ] = 1 ;
}
$y = $this -> yrn (
$this -> stats [ $this -> uids [ $uid1 ]],
$this -> stats [ $this -> uids [ $uid2 ]],
$this -> users [ $this -> uids [ $uid1 ]],
$this -> users [ $this -> uids [ $uid2 ]],
$this -> users [ $this -> uids [ $uid1 ]][ 'level' ],
$this -> users [ $this -> uids [ $uid2 ]][ 'level' ],
$witm_type ,
2023-01-10 16:29:32 +00:00
$this -> stats [ $this -> uids [ $uid1 ]][ 'minAtack' ], //мин. урон (добавочный)
$this -> stats [ $this -> uids [ $uid1 ]][ 'maxAtack' ], //макс. урон
$bron [ $zona ][ 0 ], //броня мин.
$bron [ $zona ][ 1 ], //броня макс
$vladenie , //владения
(( $wAp /*+ $w3p + $w14p*/ )), //мощность урона
( round ( $this -> stats [ $this -> uids [ $uid1 ]][ 'm3' ])), //мощность крита
2022-12-19 20:22:19 +00:00
(( $this -> stats [ $this -> uids [ $uid2 ]][ 'za' . $witm_type2 ]) - $this -> stats [ $this -> uids [ $uid1 ]][ 'pza' ]),
2023-01-10 16:29:32 +00:00
//защита от урона
$this -> stats [ $this -> uids [ $uid1 ]][ 'ozash' ], //подавление защиты
$proboi , //пробой брони
0 , //хз
2022-12-19 20:22:19 +00:00
( $witm_data [ 'sv_yron_min' ] + $this -> stats [ $this -> uids [ $uid1 ]][ 'yron_min' ]),
( $witm_data [ 'sv_yron_max' ] + $this -> stats [ $this -> uids [ $uid1 ]][ 'yron_max' ]),
$this -> stats [ $this -> uids [ $uid2 ]][ 'zaproc' ],
$this -> stats [ $this -> uids [ $uid2 ]][ 'zmproc' ],
2022-12-30 19:03:37 +00:00
(( $this -> stats [ $this -> uids [ $uid2 ]][ 'zm' . ( $witm_type2 - 4 )]) - round (
$this -> stats [ $this -> uids [ $uid1 ]][ 'pzm' ] * 0.8
)),
2023-01-10 16:29:32 +00:00
//защита от урона
$this -> stats [ $this -> uids [ $uid1 ]][ 'omzash' ], //подавление защиты
2022-12-19 20:22:19 +00:00
$witm [ 'type' ],
$witm
);
$r [ 'y' ] = round ( rand ( $y [ 'min' ] + $proboi , $y [ 'max' ] + round ( $proboi / 2 )));
$r [ 'k' ] = round ( rand ( $y [ 'Kmin' ] + round ( $proboi / 4 ), $y [ 'Kmax' ] + round ( $proboi / 8 )));
$r [ 'm_y' ] = $y [ 'max' ];
$r [ 'm_k' ] = $y [ 'Kmax' ];
$r [ 'bRND' ] = $y [ 'bRND' ];
$r [ 'w_type' ] = $witm_type ;
2023-01-10 16:29:32 +00:00
//Если второе оружие - урон ниже на 50%
2022-12-19 20:22:19 +00:00
$wp1 = $this -> stats [ $this -> uids [ $uid1 ]][ 'items' ][ $this -> stats [ $this -> uids [ $uid1 ]][ 'wp3id' ]];
$wp2 = $this -> stats [ $this -> uids [ $uid1 ]][ 'items' ][ $this -> stats [ $this -> uids [ $uid1 ]][ 'wp14id' ]];
2023-01-10 16:29:32 +00:00
//тип от оружия
2022-12-19 20:22:19 +00:00
if ( $witm [ 'type' ] == 18 ) {
$tp = 1 ;
} elseif ( $witm [ 'type' ] == 19 ) {
$tp = 2 ;
} elseif ( $witm [ 'type' ] == 20 ) {
$tp = 3 ;
} elseif ( $witm [ 'type' ] == 21 ) {
$tp = 4 ;
} else {
$tp = 0 ;
}
2023-01-10 16:29:32 +00:00
if ( $tp != $witm_type && $wp > 0 ) // Т У Т
2022-12-19 20:22:19 +00:00
{
( int ) $r [ 'y' ] = round (( int ) $r [ 'y' ] / 3 );
$r [ 'r' ] = round ( $r [ 'r' ] / 3 );
$r [ 'k' ] = round ( $r [ 'k' ] / 3 );
$r [ 'm_k' ] = round ( $r [ 'm_k' ] / 3 );
$r [ 'm_y' ] = round ( $r [ 'm_y' ] / 3 );
}
if ( isset ( $this -> stats [ $this -> uids [ $uid2 ]][ 'zaproc' ])) {
$r [ 'y' ] = round ( $r [ 'y' ] - $r [ 'y' ] * $this -> stats [ $this -> uids [ $uid2 ]][ 'zaproc' ] / 100 );
( int ) $r [ 'r' ] = round (( int ) $r [ 'r' ] - ( int ) $r [ 'r' ] * ( int ) $this -> stats [ $this -> uids [ $uid2 ]][ 'zaproc' ] / 100 );
$r [ 'k' ] = round ( $r [ 'k' ] - $r [ 'k' ] * $this -> stats [ $this -> uids [ $uid2 ]][ 'zaproc' ] / 100 );
$r [ 'm_k' ] = round ( $r [ 'm_k' ] - $r [ 'm_k' ] * $this -> stats [ $this -> uids [ $uid2 ]][ 'zaproc' ] / 100 );
$r [ 'm_y' ] = round ( $r [ 'm_y' ] - $r [ 'm_y' ] * $this -> stats [ $this -> uids [ $uid2 ]][ 'zaproc' ] / 100 );
if ( $r [ 'k' ] < 1 ) {
$r [ 'k' ] = 2 ;
}
}
if ( $r [ 'y' ] < 1 ) {
$r [ 'y' ] = 1 ;
}
if ( $r [ 'r' ] >= 0 ) {
$r [ 'r' ] = - 1 ;
}
if ( $r [ 'k' ] < 1 ) {
$r [ 'k' ] = 1 ;
}
if ( $r [ 'm_k' ] < 1 ) {
$r [ 'm_k' ] = 1 ;
}
if ( $r [ 'm_y' ] < 1 ) {
$r [ 'm_y' ] = 1 ;
}
return $r ;
}
2023-01-10 16:29:32 +00:00
//Считаем урон
2022-12-19 20:22:19 +00:00
public function yronRazmen ( $id , $at , $pat = false , $rjd = 0 )
{
2022-12-30 19:03:37 +00:00
if ( $pat ) {
2022-12-19 20:22:19 +00:00
$pat = $at ;
$at = $pat [ 'p' ];
} else {
unset ( $pat );
}
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ] > 0 ) {
$yhod = [ 1 => 1 , 2 => 0 ];
} elseif ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ] > 0 ) {
$yhod = [ 1 => 0 , 2 => 1 ];
}
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
$j = 0 ;
$k = 0 ;
$wp = 3 ;
if ( $rjd > 0 ) {
$j = $rjd - 1 ;
}
if ( is_array ( $at [ $a ][ 'atack' ])) {
while ( $j < count ( $at [ $a ][ 'atack' ]) && $j < 8 ) {
if ( $k == 0 && isset ( $this -> stats [ $this -> uids [ $u1 ]][ 'wp3id' ])) {
2023-01-10 16:29:32 +00:00
//Левая рука
2022-12-19 20:22:19 +00:00
$wp = 3 ;
$k = 1 ;
} else {
2023-01-10 16:29:32 +00:00
//Правая рука
2022-12-19 20:22:19 +00:00
if ( isset ( $this -> stats [ $this -> uids [ $u1 ]][ 'wp14id' ]) && $this -> stats [ $this -> uids [ $u1 ]][ 'items' ][ $this -> stats [ $this -> uids [ $u1 ]][ 'wp14id' ]][ 'type' ] != 13 ) {
$wp = 14 ;
} else {
if ( isset ( $this -> stats [ $this -> uids [ $u1 ]][ 'wp3id' ])) {
$wp = 3 ;
} else {
2023-01-10 16:29:32 +00:00
//нет оружия
2022-12-19 20:22:19 +00:00
$wp = 3 ;
}
}
$k = 0 ;
}
2022-12-30 19:03:37 +00:00
$witm = $this -> stats [ $this -> uids [ $u1 ]][ 'items' ][ $this -> stats [ $this -> uids [ $u1 ]][ 'wp' . $wp . 'id' ]];
$witm_type = $this -> weaponTx ( $witm );
$at [ $a ][ 'atack' ][ $j ][ 'wt' ] = $witm [ 'type' ];
2022-12-19 20:22:19 +00:00
$at [ $a ][ 'atack' ][ $j ][ 'yhod' ] = $yhod [ $a ];
if ( ! isset ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ]) && (
$at [ $a ][ 'atack' ][ $j ][ 1 ] == 1 ||
$at [ $a ][ 'atack' ][ $j ][ 1 ] == 4 ||
$at [ $a ][ 'atack' ][ $j ][ 1 ] == 5 )
) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ] = $this -> yronGetrazmen (
$u1 , $u2 , $wp , $at [ $a ][ 'atack' ][ $j ][ 0 ],
);
if ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 4 ) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y_old' ] = $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ];
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ] = round ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'k' ] / 2 );
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 5 ) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y_old' ] = $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ];
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ] = $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'k' ];
}
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ '2h' ] = $witm [ '2h' ];
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'w' ] = $wp ;
if ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ] < 1 ) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'r' ] = '--' ;
} else {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'r' ] = '-' . $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ];
}
} else {
$at [ $a ][ 'atack' ][ $j ][ 'block' ] = $this -> yronGetrazmen (
$u1 , $u2 , $wp , $at [ $a ][ 'atack' ][ $j ][ 0 ],
$yhod [ $b ]
);
if ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 4 ) {
$at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'y_old' ] = $at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'y' ];
$at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'y' ] = round ( $at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'k' ] / 2 );
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 5 ) {
$at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'y_old' ] = $at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'y' ];
$at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'y' ] = $at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'k' ];
}
$at [ $a ][ 'atack' ][ $j ][ 'block' ][ '2h' ] = $witm [ '2h' ];
$at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'w' ] = $wp ;
if ( $at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'y' ] < 1 ) {
$at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'r' ] = '--' ;
} else {
$at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'r' ] = '-' . $at [ $a ][ 'atack' ][ $j ][ 'block' ][ 'y' ];
}
}
$j ++ ;
}
}
$i ++ ;
}
2022-12-30 19:03:37 +00:00
if ( isset ( $pat ) && $pat ) {
2022-12-19 20:22:19 +00:00
$pat [ 'p' ] = $at ;
$at = $pat ;
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Обновление здоровья
2022-12-30 19:03:37 +00:00
public function updateHealth ( $id , $at ) : array
2022-12-19 20:22:19 +00:00
{
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid1 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid2' ], $this -> atacks [ $id ][ 'uid1' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
} elseif ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$uid2 = $this -> yhod_user (
$this -> atacks [ $id ][ 'uid1' ], $this -> atacks [ $id ][ 'uid2' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ]
);
2022-12-19 20:22:19 +00:00
}
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
2023-01-10 16:29:32 +00:00
//Рассчет дополнительных тактик
2022-12-19 20:22:19 +00:00
if ( $this -> atacks [ $id ][ 'out' . $b ] > 0 ) {
2023-01-10 16:29:32 +00:00
//Игрок ${'u'.$a} получает тактики, возможно
2022-12-19 20:22:19 +00:00
if ( rand ( 0 , 100 ) < min ( floor ( $this -> stats [ $this -> uids [ $u1 ]][ 'm6' ] / 5 ), 20 )) {
2023-01-10 16:29:32 +00:00
//выдаем тактику контрудара
2022-12-19 20:22:19 +00:00
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'this_animal' ] == 0 ) {
$this -> users [ $this -> uids [ $u1 ]][ 'tactic3' ] ++ ;
}
}
if ( rand ( 0 , 100 ) < min ( floor ( $this -> stats [ $this -> uids [ $u1 ]][ 'm8' ] / 4 ), 20 )) {
2023-01-10 16:29:32 +00:00
//выдаем тактику щита
2022-12-19 20:22:19 +00:00
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'this_animal' ] == 0 ) {
$this -> users [ $this -> uids [ $u1 ]][ 'tactic4' ] ++ ;
}
}
}
2023-01-10 16:29:32 +00:00
//Расчет удара Цели (u2) по Атакующему (u1)
2022-12-19 20:22:19 +00:00
$j = 0 ;
$k = 0 ;
$wp = 3 ;
while ( $j < count ( $at [ $a ][ 'atack' ]) && $j < 8 ) {
2023-01-10 16:29:32 +00:00
//Добавляем тактики
2022-12-19 20:22:19 +00:00
if ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 1 ) {
2023-01-10 16:29:32 +00:00
//u1 ударил обычным ударом u2
2022-12-19 20:22:19 +00:00
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'this_animal' ] == 0 ) {
$this -> users [ $this -> uids [ $u1 ]][ 'tactic1' ] ++ ;
}
2023-01-10 16:29:32 +00:00
//Двуручка
2022-12-30 19:03:37 +00:00
if ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ '2h' ] == 1 && $this -> stats [ $this -> uids [ $u2 ]][ 'this_animal' ] == 0 ) {
$this -> users [ $this -> uids [ $u1 ]][ 'tactic1' ] += 2 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] != 2 ) {
if ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 3 ) {
2023-01-10 16:29:32 +00:00
//u2 заблокировал удар u1
2022-12-19 20:22:19 +00:00
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'this_animal' ] == 0 ) {
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $u2 ]][ 'tactic4' ] ++ ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 4 ) {
2023-01-10 16:29:32 +00:00
//u1 пробил блок u2 критом
2022-12-30 19:03:37 +00:00
if ( ! isset ( $at [ $a ][ 'atack' ][ $j ][ 'notactic2' ])) {
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'this_animal' ] == 0 ) {
$this -> users [ $this -> uids [ $u1 ]][ 'tactic2' ] ++ ;
}
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
$this -> users [ $this -> uids [ $u2 ]][ 'tactic4' ] ++ ; //тактика за пробив блок
2022-12-30 19:03:37 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 5 ) {
2023-01-10 16:29:32 +00:00
//u1 ударил критическим ударом u2
2022-12-30 19:03:37 +00:00
if ( ! isset ( $at [ $a ][ 'atack' ][ $j ][ 'notactic2' ])) {
2022-12-19 20:22:19 +00:00
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'this_animal' ] == 0 ) {
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $u1 ]][ 'tactic2' ] += 2 ;
}
2023-01-10 16:29:32 +00:00
//Двуручка
2022-12-30 19:03:37 +00:00
if ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ '2h' ] == 1 && $this -> stats [ $this -> uids [ $u2 ]][ 'this_animal' ] == 0 ) {
2022-12-19 20:22:19 +00:00
$this -> users [ $this -> uids [ $u1 ]][ 'tactic2' ] += 1 ;
}
}
2022-12-30 19:03:37 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 6 ) {
2023-01-10 16:29:32 +00:00
//u2 парировал удар u1
2022-12-30 19:03:37 +00:00
if ( ! isset ( $at [ $a ][ 'atack' ][ $j ][ 'notactic5' ]) && $this -> stats [ $this -> uids [ $u1 ]][ 'this_animal' ] == 0 ) {
2022-12-19 20:22:19 +00:00
$this -> users [ $this -> uids [ $u2 ]][ 'tactic5' ] ++ ;
}
2022-12-30 19:03:37 +00:00
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 7 ) {
2023-01-10 16:29:32 +00:00
//u2 блокировал щитом удар u1 //Т У Т ЩИТ
2022-12-30 19:03:37 +00:00
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'this_animal' ] == 0 ) {
$this -> users [ $this -> uids [ $u2 ]][ 'tactic4' ] ++ ;
}
} elseif ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 8 ) {
2023-01-10 16:29:32 +00:00
//u2 увернулся от удара u1 и нанес по нему контрудар
2022-12-30 19:03:37 +00:00
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'this_animal' ] == 0 ) {
$this -> users [ $this -> uids [ $u2 ]][ 'tactic3' ] ++ ;
}
2022-12-19 20:22:19 +00:00
}
}
2023-01-10 16:29:32 +00:00
// КУДА БИЛ , ТИП УДАРА
2022-12-19 20:22:19 +00:00
if ( isset ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ]) && (
$at [ $a ][ 'atack' ][ $j ][ 1 ] == 1 ||
$at [ $a ][ 'atack' ][ $j ][ 1 ] == 4 ||
$at [ $a ][ 'atack' ][ $j ][ 1 ] == 5 )) {
//
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'hpNow' ] <= $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ]) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ] = $this -> stats [ $this -> uids [ $u2 ]][ 'hpNow' ];
}
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'hpNow' ] <= $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'k' ]) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'k' ] = $this -> stats [ $this -> uids [ $u2 ]][ 'hpNow' ];
}
if ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ] < 0 ) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ] = 1 ;
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'r' ] = - 1 ;
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'k' ] = 1 ;
}
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'hpNow' ] < 1 ) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ] = 0 ;
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'r' ] = - 1 ;
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'k' ] = 0 ;
}
2023-01-10 16:29:32 +00:00
//Добавляем нанесенный урон и опыт
2022-12-19 20:22:19 +00:00
$this -> takeExp ( $u1 , $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ], $u1 , $u2 );
2023-01-10 16:29:32 +00:00
//Отнимаем Н Р
2022-12-19 20:22:19 +00:00
$this -> stats [ $this -> uids [ $u2 ]][ 'hpNow' ] -= $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ];
$this -> users [ $this -> uids [ $u2 ]][ 'last_hp' ] = - $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'y' ];
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hp' ] = $this -> stats [ $this -> uids [ $u2 ]][ 'hpNow' ];
if ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hp' ] < 1 ) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hp' ] = 0 ;
}
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hpAll' ] = $this -> stats [ $this -> uids [ $u2 ]][ 'hpAll' ];
if ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hp' ] > $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hpAll' ]) {
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hp' ] = $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'hpAll' ];
}
2023-01-10 16:29:32 +00:00
//Травмирование
2022-12-19 20:22:19 +00:00
if ( rand ( 0 , 100 ) <= 50 ) {
if ( $at [ $a ][ 'atack' ][ $j ][ 1 ] == 4 || $at [ $a ][ 'atack' ][ $j ][ 1 ] == 5 ) {
2022-12-30 19:03:37 +00:00
if ( ! isset ( $at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'travma' ]) && rand (
0 ,
1000
) < 500 && $this -> users [ $this -> uids [ $u2 ]][ 'level' ] > 1 && $this -> stats [ $this -> uids [ $u1 ]] > 1 ) {
2022-12-19 20:22:19 +00:00
$trvm_chns = floor ( rand ( 0 , 200 ) / 10 );
if ( $trvm_chns > 3 || $trvm_chns < 1 ) {
$trvm_chns = 0 ;
}
2023-01-10 16:29:32 +00:00
$at [ $a ][ 'atack' ][ $j ][ 'yron' ][ 'travma' ] = [ $trvm_chns , 'Обыкновенная травма' ];
2022-12-19 20:22:19 +00:00
unset ( $trvm_chns );
}
}
}
}
$j ++ ;
}
$i ++ ;
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Добавляем новую статистику игрока
2022-12-19 20:22:19 +00:00
public function addstatuser ( $id )
{
if ( $id > 0 ) {
$uid = $id ;
$id = $this -> uids [ $uid ];
2022-12-30 19:03:37 +00:00
mysql_query (
' INSERT INTO `battle_users`
2022-12-19 20:22:19 +00:00
( `battle` , `uid` , `time_enter` , `login` , `level` , `align` , `clan` , `hpAll` , `hp` , `hpStart` , `team` )
VALUES
(
" ' . $this->info ['id'] . ' " ,
" ' . $uid . ' " ,
" ' . time() . ' " , " ' . $this->users [ $id ]['login'] . ' " ,
" ' . $this->users [ $id ]['level'] . ' " ,
" ' . $this->users [ $id ]['align'] . ' " ,
" ' . $this->users [ $id ]['clan'] . ' " ,
" ' . $this->stats [ $id ]['hpAll'] . ' " ,
" ' . $this->stats [ $id ]['hp'] . ' " ,
" ' . $this->stats [ $id ]['hpNow'] . ' " ,
" ' . $this->users [ $id ]['team'] . ' "
2022-12-30 19:03:37 +00:00
) '
);
2022-12-19 20:22:19 +00:00
}
}
2023-01-10 16:29:32 +00:00
//Проверяем приемы
2022-12-19 20:22:19 +00:00
public function priemsRazmen ( $id , $at )
{
if ( $at == 'fast' ) {
$uid1 = $id [ 0 ];
$uid2 = $id [ 1 ];
} else {
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
}
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
2023-01-10 16:29:32 +00:00
//Получаем приемы и смотрим когда какой действует
2022-12-19 20:22:19 +00:00
$eff = $this -> stats [ $this -> uids [ $u1 ]][ 'effects' ];
$this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ] = [];
$j = 0 ;
while ( $j <= count ( $eff )) {
if ( isset ( $eff [ $j ]) && $eff [ $j ][ 'id_eff' ] == 22 && $eff [ $j ][ 'v1' ] == 'priem' && $eff [ $j ][ 'v2' ] > 0 ) {
$this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][] = [
$j ,
$eff [ $j ][ 'v2' ],
$this -> prm [ $eff [ $j ][ 'v2' ]][ 'act' ],
$eff [ $j ][ 'id' ],
$this -> prm [ $eff [ $j ][ 'v2' ]][ 'type_of' ],
$this -> prm [ $eff [ $j ][ 'v2' ]][ 'moment' ],
$this -> prm [ $eff [ $j ][ 'v2' ]][ 'moment_end' ],
$this -> prm [ $eff [ $j ][ 'v2' ]][ 'type_sec' ],
];
}
$j ++ ;
}
$i ++ ;
}
}
2023-01-10 16:29:32 +00:00
//Приемы которые используются моментально
2022-12-19 20:22:19 +00:00
public function priemsRazmenMoment ( $id , $at )
{
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
if ( ! isset ( $at [ 'p' ][ 'p_cast' ])) {
$at [ 'p' ] = $at ;
$at [ 'p' ][ 'p_cast' ] = true ;
}
2023-01-10 16:29:32 +00:00
//Приемы ухода от удара
2022-12-19 20:22:19 +00:00
if ( ! isset ( $this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ]) || $this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ] == 0 ) {
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 5 ] == 1 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
$pr_moment = true ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
$this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ] -- ;
}
}
$j ++ ;
}
}
2023-01-10 16:29:32 +00:00
//Приемы крита
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 5 ] == 2 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
$pr_moment = true ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Приемы атаки
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 5 ] == 3 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
$pr_moment = true ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
if ( isset ( $fx_priem )) {
$at = $fx_priem ( $id , $at , $u1 , $j );
}
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Приемы защиты
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 5 ] == 4 ) {
2022-12-30 19:03:37 +00:00
if ( $this -> testPriemVarTrueZash (
$i , 1 , $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ], $a , $b ,
$u1 , $u2
) == false ) {
} elseif ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
$pr_moment = true ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Прочие приемы
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 5 ] == 5 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
$pr_moment = true ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
$i ++ ;
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Приемы которые используются моментально (в конце хода)
2022-12-19 20:22:19 +00:00
public function priemsRazmenMomentEnd ( $id , $at )
{
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
if ( ! isset ( $at [ 'p' ][ 'p_cast' ])) {
$at [ 'p' ] = $at ;
$at [ 'p' ][ 'p_cast' ] = true ;
}
2023-01-10 16:29:32 +00:00
//Приемы ухода от удара
2022-12-19 20:22:19 +00:00
if ( ! isset ( $this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ]) || $this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ] == 0 ) {
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 6 ] == 1 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
$pr_moment = true ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
$this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ] -- ;
}
}
$j ++ ;
}
}
2023-01-10 16:29:32 +00:00
//Приемы крита
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 6 ] == 2 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
$pr_moment = true ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Приемы атаки
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 6 ] == 3 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
$pr_moment = true ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
if ( isset ( $fx_priem )) {
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Приемы защиты
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 6 ] == 4 ) {
2022-12-30 19:03:37 +00:00
if ( $this -> testPriemVarTrueZash (
$i , 2 , $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ], $a , $b ,
$u1 , $u2
) && file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
$pr_moment = true ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Прочие приемы
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 6 ] == 5 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
$pr_moment = true ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
$i ++ ;
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Используем приемы
2022-12-19 20:22:19 +00:00
public function priemsTestRazmen ( $id , $at )
{
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
if ( ! isset ( $at [ 'p' ][ 'p_cast' ])) {
$at [ 'p' ] = $at ;
$at [ 'p' ][ 'p_cast' ] = true ;
}
2023-01-10 16:29:32 +00:00
//ставка
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] == 220 || $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] == 237
|| $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] == 286 || $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] == 287 || $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] == 288
|| $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] == 213 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Приемы ухода от удара
2022-12-19 20:22:19 +00:00
if ( ! isset ( $this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ]) || $this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ] == 0 ) {
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 1 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
$this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ] -- ;
}
}
$j ++ ;
}
}
2023-01-10 16:29:32 +00:00
//Приемы крита
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 2 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Приемы атаки
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 3 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
if ( isset ( $fx_priem )) {
$at = $fx_priem ( $id , $at , $u1 , $j );
}
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Приемы защиты
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 4 ) {
2022-12-30 19:03:37 +00:00
if ( ! $this -> testPriemVarTrueZash (
$i , 3 , $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ], $a , $b ,
$u1 , $u2
)) {
} elseif ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
if ( isset ( $fx_priem )) {
$at = $fx_priem ( $id , $at , $u1 , $j );
}
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Прочие приемы
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 5 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
if ( isset ( $fx_priem )) {
$at = $fx_priem ( $id , $at , $u1 , $j );
}
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
$i ++ ;
}
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
if ( ! isset ( $at [ 'p' ][ 'p_cast' ])) {
$at [ 'p' ] = $at ;
$at [ 'p' ][ 'p_cast' ] = true ;
}
2023-01-10 16:29:32 +00:00
//Прочие приемы
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 8 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Прочие приемы
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 9 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_used_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
$i ++ ;
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Повторная проверка приемов
2022-12-19 20:22:19 +00:00
public function priemsRestartRazmen ( $id , $at )
{
if ( isset ( $at [ 'p' ])) {
2023-01-10 16:29:32 +00:00
//Проверка
2022-12-19 20:22:19 +00:00
$uid1 = $this -> atacks [ $id ][ 'uid1' ];
$uid2 = $this -> atacks [ $id ][ 'uid2' ];
/*
2023-01-10 16:29:32 +00:00
Если возникнут проблемы с приемами , придется переписать алгоритм , сейчас он выглядит так :
Цикл 1. Проверяем пользователя
Цикл 2 внутри Цикла 1. Проверяем приемы поторые пользователь использовал
Придется сделать :
Цикл 1. Проверяем пользователя
Цикл 2 внутри Цикла 1. Проверяем приемы уворота
Цикл 3. Проверяем пользователя
Цикл 4 внутри Цикла 3. Проверяем приемы крита
и т . д .
2022-12-19 20:22:19 +00:00
*/
$i = 1 ;
while ( $i <= 2 ) {
if ( $i == 1 ) {
$a = 1 ;
$b = 2 ;
$u1 = $ { 'uid1' };
$u2 = $ { 'uid2' };
} else {
$a = 2 ;
$b = 1 ;
$u1 = $ { 'uid2' };
$u2 = $ { 'uid1' };
}
if ( ! isset ( $at [ 'p' ][ 'p_cast' ])) {
$at [ 'p' ] = $at ;
$at [ 'p' ][ 'p_cast' ] = true ;
}
2023-01-10 16:29:32 +00:00
//Приемы ухода от удара
2022-12-19 20:22:19 +00:00
if ( ! isset ( $this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ]) || $this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ] == 0 ) {
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 1 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_tested_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
$this -> stats [ $this -> uids [ $u2 ]][ 'nopryh' ] -- ;
}
}
$j ++ ;
}
}
2023-01-10 16:29:32 +00:00
//Приемы крита
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 2 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_tested_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Приемы защиты
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 4 ) {
2022-12-30 19:03:37 +00:00
if ( $this -> testPriemVarTrueZash (
$i , 4 , $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ], $a , $b ,
$u1 , $u2
) == false ) {
} elseif ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_tested_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Приемы атаки
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 3 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_tested_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Прочие приемы
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 5 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_tested_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u1 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Прочие приемы
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 4 ] == 8 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_tested_this = $u2 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u2 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Прочие приемы
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 4 ] == 9 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_tested_this = $u2 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$at = $fx_priem ( $id , $at , $u2 , $j );
unset ( $ { 'fx_priem' });
}
}
$j ++ ;
}
$i ++ ;
}
$at = $at [ 'p' ];
unset ( $at [ 'p' ]);
}
return $at ;
}
2023-01-10 16:29:32 +00:00
//Проверка действия приема
2022-12-30 19:03:37 +00:00
/**
* @ param $i
* @ param $id
* @ param $pid
* @ param $a
* @ param $b
* @ param $u1
* @ param $u2
* @ return bool
* @ deprecated always returns true
*/
public function testPriemVarTrueZash ( $i , $id , $pid , $a , $b , $u1 , $u2 ) : bool
2022-12-19 20:22:19 +00:00
{
2022-12-30 19:03:37 +00:00
return true ;
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Проверка урона приемов
2022-12-19 20:22:19 +00:00
public $um_priem = [];
/**
2023-01-10 16:29:32 +00:00
* Трогать очень осторожно . Этот шайтан как - то проверяет приёмы на враге
* и рассчитывает урон учитывая и эти приёмы тоже .
2022-12-19 20:22:19 +00:00
* @ param $uid1
* @ param $uid2
* @ param $priem
* @ param $yron
* @ param $profil
* @ param $stabil
* @ param $test
* @ param $inlog
* @ return float | int | mixed
*/
public function testYronPriem ( $uid1 , $uid2 , $priem , $yron , $profil , $stabil , $test = false , $inlog = 0 )
{
/*
profil = {
2023-01-10 16:29:32 +00:00
- 1 - урон оружием
- 2 - урон магией
0 - неизвестно
1 - 4 - профильный оружия
5 - 12 - профильный магия
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
stabil - урон не подвержен мощностям и т . д
2022-12-19 20:22:19 +00:00
*/
2023-01-10 16:29:32 +00:00
//Проверка
2022-12-19 20:22:19 +00:00
$a = 1 ;
$b = 2 ;
$u1 = $uid1 ;
$u2 = $uid2 ;
2023-01-10 16:29:32 +00:00
//Проверяем приемы защиты игрока $u1 на урон игрока $u2
//Получаем приемы и смотрим когда какой действует
2022-12-19 20:22:19 +00:00
if ( ! isset ( $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ])) {
$eff = $this -> stats [ $this -> uids [ $u2 ]][ 'effects' ];
$j = 0 ;
while ( $j <= count ( $eff )) {
if ( isset ( $eff [ $j ]) && $eff [ $j ][ 'id_eff' ] == 22 && $eff [ $j ][ 'v1' ] == 'priem' && $eff [ $j ][ 'v2' ] > 0 ) {
$this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][] = [
$j ,
$eff [ $j ][ 'v2' ],
$this -> prm [ $eff [ $j ][ 'v2' ]][ 'act' ],
$eff [ $j ][ 'id' ],
$this -> prm [ $eff [ $j ][ 'v2' ]][ 'type_of' ],
$this -> prm [ $eff [ $j ][ 'v2' ]][ 'moment' ],
];
}
$j ++ ;
}
unset ( $eff );
}
2023-01-10 16:29:32 +00:00
//Приемы защиты
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 4 ] == 4 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_momental_this = $u2 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
$yron = $fx_moment ( $u2 , $u1 , $j , $yron , $profil );
unset ( $ { 'fx_moment' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Прочие приемы
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 4 ] == 5 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_momental_this = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
if ( isset ( $fx_moment )) {
$yron = $fx_moment ( $u1 , $u2 , $j , $yron , $profil , $inlog );
}
unset ( $ { 'fx_moment' });
}
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Прочие приемы (влияет на урон от моментальных приемов)
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 7 ] == 5 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_momental_this_seven = $u1 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
if ( isset ( $fx_moment_seven )) {
$yron = $fx_moment_seven ( $u1 , $u2 , $j , $yron , $profil , $inlog );
}
unset ( $ { 'fx_moment_seven' });
}
}
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'u_priem' ][ $j ][ 1 ] == 180 ) {
2023-01-10 16:29:32 +00:00
// Переохлаждение (снижает урон на 10%). Пан или пропал.
2022-12-19 20:22:19 +00:00
$x = mysql_fetch_row ( mysql_query ( 'select x from eff_users where v2 = 180 and uid = ' . $u1 ));
$yron = 0.1 * $x [ 0 ];
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Прочие приемы
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j <= count ( $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ])) {
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 4 ] == 8 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_momental_this = $u2 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
if ( isset ( $fx_moment )) {
$yron = $fx_moment ( $u2 , $u1 , $j , $yron , $profil , $inlog );
}
unset ( $ { 'fx_moment' });
}
}
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 2 ] > 0 && $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 4 ] == 9 ) {
2022-12-30 19:03:37 +00:00
if ( file_exists (
'../../_incl_data/class/priem/' . $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 1 ] . '.php'
)) {
2022-12-19 20:22:19 +00:00
$pr_momental_this = $u2 ;
require ( 'priem/' . $this -> stats [ $this -> uids [ $u2 ]][ 'u_priem' ][ $j ][ 1 ] . '.php' );
if ( isset ( $fx_moment )) {
$yron = $fx_moment ( $u2 , $u1 , $j , $yron , $profil , $inlog );
}
unset ( $ { 'fx_moment' });
}
}
$j ++ ;
}
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'zaproc' ] > 0 ) {
$yron = round ( $yron - $yron * $this -> stats [ $this -> uids [ $uid2 ]][ 'zaproc' ] / 100 );
if ( $yron < 1 ) {
$yron = 1 ;
}
}
return $yron ;
}
2023-01-10 16:29:32 +00:00
//Опыт + набитый урон за удар приемом\магией
2022-12-19 20:22:19 +00:00
public function priemYronSave ( $u1 , $u2 , $yron , $type )
{
2023-01-10 16:29:32 +00:00
//$type 0 - урон , 1 - хил
2022-12-19 20:22:19 +00:00
$this -> testUserInfoBattle ( $u1 );
$this -> testUserInfoBattle ( $u2 );
if ( isset ( $this -> uids [ $u1 ])) {
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'hpAll' ] <= 1000 ) {
$adt6 = round ( 0.1 * ( floor ( $yron ) / $this -> stats [ $this -> uids [ $u2 ]][ 'hpAll' ] * 100 ), 10 );
} else {
$adt6 = round ( 0.1 * ( floor ( $yron ) / 1000 * 100 ), 10 );
}
if ( $yron > $this -> stats [ $this -> uids [ $u2 ]][ 'hpNow' ]) {
$yron = $this -> stats [ $this -> uids [ $u2 ]][ 'hpNow' ];
}
if ( $yron > 0 ) {
$this -> users [ $this -> uids [ $u1 ]][ 'battle_yron' ] += $yron ;
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $u1 ]][ 'battle_exp' ] += round (
1 * $this -> testExp (
$yron ,
$this -> stats [ $this -> uids [ $u1 ]], $this -> stats [ $this -> uids [ $u2 ]], $u1 , $u2
)
);
2022-12-19 20:22:19 +00:00
if ( $this -> stats [ $this -> uids [ $u2 ]][ 'this_animal' ] == 0 ) {
$this -> users [ $this -> uids [ $u1 ]][ 'tactic6' ] += $adt6 ;
$this -> stats [ $this -> uids [ $u1 ]][ 'tactic6' ] += $adt6 ;
} else {
$this -> users [ $this -> uids [ $u1 ]][ 'tactic6' ] += $adt6 / 3 ;
$this -> stats [ $this -> uids [ $u1 ]][ 'tactic6' ] += $adt6 / 3 ;
}
} else {
$adt6 = 0 ;
}
//
$this -> users [ $this -> uids [ $u2 ]][ 'last_hp' ] = - $yron ;
//
2022-12-30 19:03:37 +00:00
mysql_query (
' UPDATE `stats` SET
2022-12-19 20:22:19 +00:00
`tactic6` = `tactic6` + " ' . $adt6 . ' " ,
`battle_yron` = `battle_yron` + " ' . $yron . ' " ,
2022-12-30 19:03:37 +00:00
`battle_exp` = `battle_exp` + " ' . round(
$this -> testExp (
$yron , $this -> stats [ $this -> uids [ $u1 ]],
$this -> stats [ $this -> uids [ $u2 ]], $u1 , $u2
)
) . ' "
WHERE `id` = " ' . $u1 . ' " LIMIT 1 '
);
2022-12-19 20:22:19 +00:00
//
2022-12-30 19:03:37 +00:00
mysql_query (
' UPDATE `stats` SET
2022-12-19 20:22:19 +00:00
`last_hp` = " ' . $this->users [ $this->uids [ $u2 ]]['last_hp'] . ' "
2022-12-30 19:03:37 +00:00
WHERE `id` = " ' . $u2 . ' " LIMIT 1 '
);
2022-12-19 20:22:19 +00:00
}
$this -> addNewStat (
[
1 => [
'battle' => $this -> info [ 'id' ],
'uid1' => $this -> users [ $this -> uids [ $u1 ]][ 'id' ],
'uid2' => $this -> users [ $this -> uids [ $u2 ]][ 'id' ],
'time' => time (),
'type' => 0 ,
'a' => '10000' ,
'b' => 0 ,
'type_a' => 1 ,
'type_b' => 0 ,
'ma' => 1 ,
'mb' => 1 ,
'yrn' => $yron ,
'yrn_krit' => 0 ,
'tm1' => $this -> users [ $this -> uids [ $u1 ]][ 'team' ],
'tm2' => $this -> users [ $this -> uids [ $u2 ]][ 'team' ],
],
]
);
}
2023-01-10 16:29:32 +00:00
//Наносим удар между игроками
2022-12-19 20:22:19 +00:00
public $restart_stats_data = [];
public $import_atack = [];
public $contr = [];
public $import_user = 0 ;
public function startAtack ( $id )
{
global $c , $u , $log_text , $priem ;
$this -> prlog = [];
$this -> inport_user = 0 ;
$vrm = [
'uid1' => $this -> atacks [ $id ][ 'uid1' ],
'uid2' => $this -> atacks [ $id ][ 'uid2' ],
];
if ( isset ( $this -> atacks [ $id ]) && $this -> atacks [ $id ][ 'lock' ] == 0 ) {
2023-01-10 16:29:32 +00:00
//Прием разгадать тактику
2022-12-19 20:22:19 +00:00
$i = 1 ;
$j = 2 ;
$k = 0 ;
$unpr = '' ;
while ( $i <= 2 ) {
2022-12-30 19:03:37 +00:00
$untac = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `eff_users` WHERE `v1` = "priem" AND `v2` = "217" AND `uid` = "' . $this -> atacks [ $id ][ 'uid' . $i ] . '" AND `delete` = 0 LIMIT 1'
)
);
$agrs = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `eff_users` WHERE `v1` = "priem" AND `v2` = "211" AND `uid` = "' . $this -> atacks [ $id ][ 'uid' . $j ] . '" AND `delete` = 0 LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( isset ( $untac [ 'id' ]) && ! isset ( $agrs [ 'id' ])) {
2022-12-30 19:03:37 +00:00
$pvr [ 'sp' ] = mysql_query (
'SELECT `a`.* FROM `eff_users` AS `a` WHERE `a`.`uid` = "' . $this -> atacks [ $id ][ 'uid' . $j ] . ' " AND `a`.`delete` = 0 AND `a`.`v1` = " priem "
AND `a` . `v2` != 222 AND `a` . `v2` != 238 AND `a` . `v2` != 228 AND `a` . `v2` != 229
AND `a` . `v2` != 139 AND `a` . `v2` != 188 AND `a` . `v2` != 226 AND `a` . `v2` != 211
AND `a` . `v2` != 49 AND `a` . `v2` != 233 AND `a` . `v2` != 227 AND `a` . `v2` != 220
AND `a` . `v2` != 191 AND `a` . `v2` != 332 AND `a` . `v2` != 333 AND `a` . `v2` != 334
AND `a` . `v2` != 335 AND `a` . `v2` != 236 AND `a` . `v2` != 201
2022-12-19 20:22:19 +00:00
AND `a` . `v2` != 261 AND `a` . `v2` != 262 AND `a` . `v2` != 206 AND `a` . `v2` != 207 AND `a` . `v2` != 208 AND `a` . `v2` != 209
AND `a` . `v2` != 210 AND `a` . `v2` != 284
AND `a` . `v2` != 263 AND `a` . `v2` != 258 AND `a` . `v2` != 29 AND `a` . `v2` != 30
AND `a` . `v2` != 31 AND `a` . `v2` != 32 AND `a` . `v2` != 256 AND `a` . `v2` != 249
AND `a` . `v2` != 248 AND `a` . `v2` != 187 AND `a` . `v2` != 245 AND `a` . `v2` != 175
AND `a` . `v2` != 176 AND `a` . `v2` != 177 AND `a` . `v2` != 178 AND `a` . `v2` != 179
AND `a` . `v2` != 285 AND `a` . `v2` != 36 AND `a` . `v2` != 85 AND `a` . `v2` != 86
AND `a` . `v2` != 87 AND `a` . `v2` != 88 AND `a` . `v2` != 89 AND `a` . `v2` != 90
AND `a` . `v2` != 269 AND `a` . `v2` != 276 AND `a` . `v2` != 277 AND `a` . `v2` != 270
2022-12-30 19:03:37 +00:00
AND `a` . `v2` != 174 AND `a` . `v2` != 324 AND `a` . `v2` != 217
2023-01-10 16:29:32 +00:00
AND `name` NOT LIKE " %Иммунитет% "
2022-12-30 19:03:37 +00:00
LIMIT 30 '
);
2022-12-19 20:22:19 +00:00
while ( $pvr [ 'pl' ] = mysql_fetch_array ( $pvr [ 'sp' ])) {
2022-12-30 19:03:37 +00:00
$pvr [ 'pl' ][ 'priem' ] = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `priems` WHERE `id` = "' . $pvr [ 'pl' ][ 'v2' ] . '" LIMIT 1' )
);
2022-12-19 20:22:19 +00:00
if ( isset ( $pvr [ 'pl' ][ 'priem' ][ 'id' ]) && $pvr [ 'pl' ][ 'priem' ][ 'neg' ] == 0 ) {
$this -> delPriem ( $pvr [ 'pl' ], $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid' . $j ]]], 100 );
}
}
}
$j -- ;
$i ++ ;
}
2023-01-10 16:29:32 +00:00
//Восстановление манны 1% за ход
2022-12-19 20:22:19 +00:00
if ( $this -> atacks [ $id ][ 'out1' ] == 0 ) {
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 's6' ] / 4 < $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'level' ]) {
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'mpNow' ] += floor (
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'level' ] + $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'hod_minmana' ]
);
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'mpNow' ] += floor (
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 's6' ] / 4 + $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'hod_minmana' ]
);
2022-12-19 20:22:19 +00:00
}
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'mpNow' ] = $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'mpNow' ];
}
//
if ( $this -> atacks [ $id ][ 'out2' ] == 0 ) {
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 's6' ] / 4 < $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'level' ]) {
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'mpNow' ] += floor (
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'level' ] + $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'hod_minmana' ]
);
2022-12-19 20:22:19 +00:00
} else {
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'mpNow' ] += floor (
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 's6' ] / 4 + $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'hod_minmana' ]
);
2022-12-19 20:22:19 +00:00
}
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'mpNow' ] = $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'mpNow' ];
}
2023-01-10 16:29:32 +00:00
//Антистаты
2022-12-19 20:22:19 +00:00
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'antm3' ] != 0 ) {
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'm3' ] -= round (
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'antm3' ]
);
2022-12-19 20:22:19 +00:00
}
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'antm3' ] != 0 ) {
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'm3' ] -= round (
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'antm3' ]
);
2022-12-19 20:22:19 +00:00
}
$last_yrn = [
1 => $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'battle_yron' ],
2 => $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'battle_yron' ],
];
2023-01-10 16:29:32 +00:00
//Расчет количества блоков и противников
2022-12-19 20:22:19 +00:00
$this -> testZonb ( $this -> atacks [ $id ][ 'uid1' ], $this -> atacks [ $id ][ 'uid2' ]);
2023-01-10 16:29:32 +00:00
//Запускаем магию предметов
2022-12-19 20:22:19 +00:00
$this -> magicItems ( $this -> atacks [ $id ][ 'uid1' ], $this -> atacks [ $id ][ 'uid2' ], $id );
$this -> magicItems ( $this -> atacks [ $id ][ 'uid2' ], $this -> atacks [ $id ][ 'uid1' ], $id );
2023-01-10 16:29:32 +00:00
// Получаем приемы игроков
2022-12-19 20:22:19 +00:00
$this -> priemsRazmen ( $id , $at );
$this -> priemsRazmenMoment ( $id , $at );
$this -> priemsRazmen ( $id , $at );
$at = $this -> newRazmen ( $id );
2023-01-10 16:29:32 +00:00
// Тестируем какие еще могут быть варианты при ударе
// Уворот, парирование, крит, пробить блок, блок щитом
// Блок щитом (если есть щит, конечно)
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
$at = $this -> mf2Razmen ( $id , $at , $v ); //крит
$at = $this -> mf3Razmen ( $id , $at , $v ); //парирование
$at = $this -> mf4Razmen ( $id , $at , $v ); //блок щитом
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
$at = $this -> mf1Razmen ( $id , $at , $v ); //уворот
$at = $this -> mf5Razmen ( $id , $at , $v ); //контрудар
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
$at = $this -> yronRazmen ( $id , $at ); //расчет урона
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
// Проверяем приемы
// Получаем приемы игроков
2022-12-19 20:22:19 +00:00
$at = $this -> priemsTestRazmen ( $id , $at );
2023-01-10 16:29:32 +00:00
// Собираем размен (пересчитываем и расчитываем урон и т.д)
$at = $this -> priemsRestartRazmen ( $id , $at ); //Повторная проверка приемов (если требуется)
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
//Минусуем поглощенный урон
2022-12-19 20:22:19 +00:00
if ( count ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'set_pog' ]) > 0 ) {
$this -> testPogB ( $this -> atacks [ $id ][ 'uid1' ], 1 , $id , 1 );
}
if ( count ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'set_pog' ]) > 0 ) {
$this -> testPogB ( $this -> atacks [ $id ][ 'uid2' ], 1 , $id , 1 );
}
2023-01-10 16:29:32 +00:00
// Обновляем Н Р и добавляем тактики
2022-12-19 20:22:19 +00:00
$at = $this -> updateHealth ( $id , $at );
2023-01-10 16:29:32 +00:00
// Заносим в логи + записываем статистику боя
2022-12-19 20:22:19 +00:00
$this -> addlogRazmen ( $id , $at );
2023-01-10 16:29:32 +00:00
//Запускаем магию предметов
2022-12-19 20:22:19 +00:00
$this -> magicItems ( $this -> atacks [ $id ][ 'uid1' ], $this -> atacks [ $id ][ 'uid2' ], $id );
$this -> magicItems ( $this -> atacks [ $id ][ 'uid2' ], $this -> atacks [ $id ][ 'uid1' ], $id );
2023-01-10 16:29:32 +00:00
//Возращаем зоны блока
2022-12-19 20:22:19 +00:00
$this -> restZonb ( $this -> atacks [ $id ][ 'uid1' ], $this -> atacks [ $id ][ 'uid2' ]);
2023-01-10 16:29:32 +00:00
//обновляем задержки приемов
2022-12-19 20:22:19 +00:00
$zd1 = explode ( '|' , $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'priems_z' ]);
$zd2 = explode ( '|' , $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'priems_z' ]);
$zd1id = explode ( '|' , $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'priems' ]);
$zd2id = explode ( '|' , $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'priems' ]);
$prmos = [];
$i5 = 0 ;
while ( $i5 < 51 ) {
if ( isset ( $zd1 [ $i5 ]) && $zd1 [ $i5 ] > 0 ) {
2023-01-10 16:29:32 +00:00
//Если приемы не требуют ход
2022-12-19 20:22:19 +00:00
$zd1 [ $i5 ] -= 1 ;
} else {
$zd1 [ $i5 ] = 0 ;
}
if ( isset ( $zd2 [ $i5 ]) && $zd2 [ $i5 ] > 0 ) {
2023-01-10 16:29:32 +00:00
//Если приемы не требуют ход
2022-12-19 20:22:19 +00:00
$zd2 [ $i5 ] -= 1 ;
} else {
$zd2 [ $i5 ] = 0 ;
}
$i5 ++ ;
}
unset ( $prmos );
if ( $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'enemy' ] == $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'id' ]) {
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'enemy' ] = - $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'enemy' ];
}
if ( $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'enemy' ] == $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'id' ]) {
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'enemy' ] = - $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'enemy' ];
}
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'priems_z' ] = implode ( '|' , $zd1 );
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'priems_z' ] = implode ( '|' , $zd2 );
if ( $this -> atacks [ $id ][ 'uid1' ] == $u -> info [ 'id' ]) {
$u -> info [ 'priems_z' ] = implode ( '|' , $zd1 );
} elseif ( $this -> atacks [ $id ][ 'uid2' ] == $u -> info [ 'id' ]) {
$u -> info [ 'priems_z' ] = implode ( '|' , $zd2 );
}
2023-01-10 16:29:32 +00:00
//Проверяем тактики
2022-12-19 20:22:19 +00:00
$i = 1 ;
while ( $i <= 6 ) {
if ( $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'tactic' . $i ] > 25 ) {
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'tactic' . $i ] = 25 ;
} elseif ( $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'tactic' . $i ] <= 0 ) {
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'tactic' . $i ] = 0 ;
}
if ( $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'tactic' . $i ] > 25 ) {
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'tactic' . $i ] = 25 ;
} elseif ( $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'tactic' . $i ] <= 0 ) {
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'tactic' . $i ] = 0 ;
}
$i ++ ;
}
2023-01-10 16:29:32 +00:00
//Обновляем задержки предметов
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `items_users` SET `btl_zd` = `btl_zd` - 1 WHERE (`uid` = "' . $this -> atacks [ $id ][ 'uid1' ] . '" OR `uid` = "' . $this -> atacks [ $id ][ 'uid2' ] . '") AND `btl_zd` > 0 AND `inOdet` > 0 LIMIT 100'
);
mysql_query (
'UPDATE `users` SET `notrhod` = "-1" WHERE `id` = "' . $this -> atacks [ $id ][ 'uid1' ] . '" OR `id` = "' . $this -> atacks [ $id ][ 'uid2' ] . '" LIMIT 2'
);
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
//Обновляем задержки пирожков
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `pirogi` SET `hod` = `hod` - 1 WHERE `btl` = "' . $this -> info [ 'id' ] . '" AND (`uid` = "' . $this -> atacks [ $id ][ 'uid1' ] . '" OR `uid` = "' . $this -> atacks [ $id ][ 'uid2' ] . '")'
);
mysql_query (
'UPDATE `tactic` SET `hod` = `hod` - 1 WHERE `btl` = "' . $this -> info [ 'id' ] . '" AND (`uid` = "' . $this -> atacks [ $id ][ 'uid1' ] . '" OR `uid` = "' . $this -> atacks [ $id ][ 'uid2' ] . '")'
);
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
//Тактики
2022-12-19 20:22:19 +00:00
mysql_query ( 'DELETE FROM `pirogi` WHERE `btl` = "' . $this -> info [ 'id' ] . '" AND `hod` < 1' );
mysql_query ( 'DELETE FROM `tactic` WHERE `btl` = "' . $this -> info [ 'id' ] . '" AND `hod` < 1' );
2023-01-10 16:29:32 +00:00
//Обновляем задержки пирожков
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `spells` SET `hod` = `hod` - 1 WHERE `btl` = "' . $this -> info [ 'id' ] . '" AND (`uid` = "' . $this -> atacks [ $id ][ 'uid1' ] . '" OR `uid` = "' . $this -> atacks [ $id ][ 'uid2' ] . '")'
);
2022-12-19 20:22:19 +00:00
mysql_query ( 'DELETE FROM `spells` WHERE `btl` = "' . $this -> info [ 'id' ] . '" AND `hod` < 1' );
2023-01-10 16:29:32 +00:00
//Обновляем данные в battle_users
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `battle_users` SET `hp` = "' . $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'hpNow' ] . ' "
WHERE `battle` = " ' . $this->info ['id'] . ' " AND `uid` = " ' . $this->atacks [ $id ]['uid1'] . ' " LIMIT 1 '
);
mysql_query (
'UPDATE `battle_users` SET `hp` = "' . $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'hpNow' ] . ' "
WHERE `battle` = " ' . $this->info ['id'] . ' " AND `uid` = " ' . $this->atacks [ $id ]['uid2'] . ' " LIMIT 1 '
);
2023-01-10 16:29:32 +00:00
//Восстановление манны 25% от мудрости за ход
2022-12-19 20:22:19 +00:00
$last_yrn = [
1 => $last_yrn [ 1 ],
2 => $last_yrn [ 2 ],
10 => $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'battle_yron' ],
20 => $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'battle_yron' ],
];
$last_yrn [ 100 ] = floor ( $last_yrn [ 10 ] - $last_yrn [ 1 ]);
$last_yrn [ 200 ] = floor ( $last_yrn [ 20 ] - $last_yrn [ 2 ]);
if ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$this -> save_stats (
$this -> yhod_user (
$this -> atacks [ $id ][ 'uid2' ], $this -> atacks [ $id ][ 'uid1' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'yhod' ]
)
);
2022-12-19 20:22:19 +00:00
} elseif ( $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$this -> save_stats (
$this -> yhod_user (
$this -> atacks [ $id ][ 'uid1' ], $this -> atacks [ $id ][ 'uid2' ],
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'yhod' ]
)
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
mysql_query (
' UPDATE `stats` SET
2022-12-19 20:22:19 +00:00
`hpNow` = " ' . $this->stats [ $this->uids [ $this->atacks [ $id ]['uid1']]]['hpNow'] . ' " ,
`mpNow` = " ' . $this->stats [ $this->uids [ $this->atacks [ $id ]['uid1']]]['mpNow'] . ' " ,
`tactic1` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['tactic1'] . ' " ,
`tactic2` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['tactic2'] . ' " ,
`tactic3` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['tactic3'] . ' " ,
`tactic4` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['tactic4'] . ' " ,
`tactic5` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['tactic5'] . ' " ,
`tactic6` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['tactic6'] . ' " ,
`tactic7` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['tactic7'] . ' " ,
`enemy` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['enemy'] . ' " ,
`battle_yron` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['battle_yron'] . ' " ,
`last_hp` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['last_hp'] . ' " ,
`battle_exp` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['battle_exp'] . ' " ,
`priems_z` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid1']]]['priems_z'] . ' "
2022-12-30 19:03:37 +00:00
WHERE `id` = " ' . $this->atacks [ $id ]['uid1'] . ' " LIMIT 1 '
);
mysql_query (
' UPDATE `stats` SET
2022-12-19 20:22:19 +00:00
`hpNow` = " ' . $this->stats [ $this->uids [ $this->atacks [ $id ]['uid2']]]['hpNow'] . ' " ,
`mpNow` = " ' . $this->stats [ $this->uids [ $this->atacks [ $id ]['uid2']]]['mpNow'] . ' " ,
`tactic1` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['tactic1'] . ' " ,
`tactic2` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['tactic2'] . ' " ,
`tactic3` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['tactic3'] . ' " ,
`tactic4` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['tactic4'] . ' " ,
`tactic5` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['tactic5'] . ' " ,
`tactic6` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['tactic6'] . ' " ,
`tactic7` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['tactic7'] . ' " ,
`enemy` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['enemy'] . ' " ,
`battle_yron` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['battle_yron'] . ' " ,
`last_hp` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['last_hp'] . ' " ,
`battle_exp` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['battle_exp'] . ' " ,
`priems_z` = " ' . $this->users [ $this->uids [ $this->atacks [ $id ]['uid2']]]['priems_z'] . ' "
2022-12-30 19:03:37 +00:00
WHERE `id` = " ' . $this->atacks [ $id ]['uid2'] . ' " LIMIT 1 '
);
2022-12-19 20:22:19 +00:00
$this -> priemsRazmenMomentEnd ( $id , $at );
2023-01-10 16:29:32 +00:00
//Минусуем заряд приема \ эффекта
2022-12-19 20:22:19 +00:00
$j = 1 ;
$jn = 1 ;
while ( $j <= 2 ) {
$eff = $this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid' . $j ]]][ 'effects' ];
$i = 0 ;
while ( $i < count ( $eff )) {
if ( isset ( $eff [ $i ])) {
if ( $eff [ $i ][ 'timeUse' ] == 77 && $eff [ $i ][ 'hod' ] > - 1 ) {
$eff [ $i ][ 'hod' ] -- ;
2022-12-30 19:03:37 +00:00
$eff [ $i ][ 'priem' ] = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `priems` WHERE `id` = "' . $eff [ $i ][ 'v2' ] . '" LIMIT 1' )
);
2022-12-19 20:22:19 +00:00
if ( round ( $eff [ $i ][ 'priem' ][ 'minmana' ] * $eff [ $i ][ 'x' ]) != 0 ) {
2023-01-10 16:29:32 +00:00
//Отнимаем ману у того кто кастовал
2022-12-30 19:03:37 +00:00
$priem -> minMana (
$eff [ $i ][ 'user_use' ],
round ( $eff [ $i ][ 'priem' ][ 'minmana' ] * $eff [ $i ][ 'x' ])
);
2022-12-19 20:22:19 +00:00
if ( $this -> stats [ $this -> uids [ $eff [ $i ][ 'user_use' ]]][ 'mpNow' ] <= 0 ) {
$eff [ $i ][ 'hod' ] = 0 ;
}
}
if ( strripos ( $eff [ $i ][ 'data' ], 'minprocmanahod' )) {
$pvr = [
'x1' => 0 ,
'x2' => 0 ,
'd' => '' ,
'i' => 0 ,
'uid' => $eff [ $i ][ 'uid' ],
'color' => '' ,
'color2' => '' ,
'effx' => '' ,
'x' => $eff [ $i ][ 'name' ],
];
$pvr [ 'd' ] = explode ( '|' , $eff [ $i ][ 'data' ]);
while ( $pvr [ 'i' ] < count ( $pvr [ 'd' ])) {
if ( isset ( $pvr [ 'd' ][ $pvr [ 'i' ]])) {
$pvr [ 'd1' ] = explode ( '=' , $pvr [ 'd' ][ $pvr [ 'i' ]]);
if ( $pvr [ 'd1' ][ 0 ] == 'minprocmanahod' ) {
$pvr [ 'd1' ] = explode ( 'x' , $pvr [ 'd1' ][ 1 ]);
$pvr [ 'x1' ] = $pvr [ 'd1' ][ 0 ];
$pvr [ 'x2' ] = $pvr [ 'd1' ][ 1 ];
}
}
$pvr [ 'i' ] ++ ;
}
2022-12-30 19:03:37 +00:00
$pvr [ 'mp' ] = round (
$this -> stats [ $this -> uids [ $pvr [ 'uid' ]]][ 'mpAll' ] / 100 * rand (
$pvr [ 'x1' ],
$pvr [ 'x2' ]
)
);
2022-12-19 20:22:19 +00:00
$pvr [ 'mpSee' ] = 0 ;
$pvr [ 'mpNow' ] = floor ( $this -> stats [ $this -> uids [ $pvr [ 'uid' ]]][ 'mpNow' ]);
$pvr [ 'mpAll' ] = $this -> stats [ $this -> uids [ $pvr [ 'uid' ]]][ 'mpAll' ];
$pvr [ 'mpTr' ] = $pvr [ 'mpAll' ] - $pvr [ 'mpNow' ];
if ( $pvr [ 'mpTr' ] > 0 ) {
2023-01-10 16:29:32 +00:00
//Требуется хилл
2022-12-19 20:22:19 +00:00
if ( $pvr [ 'mpTr' ] < $pvr [ 'mp' ]) {
$pvr [ 'mp' ] = $pvr [ 'mpTr' ];
}
$pvr [ 'mpSee' ] = '+' . $pvr [ 'mp' ];
$pvr [ 'mpNow' ] += $pvr [ 'mp' ];
}
if ( $pvr [ 'mpNow' ] > $pvr [ 'mpAll' ]) {
$pvr [ 'mpNow' ] = $pvr [ 'mpAll' ];
} elseif ( $pvr [ 'mpNow' ] < 0 ) {
$pvr [ 'mpNow' ] = 0 ;
}
if ( $pvr [ 'mpSee' ] == 0 ) {
$pvr [ 'mpSee' ] = '--' ;
}
$btl -> stats [ $btl -> uids [ $pvr [ 'uid' ]]][ 'mpNow' ] = $pvr [ 'mpNow' ];
$btl -> users [ $btl -> uids [ $pvr [ 'uid' ]]][ 'mpNow' ] = $pvr [ 'mpNow' ];
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `mpNow` = "' . $btl -> stats [ $btl -> uids [ $pvr [ 'uid' ]]][ 'mpNow' ] . '" WHERE `id` = "' . $pvr [ 'uid' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
$pvr [ 'text' ] = $this -> addlt ( 1 , 21 , $this -> users [ $this -> uids [ $pvr [ 'uid' ]]][ 'sex' ], null );
2023-01-10 16:29:32 +00:00
$pvr [ 'text2' ] = '{tm1} ' . $pvr [ 'text' ] . ' на <font Color=#006699><strong>' . $pvr [ 'mpSee' ] . '</strong></font> [' . $pvr [ 'mpNow' ] . '/' . $pvr [ 'mpAll' ] . '] (Мана)' ;
2022-12-30 19:03:37 +00:00
$this -> priemAddLog (
$id , 1 , 2 , $pvr [ 'uid' ], 0 ,
2022-12-19 20:22:19 +00:00
'<font color^^^^#' . $pvr [ 'color2' ] . '>' . $pvr [ 'x' ] . '</font>' ,
$pvr [ 'text2' ],
( $this -> hodID + 0 )
);
unset ( $pvr );
}
if ( isset ( $this -> rehodeff [ $eff [ $i ][ 'id' ]])) {
$eff [ $i ][ 'hod' ] = $this -> rehodeff [ $eff [ $i ][ 'id' ]];
}
if ( $eff [ $i ][ 'hod' ] > 0 ) {
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid' . $j ]]][ 'effects' ][ 'hod' ] = $eff [ $i ][ 'hod' ];
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `eff_users` SET `hod` = "' . $eff [ $i ][ 'hod' ] . '" WHERE `id` = "' . $eff [ $i ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
//удаляем прием
2022-12-19 20:22:19 +00:00
if ( $eff [ $i ][ 'v2' ] > 0 ) {
if ( $j == 1 ) {
$jn = 2 ;
} else {
$jn = 1 ;
}
2022-12-30 19:03:37 +00:00
$this -> delPriem (
$eff [ $i ], $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid' . $j ]]],
3 , $this -> atacks [ $id ][ 'uid' . $jn ]
);
2022-12-19 20:22:19 +00:00
}
}
} elseif ( $eff [ $i ][ 'timeUse' ] == 77 && $eff [ $i ][ 'hod' ] == - 2 ) {
2022-12-30 19:03:37 +00:00
$eff [ $i ][ 'priem' ] = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `priems` WHERE `id` = "' . $eff [ $i ][ 'v2' ] . '" LIMIT 1' )
);
2022-12-19 20:22:19 +00:00
$priem -> hodUsePriem ( $eff [ $i ], $eff [ $i ][ 'priem' ]);
} else {
2022-12-30 19:03:37 +00:00
$eff [ $i ][ 'priem' ] = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `priems` WHERE `id` = "' . $eff [ $i ][ 'v2' ] . '" LIMIT 1' )
);
if ( isset ( $eff [ $i ][ 'priem' ][ 'minmana' ]) && round (
$eff [ $i ][ 'priem' ][ 'minmana' ] * $eff [ $i ][ 'x' ]
) != 0 ) {
2023-01-10 16:29:32 +00:00
//Отнимаем ману у того кто кастовал
2022-12-30 19:03:37 +00:00
$priem -> minMana (
$eff [ $i ][ 'user_use' ],
round ( $eff [ $i ][ 'priem' ][ 'minmana' ] * $eff [ $i ][ 'x' ])
);
2022-12-19 20:22:19 +00:00
if ( $this -> stats [ $this -> uids [ $eff [ $i ][ 'user_use' ]]][ 'mpNow' ] <= 0 ) {
$eff [ $i ][ 'hod' ] = 0 ;
if ( isset ( $this -> rehodeff [ $eff [ $i ][ 'id' ]])) {
$eff [ $i ][ 'hod' ] = $this -> rehodeff [ $eff [ $i ][ 'id' ]];
}
if ( $eff [ $i ][ 'v2' ] > 0 ) {
if ( $j == 1 ) {
$jn = 2 ;
} else {
$jn = 1 ;
}
2022-12-30 19:03:37 +00:00
$this -> delPriem (
$eff [ $i ],
2022-12-19 20:22:19 +00:00
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid' . $j ]]], 3 ,
2022-12-30 19:03:37 +00:00
$this -> atacks [ $id ][ 'uid' . $jn ]
);
2022-12-19 20:22:19 +00:00
}
}
} elseif ( $eff [ $i ][ 'timeUse' ] > 100 && $eff [ $i ][ 'hod' ] > - 1 && $c [ 'effz' ] > 0 ) {
$eff [ $i ][ 'hod' ] -- ;
if ( isset ( $this -> rehodeff [ $eff [ $i ][ 'id' ]])) {
$eff [ $i ][ 'hod' ] = $this -> rehodeff [ $eff [ $i ][ 'id' ]];
}
if ( $eff [ $i ][ 'hod' ] > 0 ) {
$this -> stats [ $this -> uids [ $this -> atacks [ $id ][ 'uid' . $j ]]][ 'effects' ][ 'hod' ] = $eff [ $i ][ 'hod' ];
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `eff_users` SET `hod` = "' . $eff [ $i ][ 'hod' ] . '" WHERE `id` = "' . $eff [ $i ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
} else {
2023-01-10 16:29:32 +00:00
//удаляем прием
2022-12-19 20:22:19 +00:00
if ( $eff [ $i ][ 'v2' ] > 0 ) {
if ( $j == 1 ) {
$jn = 2 ;
} else {
$jn = 1 ;
}
2022-12-30 19:03:37 +00:00
$this -> delPriem (
$eff [ $i ],
2022-12-19 20:22:19 +00:00
$this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid' . $j ]]], 3 ,
2022-12-30 19:03:37 +00:00
$this -> atacks [ $id ][ 'uid' . $jn ]
);
2022-12-19 20:22:19 +00:00
}
}
}
}
}
$i ++ ;
}
$j ++ ;
}
2023-01-10 16:29:32 +00:00
//Проверяем
2022-12-19 20:22:19 +00:00
if ( $c [ 'propsk_die' ] > 0 && $this -> info [ 'razdel' ] == 0 && $this -> info [ 'dn_id' ] == 0 && $this -> info [ 'izlom' ] == 0 ) {
2022-12-30 19:03:37 +00:00
$cn1 = mysql_fetch_array (
mysql_query (
'SELECT COUNT(*) FROM `battle_out` WHERE `battle` = "' . $this -> info [ 'id' ] . '" AND `uid1` = "' . $this -> atacks [ $id ][ 'uid1' ] . '" LIMIT 1'
)
);
$cn2 = mysql_fetch_array (
mysql_query (
'SELECT COUNT(*) FROM `battle_out` WHERE `battle` = "' . $this -> info [ 'id' ] . '" AND `uid1` = "' . $this -> atacks [ $id ][ 'uid2' ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( $cn1 [ 0 ] > 3 ) {
2023-01-10 16:29:32 +00:00
$pvr [ 'text2' ] = '{tm1} Персонаж {u1} был убит из-за большого количества пропусков хода.' ;
2022-12-30 19:03:37 +00:00
$this -> priemAddLog (
$id , 1 , 2 , $this -> atacks [ $id ][ 'uid1' ], 0 , '' ,
2022-12-19 20:22:19 +00:00
$pvr [ 'text2' ],
( $this -> hodID + 0 )
);
unset ( $pvr );
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `hpNow` = 0 WHERE `id` = "' . $this -> atacks [ $id ][ 'uid1' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
if ( $cn2 [ 0 ] > $c [ 'propsk_die' ]) {
2023-01-10 16:29:32 +00:00
$pvr [ 'text2' ] = '{tm1} Персонаж {u1} был убит из-за большого количества пропусков хода.' ;
2022-12-30 19:03:37 +00:00
$this -> priemAddLog (
$id , 1 , 2 , $this -> atacks [ $id ][ 'uid2' ], 0 , '' ,
2022-12-19 20:22:19 +00:00
$pvr [ 'text2' ],
( $this -> hodID + 0 )
);
unset ( $pvr );
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `hpNow` = 0 WHERE `id` = "' . $this -> atacks [ $id ][ 'uid2' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
}
//
2023-01-10 16:29:32 +00:00
//Обновляем текущего противника
2022-12-19 20:22:19 +00:00
if ( $u -> info [ 'id' ] == $this -> atacks [ $id ][ 'uid1' ]) {
$u -> info [ 'enemy' ] = $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid1' ]]][ 'enemy' ];
}
if ( $u -> info [ 'id' ] == $this -> atacks [ $id ][ 'uid2' ]) {
$u -> info [ 'enemy' ] = $this -> users [ $this -> uids [ $this -> atacks [ $id ][ 'uid2' ]]][ 'enemy' ];
}
2023-01-10 16:29:32 +00:00
//Удаляем размен из базы //Т У Т возможен лаг удаления
2022-12-30 19:03:37 +00:00
mysql_query (
'DELETE FROM `battle_act` WHERE ( `uid1` = "' . $this -> atacks [ $id ][ 'uid1' ] . '" AND `uid2` = "' . $this -> atacks [ $id ][ 'uid2' ] . ' " ) OR
( `uid2` = " ' . $this->atacks [ $id ]['uid1'] . ' " AND `uid1` = " ' . $this->atacks [ $id ]['uid2'] . ' " ) '
);
2022-12-19 20:22:19 +00:00
unset ( $old_s1 , $old_s2 );
unset ( $this -> ga [ $this -> atacks [ $id ][ 'uid1' ]][ $this -> atacks [ $id ][ 'uid2' ]], $this -> ga [ $this -> atacks [ $id ][ 'uid2' ]][ $this -> atacks [ $id ][ 'uid1' ]]);
unset ( $this -> ag [ $this -> atacks [ $id ][ 'uid1' ]][ $this -> atacks [ $id ][ 'uid2' ]], $this -> ag [ $this -> atacks [ $id ][ 'uid2' ]][ $this -> atacks [ $id ][ 'uid1' ]]);
unset ( $this -> atacks [ $id ]);
mysql_query ( 'DELETE FROM `battle_act` WHERE `id` = "' . $id . '" LIMIT 1' );
unset ( $old_s1 , $old_s2 );
}
}
2023-01-10 16:29:32 +00:00
//Сохранение данные
2022-12-19 20:22:19 +00:00
public function save_stats ( $uid )
{
2022-12-30 19:03:37 +00:00
mysql_query (
' UPDATE `stats` SET
2022-12-19 20:22:19 +00:00
`hpNow` = " ' . $this->stats [ $this->uids [ $uid ]]['hpNow'] . ' " ,
`mpNow` = " ' . $this->stats [ $this->uids [ $uid ]]['mpNow'] . ' " ,
`tactic1` = " ' . $this->users [ $this->uids [ $uid ]]['tactic1'] . ' " ,
`tactic2` = " ' . $this->users [ $this->uids [ $uid ]]['tactic2'] . ' " ,
`tactic3` = " ' . $this->users [ $this->uids [ $uid ]]['tactic3'] . ' " ,
`tactic4` = " ' . $this->users [ $this->uids [ $uid ]]['tactic4'] . ' " ,
`tactic5` = " ' . $this->users [ $this->uids [ $uid ]]['tactic5'] . ' " ,
`tactic6` = " ' . $this->users [ $this->uids [ $uid ]]['tactic6'] . ' " ,
`tactic7` = " ' . $this->users [ $this->uids [ $uid ]]['tactic7'] . ' " ,
`enemy` = " ' . $this->users [ $this->uids [ $uid ]]['enemy'] . ' " ,
`battle_yron` = " ' . $this->users [ $this->uids [ $uid ]]['battle_yron'] . ' " ,
`last_hp` = " ' . $this->users [ $this->uids [ $uid ]]['last_hp'] . ' " ,
`battle_exp` = " ' . $this->users [ $this->uids [ $uid ]]['battle_exp'] . ' " ,
`priems_z` = " ' . $this->users [ $this->uids [ $uid ]]['priems_z'] . ' "
2022-12-30 19:03:37 +00:00
WHERE `id` = " ' . $uid . ' " LIMIT 1 '
);
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Отображение Н Р
2022-12-30 19:03:37 +00:00
public function hpSee ( $now , $all , $type = 1 ) : string
2022-12-19 20:22:19 +00:00
{
$r = '[' . $now . '/' . $all . ']' ;
if ( $all > 10000 ) {
$type = 2 ;
}
2022-12-30 19:03:37 +00:00
if ( $type == 2 ) {
2022-12-19 20:22:19 +00:00
$p1 = floor ( $now / $all * 100 );
$r = '[' . $p1 . '/100%]' ;
}
return $r ;
}
2023-01-10 16:29:32 +00:00
//Выводим лог боя
2022-12-30 19:03:37 +00:00
public function lookLog () : string
2022-12-19 20:22:19 +00:00
{
global $c , $u , $log_text ;
2022-12-30 19:03:37 +00:00
$hodID = mysql_fetch_array (
mysql_query (
'SELECT `id`,`id_hod` FROM `battle_logs` WHERE `battle` = "' . $this -> info [ 'id' ] . '" ORDER BY `time` ASC LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( $hodID [ 'id_hod' ] <= 1 ) {
$u -> info [ 'alog' ] = 0 ;
}
if ( isset ( $hodID [ 'id' ]) && $this -> info [ 'team_win' ] != - 1 ) {
2022-12-30 19:03:37 +00:00
$hodID = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `battle_logs_save` WHERE `battle` = "' . $this -> info [ 'id' ] . '" ORDER BY `time` ASC LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$hodID = $hodID [ 'id' ] ? ? 0 ;
2022-12-19 20:22:19 +00:00
$updt = 0 ;
2022-12-30 19:03:37 +00:00
$js = '' ;
$pll = 0 ;
if ( $_POST [ 'idlog' ] < 1 ) {
$_POST [ 'idlog' ] = 0 ;
}
$talog = mysql_fetch_array (
mysql_query ( 'SELECT `alog` FROM `stats` WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' )
);
$sp = mysql_query (
' SELECT
`id` , `type` , `time` , `battle` , `id_hod` , `text` , `vars` , `zona1` , `zona2` , `zonb1` , `zonb2`
FROM `battle_logs`
WHERE `battle` = " ' . $this->info ['id'] . ' " AND `id_hod` >= ' . $talog[' alog '] . ' ORDER BY `id` DESC '
);
if ( isset ( $sp ) && $this -> info [ 'team_win' ] != - 1 ) {
$sp = mysql_query (
' SELECT
`id` , `type` , `time` , `battle` , `id_hod` , `text` , `vars` , `zona1` , `zona2` , `zonb1` , `zonb2`
FROM `battle_logs_save`
WHERE `battle` = " ' . $this->info ['id'] . ' " AND `id_hod` >= ' . $talog[' alog '] . ' ORDER BY `id` DESC '
);
}
$jin = 0 ;
$forYou2 = 0 ;
if ( is_array ( $sp )) {
2022-12-19 20:22:19 +00:00
while ( $pl = mysql_fetch_array ( $sp )) {
if ( $jin == 0 ) {
$u -> info [ 'alog' ] = $pl [ 'id_hod' ];
}
$jin ++ ;
2022-12-30 19:03:37 +00:00
2022-12-19 20:22:19 +00:00
$rt = $pl [ 'text' ];
$pl [ 'vars' ] = str_replace ( '^^^^' , 'rvnO' , $pl [ 'vars' ]);
2022-12-30 19:03:37 +00:00
$rt = str_replace (
'{tm1}' , '<span class=\"date {fru}\">' . date ( 'H:i' , $pl [ 'time' ]) . '</span>' ,
$rt
);
$rt = str_replace (
'{tm2}' , '<span class=\"date {fru}\">' . date ( 'H:i' , $pl [ 'time' ]) . '</span>' ,
$rt
);
$rt = str_replace (
'{tm3}' ,
'<span class=\"date {fru}\">' . date ( 'd.m.Y H:i' , $pl [ 'time' ]) . '</span>' , $rt
);
$rt = str_replace (
'{tm4}' ,
'<span class=\"date {fru}\">' . date ( 'd.m.Y H:i' , $pl [ 'time' ]) . '</span>' , $rt
);
2022-12-19 20:22:19 +00:00
$pl [ 'text' ] = $rt ;
2022-12-30 19:03:37 +00:00
2022-12-19 20:22:19 +00:00
unset ( $rt );
if ( $pll < $pl [ 'id' ]) {
$pll = $pl [ 'id' ];
}
2022-12-30 19:03:37 +00:00
$js = 'add_log(' . $pl [ 'id' ] . ',' . $forYou2 . ',"' . $pl [ 'text' ] . '",' . $pl [ 'id_hod' ] . ',0,0,"' . str_replace (
'"' ,
'"' , $pl [ 'vars' ]
) . '");' . $js ;
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `alog`="' . $u -> info [ 'alog' ] . '" WHERE `id` ="' . $u -> info [ 'id' ] . '" LIMIT 1'
);
$js .= 'id_log=' . $pll . ';' ;
2022-12-19 20:22:19 +00:00
return $js ;
}
2023-01-10 16:29:32 +00:00
//Новый лог Мой Лог
2022-12-30 19:03:37 +00:00
public function lookmLog () : string
2022-12-19 20:22:19 +00:00
{
global $c , $u , $log_text ;
$js = '' ;
$pll = 0 ;
if ( $this -> info [ 'type' ] != 9 ) {
2022-12-30 19:03:37 +00:00
$hodID = mysql_fetch_array (
mysql_query (
'SELECT `id`,`id_hod` FROM `battle_logs` WHERE `battle` = "' . $this -> info [ 'id' ] . '" ORDER BY `time` ASC LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( $hodID [ 'id_hod' ] <= 1 ) {
$u -> info [ 'mlog' ] = 0 ;
}
if ( isset ( $hodID [ 'id' ]) && $this -> info [ 'team_win' ] != - 1 ) {
2022-12-30 19:03:37 +00:00
$hodID = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `battle_logs_save` WHERE `battle` = "' . $this -> info [ 'id' ] . '" ORDER BY `time` ASC LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$hodID = $hodID [ 'id' ] ? ? 0 ;
$tmlog = mysql_fetch_array (
mysql_query ( 'SELECT `mlog` FROM `stats` WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' )
);
$spm = mysql_query (
' SELECT
2022-12-19 20:22:19 +00:00
`id` , `type` , `time` , `battle` , `id_hod` , `text` , `vars` , `zona1` , `zona2` , `zonb1` , `zonb2`
FROM `battle_logs`
2022-12-30 19:03:37 +00:00
WHERE `battle` = " ' . $this->info ['id'] . ' " AND `id_hod` >= ' . $tmlog[' mlog '] . ' AND `vars` LIKE " %' . $u->info ['login'] . '% " ORDER BY `id` DESC '
);
2022-12-19 20:22:19 +00:00
if ( isset ( $spm ) && $this -> info [ 'team_win' ] != - 1 ) {
2022-12-30 19:03:37 +00:00
$spm = mysql_query (
' SELECT
2022-12-19 20:22:19 +00:00
`id` , `type` , `time` , `battle` , `id_hod` , `text` , `vars` , `zona1` , `zona2` , `zonb1` , `zonb2`
FROM `battle_logs_save`
2022-12-30 19:03:37 +00:00
WHERE `battle` = " ' . $this->info ['id'] . ' " AND `id_hod` >= ' . $tmlog[' mlog '] . ' AND `vars` LIKE " %' . $u->info ['login'] . '% " ORDER BY `id` DESC '
);
2022-12-19 20:22:19 +00:00
}
$jin = 0 ;
$forYou2 = 0 ;
2022-12-30 19:03:37 +00:00
if ( is_array ( $spm )) {
while ( $plm = mysql_fetch_array ( $spm )) {
if ( $jin == 0 ) {
$u -> info [ 'mlog' ] = $plm [ 'id_hod' ];
}
$jin ++ ;
$rt = $plm [ 'text' ];
$plm [ 'vars' ] = str_replace ( '^^^^' , 'rvnO' , $plm [ 'vars' ]);
$rt = str_replace (
'{tm1}' , '<span class=\"date {fru}\">' . date ( 'H:i' , $plm [ 'time' ]) . '</span>' , $rt
);
$rt = str_replace (
'{tm2}' , '<span class=\"date {fru}\">' . date ( 'H:i' , $plm [ 'time' ]) . '</span>' , $rt
);
$rt = str_replace (
'{tm3}' , '<span class=\"date {fru}\">' . date ( 'd.m.Y H:i' , $plm [ 'time' ]) . '</span>' ,
$rt
);
$rt = str_replace (
'{tm4}' , '<span class=\"date {fru}\">' . date ( 'd.m.Y H:i' , $plm [ 'time' ]) . '</span>' ,
$rt
);
$plm [ 'text' ] = $rt ;
unset ( $rt );
if ( $pll < $plm [ 'id' ]) {
$pll = $plm [ 'id' ];
}
$js = 'add_mlog(' . $plm [ 'id' ] . ',' . $forYou2 . ',"' . $plm [ 'text' ] . '",' . $plm [ 'id_hod' ] . ',0,0,"' . str_replace (
'"' ,
'"' , $plm [ 'vars' ]
) . '");' . $js ;
2022-12-19 20:22:19 +00:00
}
}
$js .= 'id_mlog=' . $pll . ';' ;
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `mlog`="' . $u -> info [ 'mlog' ] . '" WHERE `id` ="' . $u -> info [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
return $js ;
}
2022-12-30 19:03:37 +00:00
//======================
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
//Добавляем в лог
2022-12-19 20:22:19 +00:00
public function add_log ( $mass )
{
if ( empty ( $mass [ 'text' ])) {
return ;
}
2022-12-30 19:03:37 +00:00
mysql_query (
'INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`type`) VALUES (unix_timestamp(), "' . $mass [ 'battle' ] . '","' . $mass [ 'id_hod' ] . '","' . $mass [ 'text' ] . '","' . $mass [ 'vars' ] . '","' . $mass [ 'type' ] . '")'
);
2022-12-19 20:22:19 +00:00
if ( rand ( 2 , 10 ) == 10 ) {
$this -> get_comment ();
}
}
2023-01-10 16:29:32 +00:00
///Комментатор
2022-12-19 20:22:19 +00:00
public function get_comment ()
{
$boycom = [
2023-01-10 16:29:32 +00:00
'А танцуешь ты лучше.' ,
'А мы что, в прятки тут играем?' ,
'А вы разве пингвинов никогда не видели?' ,
'А , ведь когда-то, вы были красивыми… А теперь? Н у и рожи! Жуть!' ,
'А потом еще труп пинать будут.' ,
'А я вчера ночью за соседями подглядывал. Они точно так же кувыркались' ,
'А ведь вы живых людей дубасите...' ,
'А вот я вчера в зоопарке был...' ,
'А вы в стройбате не служили?' ,
'А вы видели, чтобы так на улице делали!?' ,
'А вы знали что ёжики размножаются в интернете?' ,
'А жить-то, как хочется:' ,
'А из-за чего вы собственно дерётесь?' ,
'А чего ржёте, вы ещё остальных не видели' ,
'А что произойдёт если ты испугаешся до полусмерти дважды?!' ,
'Больше так не делай. Ты же не садист?' ,
'Без комментариев...' ,
'Больно ведь!' ,
'Быстро ты за монитор спрятался!' ,
'В с е хотят попасть в рай, но никто не хочет умирать!' ,
'Вчера с такой девчонкой познакомился.' ,
'В с е г о 5 минут знакомы, а дерутся, словно супруги с 20-ти летним стажем...' ,
'В с е . Я так больше не могу.' ,
'В конце концов, кто-то победит?' ,
'Вы чего, с дерева упали?' ,
'Возятся как сонные мухи... давайте я вам лучше анекдот расскажу: ...' ,
'Вот видишь, как полезно чистить зубы на ночь?' ,
'Вот вы все руками махаете, а за вами уже очередь' ,
'Вот попадёте вы в плен и вас там будут долго бить. Н о вы ничего не расскажете... и не потому, что вы такой стойкий, просто вы ничего не знаете' ,
'Вы бы лучше пошли потренировались!' ,
'Вы все еще разминаетесь? Позовите, когда кости в муку друг другу разминать будете.' ,
'Вы же бойцы! Имейте совесть!' ,
'Гаси недоумка!' ,
'Да, если бы я смог это остановить, то получил бы нобелевскую премию `З а мир` ' ,
'Да куда они бьют?!' ,
'Давайте быстрее! З а вами уже очередь образовалась.' ,
'Давайте обойдемся сегодня таймаутом. А ? А то мне уже кошмары скоро будут сниться.' ,
'Дерутся как девчонки!' ,
'Дети, посмотрите налево... Ой!.. Нет, туда лучше не смотреть.' ,
'Если так будет продолжаться, то скоро мы заснем!' ,
'Если бы у меня было кресло-качалка, я бы в нём качался...' ,
'Если вы что-то сказать хотите, то лучше молчите :)' ,
'Жестокость не порок.' ,
'Жизнь вне нашего клуба - это пустая трата кислорода!!!' ,
'Жми! Дави! Кусай! Царапай!' ,
'З а такие бои надо в х а о с отправлять!' ,
'Знаете откуда в комиссионном магазине столько вещей? Это я после ваших гулянок собираю и сдаю туда. Иногда вместе с частями тела, застрявшими в них.' ,
'Здесь люди так близки друг к другу. Просто иначе ударить нельзя.' ,
'И пролитая кровь еще пульсирует...' ,
'Инвалидов развелось...' ,
'Какой бой!!!' ,
'Кто!? Кто здесь?!' ,
'Кто вас этому научил?' ,
'Кузнечик, блин...' ,
'Куплю импортный проигрыватель грампластинок.' ,
'Лошадью ходи!' ,
'Лучше враг, чем друг - враг.' ,
'Ладно, вы тут пока друг друга за волосы таскайте, а я пойду, пообедаю.' ,
'Мне ваш балет уже надоел!' ,
'Может, начнется-таки настоящий бой???' ,
'Мысли лезут в голову изнутри, а удары снаружи.' ,
'Н у и где ваши коронные удары? Где живописные падения я спрашиваю!' ,
'Н у , нельзя же так наотмашь лупить!' ,
'Надо раньше было думать, теперь смертельно поздно...' ,
'Н а такое зрелище билеты продавать можно. Народ ухохочется!' ,
'Нет! Н е надо драки! А ... ладно деритесь, все равно не умеете.' ,
'Нет, ну должен быть повод, должен же быть повод?' ,
'Нет, я отказываюсь это комментировать!' ,
'Н е таких обламывали!' ,
'Н у выпили вы рюмку, ну две... ну литр, ну два... так зачем же после этого драку затевать?!' ,
'Н у и кто за этот погром платить будет?' ,
'Н у и оскал у вас. Из вашей улыбки кастеты делать можно.' ,
'Н у , что же ты..? Н е печалься. Выше голову, так по ней удобней попасть.' ,
'Ничего... Блок тоже удар.' ,
'Обернись!!!.... Поздно...' ,
'О г о ! Научите меня так не делать.' ,
'Осторожно! Сделаешь дырочку, уже не запломбируешь!' ,
'Оно вам надо???' ,
'Обычное дело...там что-то отклеилось.' ,
'Ой, и заболтался я с вами...' ,
'Он же не промахнётся если ты не отойдёшь!' ,
'По-моему, кому-то светит инвалидность.' ,
'Подкинь ему грабли, на которые он еще не наступал.' ,
'Прав был кот Леопольд, давайте жить дружно?' ,
'При ударе в живот нарушается кислотно-щелочной баланс.' ,
'Проверь, не торчит ли у тебя нож из живота.' ,
'Перестаньте мне орать!' ,
'Подкинь ему грабли, на которые он еще не наступал.' ,
'Прыгают тут как блохи... В с е , я пошел за дихлофосом!' ,
'Разбудите меня когда эта порнография закончится...' ,
'Ребенок сильнее ударил бы!' ,
'Славно вмазал!' ,
'Славно они веселятся' ,
'Смотрю вот на вас, и слезы наворачиваются.' ,
'Сначала учатся ходить, а потом только в драку лезут.' ,
'Так они друг другу что-нибудь сломают.' ,
'Так ты ему все кости переломаешь!' ,
'У меня в подъезде точно так же соседа отмудохали' ,
'Убогих развелось...' ,
'У х ты, какой прыткий!' ,
'Фашист!! Надо ж, так по больному месту врезать...' ,
'Хватит бить е г о о б угол моей кабинки! Мне же потом е е чинить.' ,
'Хулиганы, прекратите немедленно!' ,
'Хочешь, подскажу, куда он ударит?' ,
'Хорошо, что у меня ловкости больше чем у вас всех, а то б вы и меня в инвалидную коляску посадили бы.' ,
'Хороший бой!' ,
'Хороший удар!' ,
'Хиляк-разрядник!' ,
'Что ты е г о за волосы схватил?! Отпусти немедленно!' ,
'Щас я вас настигну, вот тогда мы и похохочем' ,
'Это была какая-то неизвестная мне техника...' ,
'Это же противник, а не глина! Хватит мяться!' ,
'Это не бой, это издевательское избиение.' ,
'Это поубавит спеси' ,
'Это и был твой план `Б` ?' ,
'Это была какая-то неизвестная мне техника...' ,
'Я же предупреждал, - будет больно.' ,
'Я не страдаю безумием. Я наслаждаюсь им каждую минуту :)' ,
'Я красивый, я сильный, я умный, я добрый. А вот вы? Вы себя-то видели?!' ,
'Я тоже умею драться, но не буду...' ,
'(тревожно озираясь) я вам по секрету скажу... за вами наблюдают!' ,
'<вырезано цензурой> после боя я этих <вырезано цензурой> обоих в <вырезано цензурой> и <вырезано цензурой>' ,
'<вырезано цензурой> каратисты фиговы' ,
2022-12-19 20:22:19 +00:00
];
2022-12-30 19:03:37 +00:00
if ( rand ( 1 , 12 ) === 1 ) {
2023-01-10 16:29:32 +00:00
$txt = '{tm1} <i>Комментатор: ' . $boycom [ rand ( 0 , count ( $boycom ) - 1 )] . '</i>' ;
2022-12-19 20:22:19 +00:00
$vLog = 'time1=' . time () . '' ;
$mas1 = [
'time' => time (),
'battle' => $this -> info [ 'id' ],
'id_hod' => $this -> hodID ,
'text' => '' ,
'vars' => $vLog ,
'zona1' => '' ,
'zonb1' => '' ,
'zona2' => '' ,
'zonb2' => '' ,
'type' => '1' ,
];
$mas1 [ 'text' ] = $txt ;
$this -> add_log ( $mas1 );
} else {
return false ;
}
2022-12-30 19:03:37 +00:00
return true ;
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Расчет типа удара от оружия
2022-12-19 20:22:19 +00:00
public function weaponTx ( $item )
{
global $u ;
$tp = 0 ;
if ( ! isset ( $item [ 'id' ])) {
$i = 1 ;
while ( $i <= 4 ) {
$itm [ 'tya' . $i ] = 1 ;
$i ++ ;
}
}
$itm = $u -> lookStats ( $item [ 'data' ]);
$t [ 0 ][ 'z' ] = 0 ;
$t [ 0 ][ 't' ] = 0 ;
2023-01-10 16:29:32 +00:00
//колящий урон
2022-12-19 20:22:19 +00:00
$t [ 1 ][ 'z' ] = round ( 0 + $itm [ 'tya1' ]);
$t [ 1 ][ 't' ] = 1 ;
2023-01-10 16:29:32 +00:00
//рубящий урон
2022-12-19 20:22:19 +00:00
$t [ 2 ][ 'z' ] = round ( 0 + $itm [ 'tya2' ]);
$t [ 2 ][ 't' ] = 2 ;
2023-01-10 16:29:32 +00:00
//дробящий урон
2022-12-19 20:22:19 +00:00
$t [ 3 ][ 'z' ] = round ( 0 + $itm [ 'tya3' ]);
$t [ 3 ][ 't' ] = 3 ;
2023-01-10 16:29:32 +00:00
//режущий урон
2022-12-19 20:22:19 +00:00
$t [ 4 ][ 'z' ] = round ( 0 + $itm [ 'tya4' ]);
$t [ 4 ][ 't' ] = 4 ;
2023-01-10 16:29:32 +00:00
//урон огня
2022-12-19 20:22:19 +00:00
$t [ 5 ][ 'z' ] = round ( 0 + $itm [ 'tym1' ]);
$t [ 5 ][ 't' ] = 5 ;
2023-01-10 16:29:32 +00:00
//урон воздуха
2022-12-19 20:22:19 +00:00
$t [ 6 ][ 'z' ] = round ( 0 + $itm [ 'tym2' ]);
$t [ 6 ][ 't' ] = 6 ;
2023-01-10 16:29:32 +00:00
//урон воды
2022-12-19 20:22:19 +00:00
$t [ 7 ][ 'z' ] = round ( 0 + $itm [ 'tym3' ]);
$t [ 7 ][ 't' ] = 7 ;
2023-01-10 16:29:32 +00:00
//урон земли
2022-12-19 20:22:19 +00:00
$t [ 8 ][ 'z' ] = round ( 0 + $itm [ 'tym4' ]);
$t [ 8 ][ 't' ] = 8 ;
2023-01-10 16:29:32 +00:00
//урон света
2022-12-19 20:22:19 +00:00
$t [ 9 ][ 'z' ] = round ( 0 + $itm [ 'tym5' ]);
$t [ 9 ][ 't' ] = 9 ;
2023-01-10 16:29:32 +00:00
//урон тьмы
2022-12-19 20:22:19 +00:00
$t [ 10 ][ 'z' ] = round ( 0 + $itm [ 'tym6' ]);
$t [ 10 ][ 't' ] = 10 ;
2023-01-10 16:29:32 +00:00
//урон серой магией
2022-12-19 20:22:19 +00:00
$t [ 11 ][ 'z' ] = round ( 0 + $itm [ 'tym7' ]);
$t [ 11 ][ 't' ] = 11 ;
$tpt = $t [ 0 ][ 'z' ];
$tpmin = $t [ 0 ];
$tpmax = $t [ 0 ];
$i = 1 ;
while ( $i <= 11 ) {
if ( $t [ $i ][ 'z' ] > $tpt ) {
$tpt = $t [ $i ][ 'z' ];
$tpmax = $t [ $i ];
$ii = $i ;
}
$i ++ ;
}
$t [ $ii ][ 'z' ] = 0 ;
$tpt = $t [ 0 ][ 'z' ];
$i = 1 ;
while ( $i <= 11 ) {
if ( $t [ $i ][ 'z' ] > $tpt ) {
$tpt = $t [ $i ][ 'z' ];
$tpmin = $t [ $i ];
}
$i ++ ;
}
$setclass = rand ( 1 , 100 );
if ( $setclass > $tpmax [ 'z' ]) {
$tp = $tpmin [ 't' ];
} else {
$tp = $tpmax [ 't' ];
}
return $tp ;
}
2023-01-10 16:29:32 +00:00
//Расчет урона от оружия
2022-12-30 19:03:37 +00:00
public function weaponAt ( $item , $st , $x ) : int
2022-12-19 20:22:19 +00:00
{
$tp = 0 ;
$tp20 = 0 ;
if ( isset ( $item [ 'id' ])) {
$itm = $this -> lookStats ( $item [ 'data' ]);
2023-01-10 16:29:32 +00:00
//начинаем расчет урона
2022-12-19 20:22:19 +00:00
$min = $itm [ 'sv_yron_min' ] + $itm [ 'yron_min' ] + $st [ 'minAtack' ];
$max = $itm [ 'sv_yron_max' ] + $itm [ 'yron_max' ] + $st [ 'maxAtack' ];
if ( $x != 0 ) {
/*
2023-01-10 16:29:32 +00:00
Колющий - 60 % Силы и 40 % Ловкости .
Рубящий - 70 % Силы 20 % Ловкости и 20 % Интуиции .
Дробящий - 100 % Силы .
Режущий - 60 % Силы и 40 % Интуиции .
2022-12-19 20:22:19 +00:00
*/
2023-01-10 16:29:32 +00:00
//Тип урона: 0 - нет урона, 1 - колющий, 2 - рубящий, 3 - дробящий, 4 - режущий, 5 - огонь, 6 - воздух, 7 - вода, 8 - земля, 9 - свет, 10 - тьма, 11 - серая
2022-12-19 20:22:19 +00:00
if ( $x == 1 ) {
2023-01-10 16:29:32 +00:00
//колющий
2022-12-19 20:22:19 +00:00
$wst = $st [ 's2' ] * 1 ;
$min += 5 + ( ceil ( $wst * 1.4 ) / 1.25 ) + $st [ 'minAtack' ];
$max += 7 + ( ceil ( 0.4 + $min / 0.9 ) / 1.25 ) + $st [ 'maxAtack' ];
$tp20 = 1 ;
} elseif ( $x == 2 ) {
2023-01-10 16:29:32 +00:00
//рубящий
2022-12-19 20:22:19 +00:00
$wst = $st [ 's1' ] * 0.75 ;
$min += 5 + ( ceil ( $wst * 1.4 ) / 1 ) + $st [ 'minAtack' ];
$max += 7 + ( ceil ( 0.4 + $min / 0.9 ) / 1.25 ) + $st [ 'maxAtack' ];
$tp20 = 2 ;
} elseif ( $x == 3 ) {
2023-01-10 16:29:32 +00:00
//дробящий
2022-12-19 20:22:19 +00:00
$wst = $st [ 's4' ] * 1.5 ;
$min += 5 + ( ceil ( $wst * 1.4 ) / 1.25 ) + $st [ 'minAtack' ];
$max += 7 + ( ceil ( 0.4 + $min / 0.9 ) / 1.25 ) + $st [ 'maxAtack' ];
$tp20 = 3 ;
} elseif ( $x == 4 ) {
2023-01-10 16:29:32 +00:00
//режущий
2022-12-19 20:22:19 +00:00
$wst = $st [ 's3' ] * 1 ;
$min += 5 + ( ceil ( $wst * 1.4 ) / 1.25 ) + $st [ 'minAtack' ];
$max += 7 + ( ceil ( 0.4 + $min / 0.9 ) / 1.25 ) + $st [ 'maxAtack' ];
$tp20 = 4 ;
} elseif ( $x >= 5 && $x <= 22 ) {
2023-01-10 16:29:32 +00:00
//урон магии и магии стихий
2022-12-19 20:22:19 +00:00
$wst = $st [ 's1' ] * 0.01 + $st [ 's2' ] * 0.01 + $st [ 's3' ] * 0.01 + $st [ 's5' ] * 0.06 ;
$min += 3 + ( ceil ( $wst * 1.4 ) / 2.25 ) + $st [ 'minAtack' ];
$max += 5 + ( ceil ( 0.4 + $min / 0.9 ) / 2.25 ) + $st [ 'maxAtack' ];
$tp20 = 5 ;
}
$wst = ( $st [ 's1' ] * 0.02 + $st [ 's2' ] * 0.02 + $st [ 's3' ] * 0.05 );
$min1 = - 2 + ceil ( $wst * 1.4 ) / 1.25 ;
$max1 = 4 + ceil ( 0.4 + $min1 / 0.9 ) / 1.25 ;
$min = round (( $min + $min1 ));
}
$tp = rand (( $min + $max ) / 3.5 , (( $min + $max ) / 3.5 + (( $min + $max ) / 3.5 ) / 100 * 7 ));
}
return $tp ;
}
2023-01-10 16:29:32 +00:00
//Расчет урона от оружия
2022-12-30 19:03:37 +00:00
public function weaponAt22 ( $item , $st ) : array
2022-12-19 20:22:19 +00:00
{
2022-12-30 19:03:37 +00:00
$min = 0 ;
$max = 0 ;
2022-12-19 20:22:19 +00:00
if ( isset ( $item [ 'id' ])) {
$itm = $this -> lookStats ( $item [ 'data' ]);
2023-01-10 16:29:32 +00:00
//начинаем расчет урона
2022-12-19 20:22:19 +00:00
$min = $itm [ 'sv_yron_min' ] + $itm [ 'yron_min' ] + $st [ 'minAtack' ];
$max = $itm [ 'sv_yron_max' ] + $itm [ 'yron_max' ] + $st [ 'maxAtack' ];
}
return [ $min , $max ];
}
2023-01-10 16:29:32 +00:00
//Расчет защиты
2022-12-30 19:03:37 +00:00
public function zago ( $v ) : float
2022-12-19 20:22:19 +00:00
{
if ( $v > 1700 ) {
$v = 1700 ;
}
2022-12-30 19:03:37 +00:00
return round (( 1 - ( pow ( 0.5 , ( $v / 399.51 )))) * 100 , 2 );
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Расчет защиты (магия)
2022-12-19 20:22:19 +00:00
public function zmgo ( $v )
{
2022-12-30 19:03:37 +00:00
return ( 1 - ( pow ( 0.5 , ( $v / 250 )))) * 100 ;
2022-12-19 20:22:19 +00:00
}
public function yrn (
$st1 ,
$st2 ,
$u1 ,
$u2 ,
$level ,
$level2 = null ,
$type ,
$min_yron ,
$max_yron ,
$min_bron = null ,
$max_bron = null ,
$vladenie ,
$power_yron ,
$power_krit ,
$zashita ,
$ozashita = null ,
$proboi ,
$weapom_damage ,
$weapom_min ,
$weapom_max ,
$za_proc = null ,
$zm_proc = null ,
2023-01-10 16:29:32 +00:00
$zashitam = null , // pzm тут!
2022-12-19 20:22:19 +00:00
$ozashitam = null ,
$wp_type ,
$witm
2022-12-30 19:03:37 +00:00
) : array {
2022-12-19 20:22:19 +00:00
global $u ;
2023-01-10 16:29:32 +00:00
//Поправка
2022-12-19 20:22:19 +00:00
if ( $zashita < 1 ) {
$zashita = 1 ;
}
if ( $min_yron < 1 ) {
$min_yron = 1 ;
}
if ( $max_yron < 1 ) {
$max_yron = 1 ;
}
if ( ! isset ( $type ) || $type == '' ) {
$type = 12 ;
}
2023-01-10 16:29:32 +00:00
//Параметры для возврвата
2022-12-19 20:22:19 +00:00
$r = [ 'min' => 0 , 'max' => 0 , 'type' => $type ];
$p = [
'Y' => 0 ,
'B' => [ 0 => 0 , 1 => 0 , 'rnd' => false ],
'L' => $level ,
2023-01-10 16:29:32 +00:00
'W' => [ $weapom_min , $weapom_max , 'rnd' => false ], //минимальный урон //максимальный урон добавочный
'U' => $vladenie , //владение оружием
'M' => $power_yron , //мощность урона
'K' => $power_krit , //мощность крита
'S' => 0 , //влияние статов на проф.урон
'T' => 1 , //Кф. оружия
'iT' => 1 , //Итоговый доп. Кф. оружия
2022-12-19 20:22:19 +00:00
/*
2023-01-10 16:29:32 +00:00
( S ) - влияние наших статов на профильный урон
Колющий : S = Сила * 0 , 3 + Ловкость * 0 , 7
Рубящий : S = Сила * 0 , 5 + Ловкость * 0 , 25 + Интуиция * 0 , 25
Дробящий : S = Сила * 1
Режущий : S = Сила * 0 , 3 + Интуиция * 0 , 7
2022-12-19 20:22:19 +00:00
*/
];
$witmdata = $this -> lookStats ( $witm [ 'data' ]);
2023-01-10 16:29:32 +00:00
//Расчет типа урона
2022-12-19 20:22:19 +00:00
if ( $wp_type == 18 ) {
$r [ 'type' ] = 1 ;
} elseif ( $wp_type == 19 ) {
$r [ 'type' ] = 2 ;
} elseif ( $wp_type == 20 ) {
$r [ 'type' ] = 3 ;
} elseif ( $wp_type == 21 ) {
$r [ 'type' ] = 4 ;
} else {
$r [ 'type' ] = 0 ;
}
2023-01-10 16:29:32 +00:00
//Т У Т Профильный урон
//колющий
2022-12-19 20:22:19 +00:00
if ( $r [ 'type' ] == 1 ) {
$p [ 'S' ] = $st1 [ 's1' ] * 0.25 + $st1 [ 's2' ] * 0.75 ;
2023-01-10 16:29:32 +00:00
$p [ 'U' ] = $st1 [ 'a1' ] * 1.00 ; //кинжалы
//рубящий
2022-12-19 20:22:19 +00:00
} elseif ( $r [ 'type' ] == 2 ) {
$p [ 'S' ] = $st1 [ 's1' ] * 1.20 ;
2023-01-10 16:29:32 +00:00
$p [ 'U' ] = $st1 [ 'a2' ] * 1.00 ; //топоры
//дробящий
2022-12-19 20:22:19 +00:00
} elseif ( $r [ 'type' ] == 3 ) {
$p [ 'S' ] = $st1 [ 's1' ] * 0.5 + $st1 [ 's4' ] * 1.00 ;
2023-01-10 16:29:32 +00:00
$p [ 'U' ] = $st1 [ 'a3' ] * 1.00 ; //дубины
//режущий
2022-12-19 20:22:19 +00:00
} elseif ( $r [ 'type' ] == 4 ) {
$p [ 'S' ] = $st1 [ 's3' ] * 1.00 ;
2023-01-10 16:29:32 +00:00
$p [ 'U' ] = $st1 [ 'a4' ] * 1.00 ; //мечи
//Магиечески
2022-12-19 20:22:19 +00:00
} else {
$p [ 'S' ] = 0 ;
2023-01-10 16:29:32 +00:00
$p [ 'U' ] = 0 ; // для кулака(нужно переписывать
2022-12-19 20:22:19 +00:00
}
$r [ 'bron' ][ 'rnd' ] = rand ( $r [ 'bron' ][ 0 ], $r [ 'bron' ][ 1 ]);
2023-01-10 16:29:32 +00:00
//Остальные расчеты (коэфицент)
2022-12-19 20:22:19 +00:00
$p [ 'B' ][ 0 ] = 2 + $level + $st1 [ 's1' ] - round ( $st1 [ 's1' ] / 5 );
$p [ 'B' ][ 1 ] = $p [ 'B' ][ 0 ] + 3 ;
$p [ 'B' ][ 'rnd' ] = rand ( $p [ 'B' ][ 0 ], $p [ 'B' ][ 1 ]);
$p [ 'W' ][ 'rnd' ] = rand ( $p [ 'W' ][ 0 ], $p [ 'W' ][ 1 ]);
2023-01-10 16:29:32 +00:00
//Обычный урон
2022-12-19 20:22:19 +00:00
if ( $r [ 'type' ] == 12 ) {
$r [ 'min' ] = ( $p [ 'B' ][ 0 ] + $weapom_min ) * $p [ 'T' ] * ( 1 + $p [ 'M' ] / 100 );
$r [ 'max' ] = ( $p [ 'B' ][ 1 ] + $weapom_max ) * $p [ 'T' ] * ( 1 + $p [ 'M' ] / 100 );
} else {
$r [ 'min' ] = (( $p [ 'B' ][ 0 ] + $p [ 'S' ] * 2 + $weapom_min * 2 + $p [ 'U' ] * 2 ) * $p [ 'T' ]) * ( 1 + $p [ 'M' ] / 100 );
$r [ 'max' ] = (( $p [ 'B' ][ 1 ] + $p [ 'S' ] * 2 + $weapom_max * 2 + $p [ 'U' ] * 2 ) * $p [ 'T' ]) * ( 1 + $p [ 'M' ] / 100 );
}
$r [ 'bRND' ] = $p [ 'B' ][ 'rnd' ];
$r [ 'Kmin' ] = ceil (( 2 + ( 0 + $p [ 'K' ] / 100 )) * $r [ 'min' ]);
$r [ 'Kmax' ] = ceil (( 2 + ( 0 + $p [ 'K' ] / 100 )) * $r [ 'max' ]);
2023-01-10 16:29:32 +00:00
//Расчет брони
//для обычного
2022-12-19 20:22:19 +00:00
if ( $r [ 'type' ] < 5 || $r [ 'type' ] == 12 ) {
$r [ 'min_abron' ] = round ( $r [ 'min' ] * 0.05 );
$r [ 'max_abron' ] = round ( $r [ 'max' ] * 0.05 );
if ( $proboi != 0 ) {
$r [ 'bron' ][ 'rndold' ] = $r [ 'bron' ][ 'rnd' ];
2022-12-30 19:03:37 +00:00
$r [ 'bron' ][ 'rnd' ] = 0 ;
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
$r [ 'Kmin' ] -= $r [ 'bron' ][ 'rnd' ] * 2 ; //было умножить на 2
$r [ 'Kmax' ] -= $r [ 'bron' ][ 'rnd' ] * 2 ; //было умножить на 2
$r [ 'min' ] -= $r [ 'bron' ][ 'rnd' ]; //не было деления ни на чо.
$r [ 'max' ] -= $r [ 'bron' ][ 'rnd' ]; //не было деления ни на чо.
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Расчет защиты (не более 80%)
2022-12-30 19:03:37 +00:00
if ( $r [ 'type' ] < 5 || $r [ 'type' ] == 12 ) {
2022-12-19 20:22:19 +00:00
$r [ 'min' ] = round ( $r [ 'min' ] / 100 * ( 100 - $this -> zago ( $st2 [ 'za' ])));
$r [ 'max' ] = round ( $r [ 'max' ] / 100 * ( 100 - $this -> zago ( $st2 [ 'za' ])));
$r [ 'Kmin' ] = round ( $r [ 'Kmin' ] / 100 * ( 100 - $this -> zago ( $st2 [ 'za' ])));
$r [ 'Kmax' ] = round ( $r [ 'Kmax' ] / 100 * ( 100 - $this -> zago ( $st2 [ 'za' ])));
} else {
$r [ 'min' ] = round ( $r [ 'min' ] / 100 * ( 100 - $this -> zmgo ( $st2 [ 'zm' ])));
$r [ 'max' ] = round ( $r [ 'max' ] / 100 * ( 100 - $this -> zmgo ( $st2 [ 'zm' ])));
$r [ 'Kmin' ] = round ( $r [ 'Kmin' ] / 100 * ( 100 - $this -> zmgo ( $st2 [ 'zm' ])));
$r [ 'Kmax' ] = round ( $r [ 'Kmax' ] / 100 * ( 100 - $this -> zmgo ( $st2 [ 'zm' ])));
}
$r [ 'min' ] = round ( $r [ 'min' ]);
$r [ 'max' ] = round ( $r [ 'max' ]);
$r [ 'Kmin' ] = round ( $r [ 'Kmin' ]);
$r [ 'Kmax' ] = round ( $r [ 'Kmax' ]);
$min_yrn = 0 ; //%
if ( $u1 [ 'clone' ] > 0 ) {
$min_yrn = 75 ;
}
$r [ 'min' ] -= floor ( $r [ 'min' ] / 100 * $min_yrn );
$r [ 'max' ] -= floor ( $r [ 'max' ] / 100 * $min_yrn );
$r [ 'Kmin' ] -= floor ( $r [ 'Kmin' ] / 100 * ( $min_yrn ));
$r [ 'Kmax' ] -= floor ( $r [ 'Kmax' ] / 100 * ( $min_yrn ));
$r [ 'min_' ] -= floor ( $r [ 'min_' ] / 100 * $min_yrn );
$r [ 'max_' ] -= floor ( $r [ 'max_' ] / 100 * $min_yrn );
$r [ 'Kmin_' ] -= floor ( $r [ 'Kmin_' ] / 100 * ( $min_yrn ));
$r [ 'Kmax_' ] -= floor ( $r [ 'Kmax_' ] / 100 * ( $min_yrn ));
2022-12-30 19:03:37 +00:00
$defd = mysql_fetch_array (
mysql_query (
'SELECT SUM(`vals`) FROM `battle_actions` WHERE `btl` = "' . $this -> info [ 'id' ] . '" AND `vars` = "use_defteam' . $u2 [ 'team' ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( $defd [ 0 ] > 100 ) {
$defd [ 0 ] = 100 ;
}
$defd = 0 + $defd [ 0 ];
2022-12-30 19:03:37 +00:00
$powd = mysql_fetch_array (
mysql_query (
'SELECT SUM(`vals`) FROM `battle_actions` WHERE `btl` = "' . $this -> info [ 'id' ] . '" AND `vars` = "use_powteam' . $u1 [ 'team' ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( $powd [ 0 ] > 100 ) {
$powd [ 0 ] = 100 ;
}
$powd = 0 + $powd [ 0 ];
$defd = $defd - $powd ;
$r [ 'min' ] -= floor ( $defd );
$r [ 'max' ] -= floor ( $defd );
$r [ 'Kmin' ] -= floor ( $defd * 2 );
$r [ 'Kmax' ] -= floor ( $defd * 2 );
$r [ 'min_' ] -= floor ( $defd );
$r [ 'max_' ] -= floor ( $defd );
$r [ 'Kmin_' ] -= floor ( $defd * 2 );
$r [ 'Kmax_' ] -= floor ( $defd * 2 );
$r [ 'min' ] += $st1 [ 'maxAtack' ];
$r [ 'max' ] += $st1 [ 'maxAtack' ];
$r [ 'Kmin' ] += $st1 [ 'maxAtack' ] * 2 ;
$r [ 'Kmin' ] += $st1 [ 'maxAtack' ] * 2 ;
if ( $r [ 'min' ] < 1 ) {
$r [ 'min' ] = 1 ;
}
if ( $r [ 'max' ] < 1 ) {
$r [ 'max' ] = 1 ;
}
if ( $r [ 'Kmin' ] < 2 ) {
$r [ 'Kmin' ] = 2 ;
}
if ( $r [ 'Kmax' ] < 2 ) {
$r [ 'Kmax' ] = 2 ;
}
if ( $r [ 'Kmin_' ] < 2 ) {
$r [ 'Kmin_' ] = 2 ;
}
if ( $r [ 'Kmin_' ] < 2 ) {
$r [ 'Kmax_' ] = 2 ;
}
$r [ 'm_k' ] = $r [ 'Kmax' ];
return $r ;
}
public $pr_not_use = [], $pr_reset = [], $pr_yrn = false , $prnt = [];
public $del_val = [], $re_pd = [];
public function delPriem (
$pl ,
$u1 ,
$t = 1 ,
$u2 = false ,
2023-01-10 16:29:32 +00:00
$rznm = 'Очиститься Кровью' ,
2022-12-19 20:22:19 +00:00
$k2nm = null ,
$yrn = null ,
$yrnt = null
) {
global $u , $priem ;
2022-12-30 19:03:37 +00:00
if ( ! isset ( $pl [ 'priem' ][ 'id' ]) || isset ( $this -> del_val [ 'eff' ][ $pl [ 'priem' ][ 'id' ]])) {
return ;
}
if ( $pl [ 'x' ] > 1 ) {
$pl [ 'name' ] = $pl [ 'name' ] . ' x' . $pl [ 'x' ] . '' ;
}
if ( $pl [ 'timeUse' ] == 77 ) {
2023-01-10 16:29:32 +00:00
//завершаем прием
2022-12-30 19:03:37 +00:00
mysql_query ( 'DELETE FROM `eff_users` WHERE `id` = "' . $pl [ 'id' ] . '" LIMIT 1' );
}
$vLog = 'time1=' . time () . '||s1=' . $u1 [ 'sex' ] . '||t1=' . $u1 [ 'team' ] . '||login1=' . $u1 [ 'login' ] . '' ;
if ( isset ( $u2 [ 'id' ])) {
$vLog .= '||s2=' . $u2 [ 'sex' ] . '||t2=' . $u2 [ 'team' ] . '||login2=' . $u2 [ 'login' ] . '' ;
}
$mas1 = [
'time' => time (),
'battle' => $this -> info [ 'id' ],
'id_hod' => $this -> hodID ,
'text' => '' ,
'vars' => $vLog ,
'zona1' => '' ,
'zonb1' => '' ,
'zona2' => '' ,
'zonb2' => '' ,
'type' => '1' ,
];
if ( $t == 4 ) {
$mas1 [ 'id_hod' ] ++ ;
$t = 2 ;
}
if ( $t == 1 ) {
$mas1 [ 'id_hod' ] ++ ;
if ( $pl [ 'priem' ][ 'file' ] != '0' ) {
if ( file_exists ( '../../_incl_data/class/priems/' . $pl [ 'priem' ][ 'file' ] . '.php' )) {
require ( 'priems/' . $pl [ 'priem' ][ 'file' ] . '.php' );
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
} elseif ( $pl [ 'priem' ][ 'file3' ] != '0' ) {
if ( file_exists ( '../../_incl_data/class/priems/' . $pl [ 'priem' ][ 'file3' ] . '.php' )) {
require ( 'priems/' . $pl [ 'priem' ][ 'file3' ] . '.php' );
2022-12-19 20:22:19 +00:00
}
} else {
2023-01-10 16:29:32 +00:00
$mas1 [ 'text' ] = '{tm1} {u1} {1x16x0} прием "<strong>' . $pl [ 'name' ] . '</strong>".' ;
2022-12-30 19:03:37 +00:00
$this -> del_val [ 'eff' ][ $pl [ 'priem' ][ 'id' ]] = true ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
} elseif ( $t == 2 ) {
2023-01-10 16:29:32 +00:00
$mas1 [ 'text' ] = '{tm1} У персонажа {u1} закончилось действие магии "<strong>' . $pl [ 'name' ] . '</strong>".' ;
2022-12-30 19:03:37 +00:00
} elseif ( $t == 99 ) {
2023-01-10 16:29:32 +00:00
$mas1 [ 'text' ] = '{u1} Снял эфект "<strong>' . $pl [ 'name' ] . '</strong>" с помощью <strong>' . $rznm . '</strong> .' ;
2022-12-30 19:03:37 +00:00
} else {
if ( $t == 100 ) {
2022-12-19 20:22:19 +00:00
$mas1 [ 'id_hod' ] ++ ;
}
2023-01-10 16:29:32 +00:00
$mas1 [ 'text' ] = '{tm1} Закончилось действие эффекта "<strong>' . $pl [ 'name' ] . '</strong>" для {u1}.' ;
2022-12-30 19:03:37 +00:00
}
if ( $pl [ 'priem' ][ 'id' ] != 24 ) {
2022-12-19 20:22:19 +00:00
$this -> add_log ( $mas1 );
}
2022-12-30 19:03:37 +00:00
$this -> stats [ $this -> uids [ $pl [ 'uid' ]]] = $u -> getStats ( $pl [ 'uid' ], 0 , 0 , false , false , true );
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Разбираем массив с о статами
2022-12-30 19:03:37 +00:00
public function lookStats ( $m ) : array
2022-12-19 20:22:19 +00:00
{
$ist = [];
$di = explode ( '|' , $m );
$i = 0 ;
$de = false ;
while ( $i < count ( $di )) {
$de = explode ( '=' , $di [ $i ]);
$ist [ $de [ 0 ]] = $de [ 1 ];
$i ++ ;
}
return $ist ;
}
2023-01-10 16:29:32 +00:00
//Расчет мф. (новая)
2022-12-30 19:03:37 +00:00
public function form_mf ( $u , $au ) : float
2022-12-19 20:22:19 +00:00
{
$v = $u * 5.1 - $au * 5.1 ;
if ( $v < 0 ) {
$v = 0 ;
}
$r = ( 1 - ( pow ( 99 / 100 , (( $v ) / 100 )))) * 100 ;
2022-12-30 19:03:37 +00:00
return round ( $r );
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Расчет МФ
2022-12-30 19:03:37 +00:00
public function mfs ( $type , $mf , $lvl1 , $lvl2 ) : int
2022-12-19 20:22:19 +00:00
{
$rval = 0 ;
switch ( $type ) {
case 1 :
2023-01-10 16:29:32 +00:00
//Крит
2022-12-19 20:22:19 +00:00
if ( $mf [ 'amf' ] < 0 ) {
$mf [ 'amf' ] = 0 ;
}
if ( $mf [ 'mf' ] < 0 ) {
$mf [ 'mf' ] = 0 ;
}
if ( $mf [ 'mf' ] > $mf [ 'smf' ]) {
$rval = 100 - floor (((( $mf [ 'smf' ]) / ( $mf [ 'mf' ] + 1 )) * 100 ));
}
if ( $rval < 1 ) {
$rval = 0 ;
}
if ( $rval > 75 ) {
$rval = 75 ;
}
if ( $mf [ 'amf' ] >= 1 ) {
if ( $mf [ 'amf' ] > 100 ) {
$mf [ 'amf' ] = 100 ;
}
if (( $mf [ 'amf' ] * 100 ) >= mt_rand ( 1 , 10000 )) {
$rval = 100 ;
}
}
break ;
case 2 :
if ( $mf [ 'mf' ] < 0 ) {
$mf [ 'mf' ] = 0 ;
}
if ( $mf [ 'amf' ] < 0 ) {
$mf [ 'amf' ] = 0 ;
}
if ( $mf [ 'smf' ] < 0 ) {
$mf [ 'smf' ] = 0 ;
}
if ( $mf [ 'asmf' ] < 0 ) {
$mf [ 'asmf' ] = 0 ;
}
if ( $mf [ 'mf' ] > $mf [ 'smf' ]) {
$rval = 100 - floor (((( $mf [ 'smf' ]) / ( $mf [ 'mf' ] + 1 )) * 100 )); //2.5
}
if ( $rval < 1 ) {
$rval = 0 ;
}
if ( $rval > 75 ) {
$rval = 75 ;
}
2022-12-30 19:03:37 +00:00
if ( $mf [ 'asmf' ] >= 0 ) {
2022-12-19 20:22:19 +00:00
if ( $mf [ 'asmf' ] > 100 ) {
$mf [ 'asmf' ] = 100 ;
}
if ( $mf [ 'asmf' ] >= rand ( 1 , 100 )) {
$rval = 0 ;
}
}
if ( $mf [ 'amf' ] >= 0 ) {
if ( $mf [ 'amf' ] > 100 ) {
$mf [ 'amf' ] = 100 ;
}
if ( $mf [ 'amf' ] >= rand ( 1 , 100 )) {
$rval = 100 ;
}
}
break ;
case 3 :
if ( $mf [ 1 ] < 1 ) {
$mf [ 1 ] = 1 ;
}
if ( $mf [ 2 ] < 1 ) {
$mf [ 2 ] = 1 ;
}
$rval = $mf [ 1 ] - $mf [ 2 ] / 2 ;
if ( $rval > 75 ) {
$rval = 75 ;
}
if ( $rval < 1 ) {
$rval = 1 ;
}
break ;
case 4 :
$mf = round ( $mf * 0.6 );
if ( $mf < 1 ) {
$mf = 0 ;
}
if ( $mf > 100 ) {
$mf = 100 ;
}
2023-01-10 16:29:32 +00:00
$rval = min ( $mf , 100 ); //пробой брони
2022-12-19 20:22:19 +00:00
break ;
case 5 :
if ( $mf < 1 ) {
$mf = 0 ;
}
2023-01-10 16:29:32 +00:00
$rval = min ( $mf , 85 ); //блок щитом
2022-12-19 20:22:19 +00:00
break ;
case 6 :
2023-01-10 16:29:32 +00:00
//Контрудар
2022-12-19 20:22:19 +00:00
if ( $mf [ 'a' ] > 0 ) {
if ( $mf [ 'b' ] > 0 ) {
$rval = round ( $mf [ 'a' ] - ( $mf [ 'b' ] / 2 ));
} else {
$rval = $mf [ 'a' ];
}
}
if ( $rval < 1 ) {
$rval = 0 ;
}
if ( $rval > 75 ) {
$rval = 75 ;
}
break ;
}
2022-12-30 19:03:37 +00:00
return $this -> get_chanse ( $rval ) ? 1 : 0 ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
public function dodge ( $a , $b ) : bool
2022-12-19 20:22:19 +00:00
{
$i = 0 ;
2023-01-10 16:29:32 +00:00
$arr = []; //массив для записи уникальных случайных чисел
2022-12-19 20:22:19 +00:00
while ( $i < ( $b - $a )) {
while ( in_array ( $rand , $arr )) {
$rand = mt_rand ( 1 , 100 );
}
$arr [] = $rand ;
$i ++ ;
}
$n = mt_rand ( 1 , 100 );
2022-12-30 19:03:37 +00:00
return ( bool ) array_search ( $n , $arr );
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
public function get_chanse ( $percent ) : bool
2022-12-19 20:22:19 +00:00
{
if ( $percent >= 100 ) {
$percent = 100 ;
} elseif ( $percent == 0 ) {
$percent = 0 ;
}
2022-12-30 19:03:37 +00:00
return $this -> dodge ( 1 , $percent );
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
//Смена противника
2022-12-19 20:22:19 +00:00
public function smena ( $uid , $auto = false , $lastdie = false )
{
global $u ;
2022-12-30 19:03:37 +00:00
if (( ! $auto && $u -> info [ 'smena' ] > 0 ) || $auto ) {
2022-12-19 20:22:19 +00:00
if ( $this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'hpNow' ] >= 1 ) {
if ( isset ( $this -> uids [ $uid ]) && $uid != $u -> info [ 'id' ] && $this -> users [ $this -> uids [ $uid ]][ 'team' ] != $this -> users [ $this -> uids [ $u -> info [ 'id' ]]][ 'team' ]) {
2022-12-30 19:03:37 +00:00
if ( ! isset ( $this -> ga [ $u -> info [ 'id' ]][ $uid ]) || $lastdie ) {
2022-12-19 20:22:19 +00:00
if ( ceil ( $this -> stats [ $this -> uids [ $uid ]][ 'hpNow' ]) >= 1 ) {
2023-01-10 16:29:32 +00:00
//меняем противника
2022-12-30 19:03:37 +00:00
if ( ! $auto ) {
2022-12-19 20:22:19 +00:00
$u -> info [ 'smena' ] -- ;
}
2022-12-30 19:03:37 +00:00
$upd = mysql_query (
'UPDATE `stats` SET `enemy` = "' . $uid . '",`smena` = "' . $u -> info [ 'smena' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
$u -> info [ 'enemy' ] = $uid ;
$this -> users [ $this -> uids [ $uid ]][ 'smena' ] = $u -> info [ 'smena' ];
$this -> users [ $this -> uids [ $u -> info [ 'id' ]]][ 'enemy' ] = $uid ;
return 1 ;
} else {
2023-01-10 16:29:32 +00:00
return 'Нельзя сменить, противник уже мертв' ;
2022-12-19 20:22:19 +00:00
}
} else {
2023-01-10 16:29:32 +00:00
return 'Нельзя сменить на выбранную цель!' ;
2022-12-19 20:22:19 +00:00
}
} else {
2023-01-10 16:29:32 +00:00
return 'Нельзя сменить на выбранную цель []' ;
2022-12-19 20:22:19 +00:00
}
} else {
2023-01-10 16:29:32 +00:00
return 'Для вас поединок закончен, ожидайте пока завершат другие...' ;
2022-12-19 20:22:19 +00:00
}
} else {
2023-01-10 16:29:32 +00:00
return 'У вас закончились смены противника' ;
2022-12-19 20:22:19 +00:00
}
}
2023-01-10 16:29:32 +00:00
//авто-смена противника //Т У Т б а г выбора
2022-12-19 20:22:19 +00:00
public function autoSmena ()
{
global $u ;
$ms = [];
$ms_all = [];
$ms_ansf = [];
$i = 0 ;
$j = 0 ;
$z = 0 ;
while ( $i < count ( $this -> users )) {
if ( isset ( $this -> users [ $i ]) && $this -> users [ $i ][ 'id' ] != $u -> info [ 'id' ] && $this -> users [ $i ][ 'team' ] != $u -> info [ 'team' ] && $this -> stats [ $i ][ 'hpNow' ] > 0 && - ( $u -> info [ 'enemy' ]) != $this -> users [ $i ][ 'id' ]) {
if ( ! isset ( $this -> ga [ $u -> info [ 'id' ]][ $this -> users [ $i ][ 'id' ]])) {
$ms [ $j ] = $this -> users [ $i ][ 'id' ];
$j ++ ;
}
if ( ! isset ( $this -> uids [( - ( $u -> info [ 'enemy' ]))])) {
$ms_all [] = $this -> users [ $i ][ 'id' ];
}
if ( isset ( $this -> ga [ $this -> users [ $i ][ 'id' ]][ $u -> info [ 'id' ]])) {
$ms_ansf [ $z ] = $this -> users [ $i ][ 'id' ];
$z ++ ;
}
}
$i ++ ;
}
$msh = [];
if ( $j == 0 && $z == 0 ) {
$enemydie = 0 ;
if ( isset ( $this -> stats [ $this -> uids [ $u -> info [ 'enemy' ]]])) {
$u -> info [ 'enemy' ] = 0 ;
$enemydie = 1 ;
}
if (( ! isset ( $this -> uids [( - ( $u -> info [ 'enemy' ]))]) || $this -> stats [ $this -> uids [( - ( $u -> info [ 'enemy' ]))]][ 'hpNow' ] < 1 ) && ( $u -> info [ 'enemy' ] < 0 || $enemydie == 1 )) {
$i = 0 ;
$j = 0 ;
while ( $i < count ( $this -> users )) {
if ( isset ( $this -> users [ $i ]) && $this -> users [ $i ][ 'id' ] != $u -> info [ 'id' ] && $this -> users [ $i ][ 'team' ] != $u -> info [ 'team' ] && $this -> stats [ $i ][ 'hpNow' ] >= 1 && - ( $u -> info [ 'enemy' ]) != $this -> users [ $i ][ 'id' ]) {
$ms [ $j ] = $this -> users [ $i ][ 'id' ];
$msh [ $ms [ $j ]] = true ;
$j ++ ;
}
$i ++ ;
}
}
}
$ms = $ms [ rand ( 0 , $j - 1 )];
$ms_ansf = $ms_ansf [ rand ( 0 , $z - 1 )];
if ( $z > 0 ) {
$this -> smena ( $ms_ansf , true );
} elseif ( $j > 0 ) {
if ( isset ( $msh [ $ms ])) {
$this -> smena ( $ms , true , true );
} else {
$this -> smena ( $ms , true );
}
} else {
if ( $u -> info [ 'enemy' ] < 0 ) {
$smnr5 = $this -> smena ( - ( $u -> info [ 'enemy' ]), true );
unset ( $smnr5 );
}
}
}
2023-01-10 16:29:32 +00:00
//Действия бота (атака)
2022-12-19 20:22:19 +00:00
public function botAtack ( $uid , $pl , $tp )
{
2022-12-30 19:03:37 +00:00
$test_atack = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `battle_act` WHERE `battle` = "' . $this -> info [ 'id' ] . ' " AND ((
2022-12-19 20:22:19 +00:00
`uid1` = " ' . $pl . ' " AND `uid2` = " ' . $uid . ' "
) OR (
`uid2` = " ' . $pl . ' " AND `uid1` = " ' . $uid . ' "
2022-12-30 19:03:37 +00:00
)) LIMIT 1 '
)
);
2022-12-19 20:22:19 +00:00
if ( $tp == 1 && ! isset ( $test_atack [ 'id' ])) {
2022-12-30 19:03:37 +00:00
$test_uid = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `stats` WHERE `id` = "' . $uid . '" AND `hpNow` >= 1 LIMIT 1' )
);
$test_pl = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `stats` WHERE `id` = "' . $pl . '" AND `hpNow` >= 1 LIMIT 1' )
);
2022-12-19 20:22:19 +00:00
if ( isset ( $test_uid [ 'id' ]) && isset ( $test_pl [ 'id' ]) && $test_uid [ 'id' ] != $test_pl [ 'id' ]) {
$a = rand ( 1 , 5 ) . '' . rand ( 1 , 5 ) . '' . rand ( 1 , 5 ) . '' . rand ( 1 , 5 ) . '' . rand ( 1 , 5 );
$b = rand ( 1 , 5 );
2022-12-30 19:03:37 +00:00
$d = mysql_query (
'INSERT INTO `battle_act` (`battle`,`time`,`uid1`,`uid2`,`a1`,`b1`) VALUES ("' . $this -> info [ 'id' ] . '","' . time (
) . '","' . $pl . '","' . $uid . '","' . $a . '","' . $b . '")'
);
2022-12-19 20:22:19 +00:00
}
} elseif ( $tp == 2 ) {
2023-01-10 16:29:32 +00:00
//бот отвечает на удар
2022-12-30 19:03:37 +00:00
$test_uid = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `stats` WHERE `id` = "' . $uid . '" AND `hpNow` >= 1 LIMIT 1' )
);
$test_pl = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `stats` WHERE `id` = "' . $pl [ 'uid2' ] . '" AND `hpNow` >= 1 LIMIT 1' )
);
2022-12-19 20:22:19 +00:00
if ( isset ( $test_uid [ 'id' ]) && isset ( $test_pl [ 'id' ]) && $test_uid [ 'id' ] != $test_pl [ 'id' ]) {
$bot = $this -> users [ $this -> uids [ $pl [ 'uid2' ]]];
$na = [ 'id' => 0 , 'a' => [ 1 => 0 , 2 => 0 , 3 => 0 , 4 => 0 , 5 => 0 ], 'b' => 0 ];
$a222 = rand ( 1 , 5 ) . '_' . rand ( 1 , 5 ) . '_' . rand ( 1 , 5 ) . '_' . rand ( 1 , 5 ) . '_' . rand ( 1 , 5 );
$a = explode ( '_' , $a222 );
$i = 1 ;
$na [ 'id' ] = time ();
while ( $i <= 5 ) {
if ( isset ( $a [ $i - 1 ])) {
$a [ $i - 1 ] = intval ( round ( $a [ $i - 1 ]));
if ( $a [ $i - 1 ] >= 1 && $a [ $i - 1 ] <= 5 ) {
$na [ 'a' ][ $i ] = $a [ $i - 1 ];
} else {
$na [ 'a' ][ $i ] = 0 ;
}
}
$i ++ ;
}
$na [ 'b' ] = rand ( 1 , 5 );
2023-01-10 16:29:32 +00:00
//Проводим удар
2022-12-19 20:22:19 +00:00
$this -> atacks [ $pl [ 'id' ]][ 'a2' ] = $a222 ;
$this -> atacks [ $pl [ 'id' ]][ 'b2' ] = $na [ 'b' ];
$this -> startAtack ( $pl [ 'id' ]);
}
}
}
2023-01-10 16:29:32 +00:00
//Проверяем удары, приемы, свитки, зверей
2022-12-19 20:22:19 +00:00
public function testActions ()
{
2023-01-10 16:29:32 +00:00
//проверяем удары
2022-12-19 20:22:19 +00:00
$m = mysql_query ( 'SELECT * FROM `battle_act` WHERE `battle` = "' . $this -> info [ 'id' ] . '" ORDER BY `id` ASC' );
$i = 0 ;
$botA = [];
$botR = [];
while ( $pl = mysql_fetch_array ( $m )) {
2022-12-30 19:03:37 +00:00
$pluids = mysql_fetch_array (
mysql_query (
'SELECT `hpNow` FROM `stats` WHERE (`id` = "' . $pl [ 'uid1' ] . '" AND `hpNow` <= 0) OR (`id` = "' . $pl [ 'uid2' ] . '" AND `hpNow` <= 0) LIMIT 1'
)
);
$pltest = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `battle_act` WHERE `id` = "' . $pl [ 'id' ] . '" LIMIT 1' )
);
2022-12-19 20:22:19 +00:00
if ( isset ( $pltest [ 'id' ])) {
if ( isset ( $pluids [ 'hpNow' ])) {
mysql_query ( 'DELETE FROM `battle_act` WHERE `id` = "' . $pl [ 'id' ] . '" LIMIT 1' );
} elseif ( $pl [ 'time' ] + $this -> info [ 'timeout' ] > time ()) {
2023-01-10 16:29:32 +00:00
//удар не пропущен по тайму, просто заносим данные
2022-12-19 20:22:19 +00:00
$this -> atacks [ $pl [ 'id' ]] = $pl ;
$this -> ga [ $pl [ 'uid1' ]][ $pl [ 'uid2' ]] = $pl [ 'id' ];
$this -> ag [ $pl [ 'uid2' ]][ $pl [ 'uid1' ]] = $pl [ 'id' ];
if ( isset ( $this -> iBots [ $pl [ 'uid1' ]])) {
2023-01-10 16:29:32 +00:00
//ударил бот и нет ответа
2022-12-19 20:22:19 +00:00
$botA [ $pl [ 'uid1' ]] = $pl [ 'id' ];
} elseif ( isset ( $this -> iBots [ $pl [ 'uid2' ]])) {
2023-01-10 16:29:32 +00:00
//ударили бота и он не ответил
2022-12-19 20:22:19 +00:00
$botR [ $pl [ 'uid2' ]] = $pl [ 'id' ];
if ( $this -> users [ $this -> uids [ $pl [ 'uid2' ]]][ 'timeGo' ] < time ()) {
$this -> botAtack ( $pl [ 'uid1' ], $pl , 2 );
}
}
} else {
2023-01-10 16:29:32 +00:00
//пропуск по тайму
2022-12-19 20:22:19 +00:00
$pl [ 'time' ] = time ();
if ( $pl [ 'a1' ] == 0 && $pl [ 'a2' ] == 0 ) {
2023-01-10 16:29:32 +00:00
//игрок 1 пропустил по тайму
2022-12-19 20:22:19 +00:00
$pl [ 'out1' ] = time ();
$pl [ 'tout1' ] = 1 ;
2023-01-10 16:29:32 +00:00
//игрок 2 пропустил по тайму
2022-12-19 20:22:19 +00:00
$pl [ 'out2' ] = time ();
$pl [ 'tout2' ] = 1 ;
} elseif ( $pl [ 'a1' ] == 0 ) {
2023-01-10 16:29:32 +00:00
//игрок 1 пропустил по тайму
2022-12-19 20:22:19 +00:00
$pl [ 'out1' ] = time ();
$pl [ 'tout1' ] = 1 ;
} elseif ( $pl [ 'a2' ] == 0 ) {
2023-01-10 16:29:32 +00:00
//игрок 2 пропустил по тайму
2022-12-19 20:22:19 +00:00
$pl [ 'out2' ] = time ();
$pl [ 'tout2' ] = 1 ;
}
2023-01-10 16:29:32 +00:00
//наносим удар по пропуску
2022-12-30 19:03:37 +00:00
$this -> atacks [ $pl [ 'id' ]] = $pl ;
$this -> startAtack ( $pl [ 'id' ]);
mysql_query ( 'DELETE FROM `battle_act` WHERE `id` = "' . $pl [ 'id' ] . '"' );
2022-12-19 20:22:19 +00:00
}
}
}
2023-01-10 16:29:32 +00:00
//тест удара
2022-12-30 19:03:37 +00:00
if ( $this -> uAtc [ 'id' ] > 0 && $this -> na == 1 ) {
if ( $pl [ 'out1' ] == 0 && $pl [ 'out2' ] == 0 ) {
2023-01-10 16:29:32 +00:00
//Может разменяться только тот кто бил
2022-12-30 19:03:37 +00:00
if ( $pl [ 'uid1' ] == $u -> info [ 'id' ] || $pl [ 'uid2' ] == $u -> info [ 'id' ]) {
2022-12-19 20:22:19 +00:00
$this -> addNewAtack ();
}
2022-12-30 19:03:37 +00:00
} else {
$this -> addNewAtack ();
2022-12-19 20:22:19 +00:00
}
}
2023-01-10 16:29:32 +00:00
//тест, бот делает удары
2022-12-19 20:22:19 +00:00
while ( $i < count ( $this -> bots )) {
$bot = $this -> bots [ $i ];
2023-01-10 16:29:32 +00:00
if ( isset ( $bot ) && $this -> stats [ $this -> uids [ $bot ]][ 'hpNow' ] >= 1 && $this -> stats [ $this -> uids [ $bot ]][ 'pass' ] != 'saintlucia' ) { //Тут проверка на бота saintlucia
2022-12-19 20:22:19 +00:00
$j = 0 ;
while ( $j < count ( $this -> users )) {
if ( $this -> info [ 'razdel' ] == 0 ) {
$tnbot = time () + rand ( 1 , 1 );
} else {
$tnbot = time () + rand ( 1 , 2 );
}
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $j ][ 'timeGo' ] < time () && $this -> users [ $this -> uids [ $bot ]][ 'timeGo' ] < time ()) {
if ( $this -> users [ $j ][ 'hpNow' ] >= 1 && $this -> users [ $this -> uids [ $bot ]][ 'hpNow' ] >= 1 && $this -> users [ $this -> uids [ $bot ]][ 'team' ] != $this -> users [ $j ][ 'team' ]) {
if ( isset ( $this -> users [ $j ]) && $this -> stats [ $j ][ 'hpNow' ] >= 1 && $this -> stats [ $this -> uids [ $bot ]][ 'hpNow' ] >= 1 && ! isset ( $this -> ga [ $bot ][ $this -> users [ $j ][ 'id' ]]) && ! isset ( $this -> ag [ $bot ][ $this -> users [ $j ][ 'id' ]]) && $this -> users [ $j ][ 'id' ] != $bot && $this -> users [ $j ][ 'team' ] != $this -> users [ $this -> uids [ $bot ]][ 'team' ]) {
if ( $this -> users [ $j ][ 'timeGo' ] < time (
) && $this -> users [ $this -> uids [ $bot ]][ 'timeGo' ] < time ()) {
$this -> botAtack ( $this -> users [ $j ][ 'id' ], $bot , 1 );
mysql_query (
'UPDATE `stats` SET `timeGo` = "' . $tnbot . '" WHERE `id` = "' . $this -> users [ $this -> uids [ $bot ]][ 'id' ] . '" LIMIT 1'
);
}
} elseif ( isset ( $this -> users [ $i ]) && $this -> users [ $i ][ 'bot' ] > 0 && $this -> stats [ $i ][ 'hpNow' ] >= 1 && $this -> stats [ $this -> uids [ $bot ]][ 'hpNow' ] >= 1 && $this -> users [ $i ][ 'id' ] != $bot && $this -> users [ $i ][ 'team' ] != $this -> users [ $this -> uids [ $bot ]][ 'team' ]) {
if ( $this -> users [ $j ][ 'timeGo' ] < time (
) && $this -> users [ $this -> uids [ $bot ]][ 'timeGo' ] < time () && $this -> botAct ( $bot )) {
if ( ! isset ( $this -> ga [ $bot ][ $this -> users [ $i ][ 'id' ]]) && $this -> users [ $this -> uids [ $bot ]][ 'timeGo' ] < time (
) && ! isset ( $this -> ag [ $bot ][ $this -> users [ $i ][ 'id' ]])) {
2022-12-19 20:22:19 +00:00
$this -> botAtack ( $this -> users [ $i ][ 'id' ], $bot , 1 );
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `timeGo` = "' . $tnbot . '" WHERE `id` = "' . $this -> users [ $this -> uids [ $bot ]][ 'id' ] . '" LIMIT 1'
);
} elseif ( ! isset ( $this -> ag [ $bot ][ $this -> users [ $i ][ 'id' ]]) && isset ( $this -> ga [ $bot ][ $this -> users [ $i ][ 'id' ]]) && $this -> users [ $this -> uids [ $bot ]][ 'timeGo' ] < time (
)) {
2022-12-19 20:22:19 +00:00
$this -> botAtack ( $bot , $this -> users [ $i ][ 'id' ], 1 );
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `timeGo` = "' . $tnbot . '" WHERE `id` = "' . $this -> users [ $this -> uids [ $bot ]][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
}
2022-12-30 19:03:37 +00:00
} else {
2023-01-10 16:29:32 +00:00
//Удары между ботами
2022-12-30 19:03:37 +00:00
if ( $this -> users [ $j ][ 'timeGo' ] < time (
) && $this -> users [ $this -> uids [ $bot ]][ 'timeGo' ] < time (
) && $this -> users [ $j ][ 'hpNow' ] >= 1 && $this -> users [ $this -> uids [ $bot ]][ 'hpNow' ] >= 1 ) {
$this -> atacks [ $this -> ga [ $bot ][ $this -> users [ $j ][ 'id' ]]][ 'a1' ] = rand (
1 , 5
) . '' . rand (
1 ,
5
) . rand ( 1 , 5 ) . rand ( 1 , 5 ) . rand ( 1 , 5 );
$this -> atacks [ $this -> ga [ $bot ][ $this -> users [ $j ][ 'id' ]]][ 'b1' ] = rand ( 1 , 5 );
$this -> atacks [ $this -> ga [ $bot ][ $this -> users [ $j ][ 'id' ]]][ 'a2' ] = rand (
1 , 5
) . '' . rand (
1 ,
5
) . rand ( 1 , 5 ) . rand ( 1 , 5 ) . rand ( 1 , 5 );
$this -> atacks [ $this -> ga [ $bot ][ $this -> users [ $j ][ 'id' ]]][ 'b2' ] = rand ( 1 , 5 );
$this -> atacks [ $this -> ag [ $bot ][ $this -> users [ $j ][ 'id' ]]][ 'a1' ] = rand (
1 , 5
) . '' . rand (
1 ,
5
) . rand ( 1 , 5 ) . rand ( 1 , 5 ) . rand ( 1 , 5 );
$this -> atacks [ $this -> ag [ $bot ][ $this -> users [ $j ][ 'id' ]]][ 'b1' ] = rand ( 1 , 5 );
$this -> atacks [ $this -> ag [ $bot ][ $this -> users [ $j ][ 'id' ]]][ 'a2' ] = rand (
1 , 5
) . '' . rand (
1 ,
5
) . rand ( 1 , 5 ) . rand ( 1 , 5 ) . rand ( 1 , 5 );
$this -> atacks [ $this -> ag [ $bot ][ $this -> users [ $j ][ 'id' ]]][ 'b2' ] = rand ( 1 , 5 );
if ( isset ( $this -> ga [ $bot ][ $this -> users [ $j ][ 'id' ]]) && $this -> users [ $j ][ 'bot' ] > 0 ) {
if ( $this -> users [ $j ][ 'timeGo' ] < time (
) && $this -> users [ $this -> uids [ $bot ]][ 'timeGo' ] < time ()) {
$tnbot = time () + rand ( 3 , 7 );
2023-01-10 16:29:32 +00:00
if ( $this -> info [ 'type' ] == 329 ) { // тестовый бой
2022-12-30 19:03:37 +00:00
$tnbot = time () - 1 ;
}
$this -> startAtack ( $this -> ga [ $bot ][ $this -> users [ $j ][ 'id' ]]);
$this -> users [ $this -> uids [ $bot ]][ 'timeGo' ] = $tnbot ;
mysql_query (
'UPDATE `stats` SET `timeGo` = "' . $tnbot . '" WHERE `id` = "' . $this -> users [ $this -> uids [ $bot ]][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
} elseif ( isset ( $this -> ag [ $bot ][ $this -> users [ $j ][ 'id' ]]) && $this -> users [ $j ][ 'bot' ] > 0 ) {
if ( $this -> users [ $this -> uids [ $bot ]][ 'timeGo' ] < time (
) && $this -> users [ $j ][ 'timeGo' ] < time ()) {
$this -> startAtack ( $this -> ag [ $bot ][ $this -> users [ $j ][ 'id' ]]);
$tnbot = time () + rand ( 3 , 7 );
2023-01-10 16:29:32 +00:00
if ( $this -> info [ 'type' ] == 329 ) { // тестовый бой
2022-12-30 19:03:37 +00:00
$tnbot = time () - 1 ;
}
$this -> users [ $this -> uids [ $bot ]][ 'timeGo' ] = $tnbot ;
mysql_query (
'UPDATE `stats` SET `timeGo` = "' . $tnbot . '" WHERE `id` = "' . $this -> users [ $this -> uids [ $bot ]][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
}
}
}
}
2022-12-30 19:03:37 +00:00
} else {
2022-12-19 20:22:19 +00:00
}
}
$j ++ ;
}
}
$i ++ ;
}
}
2023-01-10 16:29:32 +00:00
//Действия бота
2022-12-30 19:03:37 +00:00
public function botAct ( $uid ) : bool
2022-12-19 20:22:19 +00:00
{
$r = false ;
if ( $this -> users [ $this -> uids [ $uid ]][ 'bot' ] > 0 ) {
if ( $this -> users [ $this -> uids [ $uid ]][ 'online' ] < time () - 3 ) {
$r = true ;
$this -> users [ $this -> uids [ $uid ]][ 'online' ] = time ();
2022-12-30 19:03:37 +00:00
User :: setOnline (( int ) $uid );
} elseif ( rand ( 0 , 2 ) == 1 ) {
$r = true ;
2022-12-19 20:22:19 +00:00
}
}
return $r ;
}
2023-01-10 16:29:32 +00:00
//получаем данные о поединке
2022-12-19 20:22:19 +00:00
public function battleInfo ( $id )
{
2022-12-30 19:03:37 +00:00
$b = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `battle` WHERE `id` = "' . mysql_real_escape_string ( $id ) . '" LIMIT 1' )
);
2022-12-19 20:22:19 +00:00
if ( isset ( $b [ 'id' ])) {
2022-12-30 19:03:37 +00:00
$this -> hodID = mysql_fetch_array (
mysql_query (
'SELECT `id_hod` FROM `battle_logs` WHERE `battle` = "' . $b [ 'id' ] . '" ORDER BY `id` DESC LIMIT 1'
)
);
$this -> hodID = $this -> hodID [ 'id_hod' ] ? ? 0 ;
2022-12-19 20:22:19 +00:00
return $b ;
} else {
return false ;
}
}
2023-01-10 16:29:32 +00:00
//наносим удар противнику
2022-12-19 20:22:19 +00:00
public function addAtack ()
{
global $js ;
if ( isset ( $_POST [ 'atack' ], $_POST [ 'block' ])) {
2022-12-30 19:03:37 +00:00
$na = [ 'a' => [ 1 => 0 , 2 => 0 , 3 => 0 , 4 => 0 , 5 => 0 ]];
2022-12-19 20:22:19 +00:00
$a = explode ( '_' , $_POST [ 'atack' ]);
$i = 1 ;
$na [ 'id' ] = time ();
while ( $i <= 5 ) {
if ( isset ( $a [ $i - 1 ])) {
$a [ $i - 1 ] = intval ( round ( $a [ $i - 1 ]));
if ( $a [ $i - 1 ] >= 1 && $a [ $i - 1 ] <= 5 ) {
$na [ 'a' ][ $i ] = $a [ $i - 1 ];
} else {
$na [ 'a' ][ $i ] = 0 ;
}
}
$i ++ ;
}
$na [ 'b' ] = intval ( round ( $_POST [ 'block' ]));
if ( $na [ 'b' ] < 1 || $na [ 'b' ] > 5 ) {
$na [ 'b' ] = 0 ;
}
$this -> uAtc = $na ;
$js .= 'testClearZone();' ;
} else {
2023-01-10 16:29:32 +00:00
$this -> e = 'Выберите зоны удара и блока' ;
2022-12-19 20:22:19 +00:00
}
}
2023-01-10 16:29:32 +00:00
//выделяем пользователей
2022-12-19 20:22:19 +00:00
public function teamsTake ()
{
global $u ;
$rs = '' ;
$ts = [];
$tsi = 0 ;
if ( $this -> info [ 'id' ] > 0 ) {
2023-01-10 16:29:32 +00:00
//данные о игроках в бою
2022-12-19 20:22:19 +00:00
$nxtlg = [];
2022-12-30 19:03:37 +00:00
$t = mysql_query (
'SELECT `u`.`room`,`u`.`no_ip`,`u`.`twink`,`u`.`stopexp`,`u`.`id`,`u`.`notrhod`,`u`.`login`,`u`.`login2`,`u`.`sex`,`u`.`online`,`u`.`admin`,`u`.`align`,`u`.`align_lvl`,`u`.`align_exp`,`u`.`clan`,`u`.`level`,`u`.`battle`,`u`.`obraz`,`u`.`win`,`u`.`lose`,`u`.`nich`,`u`.`animal`,`st`.`stats`,`st`.`hpNow`,`st`.`mpNow`,`st`.`exp`,`st`.`dnow`,`st`.`team`,`st`.`battle_yron`,`st`.`battle_exp`,`st`.`enemy`,`st`.`battle_text`,`st`.`upLevel`,`st`.`timeGo`,`st`.`timeGoL`,`st`.`bot`,`st`.`lider`,`st`.`btl_cof`,`st`.`tactic1`,`st`.`tactic2`,`st`.`tactic3`,`st`.`tactic4`,`st`.`tactic5`,`st`.`tactic6`,`st`.`tactic7`,`st`.`x`,`st`.`y`,`st`.`battleEnd`,`st`.`priemslot`,`st`.`priems`,`st`.`priems_z`,`st`.`bet`,`st`.`clone`,`st`.`atack`,`st`.`bbexp`,`st`.`res_x`,`st`.`res_y`,`st`.`res_s`,`st`.`id`,`st`.`last_hp`,`st`.`last_pr`,`u`.`sex`,`u`.`money`,`u`.`bot_id`,`u`.`money3`,`u`.`money2` FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`battle` = "' . $this -> info [ 'id' ] . '"'
);
2022-12-19 20:22:19 +00:00
$i = 0 ;
$bi = 0 ;
$up = '' ;
if ( $this -> info [ 'start2' ] == 0 ) {
2022-12-30 19:03:37 +00:00
$tststrt = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `battle` WHERE `id` = "' . $this -> info [ 'id' ] . '" AND `start2` = "0" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( isset ( $tststrt [ 'id' ])) {
2022-12-30 19:03:37 +00:00
$upd = mysql_query (
'UPDATE `battle` SET `start2` = "' . time (
) . '" WHERE `id` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
} else {
$this -> info [ 'start2' ] = time ();
}
}
while ( $pl = mysql_fetch_array ( $t )) {
2023-01-10 16:29:32 +00:00
//записываем данные
2022-12-19 20:22:19 +00:00
if ( $pl [ 'login2' ] == '' ) {
$pl [ 'login2' ] = $pl [ 'login' ];
}
$this -> users [ $i ] = $pl ;
$this -> uids [ $pl [ 'id' ]] = $i ;
if ( $this -> info [ 'start2' ] == 0 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users` SET `notrhod` = "-1" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
$this -> users [ $i ][ 'notrhod' ] = - 1 ;
}
if ( $pl [ 'bot' ] > 0 ) {
$this -> bots [ $bi ] = $pl [ 'id' ];
$this -> iBots [ $pl [ 'id' ]] = $bi ;
$bi ++ ;
}
2023-01-10 16:29:32 +00:00
//записываем статы
2022-12-19 20:22:19 +00:00
$this -> stats [ $i ] = $u -> getStats ( $pl , 0 , 0 , false , $this -> cached , true );
2023-01-10 16:29:32 +00:00
//Заносим старт
2022-12-19 20:22:19 +00:00
if ( $this -> info [ 'start2' ] == 0 ) {
if ( ! isset ( $ts [ $this -> users [ $i ][ 'team' ]])) {
$tsi ++ ;
$ts [ $this -> users [ $i ][ 'team' ]] = $tsi ;
}
if ( $this -> users [ $i ][ 'level' ] <= 7 ) {
$this -> users [ $i ][ 'tactic7' ] = floor ( 10 / $this -> stats [ $i ][ 'hpAll' ] * $this -> stats [ $i ][ 'hpNow' ]);
} elseif ( $this -> users [ $i ][ 'level' ] == 8 ) {
$this -> users [ $i ][ 'tactic7' ] = floor ( 20 / $this -> stats [ $i ][ 'hpAll' ] * $this -> stats [ $i ][ 'hpNow' ]);
} elseif ( $this -> users [ $i ][ 'level' ] == 9 ) {
$this -> users [ $i ][ 'tactic7' ] = floor ( 30 / $this -> stats [ $i ][ 'hpAll' ] * $this -> stats [ $i ][ 'hpNow' ]);
} elseif ( $this -> users [ $i ][ 'level' ] >= 10 ) {
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'tactic7' ] = floor (
( 40 + $this -> stats [ $i ][ 's7' ]) / $this -> stats [ $i ][ 'hpAll' ] * $this -> stats [ $i ][ 'hpNow' ]
);
2022-12-19 20:22:19 +00:00
}
if ( $this -> stats [ $i ][ 's7' ] > 49 ) {
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `eff_users` SET `delete`="' . time (
) . '" WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `overType` = 101 AND `delete` = 0'
);
mysql_query (
"
2022-12-19 20:22:19 +00:00
INSERT INTO `eff_users` ( `id_eff` , `uid` , `name` , `data` , `overType` , `timeUse` , `timeAce` , `user_use` , `delete` , `v1` , `v2` , `img2` , `x` , `hod` , `bj` , `sleeptime` , `no_Ace` , `file_finish` , `tr_life_user` , `deactiveTime` , `deactiveLast` , `mark` , `bs` ) VALUES
2023-01-10 16:29:32 +00:00
( 22 , '" . $this->stats[$i][' id '] . "' , 'Спасение' , 'add_spasenie=1' , 101 , 77 , 0 , '" . $this->stats[$i][' id '] . "' , 0 , 'priem' , 324 , 'preservation.gif' , 1 , - 1 , 'спасение' , 0 , 0 , '' , 0 , 0 , 0 , 1 , 0 );
2022-12-30 19:03:37 +00:00
"
);
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
// Бафф Зверя animal_bonus
2022-12-19 20:22:19 +00:00
if ( $this -> users [ $i ][ 'animal' ] > 0 ) {
2022-12-30 19:03:37 +00:00
$a = mysql_fetch_array (
mysql_query (
'SELECT * FROM `users_animal` WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `id` = "' . $this -> users [ $i ][ 'animal' ] . '" AND `pet_in_cage` = "0" AND `delete` = "0" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( isset ( $a [ 'id' ])) {
if ( $a [ 'eda' ] >= 1 ) {
2022-12-30 19:03:37 +00:00
$anl = mysql_fetch_array (
mysql_query (
'SELECT `bonus` FROM `levels_animal` WHERE `type` = "' . $a [ 'type' ] . '" AND `level` = "' . $a [ 'level' ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
$anl = $anl [ 'bonus' ];
$tpa = [
1 => 'cat' ,
2 => 'owl' ,
3 => 'wisp' ,
4 => 'demon' ,
5 => 'dog' ,
6 => 'pig' ,
7 => 'dragon' ,
];
$tpa2 = [
2023-01-10 16:29:32 +00:00
1 => 'Кота' ,
2 => 'Совы' ,
3 => 'Светляка' ,
4 => 'Чертяки' ,
5 => 'Пса' ,
6 => 'Свина' ,
7 => 'Дракона' ,
2022-12-19 20:22:19 +00:00
];
$tpa3 = [
2023-01-10 16:29:32 +00:00
1 => 'Кошачья Ловкость' ,
2 => 'Интуиция Совы' ,
3 => 'Сила Стихий' ,
4 => 'Демоническая Сила' ,
5 => 'Друг' ,
6 => 'Полная Броня' ,
7 => 'Инферно' ,
2022-12-19 20:22:19 +00:00
];
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `eff_users` SET `delete`="' . time (
) . '" WHERE `uid` = "' . $this -> users [ $i ][ 'id' ] . '" AND `overType` = 100 AND `delete` = 0'
);
mysql_query (
'INSERT INTO `eff_users` (`hod`,`v2`,`img2`,`id_eff`,`uid`,`name`,`data`,`overType`,`timeUse`,`v1`,`user_use`) VALUES ("-1","201","summon_pet_' . $tpa [ $a [ 'type' ]] . '.gif",22,"' . $this -> users [ $i ][ 'id' ] . '","' . $tpa3 [ $a [ 'type' ]] . ' [' . $a [ 'level' ] . ']","' . $anl . '","100","77","priem","' . $this -> users [ $i ][ 'id' ] . '")'
);
2022-12-19 20:22:19 +00:00
2023-01-10 16:29:32 +00:00
//добавление духа от дракона
2022-12-19 20:22:19 +00:00
if ( $a [ 'type' ] == 7 ) {
if ( $a [ 'level' ] == 10 ) {
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'tactic7' ] = floor (
( 50 + $this -> stats [ $i ][ 's7' ]) / $this -> stats [ $i ][ 'hpAll' ] * $this -> stats [ $i ][ 'hpNow' ]
);
2022-12-19 20:22:19 +00:00
} elseif ( $a [ 'level' ] == 11 ) {
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'tactic7' ] = floor (
( 65 + $this -> stats [ $i ][ 's7' ]) / $this -> stats [ $i ][ 'hpAll' ] * $this -> stats [ $i ][ 'hpNow' ]
);
2022-12-19 20:22:19 +00:00
} elseif ( $a [ 'level' ] == 12 ) {
2022-12-30 19:03:37 +00:00
$this -> users [ $i ][ 'tactic7' ] = floor (
( 90 + $this -> stats [ $i ][ 's7' ]) / $this -> stats [ $i ][ 'hpAll' ] * $this -> stats [ $i ][ 'hpNow' ]
);
2022-12-19 20:22:19 +00:00
}
}
//
$anl = $u -> lookStats ( $anl );
2022-12-30 19:03:37 +00:00
$vLog = 'time1=' . time (
) . '||s1=' . $this -> users [ $i ][ 'sex' ] . '||t1=' . $this -> users [ $i ][ 'team' ] . '||login1=' . $this -> users [ $i ][ 'login' ] . '' ;
2023-01-10 16:29:32 +00:00
$vLog .= '||s2=1||t2=' . $this -> users [ $i ][ 'team' ] . '||login2=' . $a [ 'name' ] . ' (Зверь ' . $this -> users [ $i ][ 'login' ] . ')' ;
2022-12-19 20:22:19 +00:00
$mas1 = [
'time' => time (),
'battle' => $this -> info [ 'id' ],
'id_hod' => 1 ,
'text' => '' ,
'vars' => $vLog ,
'zona1' => '' ,
'zonb1' => '' ,
'zona2' => '' ,
'zonb2' => '' ,
'type' => '1' ,
];
$ba = '' ;
$i6 = 0 ;
while ( $i6 < count ( $u -> items [ 'add' ])) {
if ( isset ( $anl [ 'add_' . $u -> items [ 'add' ][ $i6 ]])) {
if ( $anl [ 'add_' . $u -> items [ 'add' ][ $i6 ]] > 0 ) {
if ( $u -> items [ 'add' ][ $i6 ] == 'mib1' ) {
2023-01-10 16:29:32 +00:00
$ba .= 'Броня головы: +' . $anl [ 'add_' . $u -> items [ 'add' ][ $i6 ]] . ', ' ;
2022-12-19 20:22:19 +00:00
} elseif ( $u -> items [ 'add' ][ $i6 ] == 'mib2' ) {
2023-01-10 16:29:32 +00:00
$ba .= 'Броня корпуса: +' . $anl [ 'add_' . $u -> items [ 'add' ][ $i6 ]] . ', ' ;
2022-12-19 20:22:19 +00:00
} elseif ( $u -> items [ 'add' ][ $i6 ] == 'mib3' ) {
2023-01-10 16:29:32 +00:00
$ba .= 'Броня пояса: +' . $anl [ 'add_' . $u -> items [ 'add' ][ $i6 ]] . ', ' ;
2022-12-19 20:22:19 +00:00
} elseif ( $u -> items [ 'add' ][ $i6 ] == 'mib4' ) {
2023-01-10 16:29:32 +00:00
$ba .= 'Броня ног: +' . $anl [ 'add_' . $u -> items [ 'add' ][ $i6 ]] . ', ' ;
2022-12-19 20:22:19 +00:00
} elseif ( $u -> items [ 'add' ][ $i6 ] == 'mab1' || $u -> items [ 'add' ][ $i6 ] == 'mab2' || $u -> items [ 'add' ][ $i6 ] == 'mab3' || $u -> items [ 'add' ][ $i6 ] == 'mab4' ) {
} else {
$ba .= $u -> is [ $u -> items [ 'add' ][ $i6 ]] . ': +' . $anl [ 'add_' . $u -> items [ 'add' ][ $i6 ]] . ', ' ;
}
}
}
$i6 ++ ;
}
$ba = trim ( $ba , ', ' );
if ( $ba == '' ) {
2023-01-10 16:29:32 +00:00
$ba = 'Эффект отсутсвует' ;
2022-12-19 20:22:19 +00:00
}
2023-01-10 16:29:32 +00:00
$mas1 [ 'text' ] = '{tm1} {u2} очнулся от медитации, и призвал заклятье "<strong>' . $tpa3 [ $a [ 'type' ]] . ' [' . $a [ 'level' ] . ']</strong>" на {u1}. (' . $ba . ')' ;
2022-12-19 20:22:19 +00:00
$nxtlg [ count ( $nxtlg )] = $mas1 ;
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `users_animal` SET `eda` = `eda` - 1 WHERE `id` = "' . $a [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
$this -> get_comment ();
}
}
}
2022-12-30 19:03:37 +00:00
mysql_query (
'UPDATE `stats` SET `last_hp` = "0",`tactic1`="0",`tactic2`="0",`tactic3`="0",`tactic4`="0",`tactic5`="0",`tactic6`="0",`tactic7` = "' . ( $this -> users [ $i ][ 'tactic7' ]) . '" WHERE `id` = "' . $this -> users [ $i ][ 'id' ] . '" LIMIT 1'
);
$rs [ $this -> users [ $i ][ 'team' ]] = $rs [ $this -> users [ $i ][ 'team' ]] . $u -> microLogin (
$this -> users [ $i ], 2
) . ', ' ;
2022-12-19 20:22:19 +00:00
}
$up .= '`uid` = "' . $pl [ 'id' ] . '" OR' ;
2023-01-10 16:29:32 +00:00
//battle-user (статистика, начальная)
2022-12-30 19:03:37 +00:00
$mybu = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `battle_users` WHERE `battle` = "' . $this -> info [ 'id' ] . '" AND `uid` = "' . mysql_real_escape_string (
$pl [ 'id' ]
) . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( ! isset ( $mybu [ 'id' ])) {
2023-01-10 16:29:32 +00:00
//Пустое значение статистики для данного персонажа за текущий бой
2022-12-19 20:22:19 +00:00
$this -> addstatuser ( $pl [ 'id' ]);
}
$i ++ ;
}
$up = rtrim ( $up , ' OR' );
2023-01-10 16:29:32 +00:00
//Заносим в лог начало поединка
2022-12-19 20:22:19 +00:00
if ( $this -> info [ 'start1' ] == 0 ) {
2022-12-30 19:03:37 +00:00
$tststrt = mysql_fetch_array (
mysql_query (
'SELECT `id` FROM `battle` WHERE `id` = "' . $this -> info [ 'id' ] . '" AND `start1` = "0" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( isset ( $tststrt [ 'id' ])) {
2022-12-30 19:03:37 +00:00
$upd = mysql_query (
'UPDATE `battle` SET `start1` = "' . time (
) . '" WHERE `id` = "' . $this -> info [ 'id' ] . '" LIMIT 1'
);
2022-12-19 20:22:19 +00:00
if ( $upd ) {
$i = 0 ;
$r = '' ;
while ( $i <= $tsi ) {
if ( isset ( $rs [ $i ]) && $rs [ $i ] != '' ) {
2023-01-10 16:29:32 +00:00
$r .= rtrim ( $rs [ $i ], ', ' ) . ' и ' ;
2022-12-19 20:22:19 +00:00
}
$i ++ ;
}
2023-01-10 16:29:32 +00:00
$r = rtrim ( $r , ' и ' );
2022-12-19 20:22:19 +00:00
$r = str_replace ( '"' , '\\\\\"' , $r );
$this -> hodID ++ ;
$vLog = 'time1=' . time () . '||' ;
$mass = [
'time' => time (),
'battle' => $this -> info [ 'id' ],
'id_hod' => $this -> hodID ,
'text' => 'test' ,
'vars' => $vLog ,
'zona1' => '' ,
'zonb1' => '' ,
'zona2' => '' ,
'zonb2' => '' ,
'type' => '1' ,
];
2023-01-10 16:29:32 +00:00
$r = 'Часы показывали <span class=\\\\\"date\\\\\">' . date (
2022-12-30 19:03:37 +00:00
'd.m.Y H:i' ,
$this -> info [ 'time_start' ]
2023-01-10 16:29:32 +00:00
) . '</span>, когда ' . $r . ' бросили вызов друг другу.' ;
2022-12-30 19:03:37 +00:00
$ins = mysql_query (
'INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("' . $mass [ 'time' ] . '","' . $mass [ 'battle' ] . '","' . $mass [ 'id_hod' ] . '","' . $r . '","' . $mass [ 'vars' ] . '","' . $mass [ 'zona1' ] . '","' . $mass [ 'zonb1' ] . '","' . $mass [ 'zona2' ] . '","' . $mass [ 'zonb2' ] . '","' . $mass [ 'type' ] . '")'
);
2022-12-19 20:22:19 +00:00
$this -> info [ 'start1' ] = time ();
}
}
//
if ( count ( $nxtlg ) > 0 ) {
$i = 0 ;
while ( $i < count ( $nxtlg )) {
$this -> add_log ( $nxtlg [ $i ]);
$i ++ ;
}
}
//
}
}
}
2023-01-10 16:29:32 +00:00
//Возращаем зоны блока по умолчанию
2022-12-19 20:22:19 +00:00
public function restZonb ( $uid1 , $uid2 )
{
if ( $this -> stnZbVs [ $uid1 ] > 0 ) {
$this -> stats [ $this -> uids [ $uid1 ]][ 'zonb' ] = $this -> stnZbVs [ $uid1 ];
}
if ( $this -> stnZbVs [ $uid2 ] > 0 ) {
$this -> stats [ $this -> uids [ $uid1 ]][ 'zonb' ] = $this -> stnZbVs [ $uid2 ];
}
}
2023-01-10 16:29:32 +00:00
//проверка блока (Визуальная)
2022-12-19 20:22:19 +00:00
public function testZonbVis ()
{
global $u ;
if ( $this -> stnZbVs == 0 ) {
$zb = $this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'zonb' ];
$this -> stnZbVs = $zb ;
} else {
$zb = $this -> stnZb ;
}
$eu = $this -> users [ $this -> uids [ $u -> info [ 'id' ]]][ 'enemy' ];
if ( $zb > 3 ) {
$zb = 3 ;
}
if (
$eu != 0 &&
(
$this -> stats [ $this -> uids [ $eu ]][ 'weapon1' ] == 1 ||
$this -> stats [ $this -> uids [ $eu ]][ 'weapon2' ] == 1
) &&
$this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'weapon1' ] != 1 &&
$this -> stats [ $this -> uids [ $u -> info [ 'id' ]]][ 'weapon2' ] != 1
) {
$zb -= 1 ;
}
if ( $zb < 1 ) {
$zb = 1 ;
}
return $zb ;
}
2023-01-10 16:29:32 +00:00
//проверка блока
2022-12-19 20:22:19 +00:00
public function testZonb ( $uid , $uid2 )
{
$zba = [];
$zba [ 1 ] = $this -> stats [ $this -> uids [ $uid ]][ 'zonb' ];
$zba [ 2 ] = $this -> stats [ $this -> uids [ $uid2 ]][ 'zonb' ];
if ( $this -> stnZb [ $uid ] == 0 ) {
$zba [ 1 ] = $this -> stats [ $this -> uids [ $uid ]][ 'zonb' ];
$this -> stnZb [ $uid ] = $zba [ 1 ];
} else {
$zba [ 1 ] = $this -> stnZb [ $uid ];
}
if ( $this -> stnZb [ $uid2 ] == 0 ) {
$zba [ 2 ] = $this -> stats [ $this -> uids [ $uid2 ]][ 'zonb' ];
$this -> stnZb [ $uid ] = $zba [ 2 ];
} else {
$zba [ 2 ] = $this -> stnZb [ $uid2 ];
}
if ( $zba [ 1 ] > 3 ) {
$zba [ 1 ] = 3 ;
}
if ( $zba [ 2 ] > 3 ) {
$zba [ 2 ] = 3 ;
}
2023-01-10 16:29:32 +00:00
//Блоки игрока 1
2022-12-19 20:22:19 +00:00
if (
(
$this -> stats [ $this -> uids [ $uid2 ]][ 'weapon1' ] == 1 ||
$this -> stats [ $this -> uids [ $uid2 ]][ 'weapon2' ] == 1
) &&
$this -> stats [ $this -> uids [ $uid ]][ 'weapon1' ] != 1 &&
$this -> stats [ $this -> uids [ $uid ]][ 'weapon2' ] != 1
) {
$zba [ 1 ] -= 1 ;
}
2023-01-10 16:29:32 +00:00
//Блоки игрока 2
2022-12-19 20:22:19 +00:00
if (
(
$this -> stats [ $this -> uids [ $uid ]][ 'weapon1' ] == 1 ||
$this -> stats [ $this -> uids [ $uid ]][ 'weapon2' ] == 1
) &&
$this -> stats [ $this -> uids [ $uid2 ]][ 'weapon1' ] != 1 &&
$this -> stats [ $this -> uids [ $uid2 ]][ 'weapon2' ] != 1
) {
$zba [ 2 ] -= 1 ;
}
if ( $zba [ 1 ] < 1 ) {
$zba [ 1 ] = 1 ;
}
if ( $zba [ 2 ] < 1 ) {
$zba [ 2 ] = 1 ;
}
$this -> stats [ $this -> uids [ $uid ]][ 'zonb' ] = $zba [ 1 ];
$this -> stats [ $this -> uids [ $uid2 ]][ 'zonb' ] = $zba [ 2 ];
if (
$this -> stats [ $this -> uids [ $uid ]][ 'min_zonb' ] > 0 &&
$this -> stats [ $this -> uids [ $uid ]][ 'zonb' ] < $this -> stats [ $this -> uids [ $uid ]][ 'min_zonb' ]
) {
$this -> stats [ $this -> uids [ $uid ]][ 'zonb' ] = $this -> stats [ $this -> uids [ $uid ]][ 'min_zonb' ];
}
if (
$this -> stats [ $this -> uids [ $uid2 ]][ 'min_zonb' ] > 0 &&
$this -> stats [ $this -> uids [ $uid2 ]][ 'zonb' ] < $this -> stats [ $this -> uids [ $uid2 ]][ 'min_zonb' ]
) {
$this -> stats [ $this -> uids [ $uid2 ]][ 'zonb' ] = $this -> stats [ $this -> uids [ $uid2 ]][ 'min_zonb' ];
}
}
2023-01-10 16:29:32 +00:00
//генерируем команды
2022-12-30 19:03:37 +00:00
public function genTeams ( $you ) : string
2022-12-19 20:22:19 +00:00
{
global $u ;
$ret = '' ;
$teams = [];
2023-01-10 16:29:32 +00:00
//выделяем пользователей
2022-12-19 20:22:19 +00:00
$i = 0 ;
$j = 1 ;
$tms = [];
$teams [ $this -> users [ $this -> uids [ $you ]][ 'team' ]] = '' ;
$tms [ 0 ] = $this -> users [ $this -> uids [ $you ]][ 'team' ];
while ( $i < count ( $this -> uids )) {
if ( $this -> stats [ $i ][ 'hpNow' ] > 0 ) {
if ( ! isset ( $teams [ $this -> users [ $i ][ 'team' ]])) {
$tms [ $j ] = $this -> users [ $i ][ 'team' ];
$j ++ ;
}
if ( $this -> stats [ $i ][ 'hpNow' ] < 0 ) {
$this -> stats [ $i ][ 'hpNow' ] = 0 ;
}
if ( $this -> stats [ $i ][ 'hpAll' ] < $this -> stats [ $i ][ 'hpNow' ]) {
$this -> stats [ $i ][ 'hpNow' ] = $this -> stats [ $i ][ 'hpAll' ];
}
$a1ms = '' ;
2022-12-30 19:03:37 +00:00
if ( isset ( $this -> ga [ $this -> users [ $i ][ 'id' ]][ $you ]) && $this -> ga [ $this -> users [ $i ][ 'id' ]][ $you ]) {
2022-12-19 20:22:19 +00:00
$a1mc = '' ;
2022-12-30 19:03:37 +00:00
$ac = mysql_fetch_array (
mysql_query (
'SELECT * FROM `battle_act` WHERE `id` = "' . $this -> ga [ $this -> users [ $i ][ 'id' ]][ $you ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( isset ( $ac ) && $ac [ 'time' ] + $this -> info [ 'timeout' ] - 15 < time ()) {
$a1mc = 'color:red;' ;
}
$a1ms = 'style=\"text-decoration: underline; ' . $a1mc . '\"' ;
2022-12-30 19:03:37 +00:00
} elseif ( isset ( $this -> ag [ $this -> users [ $i ][ 'id' ]][ $you ]) && $this -> ag [ $this -> users [ $i ][ 'id' ]][ $you ]) {
2022-12-19 20:22:19 +00:00
$a1mc = '' ;
2022-12-30 19:03:37 +00:00
$ac = mysql_fetch_array (
mysql_query (
'SELECT * FROM `battle_act` WHERE `id` = "' . $this -> ag [ $this -> users [ $i ][ 'id' ]][ $you ] . '" LIMIT 1'
)
);
2022-12-19 20:22:19 +00:00
if ( isset ( $ac ) && $ac [ 'time' ] + $this -> info [ 'timeout' ] - 15 < time ()) {
$a1mc = 'color:green;' ;
}
$a1ms = 'style=\"text-decoration: overline; ' . $a1mc . '\"' ;
}
if ( $this -> users [ $i ][ 'login2' ] == '' ) {
$this -> users [ $i ][ 'login2' ] = $this -> users [ $i ][ 'login' ];
}
if ( $this -> users [ $i ][ 'align' ] == 9 ) {
$this -> stats [ $i ][ 'hpNow' ] = $this -> stats [ $i ][ 'hpNow' ] / ( $this -> stats [ $i ][ 'hpAll' ] / 100 );
$this -> stats [ $i ][ 'hpAll' ] = '100%' ;
}
$ldr = '' ;
if ( $this -> users [ $i ][ 'lider' ] == $this -> info [ 'id' ]) {
2023-01-10 16:29:32 +00:00
$ldr = '<img width=24 height=15 title=Лидер группы src=https://img.new-combats.com/i/lead' . $this -> users [ $i ][ 'team' ] . '.gif \>' ;
2022-12-19 20:22:19 +00:00
}
2022-12-30 19:03:37 +00:00
$teams [ $this -> users [ $i ][ 'team' ]] .= ', ' . $ldr . '<span ' . $a1ms . ' class=\"CSSteam' . $this -> users [ $i ][ 'team' ] . '\" onClick=\"top.chat.addto(\'' . $this -> users [ $i ][ 'login2' ] . '\',\'to\'); return false;\" oncontextmenu=\"top.infoMenu(\'' . $this -> users [ $i ][ 'login2' ] . '\',event,\'main\'); return false;\">' . $this -> users [ $i ][ 'login2' ] . '</span><small> [' . floor (
$this -> stats [ $i ][ 'hpNow' ]
) . '/' . $this -> stats [ $i ][ 'hpAll' ] . ']</small>' ;
2022-12-19 20:22:19 +00:00
}
$i ++ ;
}
2023-01-10 16:29:32 +00:00
//генерируем команды
2022-12-19 20:22:19 +00:00
$i = 0 ;
while ( $i < count ( $tms )) {
$teams [ $tms [ $i ]] = ltrim ( $teams [ $tms [ $i ]], ', ' );
if ( $teams [ $tms [ $i ]] != '' ) {
$teams [ $tms [ $i ]] = '<img src=\"https://img.new-combats.com/i/lock3.gif\" style=\"cursor:pointer\" width=\"20\" height=\"15\" onClick=\"top.chat.addto(\'team' . $tms [ $i ] . '\',\'private\'); return false;\"> ' . $teams [ $tms [ $i ]];
$ret .= $teams [ $tms [ $i ]];
if ( count ( $tms ) > $i + 1 ) {
2023-01-10 16:29:32 +00:00
$ret .= ' <span class=\"CSSvs\"> против </span> ' ;
2022-12-19 20:22:19 +00:00
}
}
$i ++ ;
}
return 'genteam("' . $ret . '");' ;
}
public function addTravm ( $uid , $type , $lvl )
{
global $u ;
$t = $type ;
if ( $t == 1 ) {
2023-01-10 16:29:32 +00:00
$name = 'Легкая травма' ;
$stat = rand ( 1 , 3 ); // пока без духовности
$timeEnd = rand ( 1 , 3 ); // время травмы от 1.30 до 6 часов
2022-12-19 20:22:19 +00:00
$data = 'add_s' . $stat . '=-' . $lvl ;
$img = 'eff_travma1.gif' ;
$v1 = 1 ;
} elseif ( $t == 2 ) {
2023-01-10 16:29:32 +00:00
$name = 'Средняя травма' ;
$stat = rand ( 1 , 3 ); // пока без духовности
$timeEnd = rand ( 3 , 5 ); // время травмы от 6 до 12 часов
2022-12-19 20:22:19 +00:00
$data = 'add_s' . $stat . '=-' . ( $lvl * 2 );
$v1 = 2 ;
$img = 'eff_travma2.gif' ;
} elseif ( $t == 3 ) {
2023-01-10 16:29:32 +00:00
$name = 'Тяжелая травма' ;
$stat = rand ( 1 , 3 ); // пока без духовности
$timeEnd = rand ( 5 , 7 ); // время травмы от 12 до 6 часов
2022-12-19 20:22:19 +00:00
$data = 'add_s' . $stat . '=-' . ( $lvl * 3 );
$v1 = 3 ;
$img = 'eff_travma3.gif' ;
} elseif ( $t == 4 ) {
2023-01-10 16:29:32 +00:00
$name = 'Неизлечимая травма' ;
$stat = rand ( 1 , 3 ); // пока без духовности
$timeEnd = 24 ; // время травмы от 24 часа
2022-12-19 20:22:19 +00:00
$data = 'add_s' . $stat . '=-' . ( $lvl * 50 );
$v1 = 4 ;
$img = 'eff_travma4.gif' ;
}
2022-12-30 19:03:37 +00:00
$timeEnd *= 3600 ;
$ins = mysql_query (
'INSERT INTO `eff_users` (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ("0","' . time (
) . '","-1","' . $name . '","' . $data . '","' . $uid . '", "4", "' . $img . '","' . $timeEnd . '", "' . $v1 . '")'
);
$ins = mysql_query (
'INSERT INTO `eff_users` (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ("0","' . time (
2023-01-10 16:29:32 +00:00
) . '","-1","Иммунитет: Защита от травм","add_notravma=1","' . $uid . '", "263", "cure1.gif","21600", "")'
2022-12-30 19:03:37 +00:00
);
2022-12-19 20:22:19 +00:00
}
public function testUserInfoBattle ( $uid )
{
global $u ;
if ( ! isset ( $this -> uids [ $uid ])) {
2023-01-10 16:29:32 +00:00
//Заносим данные о б игроке снова (видимо он погиб и е г о стерло с инфо)
2022-12-19 20:22:19 +00:00
if ( ! isset ( $this -> uids [ $uid ])) {
$this -> uids [ $uid ] = count ( $this -> users );
}
2022-12-30 19:03:37 +00:00
$this -> users [ $this -> uids [ $uid ]] = mysql_fetch_array (
mysql_query (
' SELECT
2022-12-19 20:22:19 +00:00
`u` . `id` , `u` . `login` , `u` . `login2` , `u` . `online` , `u` . `admin` , `u` . `city` , `u` . `cityreg` , `u` . `align` , `u` . `align_lvl` , `u` . `align_exp` , `u` . `clan` ,
`u` . `level` , `u` . `money` , `u` . `money3` , `u` . `money2` , `u` . `money4` , `u` . `battle` , `u` . `sex` , `u` . `obraz` , `u` . `win` , `u` . `win_t` ,
`u` . `lose` , `u` . `lose_t` , `u` . `nich` , `u` . `timeMain` , `u` . `invis` , `u` . `bot_id` , `u` . `animal` , `u` . `type_pers` ,
2023-01-06 14:57:25 +00:00
`u` . `notrhod` , `u` . `bot_room` , `u` . `inUser` , `u` . `inTurnir` , `u` . `inTurnirnew` , `u` . `stopexp` , `u` . `real` ,
2022-12-19 20:22:19 +00:00
`st` .*
2022-12-30 19:03:37 +00:00
FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON ( `u` . `id` = `st` . `id` ) WHERE `u` . `id` = " ' . $uid . ' " LIMIT 1 '
)
);
2022-12-19 20:22:19 +00:00
$this -> stats [ $this -> uids [ $uid ]] = $u -> getStats ( $this -> users [ $this -> uids [ $uid ]], 0 , 0 , false , false , true );
}
}
2023-01-10 16:29:32 +00:00
///----Спасение функция
2022-12-19 20:22:19 +00:00
public function spaCheck ( $u1 )
{
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'hpNow' ] < 1 ) {
mysql_query ( 'DELETE FROM `battle_act` WHERE `uid1` = "' . $u1 . '" OR `uid2` = "' . $u1 . '"' );
2022-12-30 19:03:37 +00:00
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'spasenie' ] > 0 && $this -> users [ $this -> uids [ $u1 ]][ 'tactic7' ] >= 25 ) {
2023-01-10 16:29:32 +00:00
//Свиток спасения
2022-12-19 20:22:19 +00:00
if ( $this -> stats [ $this -> uids [ $u1 ]][ 's7' ] > 49 && $this -> stats [ $this -> uids [ $u1 ]][ 's7' ] < 75 ) {
2023-01-10 16:29:32 +00:00
//Даем призрачку
2022-12-30 19:03:37 +00:00
mysql_query (
" INSERT INTO `eff_users`
2022-12-19 20:22:19 +00:00
( `id_eff` , `uid` , `name` , `data` , `overType` , `timeUse` , `timeAce` , `user_use` , `delete` , `v1` , `v2` , `img2` , `x` , `hod` , `bj` , `sleeptime` , `no_Ace` , `file_finish` , `tr_life_user` , `deactiveTime` , `deactiveLast` , `mark` , `bs` ) VALUES
2023-01-10 16:29:32 +00:00
( 22 , '" . $u1 . "' , 'Призрачная защита' , 'add_zmproc=75|add_zaproc=75' , 0 , 77 , 0 , '" . $u1 . "' , 0 , 'priem' , 141 , 'spirit_block25.gif' , 1 , 1 , '0' , 0 , 0 , '' , 0 , 0 , 0 , 0 , 0 ); "
2022-12-30 19:03:37 +00:00
);
2022-12-19 20:22:19 +00:00
$this -> stats [ $this -> uids [ $u1 ]][ 'hpNow' ] = floor ( $this -> stats [ $this -> uids [ $u1 ]][ 'hpAll' ] * 0.5 );
$this -> stats [ $this -> uids [ $u1 ]][ 'mpNow' ] = floor ( $this -> stats [ $this -> uids [ $u1 ]][ 'mpAll' ] * 0.5 );
} elseif ( $this -> stats [ $this -> uids [ $u1 ]][ 's7' ] > 74 && $this -> stats [ $this -> uids [ $u1 ]][ 's7' ] < 100 ) {
2023-01-10 16:29:32 +00:00
//Абсолютная защита
2022-12-30 19:03:37 +00:00
mysql_query (
" INSERT INTO `eff_users`
2022-12-19 20:22:19 +00:00
( `id_eff` , `uid` , `name` , `data` , `overType` , `timeUse` , `timeAce` , `user_use` , `delete` , `v1` , `v2` , `img2` , `x` , `hod` , `bj` , `sleeptime` , `no_Ace` , `file_finish` , `tr_life_user` , `deactiveTime` , `deactiveLast` , `mark` , `bs` ) VALUES
2023-01-10 16:29:32 +00:00
( 22 , '" . $u1 . "' , 'Абсолютная защита' , 'add_zmproc=100|add_zaproc=100' , 0 , 77 , 0 , '" . $u1 . "' , 0 , 'priem' , 358 , 'block_absolute.gif' , 1 , 1 , '0' , 0 , 0 , '' , 0 , 0 , 0 , 0 , 0 ); "
2022-12-30 19:03:37 +00:00
);
2022-12-19 20:22:19 +00:00
$this -> stats [ $this -> uids [ $u1 ]][ 'hpNow' ] = floor ( $this -> stats [ $this -> uids [ $u1 ]][ 'hpAll' ] * 0.75 );
$this -> stats [ $this -> uids [ $u1 ]][ 'mpNow' ] = floor ( $this -> stats [ $this -> uids [ $u1 ]][ 'mpAll' ] * 0.75 );
} elseif ( $this -> stats [ $this -> uids [ $u1 ]][ 's7' ] > 99 ) {
2023-01-10 16:29:32 +00:00
//Абсолютная защита x2
2022-12-30 19:03:37 +00:00
mysql_query (
" INSERT INTO `eff_users`
2022-12-19 20:22:19 +00:00
( `id_eff` , `uid` , `name` , `data` , `overType` , `timeUse` , `timeAce` , `user_use` , `delete` , `v1` , `v2` , `img2` , `x` , `hod` , `bj` , `sleeptime` , `no_Ace` , `file_finish` , `tr_life_user` , `deactiveTime` , `deactiveLast` , `mark` , `bs` ) VALUES
2023-01-10 16:29:32 +00:00
( 22 , '" . $u1 . "' , 'Защита Мироздателя' , 'add_zmproc=100|add_zaproc=100' , 0 , 77 , 0 , '" . $u1 . "' , 0 , 'priem' , 358 , 'wis_white_shield.gif' , 1 , 2 , '0' , 0 , 0 , '' , 0 , 0 , 0 , 0 , 0 ); "
2022-12-30 19:03:37 +00:00
);
2022-12-19 20:22:19 +00:00
$this -> stats [ $this -> uids [ $u1 ]][ 'hpNow' ] = floor ( $this -> stats [ $this -> uids [ $u1 ]][ 'hpAll' ]);
$this -> stats [ $this -> uids [ $u1 ]][ 'mpNow' ] = floor ( $this -> stats [ $this -> uids [ $u1 ]][ 'mpAll' ]);
}
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'hpNow' ] < 1 ) {
$this -> stats [ $this -> uids [ $u1 ]][ 'hpNow' ] = 1 ;
}
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'mpNow' ] < 1 ) {
$this -> stats [ $this -> uids [ $u1 ]][ 'mpNow' ] = 1 ;
}
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'hpNow' ] > $this -> stats [ $this -> uids [ $u1 ]][ 'hpAll' ]) {
$this -> stats [ $this -> uids [ $u1 ]][ 'hpNow' ] = floor ( $this -> stats [ $this -> uids [ $u1 ]][ 'hpAll' ]);
}
if ( $this -> stats [ $this -> uids [ $u1 ]][ 'mpNow' ] > $this -> stats [ $this -> uids [ $u1 ]][ 'mpAll' ]) {
$this -> stats [ $this -> uids [ $u1 ]][ 'mpNow' ] = floor ( $this -> stats [ $this -> uids [ $u1 ]][ 'mpAll' ]);
}
2022-12-30 19:03:37 +00:00
mysql_query (
'DELETE FROM `eff_users` WHERE `uid` = "' . $u1 . '" AND `id_eff` = 22 AND `v1` = "priem" AND `v2` = 324'
);
mysql_query (
'UPDATE `stats` SET `hpNow` = "' . $this -> stats [ $this -> uids [ $u1 ]][ 'hpNow' ] . '",`mpNow` = "' . $this -> stats [ $this -> uids [ $u1 ]][ 'mpNow' ] . '", `tactic7` = `tactic7` - 25 WHERE `id` = "' . $u1 . '" LIMIT 1'
);
2023-01-10 16:29:32 +00:00
$mas [ 'text' ] = '{tm1} <strong>' . $this -> stats [ $this -> uids [ $u1 ]][ 'login' ] . '</strong> убит...<strong>' . $this -> stats [ $this -> uids [ $u1 ]][ 'login' ] . '</strong> был спасен. ' ;
2022-12-30 19:03:37 +00:00
$this -> priemAddLog (
$id , 1 , 2 , $u -> info [ 'id' ], $u1 ,
2022-12-19 20:22:19 +00:00
' ' ,
$mas [ 'text' ],
( $this -> hodID + 0 )
);
} else {
if ( isset ( $this -> stats [ $this -> uids [ $u1 ]][ 'login' ])) {
mysql_query ( 'UPDATE `stats` SET `hpNow` = "0",`mpNow` = "0" WHERE `id` = "' . $u1 . '" LIMIT 1' );
$this -> stats [ $this -> uids [ $u1 ]][ 'hpNow' ] = 0 ;
$this -> users [ $this -> uids [ $u1 ]][ 'hpNow' ] = 0 ;
2023-01-10 16:29:32 +00:00
$mas [ 'text' ] = '{tm1} <strong>' . $this -> stats [ $this -> uids [ $u1 ]][ 'login' ] . '</strong> погиб.' ;
2022-12-30 19:03:37 +00:00
$this -> priemAddLog (
$id , 1 , 2 , $u -> info [ 'id' ], $u1 ,
2022-12-19 20:22:19 +00:00
' ' ,
$mas [ 'text' ],
( $this -> hodID + 1 )
2023-01-10 16:29:32 +00:00
//Удаляем размен из базы //Т У Т возможен лаг удаления
2022-12-19 20:22:19 +00:00
);
2022-12-30 19:03:37 +00:00
mysql_query (
'DELETE FROM `battle_act` WHERE `uid1` = "' . $this -> stats [ $this -> uids [ $u1 ]][ 'id' ] . '" OR `uid2` = "' . $this -> stats [ $this -> uids [ $u1 ]][ 'id' ] . '" OR `uid2` = "-' . $this -> stats [ $this -> uids [ $u1 ]][ 'id' ] . '"'
);
mysql_query (
'DELETE FROM `eff_users` WHERE `uid` = "' . $this -> stats [ $this -> uids [ $u1 ]][ 'id' ] . '" AND `v1` = "priem" AND `delete` =0'
);
2022-12-19 20:22:19 +00:00
}
}
}
}
}