diff --git a/_incl_data/class/Battle.php b/_incl_data/class/Battle.php
index e7191db3..e3a2c451 100644
--- a/_incl_data/class/Battle.php
+++ b/_incl_data/class/Battle.php
@@ -1,8 +1,11 @@
6,
'серая' => 7,
];
- public array $prm = [
- /*
- act: 1 - когда персонаж получает повреждение
- 2 - когда персонаж наносит удар
- type_of: 1 - уворот
- 2 - крит
- 3 - атака
- 4 - защита
- 5 - прочее
- */
+ /**
+ * act: 1 - когда персонаж получает повреждение
+ * 2 - когда персонаж наносит удар
+ *
+ * type_of: 1 - уворот
+ * 2 - крит
+ * 3 - атака
+ * 4 - защита
+ * 5 - прочее
+ * @var array|array[]
+ */
+ private array $prm = [
1 => ['name' => 'Прикрыться', 'act' => 1, 'type_of' => 5],
2 => ['name' => 'Вломить', 'act' => 2, 'type_of' => 3],
4 => ['name' => 'Сильный удар', 'act' => 2, 'type_of' => 3],
@@ -94,208 +99,129 @@ class Battle
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]
- ,
- 21 => ['name' => 'Оледенение [4]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 73 => ['name' => 'Оледенение [5]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 74 => ['name' => 'Оледенение [6]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 75 => ['name' => 'Оледенение [7]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 76 => ['name' => 'Оледенение [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 77 => ['name' => 'Оледенение [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 78 => ['name' => 'Оледенение [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 79 => ['name' => 'Оледенение [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 22 => ['name' => 'Отравление [6]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 80 => ['name' => 'Отравление [7]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 81 => ['name' => 'Отравление [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 82 => ['name' => 'Отравление [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 83 => ['name' => 'Отравление [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 84 => ['name' => 'Отравление [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 36 => ['name' => 'Регенерация [5]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 85 => ['name' => 'Регенерация [6]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 86 => ['name' => 'Регенерация [7]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 87 => ['name' => 'Регенерация [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 88 => ['name' => 'Регенерация [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 89 => ['name' => 'Регенерация [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 90 => ['name' => 'Регенерация [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 23 => ['name' => 'Ядовитое Облако [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 70 => ['name' => 'Ядовитое Облако [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 71 => ['name' => 'Ядовитое Облако [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 72 => ['name' => 'Ядовитое Облако [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 269 => ['name' => 'Иней [8]', 'act' => 2, 'type_of' => 9]
- ,
- 276 => ['name' => 'Иней [9]', 'act' => 2, 'type_of' => 9]
- ,
- 277 => ['name' => 'Иней [10]', 'act' => 2, 'type_of' => 9]
- ,
- 270 => ['name' => 'Духи Льда', 'act' => 2, 'type_of' => 5, 'type_sec' => 5]
- ,
- 280 => ['name' => 'Хватка Льда', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 281 => ['name' => 'Жертва Воде', 'act' => 2, 'type_of' => 5]
- ,
+ 240 => ['name' => 'Хлебнуть крови', 'act' => 2, 'type_of' => 5],
+ 21 => ['name' => 'Оледенение [4]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 73 => ['name' => 'Оледенение [5]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 74 => ['name' => 'Оледенение [6]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 75 => ['name' => 'Оледенение [7]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 76 => ['name' => 'Оледенение [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 77 => ['name' => 'Оледенение [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 78 => ['name' => 'Оледенение [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 79 => ['name' => 'Оледенение [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 22 => ['name' => 'Отравление [6]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 80 => ['name' => 'Отравление [7]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 81 => ['name' => 'Отравление [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 82 => ['name' => 'Отравление [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 83 => ['name' => 'Отравление [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 84 => ['name' => 'Отравление [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 36 => ['name' => 'Регенерация [5]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 85 => ['name' => 'Регенерация [6]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 86 => ['name' => 'Регенерация [7]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 87 => ['name' => 'Регенерация [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 88 => ['name' => 'Регенерация [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 89 => ['name' => 'Регенерация [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 90 => ['name' => 'Регенерация [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 23 => ['name' => 'Ядовитое Облако [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 70 => ['name' => 'Ядовитое Облако [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 71 => ['name' => 'Ядовитое Облако [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 72 => ['name' => 'Ядовитое Облако [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 269 => ['name' => 'Иней [8]', 'act' => 2, 'type_of' => 9],
+ 276 => ['name' => 'Иней [9]', 'act' => 2, 'type_of' => 9],
+ 277 => ['name' => 'Иней [10]', 'act' => 2, 'type_of' => 9],
+ 270 => ['name' => 'Духи Льда', 'act' => 2, 'type_of' => 5, 'type_sec' => 5],
+ 280 => ['name' => 'Хватка Льда', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 281 => ['name' => 'Жертва Воде', 'act' => 2, 'type_of' => 5],
282 => ['name' => 'Ледяное Спасение', 'act' => 2, 'type_of' => 5],
- 24 => ['name' => 'Медитация', 'act' => 2, 'type_of' => 0, 'moment' => 3]
- ,
- 210 => ['name' => 'Магический Барьер [4]', 'act' => 2, 'type_of' => 8]
- ,
- 209 => ['name' => 'Магический Барьер [7]', 'act' => 2, 'type_of' => 8]
- ,
- 208 => ['name' => 'Магический Барьер [8]', 'act' => 2, 'type_of' => 8]
- ,
- 207 => ['name' => 'Магический Барьер [9]', 'act' => 2, 'type_of' => 8]
- ,
- 206 => ['name' => 'Магический Барьер [10]', 'act' => 2, 'type_of' => 8]
- ,
- 284 => ['name' => 'Магический Барьер [11]', 'act' => 2, 'type_of' => 8]
- ,
- 175 => ['name' => 'Магический Барьер [7]', 'act' => 2, 'type_of' => 8]
- ,
- 176 => ['name' => 'Магический Барьер [8]', 'act' => 2, 'type_of' => 8]
- ,
- 177 => ['name' => 'Магический Барьер [9]', 'act' => 2, 'type_of' => 8]
- ,
- 178 => ['name' => 'Магический Барьер [10]', 'act' => 2, 'type_of' => 8]
- ,
- 179 => ['name' => 'Магический Барьер [11]', 'act' => 2, 'type_of' => 8]
- ,
- 42 => ['name' => 'Метеорит [6]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 121 => ['name' => 'Метеорит [7]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 122 => ['name' => 'Метеорит [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 123 => ['name' => 'Метеорит [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 124 => ['name' => 'Метеорит [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 125 => ['name' => 'Метеорит [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 249 => ['name' => 'Каменный Щит', 'act' => 2, 'type_of' => 4]
- ,
- 248 => ['name' => 'Песчаный Щит', 'act' => 2, 'type_of' => 4]
- ,
- 251 => ['name' => 'Заземление: Плюс', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 252 => ['name' => 'Заземление: Минус', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 273 => ['name' => 'Туманный Образ [10]', 'act' => 1, 'type_of' => 4]
- ,
- 286 => ['name' => 'Туманный Образ [9]', 'act' => 1, 'type_of' => 4]
- ,
- 287 => ['name' => 'Туманный Образ [8]', 'act' => 1, 'type_of' => 4]
- ,
- 288 => ['name' => 'Туманный Образ [7]', 'act' => 1, 'type_of' => 4]
- ,
- 255 => ['name' => 'Воздушный Щит', 'act' => 2, 'type_of' => 8]
- ,
- 337 => ['name' => 'Выпить Душу', 'act' => 2, 'type_of' => 5]
- ,
- 33 => ['name' => 'Пожирающее Пламя [6]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 56 => ['name' => 'Пожирающее Пламя [7]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 57 => ['name' => 'Пожирающее Пламя [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 58 => ['name' => 'Пожирающее Пламя [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 59 => ['name' => 'Пожирающее Пламя [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 60 => ['name' => 'Пожирающее Пламя [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 245 => ['name' => 'Огненный Щит', 'act' => 2, 'type_of' => 9]
- ,
- 327 => ['name' => 'Живая Вода', 'act' => 2, 'type_of' => 0, 'moment' => 3]
- ,
- 328 => ['name' => 'Сушеный Мухомор', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 329 => ['name' => 'Мешочек Пыли', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 330 => ['name' => 'Отвар когтей ПГ', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 331 => ['name' => 'Отвар Василиска', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 332 => ['name' => 'Точильный Камень', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 333 => ['name' => 'Волшебный Эликсир', 'act' => 2, 'type_of' => 0, 'moment' => 3]
- ,
- 334 => ['name' => 'Цепь Защитника', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
+ 24 => ['name' => 'Медитация', 'act' => 2, 'type_of' => 0, 'moment' => 3],
+ 210 => ['name' => 'Магический Барьер [4]', 'act' => 2, 'type_of' => 8],
+ 209 => ['name' => 'Магический Барьер [7]', 'act' => 2, 'type_of' => 8],
+ 208 => ['name' => 'Магический Барьер [8]', 'act' => 2, 'type_of' => 8],
+ 207 => ['name' => 'Магический Барьер [9]', 'act' => 2, 'type_of' => 8],
+ 206 => ['name' => 'Магический Барьер [10]', 'act' => 2, 'type_of' => 8],
+ 284 => ['name' => 'Магический Барьер [11]', 'act' => 2, 'type_of' => 8],
+ 175 => ['name' => 'Магический Барьер [7]', 'act' => 2, 'type_of' => 8],
+ 176 => ['name' => 'Магический Барьер [8]', 'act' => 2, 'type_of' => 8],
+ 177 => ['name' => 'Магический Барьер [9]', 'act' => 2, 'type_of' => 8],
+ 178 => ['name' => 'Магический Барьер [10]', 'act' => 2, 'type_of' => 8],
+ 179 => ['name' => 'Магический Барьер [11]', 'act' => 2, 'type_of' => 8],
+ 42 => ['name' => 'Метеорит [6]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 121 => ['name' => 'Метеорит [7]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 122 => ['name' => 'Метеорит [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 123 => ['name' => 'Метеорит [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 124 => ['name' => 'Метеорит [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 125 => ['name' => 'Метеорит [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 249 => ['name' => 'Каменный Щит', 'act' => 2, 'type_of' => 4],
+ 248 => ['name' => 'Песчаный Щит', 'act' => 2, 'type_of' => 4],
+ 251 => ['name' => 'Заземление: Плюс', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 252 => ['name' => 'Заземление: Минус', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 273 => ['name' => 'Туманный Образ [10]', 'act' => 1, 'type_of' => 4],
+ 286 => ['name' => 'Туманный Образ [9]', 'act' => 1, 'type_of' => 4],
+ 287 => ['name' => 'Туманный Образ [8]', 'act' => 1, 'type_of' => 4],
+ 288 => ['name' => 'Туманный Образ [7]', 'act' => 1, 'type_of' => 4],
+ 255 => ['name' => 'Воздушный Щит', 'act' => 2, 'type_of' => 8],
+ 337 => ['name' => 'Выпить Душу', 'act' => 2, 'type_of' => 5],
+ 33 => ['name' => 'Пожирающее Пламя [6]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 56 => ['name' => 'Пожирающее Пламя [7]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 57 => ['name' => 'Пожирающее Пламя [8]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 58 => ['name' => 'Пожирающее Пламя [9]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 59 => ['name' => 'Пожирающее Пламя [10]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 60 => ['name' => 'Пожирающее Пламя [11]', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 245 => ['name' => 'Огненный Щит', 'act' => 2, 'type_of' => 9],
+ 327 => ['name' => 'Живая Вода', 'act' => 2, 'type_of' => 0, 'moment' => 3],
+ 328 => ['name' => 'Сушеный Мухомор', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 329 => ['name' => 'Мешочек Пыли', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 330 => ['name' => 'Отвар когтей ПГ', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 331 => ['name' => 'Отвар Василиска', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 332 => ['name' => 'Точильный Камень', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 333 => ['name' => 'Волшебный Эликсир', 'act' => 2, 'type_of' => 0, 'moment' => 3],
+ 334 => ['name' => 'Цепь Защитника', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
335 => [
'name' => 'Эликсир Безумного Критовика',
'act' => 2,
'type_of' => 0,
'moment' => 0,
'moment_end' => 3,
- ]
- ,
- 299 => ['name' => 'Ядовитые язвы', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 300 => ['name' => 'Элементарный заряд', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 301 => ['name' => 'Темное ранение', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 302 => ['name' => 'Подлечиться', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
- 303 => ['name' => 'Шкура поглощения', 'act' => 2, 'type_of' => 4]
- ,
- 304 => ['name' => 'Особенное проклятье!', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3]
- ,
+ ],
+ 299 => ['name' => 'Ядовитые язвы', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 300 => ['name' => 'Элементарный заряд', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 301 => ['name' => 'Темное ранение', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 302 => ['name' => 'Подлечиться', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
+ 303 => ['name' => 'Шкура поглощения', 'act' => 2, 'type_of' => 4],
+ 304 => ['name' => 'Особенное проклятье!', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
305 => ['name' => 'Кровожадность', 'act' => 2, 'type_of' => 0, 'moment' => 0, 'moment_end' => 3],
];
public bool $cached = false; //Кэширование данных
- public int $expCoef = 0; # % опыта в бою
- public int $aBexp = 0; //Добавочный опыт в боях
+ private int $expCoef = 0; # % опыта в бою
+ private int $aBexp = 0; //Добавочный опыт в боях
public int $mainStatus = 1; //Отображаем главное окно (1 - можно бить, 2 - ожидаем ход противника, 3 - Проиграли. Ожидаем завершения поединка)
public array $info = []; //Информация о поединке
- public $users; //Информация о пользователях в этом бою
+ public array $users = []; //Информация о пользователях в этом бою
public array $stats = []; //Информация о статах пользователей в этом бою
public array $uids = []; //Список пользователей и их id в stats или users пример id пользователя = 555 , то $uids[555] выдаст его порядковый номер в массиве users \ stats
public array $atacks = []; //Список ударов в этом бою (действующих)
public array $ga = []; //Список uid кто нанес удар и по кому $ga[ {id кто ударил} ][ {id кого ударил} ]
- public array $ag = []; //Список uid кто нанес удар и по кому $ga[ {id кого ударили} ][ {id кто ударил} ]
- public int $na = 1; //возможность использовать удар
- public int $nm = 1; //возможность использовать заклятия
+ private array $ag = []; //Список uid кто нанес удар и по кому $ga[ {id кого ударили} ][ {id кто ударил} ]
public int $hodID = 0;
- public int|array $stnZbVs = 0;
- public array $bots = []; // ID ботов
- public array $iBots = []; // i бота
- public array $stnZb = [];
+ private int|array $stnZbVs = 0;
+ private array $bots = []; // ID ботов
+ private array $iBots = []; // i бота
+ private array $stnZb = [];
/** Выбранные зоны атаки и блока.
* @var array
*/
- public array $uAtc = [
+ private array $uAtc = [
'id' => 0,
'a' => [1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0],
'b' => 0,
]; //Если игрок нанес удар
- public array $lg_itm = [
+
+ /**
+ * Чем лупили
+ * @var array|array[]
+ */
+ private array $lgItm = [
0 => [
'грудью',
'ребром руки',
@@ -321,8 +247,13 @@ class Battle
],
5 => ['сучковатой палкой', 'посохом', 'тяжелой тростью', 'корявым посохом', 'основанием посоха'],
22 => ['костылем'],
- ]; // Чем лупили
- public array $lg_zon = [
+ ];
+
+ /**
+ * Куда лупили
+ * @var array|array[]
+ */
+ private array $lgZon = [
1 => [
'в нос',
'в глаз',
@@ -338,21 +269,24 @@ class Battle
3 => ['в бок', 'по желудку', 'по левой руке', 'по правой руке'],
4 => ['по <вырезано цензурой>', 'в пах', 'в промежность', 'по левой ягодице', 'по правой ягодице'],
5 => ['по ногам', 'в область правой пятки', 'в область левой пятки', 'по коленной чашечке', 'по икрам'],
- ]; // Куда лупили
- public string $e; //Ошибка (текст)
+ ];
+
+ /**
+ * Ошибка (текст)
+ * @var string
+ */
+ public string $e;
public array $is = [];
public array $items = [];
//Очистка кэша для ...
- public array $uclearc = [];
- public array $ucleari = [];
- public array $ainm = [];
+ private array $uclearc = [];
+ private array $ucleari = [];
+ private array $ainm = [];
public array $rehodeff = [];
- public array $poglast = [];
- public array $prlog = [];
+ private array $poglast = [];
public array $um_priem = [];
- //
- public int $import_user = 0;
+ private int $importUser = 0;
public array $pr_not_use = [];
public array $del_val = [];
@@ -447,10 +381,10 @@ class Battle
$this->stats[$this->uids[$uid]]['last_hp'] = -$hp;
Db::sql(
'update stats set last_hp = ?, tactic7 = ? where id = ?', [
- $this->users[$this->uids[$uid]]['last_hp'],
- $this->users[$this->uids[$uid]]['tactic7'],
- $uid,
- ]
+ $this->users[$this->uids[$uid]]['last_hp'],
+ $this->users[$this->uids[$uid]]['tactic7'],
+ $uid,
+ ]
);
}
@@ -468,7 +402,7 @@ class Battle
* @param int $id
* @return void
*/
- public function deleffm(int $pid, int $uid, int $id)
+ public function deleffm(int $pid, int $uid, int $id): void
{
if ($id > 0) {
Db::sql('delete from eff_users where id = ? and v1 = ? and v2 != 0', [$id, 'priem']);
@@ -479,7 +413,7 @@ class Battle
//Проверяем завершение боя
- public function clear_cache_start()
+ public function clear_cache_start(): void
{
$uids = implode(',', $this->ucleari);
Db::sql('delete from battle_cache where uid in (?)', [$uids]);
@@ -490,11 +424,11 @@ class Battle
/**
* Проверка урон приемов над защитными.
* Игрок 1 бьет по Игроку 2 при помощи приема на hp ед. здоровья.
- * @param $u2
- * @param $hp
- * @return mixed
+ * @param $u2
+ * @param array $hp
+ * @return array
*/
- public function testYronPriemAttack($u2, $hp)
+ public function testYronPriemAttack($u2, array $hp): array
{
//Получаем приемы и смотрим когда какой действует
foreach ($this->stats[$this->uids[$u2]]['effects'] as $effect) {
@@ -515,27 +449,25 @@ class Battle
return $hp;
}
- public function takeYronNow($uid, $y): void
+ public function takeYronNow(int $uid, int|float $hpDamageValue): void
{
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;
+
+ (int)$hpDamageValue = floor($hpDamageValue);
+ $this->users[$this->uids[$uid]]['battle_yron'] += $hpDamageValue;
+ $this->stats[$this->uids[$uid]]['battle_yron'] += $hpDamageValue;
if ($uid == $u->info['id']) {
- $u->info['battle_yron'] += $y;
- $u->stats['battle_yron'] += $y;
+ $u->info['battle_yron'] += $hpDamageValue;
+ $u->stats['battle_yron'] += $hpDamageValue;
}
- Db::sql('update stats set battle_yron = battle_yron + ? where id = ?', [$y, $uid]);
+ Db::sql('update stats set battle_yron = battle_yron + ? where id = ?', [$hpDamageValue, $uid]);
}
- public function myInfo($id, $t)
+ public function myInfo($id, $t): string
{
global $u;
if (!isset($this->users[$this->uids[$id]]) && $u->info['id'] != $id) {
- return false;
+ return '';
}
if ($u->info['id'] == $id || ($u->info['enemy'] == $id && $id > 0)) {
//Всегда обновляем
@@ -553,30 +485,38 @@ class Battle
$st = $this->stats[$this->uids[$id]];
$itm = $this->stats[$this->uids[$id]]['items'];
$eff = $this->stats[$this->uids[$id]]['effects'];
- $ef = '';
$i = 0;
+ $img = Config::img();
+
+ $armor1 = '
Броня головы: ';
+ $armor2 = '
Броня корпуса: ';
+ $armor3 = '
Броня пояса: ';
+ $armor4 = '
Броня ног: ';
+
if ($u->info['seff'] < 1) {
- $ef .= '
-
Свернуть\',event,3,1,1,1,\'\');\"
- onmouseout=\"top.hic();\"
- onmousedown=\"top.hic();\">
-
';
+ $ef = <<
+
+
+ HTML;
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') {
- $eff[$i]['priem'] = Db::getRow('select * from priems where id = ?', [$eff[$i]['v2']]);
+ if (
+ $this->users[$this->uids[$ur['id']]]['id'] != $u->info['id'] &&
+ $ur['id'] != 0 && $this->stats[$this->uids[$ur['id']]]['seeAllEff'] != 1
+ ) {
+ $nseef = 1;
+ if ($eff[$i]['v1'] == 'priem') {
+ $eff[$i]['priem'] = Db::getRow('select * from priems where id = ?', [$eff[$i]['v2']]);
- }
- if (isset($eff[$i]['priem']['id']) && $eff[$i]['priem']['neg'] == 1) {
- $nseef = 0;
- }
+ }
+ if (isset($eff[$i]['priem']['id']) && $eff[$i]['priem']['neg'] == 1) {
+ $nseef = 0;
}
}
@@ -586,25 +526,19 @@ class Battle
if ($eff[$i]['x'] > 1) {
$ei .= ' x' . $eff[$i]['x'] . ' ';
}
- if ($eff[$i]['type1'] > 0 && $eff[$i]['type1'] < 7) {
- $ei .= ' (Эликсир)';
- } elseif (($eff[$i]['type1'] > 6 && $eff[$i]['type1'] < 11) || $eff[$i]['type1'] == 16) {
- $ei .= ' (Заклятие)';
- } elseif ($eff[$i]['type1'] == 14) {
- $ei .= ' (Прием)';
- } elseif ($eff[$i]['type1'] == 15) {
- $ei .= ' (Изучение)';
- } elseif ($eff[$i]['type1'] == 17) {
- $ei .= ' (Проклятие)';
- } elseif ($eff[$i]['type1'] == 18 || $eff[$i]['type1'] == 19) {
- $ei .= ' (Травма)';
- } elseif ($eff[$i]['type1'] == 20) {
- $ei .= ' (Пристрастие)';
- } elseif ($eff[$i]['type1'] == 22) {
- $ei .= ' (Ожидание)';
- } else {
- $ei .= ' (Эффект)';
- }
+
+ $ei .= match ($eff[$i]['type1']) {
+ 1, 2, 3, 4, 5, 6 => ' (Эликсир)',
+ 7, 8, 9, 10, 16 => ' (Заклятие)',
+ 14 => ' (Прием)',
+ 15 => ' (Изучение)',
+ 17 => ' (Проклятие)',
+ 18, 19 => ' (Травма)',
+ 20 => ' (Пристрастие)',
+ 22 => ' (Ожидание)',
+ default => ' (Эффект)'
+ };
+
$ei .= '
';
$time_still = ($eff[$i]['timeUse'] + ($eff[$i]['timeAce'] - $eff[$i]['timeUse']) + $eff[$i]['actionTime']);
@@ -625,11 +559,13 @@ class Battle
}
if ($eff[$i]['user_use'] != '') {
+ $str = '
Автор: %s';
if ($this->users[$this->uids[$eff[$i]['user_use']]]['login2'] != '') {
- $ei .= '
Автор: ' . $this->users[$this->uids[$eff[$i]['user_use']]]['login2'] . '';
+ $ei .= sprintf($str, $this->users[$this->uids[$eff[$i]['user_use']]]['login2']);
} elseif ($this->users[$this->uids[$eff[$i]['user_use']]]['login'] != '') {
- $ei .= '
Автор: ' . $this->users[$this->uids[$eff[$i]['user_use']]]['login'] . '';
+ $ei .= sprintf($str, $this->users[$this->uids[$eff[$i]['user_use']]]['login']);
}
+ unset($str);
}
//Действие эффекта
@@ -644,53 +580,53 @@ class Battle
if ($ed['add_' . $n] > 0) {
$z = '+';
}
- $tr .= '
' . $u->is[$n] . ': ' . $z . '' . $ed['add_' . $n];
+ $tr .= '
' . $u->is[$n] . ': ' . $z . $ed['add_' . $n];
}
$x++;
}
if ($ed['add_mib1'] != 0) {
if ($ed['add_mab1'] != 0) {
- $tr .= '
Броня головы: ' . $ed['add_mib1'] . '-' . $ed['add_mab1'] . '';
+ $tr .= $armor1 . $ed['add_mib1'] . '-' . $ed['add_mab1'];
} else {
$m1l = $ed['add_mib1'];
if ($m1l > 0) {
$m1l = '+' . $m1l;
}
- $tr .= '
Броня головы: ' . $m1l . '';
+ $tr .= $armor1 . $m1l;
}
}
if ($ed['add_mib2'] != 0) {
if ($ed['add_mab2'] != 0) {
- $tr .= '
Броня корпуса: ' . $ed['add_mib2'] . '-' . $ed['add_mab2'] . '';
+ $tr .= $armor2 . $ed['add_mib2'] . '-' . $ed['add_mab2'];
} else {
$m1l = $ed['add_mib2'];
if ($m1l > 0) {
$m1l = '+' . $m1l;
}
- $tr .= '
Броня корпуса: ' . $m1l . '';
+ $tr .= $armor2 . $m1l;
}
}
if ($ed['add_mib3'] != 0) {
if ($ed['add_mab3'] != 0) {
- $tr .= '
Броня пояса: ' . $ed['add_mib3'] . '-' . $ed['add_mab3'] . '';
+ $tr .= $armor3 . $ed['add_mib3'] . '-' . $ed['add_mab3'];
} else {
$m1l = $ed['add_mib3'];
if ($m1l > 0) {
$m1l = '+' . $m1l;
}
- $tr .= '
Броня пояса: ' . $m1l . '';
+ $tr .= $armor3 . $m1l;
}
}
if ($ed['add_mib4'] != 0) {
if ($ed['add_mab4'] != 0) {
- $tr .= '
Броня ног: ' . $ed['add_mib4'] . '-' . $ed['add_mab4'] . '';
+ $tr .= $armor4 . $ed['add_mib4'] . '-' . $ed['add_mab4'];
} else {
$m1l = $ed['add_mib4'];
if ($m1l > 0) {
$m1l = '+' . $m1l;
}
- $tr .= '
Броня ног: ' . $m1l . '';
+ $tr .= $armor4 . $m1l;
}
}
@@ -712,8 +648,15 @@ class Battle
$ei .= '
Информация:
' . $eff[$i]['info'];
}
- $ef .= '';
- unset($efix);
+ $efcol = $eff[$i]['x'];
+ $efimg = $eff[$i]['img'];
+ $ef .= <<
+
+
+ HTML;
+
+ unset($efix, $efcol, $efimg);
}
} elseif ($eff[$i] != 'delete') {
$i = -2;
@@ -721,27 +664,42 @@ class Battle
$i++;
}
} else {
- $ef .= 'Развернуть\',event,3,1,1,1,\'\');\" onmouseout=\"top.hic();\" onmousedown=\"top.hic();\">
';
+ $ef = <<
+
+
+ HTML;
}
+
$ca = '';
+
if ($ur['clan'] > 0) {
- $cl = Db::getRow('select * from clan where id = ?', [$ur['clan']]);
- if (isset($cl['id'])) {
- $ca = '';
+ $clanName = ClanInfo::getNameById($ur['clan']);
+ if (!empty($clanName)) {
+ $ca = "";
}
}
+
if ($ur['align'] > 0) {
- $ca = '' . $ca;
+ $ca = " $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 = '' . $ur['login2'] . '';
$stsua .= '
Сила: ' . $st['s1'];
$stsua .= '
Ловкость: ' . $st['s2'];
@@ -756,10 +714,10 @@ class Battle
if ($st['s7'] != 0) {
$stsua .= '
Духовность: ' . $st['s7'];
}
- if ($u->info['admin'] > 0) {
+ if ($u->isAdmin()) {
$align = $ur['align'];
}
- $tp_img = [
+ $tpImg = [
1 => 4,
2 => 5,
14 => 6,
@@ -786,8 +744,8 @@ class Battle
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']]];
+ if (isset($st['items_img'][$tpImg[$itm[$i]['inOdet']]])) {
+ $itm[$i]['img'] = $st['items_img'][$tpImg[$itm[$i]['inOdet']]];
}
//генерируем предметы
$ttl = '' . $itm[$i]['name'] . '';
@@ -795,46 +753,46 @@ class Battle
$lvar = '';
if ($td['add_hpAll'] > 0) {
$td['add_hpAll'] = '+' . $td['add_hpAll'];
- $lvar .= '
Уровень жизни: ' . $td['add_hpAll'] . '';
+ $lvar .= '
Уровень жизни: ' . $td['add_hpAll'];
}
if ($td['sv_yron_max'] > 0 || $td['sv_yron_min'] > 0) {
- $lvar .= '
Урон: ' . (0 + $td['sv_yron_min']) . '-' . (0 + $td['sv_yron_max']) . '';
+ $lvar .= '
Урон: ' . (0 + $td['sv_yron_min']) . '-' . (0 + $td['sv_yron_max']);
}
if ($td['add_mab1'] > 0) {
- if ($td['add_mib1'] == $td['add_mab1'] && $pl['geniration'] == 1) {
+ if ($td['add_mib1'] == $td['add_mab1']) {
$m1l = '+';
- $lvar .= '
Броня головы: ' . $m1l . '' . (0 + $td['add_mab1']) . '';
+ $lvar .= $armor1 . $m1l . (0 + $td['add_mab1']);
} else {
- $lvar .= '
Броня головы: ' . (0 + $td['add_mib1']) . '-' . (0 + $td['add_mab1']) . '';
+ $lvar .= $armor1 . (0 + $td['add_mib1']) . '-' . (0 + $td['add_mab1']);
}
}
if ($td['add_mab2'] > 0) {
- if ($td['add_mib2'] == $td['add_mab2'] && $pl['geniration'] == 1) {
+ if ($td['add_mib2'] == $td['add_mab2']) {
$m1l = '+';
- $lvar .= '
Броня корпуса: ' . $m1l . '' . (0 + $td['add_mab2']) . '';
+ $lvar .= $armor2 . $m1l . (0 + $td['add_mab2']);
} else {
- $lvar .= '
Броня корпуса: ' . (0 + $td['add_mib2']) . '-' . (0 + $td['add_mab2']) . '';
+ $lvar .= $armor2 . (0 + $td['add_mib2']) . '-' . (0 + $td['add_mab2']);
}
}
if ($td['add_mab3'] > 0) {
- if ($td['add_mib3'] == $td['add_mab3'] && $pl['geniration'] == 1) {
+ if ($td['add_mib3'] == $td['add_mab3']) {
$m1l = '+';
- $lvar .= '
Броня пояса: ' . $m1l . '' . (0 + $td['add_mab3']) . '';
+ $lvar .= $armor3 . $m1l . (0 + $td['add_mab3']);
} else {
- $lvar .= '
Броня пояса: ' . (0 + $td['add_mib3']) . '-' . (0 + $td['add_mab3']) . '';
+ $lvar .= $armor3 . (0 + $td['add_mib3']) . '-' . (0 + $td['add_mab3']);
}
}
if ($td['add_mab4'] > 0) {
- if ($td['add_mib4'] == $td['add_mab4'] && $pl['geniration'] == 1) {
+ if ($td['add_mib4'] == $td['add_mab4']) {
$m1l = '+';
- $lvar .= '
Броня ног: ' . $m1l . '' . (0 + $td['add_mab4']) . '';
+ $lvar .= $armor4 . $m1l . (0 + $td['add_mab4']);
} else {
- $lvar .= '
Броня ног: ' . (0 + $td['add_mib4']) . '-' . (0 + $td['add_mab4']) . '';
+ $lvar .= $armor4 . (0 + $td['add_mib4']) . '-' . (0 + $td['add_mab4']);
}
}
if ($itm[$i]['iznosMAX'] > 0) {
if ($itm[$i]['iznosMAXi'] == 999999999) {
- $lvar .= '
Долговечность: неразрушимо';
+ $lvar .= '
Долговечность: неразрушимо';
} else {
$lvar .= '
Долговечность: ' . floor(
$itm[$i]['iznosNOW']
@@ -856,7 +814,17 @@ class Battle
}
}
- $info .= 'abitms(' . (0 + $t) . ',' . (0 + $itm[$i]['uid']) . ',' . (0 + $itm[$i]['id']) . ',' . (0 + $itm[$i]['inOdet']) . ',"' . $itm[$i]['name'] . '","' . $ttl . '","' . $itm[$i]['img'] . '","' . $ccv . '");';
+ $var1 = (int)$t;
+ $var2 = (int)$itm[$i]['uid'];
+ $var3 = (int)$itm[$i]['id'];
+ $var4 = (int)$itm[$i]['inOdet'];
+ $var5 = $itm[$i]['name'];
+ $var6 = $ttl;
+ $var7 = $itm[$i]['img'];
+ $var8 = $ccv;
+
+ $info .= "abitms($var1,$var2,$var3,$var4,'$var5','$var6','$var7','$var8');";
+ unset($var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8);
$i++;
}
}
@@ -898,17 +866,19 @@ class Battle
//Запускаем магические предметы, если в них что-то встроено
- public function testFinish()
+ public function testFinish(): void
{
global $u;
- mysql_query('START TRANSACTION;');
- $test = mysql_fetch_array(
- mysql_query(
- 'SELECT `id` FROM `battle` WHERE `id` = "' . $this->info['id'] . '" AND `team_win` = -1 LIMIT 1 FOR UPDATE'
- )
- );
- mysql_query('COMMIT;');
- if ($this->info['team_win'] == -1 && isset($test['id'])) {
+ [
+ 'id' => $check,
+ 'team_win' => $tw,
+ ] = Db::getRow('select id, team_win from battle where id = ?', [$this->info['id']]);
+
+ if (empty($check)) {
+ return;
+ }
+
+ if ($tw === -1) {
$hp = [];
$tml = [];
$tmv = [];
@@ -934,10 +904,11 @@ class Battle
//Доп.проверка
$tmHpNow = [];
$tmNow = [];
- $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'] . '"'
- );
- while ($pl = mysql_fetch_array($sp)) {
+
+ foreach (
+ Db::getRow('select team, hpNow from users left join stats on users.id = stats.id where battle = ?', [$this->info['id']])
+ as $pl
+ ) {
if (!isset($tmHpNow[$pl['team']])) {
$tmHpNow[$pl['team']] = 0;
$tmNow[] = $pl['team'];
@@ -950,6 +921,7 @@ class Battle
$tmHpNow[$pl['team']] += $pl['hpNow'];
}
}
+
$gdj = 0;
$i = 0;
while ($i < count($tmNow)) {
@@ -979,20 +951,21 @@ class Battle
$i++;
}
- if ($this->info['izlom'] == 0) {
- if ($this->info['id'] > 0) {
+ $ir = 0;
+ $bi = 0;
+ if ($this->info['id'] > 0) {
+ if ($this->info['izlom'] == 0) {
//данные о игроках в бою
- unset($this->users, $this->stats, $this->uids, $this->bots, $this->iBots);
$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'
+ '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'
);
- $ir = 0;
- $bi = 0;
- $this->users = null;
- $this->stats = null;
- $this->uids = null;
- $this->bots = null;
- $this->iBots = null;
+
+ $this->users = [];
+ $this->stats = [];
+ $this->uids = [];
+ $this->bots = [];
+ $this->iBots = [];
+
while ($pl = mysql_fetch_array($trl)) {
//записываем данные
if ($pl['login2'] == '') {
@@ -1006,15 +979,13 @@ class Battle
$bi++;
}
//записываем статы
- $this->stats[$ir] = $u->getStats($pl, 0, 0, false, false, true);
+ $this->stats[$ir] = $u->getStats($pl['id'], 0, 0, false, false, true);
$ir++;
}
- }
- } elseif (!isset($this->uids[$u->info['id']])) {
- if ($this->info['id'] > 0) {
+ } elseif (!isset($this->uids[$u->info['id']])) {
//данные о игроках в бою
$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'
+ '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']
);
$pl = mysql_fetch_array($trl);
//записываем данные
@@ -1028,44 +999,27 @@ class Battle
$this->iBots[$pl['id']] = $bi;
}
//записываем статы
- $this->stats[] = $u->getStats($pl, 0, 0, false, false, true);
+ $this->stats[] = $u->getStats($pl['id'], 0, 0, false, false, true);
}
}
-
if ($this->info['izlom'] > 0 && $tmwin == 1) {
// выкидываем ботов из боя
$i = 0;
- $dlt = '';
- $dlt2 = '';
- $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'
- );
- 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);
+ $botsIds = Db::getColumn('select users.id from users left join stats on users.id = stats.id where battle = ? and bot = 1 and team != ?', [$this->info['id'], $u->info['team']]);
+ Db::sql('delete from users where id in (?)', [implode(',', $botsIds)]);
+ Db::sql('delete from stats where id in (?)', [implode(',', $botsIds)]);
+ Db::sql('delete from items_users where uid in (?)', [implode(',', $botsIds)]);
+ Db::sql('delete from eff_users where uid in (?)', [implode(',', $botsIds)]);
$j = 0;
$obr = 0;
-
+ $bots = [];
//Это излом, добавляем еще ботов
- if ($this->get_chanse(20)) {
+ if ($this->getChanse(20)) {
//Уникальные монстры
+
if ($this->info['izlomLvl'] == 8) {
$bots = [
'Валентайский Охотник',
@@ -1075,54 +1029,11 @@ class Battle
'Фанатик Хаоса',
];
}
- $logins_bot = [];
- //
- echo 'Приближается нечто...';
- //
- $id2 = rand(0, (count($bots) - 1));
- $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'])
- );
- if (isset($id['id']) && $bot != false) {
- //
- $btxt = '';
- if ($id['align'] > 0) {
- $btxt = $btxt . '';
- }
- if ($id['clan'] > 0) {
- $btxt = $btxt . '';
- }
- $btxt = $btxt . '{u1}[' . $id['level'] . ']';
- if ($id['sex'] == 1) {
- $btxt = $btxt . ' вмешалась в поединок.';
- } else {
- $btxt = $btxt . ' вмешался в поединок.';
- }
- $this->miniLogAdd(
- [
- 'login' => $id['login'],
- 'sex' => $id['sex'],
- 'team' => 0,
- ], '{tm1} ' . $btxt
- );
- //
- $logins_bot = $bot['logins_bot'];
- 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');
- $u->addAction(time(), 'win_bot_' . $id['id'], '', $this->users[$i]['id']);
- if (rand(0, 10000) < 1500) {
- $obr++;
- }
- $j++;
- }
+
+ echo 'Приближается нечто...
';
+
+ $this->addIzlomBot($bots, $j, $obr, $this->users[$i]['id']);
+
} else {
//Обычные монстры
if ($this->info['izlomLvl'] == 8) {
@@ -1136,200 +1047,29 @@ class Battle
'Сторож Мглы',
];
}
- $logins_bot = [];
- //
- $id2 = rand(0, (count($bots) - 1));
- $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) {
- //
- $btxt = '';
- if ($id['align'] > 0) {
- $btxt = $btxt . '';
- }
- if ($id['clan'] > 0) {
- $btxt = $btxt . '';
- }
- $btxt = $btxt . '{u1}[' . $id['level'] . ']';
- if ($id['sex'] == 1) {
- $btxt = $btxt . ' вмешалась в поединок.';
- } else {
- $btxt = $btxt . ' вмешался в поединок.';
- }
- $this->miniLogAdd(
- [
- 'login' => $id['login'],
- 'sex' => $id['sex'],
- 'team' => 0,
- ], '{tm1} ' . $btxt
- );
- //
- $logins_bot = $bot['logins_bot'];
- 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');
- if (rand(0, 10000) < 1500) {
- $obr++;
- }
- $j++;
- }
- //
- $id2 = rand(0, (count($bots) - 1));
- $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) {
- //
- $btxt = '';
- if ($id['align'] > 0) {
- $btxt = $btxt . '';
- }
- if ($id['clan'] > 0) {
- $btxt = $btxt . '';
- }
- $btxt = $btxt . '{u1}[' . $id['level'] . ']';
- if ($id['sex'] == 1) {
- $btxt = $btxt . ' вмешалась в поединок.';
- } else {
- $btxt = $btxt . ' вмешался в поединок.';
- }
- $this->miniLogAdd(
- [
- 'login' => $id['login'],
- 'sex' => $id['sex'],
- 'team' => 0,
- ], '{tm1} ' . $btxt
- );
- //
- $logins_bot = $bot['logins_bot'];
- 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');
- if (rand(0, 10000) < 1500) {
- $obr++;
- }
- $j++;
- }
- //
+
+ $this->addIzlomBot($bots, $j, $obr);
+ $this->addIzlomBot($bots, $j, $obr);
+
if (rand(0, 100) < 70) {
- $id2 = rand(0, (count($bots) - 1));
- $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) {
- //
- $btxt = '';
- if ($id['align'] > 0) {
- $btxt = $btxt . '';
- }
- if ($id['clan'] > 0) {
- $btxt = $btxt . '';
- }
- $btxt = $btxt . '{u1}[' . $id['level'] . ']';
- if ($id['sex'] == 1) {
- $btxt = $btxt . ' вмешалась в поединок.';
- } else {
- $btxt = $btxt . ' вмешался в поединок.';
- }
- $this->miniLogAdd(
- [
- 'login' => $id['login'],
- 'sex' => $id['sex'],
- 'team' => 0,
- ], '{tm1} ' . $btxt
- );
- //
- $logins_bot = $bot['logins_bot'];
- 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');
- if (rand(0, 10000) < 1500) {
- $obr++;
- }
- $j++;
- }
+ $this->addIzlomBot($bots, $j, $obr);
}
- //Каждые 10 вол = +1 монстр
+
+ //Каждые 10 волн = +1 монстр
$irb = floor($this->info['izlomRoundSee'] / 10);
while ($irb > 0) {
- //
- if (rand(0, 100) < 20) {
- $id2 = rand(0, (count($bots) - 1));
- $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) {
- //
- $btxt = '';
- if ($id['align'] > 0) {
- $btxt = $btxt . '';
- }
- if ($id['clan'] > 0) {
- $btxt = $btxt . '';
- }
- $btxt = $btxt . '{u1}[' . $id['level'] . ']';
- if ($id['sex'] == 1) {
- $btxt = $btxt . ' вмешалась в поединок.';
- } else {
- $btxt = $btxt . ' вмешался в поединок.';
- }
- $this->miniLogAdd(
- [
- 'login' => $id['login'],
- 'sex' => $id['sex'],
- 'team' => 0,
- ], '{tm1} ' . $btxt
- );
- //
- $logins_bot = $bot['logins_bot'];
- 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'
- );
- if (rand(0, 10000) < 1500) {
- $obr++;
- }
- $j++;
- }
- }
+ $this->addIzlomBot($bots, $j, $obr);
$irb--;
}
}
- //
- unset($logins_bot);
+
if ($j == 0) {
//конец излома
$this->finishBattle($tml, $tmv, null);
- $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'] . '")'
+ 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'] . '")'
);
} else {
$this->info['izlomRound'] = $iz['round'];
@@ -1340,282 +1080,206 @@ class Battle
$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'] . '';
+
+ //где это брать??
+ $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 = [
- 'time' => time(),
'battle' => $this->info['id'],
'id_hod' => ($this->hodID + 1),
'vars' => $vLog,
'type' => 1,
];
- if ($u->info['sex'] == 1) {
- $mas['text'] = '' . date(
- 'H:i'
- ) . ' ' . $u->info['login'] . ' воспользовалась приемом "Передышка".';
- } else {
- $mas['text'] = '' . date(
- 'H:i'
- ) . ' ' . $u->info['login'] . ' воспользовался приемом "Передышка".';
- }
+
+ $textpart1 = $u->info['sex'] == 1 ? 'воспользовалась' : 'воспользовался';
+
+ $mas['text'] = '' . date('H:i') .
+ ' ' . $u->info['login'] .
+ ' ' . $textpart1 . ' приемом "Передышка".';
+
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'] .= ' +' . $hpSks . '';
+ $textpart2 = "+$hpSks";
} else {
$hpSks = 0;
- $mas['text'] .= ' --';
+ $textpart2 = '--';
}
+
+ $mas['text'] .= ' +' . $textpart2 . '';
$mas['text'] .= ' [' . floor($u->info['hpNow'] + $hpSks) . '/' . $u->stats['hpAll'] . ']';
+
$this->add_log($mas);
- 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'
+ Db::sql(
+ 'update stats set hpNow = ?, mpNow = ? where id = ?',
+ [
+ $u->info['hpNow'] + $u->stats['hpAll'] * ((rand(15, 25)) / 100),
+ $u->info['mpNow'] + $u->stats['mpAll'] * 0.25,
+ $u->info['id'],
+ ]
);
}
+
} else {
//завершаем бой
$this->finishBattle($tml, $tmv, null);
if ($this->info['izlom'] > 0) {
- $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'] . '")'
+ Db::sql(
+ 'insert into izlom_rating (uid, time, voln, level, obr, btl) values (?,unix_timestamp(),?,?,?,?)',
+ [
+ $u->info['id'],
+ $this->info['izlomRoundSee'],
+ $this->info['izlomLvl'],
+ $this->info['izlomObr'] - $this->info['izlomObrNow'],
+ $this->info['id'],
+ ]
);
}
}
- if (isset($fin1)) {
- mysql_query(
- 'INSERT INTO `eff_users` (`no_Ace`,`id_eff`,`overType`,`uid`,`name`,`data`,`timeUse`) VALUES ("1","31","23","' . $u->info['id'] . '","Касание Хаоса","nofastfinisheff=1","' . time() . '")'
- );
- $cmsg = new ChatMessage();
- $cmsg->setCity($u->info['city']);
- $cmsg->setRoom($u->info['room']);
- $cmsg->setTo($u->info['login']);
- $cmsg->setType(6);
- $cmsg->setText(
- 'Вы создали предмет "Образец" x' . (($this->info['izlomObr'] - $this->info['izlomObrNow']) * 7)
- );
- (new Chat())->sendMsg($cmsg);
- $i01 = 1;
- while ($i01 <= (($this->info['izlomObr'] - $this->info['izlomObrNow'])) * 7) {
- ItemsModel::addItem(1226, $u->info['id'], '|sudba=' . $u->info['login']);
- $i01++;
- }
- mysql_query(
- 'INSERT INTO `actions`(`uid`, `time`, `city`, `room`, `vars`, `ip`, `vals`, `val`) VALUES ("' . $u->info['id'] . '","' . time() . '","capitalcity","' . $u->info['room'] . '","izlom"," ","","")'
- );
- unset($fin1);
+ Effects::addById($u->info['id'], 31);
+
+ $cmsg = new ChatMessage();
+ $cmsg->setRoom($u->info['room']);
+ $cmsg->setTo($u->info['login']);
+ $cmsg->setType(6);
+ $cmsg->setText(
+ 'Вы создали предмет "Образец" x' . (($this->info['izlomObr'] - $this->info['izlomObrNow']) * 7)
+ );
+ (new Chat())->sendMsg($cmsg);
+
+ $i01 = 1;
+ while ($i01 <= (($this->info['izlomObr'] - $this->info['izlomObrNow'])) * 7) {
+ ItemsModel::addItem(1226, $u->info['id'], '|sudba=' . $u->info['login']);
+ $i01++;
}
+
+ Db::sql(
+ "insert into actions (uid, time, city, room, vars, ip, vals, val) values (?,unix_timestamp(),'capitalcity',?,'izlom','','','')",
+ [$u->info['id'], $u->info['room']]
+ );
+
}
} else {
- mysql_query('START TRANSACTION;');
- $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'
- )
- );
- mysql_query('COMMIT;');
- if (isset($test['id'])) {
- $this->finishBattle(null, null, 10);
- }
+ $this->finishBattle(null, null, 10);
+ }
+ }
+
+ /**
+ * @param array $botLogins
+ * @param int $counter
+ * @param int $obr
+ * @param int $unique для совместимости с непонятным вызовом User->addAction
+ * при вызове уникального монстра.
+ * @return void
+ */
+ private function addIzlomBot(array $botLogins, int &$counter, int &$obr, int $unique = 0): void
+ {
+ global $u;
+ if (empty($botLogins) || mt_rand(0, count($botLogins) - 1) === 0) {
+ return;
+ }
+ [
+ 'id' => $id,
+ 'align' => $align,
+ 'clan' => $clan,
+ 'level' => $level,
+ 'sex' => $gender,
+ 'login' => $login,
+ ] = Db::getRow(
+ "select id, align, clan, level, sex, login from test_bot where login = ? and pishera != '' and active = 1 and level <= ? order by level desc limit 1",
+ [$botLogins[array_rand($botLogins)], $u->info['level']]
+ );
+ $bot = $u->addNewbot(id: $id, round: round($this->info['izlomRoundSee']) * mt_rand(1, 2));
+ if (empty($bot)) {
+ return;
+ }
+ $imgBase = Config::img() . DIRECTORY_SEPARATOR . 'i';
+ $alignStr = empty($align) ? '' : "";
+ $clanStr = empty($clan) ? '' : "";
+ $spacedLogin = str_replace(' ', '%20', $login);
+ $loginLink = "";
+ $btxt = "$alignStr$clanStr$login [$level]$loginLink";
+ $btxt .= $gender == 1 ? ' вмешалась в поединок.' : ' вмешался в поединок.';
+
+ $this->miniLogAdd(
+ [
+ 'login' => $login,
+ 'sex' => $gender,
+ 'team' => 0,
+ ],
+ "{tm1} $btxt"
+ );
+ Db::sql('update users left join stats on users.id = stats.id set battle = ?, team = 2 where users.id = ?', [$this->info['id'], $bot['id']]);
+
+ if ($unique) {
+ $u->addAction(time(), 'win_bot_' . $id, '', $unique);
+ }
+
+ $counter++;
+ if (mt_rand(0, 10000) < 1500) {
+ $obr++;
}
}
//Поглощение урона
- private function get_chanse(int $percent): bool
+ private function getChanse(int $percent): bool
{
return rand(0, 100) <= $percent;
}
//Поглощение урона
- private function miniLogAdd($user, $text)
+ private function miniLogAdd(array $user, string $text): void
{
- $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'] . '||';
- $mas1 = [
- 'time' => time(),
- 'battle' => $this->info['id'],
- 'id_hod' => ($this->hodID + 1),
- 'text' => $text,
- 'vars' => $vLog,
- 'zona1' => '',
- 'zonb1' => '',
- 'zona2' => '',
- 'zonb2' => '',
- 'type' => '1',
- ];
- $this->add_log($mas1);
+ if (empty($text) || !isset($user['sex'], $user['team'], $user['login'])) {
+ return;
+ }
+ Log::add(
+ [
+ 'text' => $text,
+ 'battle' => $this->info['id'],
+ 'id_hod' => ($this->hodID + 1),
+ 'vars' => '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'],
+ 'type' => 1,
+ ]
+ );
}
- public function add_log($mass)
+ public function add_log(array $mass): void
{
if (empty($mass['text'])) {
return;
}
- 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'] . '")'
- );
- if ($this->get_chanse(12)) {
- $this->get_comment();
+ Log::add($mass);
+ if ($this->getChanse(12)) {
+ Log::addComment($this);
}
}
- private function get_comment()
- {
- $boycom = [
- 'А танцуешь ты лучше.',
- 'А мы что, в прятки тут играем?',
- 'А вы разве пингвинов никогда не видели?',
- 'А, ведь когда-то, вы были красивыми… А теперь? Ну и рожи! Жуть!',
- 'А потом еще труп пинать будут.',
- 'А я вчера ночью за соседями подглядывал. Они точно так же кувыркались',
- 'А ведь вы живых людей дубасите...',
- 'А вот я вчера в зоопарке был...',
- 'А вы в стройбате не служили?',
- 'А вы видели, чтобы так на улице делали!?',
- 'А вы знали что ёжики размножаются в интернете?',
- 'А жить-то, как хочется:',
- 'А из-за чего вы собственно дерётесь?',
- 'А чего ржёте, вы ещё остальных не видели',
- 'А что произойдёт если ты испугаешся до полусмерти дважды?!',
- 'Больше так не делай. Ты же не садист?',
- 'Без комментариев...',
- 'Больно ведь!',
- 'Быстро ты за монитор спрятался!',
- 'Все хотят попасть в рай, но никто не хочет умирать!',
- 'Вчера с такой девчонкой познакомился.',
- 'Всего 5 минут знакомы, а дерутся, словно супруги с 20-ти летним стажем...',
- 'Все. Я так больше не могу.',
- 'В конце концов, кто-то победит?',
- 'Вы чего, с дерева упали?',
- 'Возятся как сонные мухи... давайте я вам лучше анекдот расскажу: ...',
- 'Вот видишь, как полезно чистить зубы на ночь?',
- 'Вот вы все руками махаете, а за вами уже очередь',
- 'Вот попадёте вы в плен и вас там будут долго бить. Но вы ничего не расскажете... и не потому, что вы такой стойкий, просто вы ничего не знаете',
- 'Вы бы лучше пошли потренировались!',
- 'Вы все еще разминаетесь? Позовите, когда кости в муку друг другу разминать будете.',
- 'Вы же бойцы! Имейте совесть!',
- 'Гаси недоумка!',
- 'Да, если бы я смог это остановить, то получил бы нобелевскую премию `За мир` ',
- 'Да куда они бьют?!',
- 'Давайте быстрее! За вами уже очередь образовалась.',
- 'Давайте обойдемся сегодня таймаутом. А? А то мне уже кошмары скоро будут сниться.',
- 'Дерутся как девчонки!',
- 'Дети, посмотрите налево... Ой!.. Нет, туда лучше не смотреть.',
- 'Если так будет продолжаться, то скоро мы заснем!',
- 'Если бы у меня было кресло-качалка, я бы в нём качался...',
- 'Если вы что-то сказать хотите, то лучше молчите :)',
- 'Жестокость не порок.',
- 'Жизнь вне нашего клуба - это пустая трата кислорода!!!',
- 'Жми! Дави! Кусай! Царапай!',
- 'За такие бои надо в хаос отправлять!',
- 'Знаете откуда в комиссионном магазине столько вещей? Это я после ваших гулянок собираю и сдаю туда. Иногда вместе с частями тела, застрявшими в них.',
- 'Здесь люди так близки друг к другу. Просто иначе ударить нельзя.',
- 'И пролитая кровь еще пульсирует...',
- 'Инвалидов развелось...',
- 'Какой бой!!!',
- 'Кто!? Кто здесь?!',
- 'Кто вас этому научил?',
- 'Кузнечик, блин...',
- 'Куплю импортный проигрыватель грампластинок.',
- 'Лошадью ходи!',
- 'Лучше враг, чем друг - враг.',
- 'Ладно, вы тут пока друг друга за волосы таскайте, а я пойду, пообедаю.',
- 'Мне ваш балет уже надоел!',
- 'Может, начнется-таки настоящий бой???',
- 'Мысли лезут в голову изнутри, а удары снаружи.',
- 'Ну и где ваши коронные удары? Где живописные падения я спрашиваю!',
- 'Ну, нельзя же так наотмашь лупить!',
- 'Надо раньше было думать, теперь смертельно поздно...',
- 'На такое зрелище билеты продавать можно. Народ ухохочется!',
- 'Нет! Не надо драки! А... ладно деритесь, все равно не умеете.',
- 'Нет, ну должен быть повод, должен же быть повод?',
- 'Нет, я отказываюсь это комментировать!',
- 'Не таких обламывали!',
- 'Ну выпили вы рюмку, ну две... ну литр, ну два... так зачем же после этого драку затевать?!',
- 'Ну и кто за этот погром платить будет?',
- 'Ну и оскал у вас. Из вашей улыбки кастеты делать можно.',
- 'Ну, что же ты..? Не печалься. Выше голову, так по ней удобней попасть.',
- 'Ничего... Блок тоже удар.',
- 'Обернись!!!.... Поздно...',
- 'Ого! Научите меня так не делать.',
- 'Осторожно! Сделаешь дырочку, уже не запломбируешь!',
- 'Оно вам надо???',
- 'Обычное дело...там что-то отклеилось.',
- 'Ой, и заболтался я с вами...',
- 'Он же не промахнётся если ты не отойдёшь!',
- 'По-моему, кому-то светит инвалидность.',
- 'Подкинь ему грабли, на которые он еще не наступал.',
- 'Прав был кот Леопольд, давайте жить дружно?',
- 'При ударе в живот нарушается кислотно-щелочной баланс.',
- 'Проверь, не торчит ли у тебя нож из живота.',
- 'Перестаньте мне орать!',
- 'Подкинь ему грабли, на которые он еще не наступал.',
- 'Прыгают тут как блохи... Все, я пошел за дихлофосом!',
- 'Разбудите меня когда эта порнография закончится...',
- 'Ребенок сильнее ударил бы!',
- 'Славно вмазал!',
- 'Славно они веселятся',
- 'Смотрю вот на вас, и слезы наворачиваются.',
- 'Сначала учатся ходить, а потом только в драку лезут.',
- 'Так они друг другу что-нибудь сломают.',
- 'Так ты ему все кости переломаешь!',
- 'У меня в подъезде точно так же соседа отмудохали',
- 'Убогих развелось...',
- 'Ух ты, какой прыткий!',
- 'Фашист!! Надо ж, так по больному месту врезать...',
- 'Хватит бить его об угол моей кабинки! Мне же потом ее чинить.',
- 'Хулиганы, прекратите немедленно!',
- 'Хочешь, подскажу, куда он ударит?',
- 'Хорошо, что у меня ловкости больше чем у вас всех, а то б вы и меня в инвалидную коляску посадили бы.',
- 'Хороший бой!',
- 'Хороший удар!',
- 'Хиляк-разрядник!',
- 'Что ты его за волосы схватил?! Отпусти немедленно!',
- 'Щас я вас настигну, вот тогда мы и похохочем',
- 'Это была какая-то неизвестная мне техника...',
- 'Это же противник, а не глина! Хватит мяться!',
- 'Это не бой, это издевательское избиение.',
- 'Это поубавит спеси',
- 'Это и был твой план `Б` ?',
- 'Это была какая-то неизвестная мне техника...',
- 'Я же предупреждал, - будет больно.',
- 'Я не страдаю безумием. Я наслаждаюсь им каждую минуту :)',
- 'Я красивый, я сильный, я умный, я добрый. А вот вы? Вы себя-то видели?!',
- 'Я тоже умею драться, но не буду...',
- '(тревожно озираясь) я вам по секрету скажу... за вами наблюдают!',
- '<вырезано цензурой> после боя я этих <вырезано цензурой> обоих в <вырезано цензурой> и <вырезано цензурой>',
- '<вырезано цензурой> каратисты фиговы',
- ];
-
- $txt = '{tm1} Комментатор: ' . $boycom[rand(0, count($boycom) - 1)] . '';
-
- $vLog = 'time1=' . time();
- $mas1 = [
- 'time' => time(),
- 'battle' => $this->info['id'],
- 'id_hod' => $this->hodID,
- 'text' => $txt,
- 'vars' => $vLog,
- 'zona1' => '',
- 'zonb1' => '',
- 'zona2' => '',
- 'zonb2' => '',
- 'type' => '1',
- ];
- $this->add_log($mas1);
- }
-
//Игрок1 наносит удар Игрок2
- private function finishBattle($t, $v, $nl)
+ private function finishBattle($t, $v, $nl): void
{
global $u;
$chat = new Chat();
@@ -1626,7 +1290,9 @@ class Battle
'SELECT `id`,`team_win`,`testfinish` FROM `battle` WHERE `id` = "' . $this->info['id'] . '" AND `team_win` != -1 LIMIT 1;'
)
);
- if ($test['testfinish'] != -1) {
+ if ($test['testfinish'] == -1) {
+ sleep(2);
+ } else {
$trtt = mysql_query(
'UPDATE `battle` SET `testfinish` = "-1" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1'
);
@@ -1664,7 +1330,7 @@ class Battle
$bi++;
}
//записываем статы
- $this->stats[$i] = $u->getStats($pl, 0, 0, false, false, true);
+ $this->stats[$i] = $u->getStats($pl['id'], 0, 0, false, false, true);
$i++;
}
unset($pl, $t);
@@ -1690,7 +1356,8 @@ class Battle
$vtvl = '';
$relu = 0;
while ($i < count($this->users)) {
- $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'] . '"),';
+ $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'] . '"),';
if ($this->users[$i]['team'] == $this->info['team_win'] && $this->info['team_win'] > 0) {
$vtvl .= '' . $this->users[$i]['login'] . ', ';
}
@@ -1739,7 +1406,7 @@ class Battle
)
);
$this->info['players_cc2'] = $this->info['players_cc2'][0];
- $inf_test = ', users: ' . $this->info['players_cc'] . ' and ' . $this->info['players_cc2'] . '';
+ $inf_test = ', users: ' . $this->info['players_cc'] . ' and ' . $this->info['players_cc2'];
$this->hodID++;
$vLog = 'time1=' . time();
$mass = [
@@ -1822,7 +1489,7 @@ class Battle
if ($vl != '') {
$vl = rtrim($vl, ',');
mysql_query(
- 'INSERT INTO `battle_last` (`login`,`city`,`battle_id`,`uid`,`time`,`team`,`lvl`,`align`,`clan`,`exp`,`bot`,`money`,`money2`,`money3`) VALUES ' . $vl . ''
+ 'INSERT INTO `battle_last` (`login`,`city`,`battle_id`,`uid`,`time`,`team`,`lvl`,`align`,`clan`,`exp`,`bot`,`money`,`money2`,`money3`) VALUES ' . $vl
);
}
@@ -2156,7 +1823,8 @@ class Battle
'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'
+ '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'
);
mysql_query('DELETE FROM `eff_users` WHERE `uid` = "' . $this->users[$i]['id'] . '" LIMIT 100');
} elseif ($this->users[$i]['bot'] > 0) {
@@ -2165,7 +1833,8 @@ class Battle
'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'
+ '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'
);
mysql_query('DELETE FROM `eff_users` WHERE `uid` = "' . $this->users[$i]['id'] . '" LIMIT 100');
}
@@ -2312,7 +1981,7 @@ class Battle
if (
date('m') == 9 &&
date('d') < 15 &&
- !$this->get_chanse(99) &&
+ !$this->getChanse(99) &&
($this->info['dungeon'] == 12 || $this->info['dungeon'] == 101)
) {
$tou = 0; //какому юзеру предназначено
@@ -2378,7 +2047,8 @@ class Battle
}
}
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" '
+ '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 {
//выкидываем всех игроков в клетку RESTART
@@ -3020,14 +2690,17 @@ class Battle
}
if ($this->users[$i]['battle_yron'] > 0) {
mysql_query(
- 'INSERT INTO `eff_users` (`no_Ace`,`id_eff`,`overType`,`uid`,`name`,`data`,`timeUse`) VALUES ("1","478","111","' . $this->users[$i]['id'] . '","Право на подвиг","pravonapodvig=1","' . time() . '")'
+ 'INSERT INTO `eff_users` (`no_Ace`,`id_eff`,`overType`,`uid`,`name`,`data`,`timeUse`) VALUES ("1","478","111","' . $this->users[$i]['id'] . '","Право на подвиг","pravonapodvig=1","' . time(
+ ) . '")'
);
}
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"," ","","")'
+ '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(
- 'INSERT INTO `eff_users` (`no_Ace`,`id_eff`,`overType`,`uid`,`name`,`data`,`timeUse`) VALUES ("1","479","112","' . $u->info['id'] . '","Защита от нападения","zashitatk=1","' . time() . '")'
+ 'INSERT INTO `eff_users` (`no_Ace`,`id_eff`,`overType`,`uid`,`name`,`data`,`timeUse`) VALUES ("1","479","112","' . $u->info['id'] . '","Защита от нападения","zashitatk=1","' . time(
+ ) . '")'
);
$ritem = rand(1, 1000);
if ($ritem == 555) {
@@ -3095,7 +2768,8 @@ class Battle
'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 . '","")'
+ '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 . '","")'
);
}
}
@@ -3274,7 +2948,8 @@ class Battle
);
//удаляем все предметы которые пропадают после выхода из пещеры
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%")'
+ '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'] != '') {
if ($this->users[$i]['sex'] == 0) {
@@ -3347,7 +3022,8 @@ class Battle
}
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'
+ '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) {
//пишем в чат
@@ -3394,8 +3070,6 @@ class Battle
}
}
- } else {
- sleep(2);
}
mysql_query('UPDATE `battle` SET `testfinish` = "0" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1');
mysql_query('UNLOCK TABLES');
@@ -3452,10 +3126,12 @@ class Battle
}
$timeEnd *= 3600;
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 . '")'
+ '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 . '")'
);
mysql_query(
- 'INSERT INTO `eff_users` (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ("0","' . time() . '","-1","Иммунитет: Защита от травм","add_notravma=1","' . $uid . '", "263", "cure1.gif","21600", "")'
+ 'INSERT INTO `eff_users` (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ("0","' . time(
+ ) . '","-1","Иммунитет: Защита от травм","add_notravma=1","' . $uid . '", "263", "cure1.gif","21600", "")'
);
}
@@ -3496,7 +3172,7 @@ class Battle
//Старый Новый Год
$jit = 0;
$iit = mysql_fetch_array(
- mysql_query('SELECT COUNT(*) FROM `users` WHERE `online` > ' . (time() - 120) . '')
+ mysql_query('SELECT COUNT(*) FROM `users` WHERE `online` > ' . (time() - 120))
);
$iit = floor($iit[0] / 20);
$iit = rand(1, $iit);
@@ -3660,7 +3336,7 @@ class Battle
//Хэллоуин, Тыквоголовый CAPITAL CITY
$jit = 0;
$iit = mysql_fetch_array(
- mysql_query('SELECT COUNT(*) FROM `users` WHERE `online` > ' . (time() - 120) . '')
+ mysql_query('SELECT COUNT(*) FROM `users` WHERE `online` > ' . (time() - 120))
);
$iit = floor($iit[0] / 20);
$iit = rand(1, $iit);
@@ -4663,7 +4339,7 @@ class Battle
}
}
//тест удара
- if ($this->uAtc['id'] > 0 && $this->na == 1) {
+ if ($this->uAtc['id'] > 0) {
if ($pl['out1'] == 0 && $pl['out2'] == 0) {
//Может разменяться только тот кто бил
if ($pl['uid1'] == $u->info['id'] || $pl['uid2'] == $u->info['id']) {
@@ -4709,7 +4385,8 @@ class Battle
}
} else {
//Удары между ботами
- 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) {
+ 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(
@@ -4797,7 +4474,7 @@ class Battle
mysql_query('SELECT * FROM `stats` WHERE `id` = "' . $pl . '" AND `hpNow` >= 1 LIMIT 1')
);
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);
+ $a = rand(1, 5) . '' . rand(1, 5) . rand(1, 5) . rand(1, 5) . rand(1, 5);
$b = rand(1, 5);
mysql_query(
'INSERT INTO `battle_act` (`battle`,`time`,`uid1`,`uid2`,`a1`,`b1`) VALUES ("' . $this->info['id'] . '","' . time() . '","' . $pl . '","' . $uid . '","' . $a . '","' . $b . '")'
@@ -4842,8 +4519,6 @@ class Battle
public function startAtack($id)
{
global $u, $priem;
- $this->prlog = [];
- $this->inport_user = 0;
if (!isset($this->atacks[$id]) || $this->atacks[$id]['lock'] != 0) {
return;
@@ -5382,22 +5057,21 @@ class Battle
$k2nm = null,
$yrn = null,
$yrnt = null
- )
- {
+ ) {
global $u, $priem;
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'] . '';
+ $pl['name'] = $pl['name'] . ' x' . $pl['x'];
}
if ($pl['timeUse'] == 77) {
//завершаем прием
mysql_query('DELETE FROM `eff_users` WHERE `id` = "' . $pl['id'] . '" LIMIT 1');
}
- $vLog = 'time1=' . time() . '||s1=' . $u1['sex'] . '||t1=' . $u1['team'] . '||login1=' . $u1['login'] . '';
+ $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'] . '';
+ $vLog .= '||s2=' . $u2['sex'] . '||t2=' . $u2['team'] . '||login2=' . $u2['login'];
}
$mas1 = [
'time' => time(),
@@ -5819,11 +5493,15 @@ class Battle
$uid2 = $this->atacks[$id]['uid2'];
if ($this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod'] > 0) {
- $uid1 = $this->yhod_user($this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
- $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']);
+ $uid1 = $this->yhod_user(
+ $this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']
+ );
} elseif ($this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod'] > 0) {
- $uid2 = $this->yhod_user($this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
- $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']);
+ $uid2 = $this->yhod_user(
+ $this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']
+ );
}
$i = 1;
@@ -5906,7 +5584,7 @@ class Battle
{
// 1 - кто бьет . 2 - в кого бьют . тип
//Удал летит прямо в противника
- if ($this->import_user == 0) {
+ if ($this->importUser == 0) {
$r = $uid1;
$rand_user = false;
if ($type == 2) {
@@ -5954,9 +5632,9 @@ class Battle
if ($rand_user && count($rand_user) > 0) {
$r = $rand_user[rand(0, (count($rand_user) - 1))];
}
- $this->import_user = $r;
+ $this->importUser = $r;
} else {
- $r = $this->import_user;
+ $r = $this->importUser;
}
return $r;
}
@@ -6079,7 +5757,7 @@ class Battle
}
break;
}
- return $this->get_chanse($rval) ? 1 : 0;
+ return $this->getChanse($rval) ? 1 : 0;
}
//Сохранение данные
@@ -6105,11 +5783,15 @@ class Battle
$uid2 = $this->atacks[$id]['uid2'];
if ($this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod'] > 0) {
- $uid1 = $this->yhod_user($this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
- $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']);
+ $uid1 = $this->yhod_user(
+ $this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']
+ );
} elseif ($this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod'] > 0) {
- $uid2 = $this->yhod_user($this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
- $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']);
+ $uid2 = $this->yhod_user(
+ $this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']
+ );
}
$i = 1;
@@ -6185,11 +5867,15 @@ class Battle
$uid2 = $this->atacks[$id]['uid2'];
if ($this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod'] > 0) {
- $uid1 = $this->yhod_user($this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
- $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']);
+ $uid1 = $this->yhod_user(
+ $this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']
+ );
} elseif ($this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod'] > 0) {
- $uid2 = $this->yhod_user($this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
- $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']);
+ $uid2 = $this->yhod_user(
+ $this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']
+ );
}
$i = 1;
@@ -6249,11 +5935,15 @@ class Battle
$uid2 = $this->atacks[$id]['uid2'];
if ($this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod'] > 0) {
- $uid1 = $this->yhod_user($this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
- $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']);
+ $uid1 = $this->yhod_user(
+ $this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']
+ );
} elseif ($this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod'] > 0) {
- $uid2 = $this->yhod_user($this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
- $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']);
+ $uid2 = $this->yhod_user(
+ $this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']
+ );
}
$i = 1;
@@ -6345,11 +6035,15 @@ class Battle
$uid2 = $this->atacks[$id]['uid2'];
if ($this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod'] > 0) {
- $uid1 = $this->yhod_user($this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
- $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']);
+ $uid1 = $this->yhod_user(
+ $this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']
+ );
} elseif ($this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod'] > 0) {
- $uid2 = $this->yhod_user($this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
- $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']);
+ $uid2 = $this->yhod_user(
+ $this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']
+ );
}
$i = 1;
@@ -6827,8 +6521,7 @@ class Battle
int $weapom_min = 0,
int $weapom_max = 0,
int $wp_type = 0,
- ): array
- {
+ ): array {
$level = $st1['lvl'];
$power_krit = round($st1['m3']);
@@ -7479,11 +7172,15 @@ class Battle
$uid2 = $this->atacks[$id]['uid2'];
if ($this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod'] > 0) {
- $uid1 = $this->yhod_user($this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
- $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']);
+ $uid1 = $this->yhod_user(
+ $this->atacks[$id]['uid2'], $this->atacks[$id]['uid1'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid1']]]['yhod']
+ );
} elseif ($this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod'] > 0) {
- $uid2 = $this->yhod_user($this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
- $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']);
+ $uid2 = $this->yhod_user(
+ $this->atacks[$id]['uid1'], $this->atacks[$id]['uid2'],
+ $this->stats[$this->uids[$this->atacks[$id]['uid2']]]['yhod']
+ );
}
$i = 1;
@@ -7769,12 +7466,12 @@ class Battle
Db::sql(
'update stats set last_hp = ?, tactic6 = ?, battle_yron = ?, battle_exp = ? where id = ?', [
- $this->users[$this->uids[$id1]]['last_hp'],
- $this->users[$this->uids[$id1]]['tactic6'],
- $this->users[$this->uids[$id1]]['battle_yron'],
- $this->users[$this->uids[$id1]]['battle_exp'],
- (int)$id1,
- ]
+ $this->users[$this->uids[$id1]]['last_hp'],
+ $this->users[$this->uids[$id1]]['tactic6'],
+ $this->users[$this->uids[$id1]]['battle_yron'],
+ $this->users[$this->uids[$id1]]['battle_exp'],
+ (int)$id1,
+ ]
);
$this->stats[$this->uids[$id1]]['battle_exp'] = $this->users[$this->uids[$id1]]['battle_exp'];
@@ -7879,7 +7576,7 @@ class Battle
$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'] . '';
+ $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' => '',
@@ -7907,7 +7604,8 @@ class Battle
$mas['text'] .= '{u1} пропустил свой ход.';
//Проверка сброс туманок
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'
+ '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'
);
}
}
@@ -7930,13 +7628,13 @@ class Battle
];
$par = [
'zona' => '{zn2_' . $at[$a]['atack'][$j][0] . '} ',
- 'kyda' => $this->lg_zon[$at[$a]['atack'][$j][0]][rand(
+ 'kyda' => $this->lgZon[$at[$a]['atack'][$j][0]][rand(
0,
- (count($this->lg_zon[$at[$a]['atack'][$j][0]]) - 1)
+ (count($this->lgZon[$at[$a]['atack'][$j][0]]) - 1)
)],
- 'chem' => $this->lg_itm[$wt[$at[$a]['atack'][$j]['wt']]][rand(
+ 'chem' => $this->lgItm[$wt[$at[$a]['atack'][$j]['wt']]][rand(
0,
- (count($this->lg_itm[$wt[$at[$a]['atack'][$j]['wt']]]) - 1)
+ (count($this->lgItm[$wt[$at[$a]['atack'][$j]['wt']]]) - 1)
)],
];
@@ -8556,7 +8254,8 @@ class Battle
'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 . '")'
+ 'INSERT INTO `battle_act` (`battle`,`time`,`uid1`,`uid2`,`a1`,`b1`) VALUES ("' . $this->info['id'] . '","' . time(
+ ) . '","' . $u->info['id'] . '","' . $u->info['enemy'] . '","' . $a . '","' . $b . '")'
);
if (!$d) {
$this->e = 'Не удалось нанести удар по противнику...';
@@ -8698,7 +8397,7 @@ class Battle
$bi++;
}
//записываем статы
- $this->stats[$i] = $u->getStats($pl, 0, 0, false, $this->cached, true);
+ $this->stats[$i] = $u->getStats($pl['id'], 0, 0, false, $this->cached, true);
//Заносим старт
if ($this->info['start2'] == 0) {
if (!isset($ts[$this->users[$i]['team']])) {
@@ -8791,7 +8490,7 @@ class Battle
//
$anl = Conversion::dataStringToArray($anl);
- $vLog = 'time1=' . time() . '||s1=' . $this->users[$i]['sex'] . '||t1=' . $this->users[$i]['team'] . '||login1=' . $this->users[$i]['login'] . '';
+ $vLog = 'time1=' . time() . '||s1=' . $this->users[$i]['sex'] . '||t1=' . $this->users[$i]['team'] . '||login1=' . $this->users[$i]['login'];
$vLog .= '||s2=1||t2=' . $this->users[$i]['team'] . '||login2=' . $a['name'] . ' (Зверь ' . $this->users[$i]['login'] . ')';
$mas1 = [
@@ -8836,7 +8535,7 @@ class Battle
mysql_query(
'UPDATE `users_animal` SET `eda` = `eda` - 1 WHERE `id` = "' . $a['id'] . '" LIMIT 1'
);
- $this->get_comment();
+ Log::addComment($this);
}
}
}
@@ -8935,7 +8634,8 @@ class Battle
if (empty($this->stats[$id]['hp'])) {
$this->stats[$id]['hp'] = $this->stats[$id]['hpNow'];
}
- Db::sql('insert into battle_users (battle,uid,time_enter,login,level,align,clan,hpAll,hp,hpStart,team) values (?,?,unix_timestamp(),?,?,?,?,?,?,?,?)',
+ Db::sql(
+ 'insert into battle_users (battle,uid,time_enter,login,level,align,clan,hpAll,hp,hpStart,team) values (?,?,unix_timestamp(),?,?,?,?,?,?,?,?)',
[
$this->info['id'],
$uid,
@@ -8946,7 +8646,8 @@ class Battle
$this->stats[$id]['hp'],
$this->stats[$id]['hpNow'],
$this->users[$id]['team'],
- ]);
+ ]
+ );
}
public function testZonbVis()
diff --git a/_incl_data/class/Battle/Log.php b/_incl_data/class/Battle/Log.php
new file mode 100644
index 00000000..4cfbc670
--- /dev/null
+++ b/_incl_data/class/Battle/Log.php
@@ -0,0 +1,180 @@
+ после боя я этих <вырезано цензурой> обоих в <вырезано цензурой> и <вырезано цензурой>',
+ '<вырезано цензурой> каратисты фиговы',
+ ];
+ $randomcomment = $comments[array_rand($comments)];
+ $text = "{tm1} Комментатор: $randomcomment";
+
+ self::add(
+ [
+ 'battle' => $battle->info['id'],
+ 'id_hod' => $battle->hodID,
+ 'text' => "{tm1} Комментатор: $randomcomment",
+ 'vars' => 'time1=' . time(),
+ 'type' => 1,
+ ]
+ );
+ }
+}
\ No newline at end of file
diff --git a/_incl_data/class/User.php b/_incl_data/class/User.php
index bc0385cf..78279a18 100644
--- a/_incl_data/class/User.php
+++ b/_incl_data/class/User.php
@@ -643,8 +643,8 @@ class User
);
$this->addAction(
time(), 'frg', '[ ' . $this->info['login'] . ' ] ' . date(
- 'd.m.Y H:i:s'
- ) . ' [true] , balance: ' . $sb . ' / ' . $this->info['catch'] . ' / ' . $this->info['frg'] . ' '
+ 'd.m.Y H:i:s'
+ ) . ' [true] , balance: ' . $sb . ' / ' . $this->info['catch'] . ' / ' . $this->info['frg'] . ' '
);
} else {
mysql_query(
@@ -655,8 +655,8 @@ class User
if ($sb - 10 > $this->info['catch'] - $this->info['frg']) {
$this->addAction(
time(), 'frgfalse', '[ ' . $this->info['login'] . ' ] ' . date(
- 'd.m.Y H:i:s'
- ) . ' [false] , [' . ($sb - ($this->info['catch'] - $this->info['frg'])) . '] , balance: ' . $sb . ' | ' . $this->info['catch'] . ' | ' . $this->info['frg'] . ' '
+ 'd.m.Y H:i:s'
+ ) . ' [false] , [' . ($sb - ($this->info['catch'] - $this->info['frg'])) . '] , balance: ' . $sb . ' | ' . $this->info['catch'] . ' | ' . $this->info['frg'] . ' '
);
}
}
@@ -744,7 +744,8 @@ class User
'UPDATE `items_users` SET `use_text` = "' . $itm['use_text'] . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'
);
mysql_query(
- 'INSERT INTO `items_text` (`item_id`,`time`,`login`,`text`,`city`,`x`) VALUES ("' . $itm['id'] . '","' . time() . '","' . $this->info['login'] . '","' . mysql_real_escape_string(
+ 'INSERT INTO `items_text` (`item_id`,`time`,`login`,`text`,`city`,`x`) VALUES ("' . $itm['id'] . '","' . time(
+ ) . '","' . $this->info['login'] . '","' . mysql_real_escape_string(
htmlspecialchars($txt, null)
) . '","' . $this->info['city'] . '","' . $sx . '")'
);
@@ -790,7 +791,8 @@ class User
$this->error = 'Персонаж уже проводит сделку';
} else {
$ins = mysql_query(
- 'INSERT INTO `transfers` (`uid1`,`uid2`,`city`,`room`,`time`,`text`,`start1`) VALUES ("' . $this->info['id'] . '","' . $t['id'] . '","' . $this->info['city'] . '","' . $this->info['room'] . '","' . time() . '","' . mysql_real_escape_string(
+ 'INSERT INTO `transfers` (`uid1`,`uid2`,`city`,`room`,`time`,`text`,`start1`) VALUES ("' . $this->info['id'] . '","' . $t['id'] . '","' . $this->info['city'] . '","' . $this->info['room'] . '","' . time(
+ ) . '","' . mysql_real_escape_string(
htmlspecialchars($_POST['textarea'], null)
) . '","' . time() . '")'
);
@@ -1971,7 +1973,7 @@ class User
return $plid;
}
- public function addNewbot($id, $botDate, $clon, $logins_bot = null, $luser = null, $round = null)
+ public function addNewbot($id, $botDate = null, $clon = null, $logins_bot = null, $luser = null, $round = null): array|int
{
if ($clon != null) {
$r = 0;
@@ -2022,7 +2024,7 @@ class User
unset($statss);
}
- $uid = Db::lastInsertId();
+ $uid = (int)Db::lastInsertId();
//копируем статы
Db::sql('insert into stats (clone, id, stats, hpNow, upLevel, bot, priems) values (?,?,?,1000000,?,1,?)', [$clon['id'], $uid, $clon['stats'], $clon['upLevel'], $clon['priems']]);
@@ -2049,71 +2051,67 @@ class User
if (!isset($bot['id'])) {
return [];
+ }
+ if (isset($logins_bot[$bot['login']])) {
+ $logins_bot[$bot['login']]++;
+ $bot['login'] = $bot['login'] . ' (' . $logins_bot[$bot['login']] . ')';
} else {
- if (isset($logins_bot[$bot['login']])) {
- $logins_bot[$bot['login']]++;
- $bot['login'] = $bot['login'] . ' (' . $logins_bot[$bot['login']] . ')';
- } else {
- $logins_bot[$bot['login']] = 1;
- }
-
- Db::sql(
- "insert into users (align, login, level, pass, city, cityreg, name, sex, hobby, timereg, obraz, bot_id)
+ $logins_bot[$bot['login']] = 1;
+ }
+ Db::sql(
+ "insert into users (align, login, level, pass, city, cityreg, name, sex, hobby, timereg, obraz, bot_id)
select align, ?, level, uuid(), 'Неведомые земли', 'Неведомые земли', name, sex, hobby, replace(time_reg, 100, unix_timestamp()), obraz, id
from test_bot where id = ?",
- [$bot['login'], $id]
- );
+ [$bot['login'], $id]
+ );
- $uid = Db::lastInsertId();
+ $uid = Db::lastInsertId();
- if ($round > 0) { //Улучшаем мф. и статы и НР 1 раунд = +20%
- $statss = Conversion::dataStringToArray($bot['stats']);
+ if ($round > 0) { //Улучшаем мф. и статы и НР 1 раунд = +20%
+ $statss = Conversion::dataStringToArray($bot['stats']);
- $statss['s1'] = ceil($statss['s1'] * (1 + 0.20 * ($round)));
- $statss['s2'] = ceil($statss['s2'] * (1 + 0.20 * ($round)));
- $statss['s3'] = ceil($statss['s3'] * (1 + 0.20 * ($round)));
- $statss['s4'] = ceil($statss['s4'] * (1 + 0.20 * ($round)));
+ $statss['s1'] = ceil($statss['s1'] * (1 + 0.20 * ($round)));
+ $statss['s2'] = ceil($statss['s2'] * (1 + 0.20 * ($round)));
+ $statss['s3'] = ceil($statss['s3'] * (1 + 0.20 * ($round)));
+ $statss['s4'] = ceil($statss['s4'] * (1 + 0.20 * ($round)));
- $statss['hpAll'] = ceil($statss['hpAll'] * (1 + 0.20 * ($round)));
- $statss['mpAll'] = ceil($statss['mpAll'] * (1 + 0.20 * ($round)));
+ $statss['hpAll'] = ceil($statss['hpAll'] * (1 + 0.20 * ($round)));
+ $statss['mpAll'] = ceil($statss['mpAll'] * (1 + 0.20 * ($round)));
- $statss['m1'] = ceil($statss['m1'] * (1 + 0.20 * ($round)));
- $statss['m2'] = ceil($statss['m2'] * (1 + 0.20 * ($round)));
- $statss['m3'] = ceil($statss['m3'] * (1 + 0.20 * ($round)));
- $statss['m4'] = ceil($statss['m4'] * (1 + 0.20 * ($round)));
- $statss['m5'] = ceil($statss['m5'] * (1 + 0.20 * ($round)));
- $statss['za'] = ceil($statss['za'] * (1 + 0.20 * ($round)));
- $statss['zm'] = ceil($statss['zm'] * (1 + 0.20 * ($round)));
- $bot['stats'] = Conversion::arrayToDataString($statss);
- unset($statss);
- }
-
- Db::sql('insert into stats (id, stats, hpNow, upLevel, bot) values (?,?,1000000,?,1)', [$uid, $bot['stats'], $bot['upLevel']]);
-
- $bot['id'] = $uid;
- $bot['logins_bot'] = $logins_bot;
-
- //Выдаем предметы
- $iu = explode(',', $bot['itemsUse']);
-
- $i = 0;
- $w3b = 0;
-
- foreach ($iu as $item) {
- $iditem = ItemsModel::addItem($item, $bot['id']);
- $inslot = Db::getValue('select inslot from items_main where id = ?', [$item]) ?? 2000;
- if ($inslot === 3) {
- if ($w3b === 1) {
- $inslot = 14;
- } else {
- $w3b = 1;
- }
- }
- Db::sql('update items_users set inOdet = ? where id = ?', [$inslot, $iditem]);
- }
-
- return $bot;
+ $statss['m1'] = ceil($statss['m1'] * (1 + 0.20 * ($round)));
+ $statss['m2'] = ceil($statss['m2'] * (1 + 0.20 * ($round)));
+ $statss['m3'] = ceil($statss['m3'] * (1 + 0.20 * ($round)));
+ $statss['m4'] = ceil($statss['m4'] * (1 + 0.20 * ($round)));
+ $statss['m5'] = ceil($statss['m5'] * (1 + 0.20 * ($round)));
+ $statss['za'] = ceil($statss['za'] * (1 + 0.20 * ($round)));
+ $statss['zm'] = ceil($statss['zm'] * (1 + 0.20 * ($round)));
+ $bot['stats'] = Conversion::arrayToDataString($statss);
+ unset($statss);
}
+ Db::sql('insert into stats (id, stats, hpNow, upLevel, bot) values (?,?,1000000,?,1)', [$uid, $bot['stats'], $bot['upLevel']]);
+
+ $bot['id'] = $uid;
+ $bot['logins_bot'] = $logins_bot;
+
+ //Выдаем предметы
+ $iu = explode(',', $bot['itemsUse']);
+
+ $i = 0;
+ $w3b = 0;
+
+ foreach ($iu as $item) {
+ $iditem = ItemsModel::addItem($item, $bot['id']);
+ $inslot = Db::getValue('select inslot from items_main where id = ?', [$item]) ?? 2000;
+ if ($inslot === 3) {
+ if ($w3b === 1) {
+ $inslot = 14;
+ } else {
+ $w3b = 1;
+ }
+ }
+ Db::sql('update items_users set inOdet = ? where id = ?', [$inslot, $iditem]);
+ }
+ return $bot;
}
}
@@ -2344,8 +2342,10 @@ class User
{
//fixme какая-то дичь тут.
$item = Db::getRow('select uid, item_id, inGroup, inShop from items_users where id = ?', [$id]);
- return Db::getValue('select count(id) from items_users where inShop = ? and item_id = ? and uid = ? and inGroup = ?',
- [$item['inShop'], $item['item_id'], $item['uid'], $item['ingroup']]);
+ return Db::getValue(
+ 'select count(id) from items_users where inShop = ? and item_id = ? and uid = ? and inGroup = ?',
+ [$item['inShop'], $item['item_id'], $item['uid'], $item['ingroup']]
+ );
}
public function obj_takeItem($id): void
@@ -3605,7 +3605,8 @@ class User
if ($po['sudba'] == '0') {
$is2 .= ' ';
} elseif ($po['sudba'] == '1') {
- $is2 .= ' ';
+ $is2 .= ' ';
} else {
$is2 .= ' ';
}
@@ -3789,7 +3790,8 @@ class User
$tr .= '
• Броня ' . $bn[$i] . ': ' . $po['add_mib' . $i] . '-' . $po['add_mab' . $i];
}
if (isset($po['mf_mib']) && $po['mf_mib'] > 0) {
- $tr .= ' ';
+ $tr .= ' ';
}
}
$i++;
@@ -3933,7 +3935,11 @@ class User
if (isset($po['free_stats']) && $po['free_stats'] > 0) {
$is2 .= '
Распределение статов:';
- $is2 .= 'Сила: ' . $po['add_s1'] . '
Ловкость: ' . $po['add_s2'] . '
Интуиция: ' . $po['add_s3'] . '
Интеллект: ' . $po['add_s5'] . ' ';
+ $is2 .= 'Сила: ' . $po['add_s1'] . '
Ловкость: ' . $po['add_s2'] . '
Интуиция: ' . $po['add_s3'] . '
Интеллект: ' . $po['add_s5'] . ' ';
$is2 .= '• Осталось распределений: ' . $po['free_stats'] . '';
}
@@ -3985,17 +3991,28 @@ class User
} else {
$is2 .= '
Мастерство владения мечами: ' . (0 + $po['add_a1']) . '
- Мастерство владения дубинами, булавами: ' . (0 + $po['add_a2']) . '
- Мастерство владения ножами, кастетами: ' . (0 + $po['add_a3']) . '
- Мастерство владения топорами, секирами: ' . (0 + $po['add_a4']) . '
- Мастерство владения магическими посохами: ' . (0 + $po['add_a5']) . '
- Мастерство владения стихией Огня: ' . (0 + $po['add_mg1']) . '
- Мастерство владения стихией Воздуха: ' . (0 + $po['add_mg2']) . '
- Мастерство владения стихией Воды: ' . (0 + $po['add_mg3']) . '
- Мастерство владения стихией Земли: ' . (0 + $po['add_mg4']) . '
- Мастерство владения магией Света: ' . (0 + $po['add_mg5']) . '
- Мастерство владения магией Тьмы: ' . (0 + $po['add_mg6']) . '
- Мастерство владения серой магией: ' . (0 + $po['add_mg7']) . '
+ Мастерство владения дубинами, булавами: ' . (0 + $po['add_a2']) . '
+ Мастерство владения ножами, кастетами: ' . (0 + $po['add_a3']) . '
+ Мастерство владения топорами, секирами: ' . (0 + $po['add_a4']) . '
+ Мастерство владения магическими посохами: ' . (0 + $po['add_a5']) . '
+ Мастерство владения стихией Огня: ' . (0 + $po['add_mg1']) . '
+ Мастерство владения стихией Воздуха: ' . (0 + $po['add_mg2']) . '
+ Мастерство владения стихией Воды: ' . (0 + $po['add_mg3']) . '
+ Мастерство владения стихией Земли: ' . (0 + $po['add_mg4']) . '
+ Мастерство владения магией Света: ' . (0 + $po['add_mg5']) . '
+ Мастерство владения магией Тьмы: ' . (0 + $po['add_mg6']) . '
+ Мастерство владения серой магией: ' . (0 + $po['add_mg7']) . '
';
$is2 .= 'Осталось распределений: ' . $mx1;
}
@@ -4146,14 +4163,16 @@ class User
mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $po['toclan1'][0] . '" LIMIT 1')
);
if (isset($clpo['id'])) {
- $is2 .= 'Предмет принадлежит клану
' . $clpo['name'] . '';
+ $is2 .= '
Предмет принадлежит клану
' . $clpo['name'] . '';
$plpo = mysql_fetch_array(
mysql_query(
'SELECT `id`,`login`,`cityreg` FROM `users` WHERE `id` = "' . $po['toclan1'][1] . '" LIMIT 1'
)
);
if (isset($plpo['id'])) {
- $is2 .= '
(Дар игрока ' . $plpo['login'] . ')';
+ $is2 .= '
(Дар игрока ' . $plpo['login'] . ')';
if ($plpo['login'] == $this->info['login']) {
if (isset($_GET['backmyitm'])) {
$pl['inOdet'] = 0;
@@ -4299,7 +4318,8 @@ class User
) . '" LIMIT 1'
)
);
- $is1 .= '
Предмет у игрока
' . $yui['login'] . '';
+ $is1 .= '
Предмет у игрока
' . $yui['login'] . '';
if ($this->info['tt'][14][0] == 1 || ($this->info['id'] == $us_1)) {
$is1 .= '
Изъять предмет';
}
@@ -4647,13 +4667,15 @@ class User
}
if ($pl['magic_inc'] && $pl['type'] == 30) {
//используем эликсир
- $pldate = '
| "' . $pl['name'] . '" Использовать сейчас? |
';
+ $pldate = '
| "' . $pl['name'] . '" Использовать сейчас? |
';
$useUrl = 'top.useiteminv(\'' . (0 + $pl['id']) . '\',\'' . $pl['img'] . '\',\'' . $pl['img'] . '\',1,\'' . $pldate . '\',\'' . (0 + $_GET['otdel']) . '\');';
} elseif ($pl['magic_inc'] && $pl['type'] == 29) { //используем заклятие
if (isset($po['useOnLogin']) && !isset($po['zazuby'])) { //на персонажа
$useUrl = 'top.useMagic(\'' . $pl['name'] . '\',' . (0 + $pl['id']) . ',\'' . $pl['img'] . '\',1,\'main.php?' . $inv1 . 'otdel=' . ((int)$_GET['otdel']) . '&use_pid=' . $pl['id'] . '&rnd=' . $code . '\');';
} else { //просто использование (на себя, либо без указания предмета\логина)
- $pldate = '
| "' . $pl['name'] . '" Использовать сейчас? |
';
+ $pldate = '
| "' . $pl['name'] . '" Использовать сейчас? |
';
$useUrl = 'top.useiteminv(\'' . (0 + $pl['id']) . '\',\'' . $pl['img'] . '\',\'' . $pl['img'] . '\',1,\'' . $pldate . '\',\'' . (0 + $_GET['otdel']) . '\',' . (0 + $_GET['otdel']) . ');';
}
//на предмет
@@ -4700,7 +4722,8 @@ class User
if ($pl['group'] > 0) {
$is1 .= '
';
if ($this->itemsX($pl['id']) < $pl['group_max']) {
- $is1 .= '
';
+ $is1 .= '
';
}
if ($this->itemsX($pl['id']) > 1) {
$tbl = '
\',\'' . intval(
$_GET['otdel']
) . Config::img() . ' / i / clear . gif">';
}
@@ -5015,7 +5039,8 @@ class User
$itm['data'] = Conversion::dataStringToArray($itm['data']);
unset($itm['data']['frompisher']);
$itm['data'] = Conversion::arrayToDataString($itm['data']);
- if ($pl['data'] == $itm['data'] && $pl['name'] == $itm['name'] && $itm['iznosMAX'] == $pl['iznosMAX'] && $pl['iznosNOW'] == 0 && ($pl['timeOver'] == 0 || $pl['timeOver'] > time()) && $pl['gift'] == $itm['gift']) {
+ if ($pl['data'] == $itm['data'] && $pl['name'] == $itm['name'] && $itm['iznosMAX'] == $pl['iznosMAX'] && $pl['iznosNOW'] == 0 && ($pl['timeOver'] == 0 || $pl['timeOver'] > time(
+ )) && $pl['gift'] == $itm['gift']) {
$upd = mysql_query(
'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `inGroup` = "' . $itm['inGroup'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'
);
@@ -5070,7 +5095,8 @@ class User
$snIt = 0;
//Проверяем одетые вещи и вещи с сроком годности
- $itm = Db::getRow("select
+ $itm = Db::getRow(
+ "select
items_main.id,
items_users.id as iduid,
data,
@@ -5100,7 +5126,8 @@ class User
srok > 0 or
(timeOver !=0 and timeOver < unix_timestamp())
) and uid = ?",
- [$u['id']]);
+ [$u['id']]
+ );
$t = $this->items['tr'];
@@ -5318,8 +5345,10 @@ class User
if ($e['id_eff'] == 2) {
//Проверка
- $et = Db::getRow("select id, time from actions where uid = ? and vars like '%read%' and vals = (select id from items_main where name = ? limit 1)",
- [$e['uid'], str_replace('Изучение: ', '', $e['name'])]);
+ $et = Db::getRow(
+ "select id, time from actions where uid = ? and vars like '%read%' and vals = (select id from items_main where name = ? limit 1)",
+ [$e['uid'], str_replace('Изучение: ', '', $e['name'])]
+ );
$et = isset($et['id']) && $et['time'] >= time();
} else {
@@ -5348,8 +5377,10 @@ class User
if ($u['battle'] > 0) {
$lastHOD = Db::getValue('select if(type != 6, id_hod + 1, id_hod) as id_hod from battle_logs where battle = ? order by id_hod desc limit 1', [$u['battle']]);
if (!empty($lastHOD)) {
- Db::sql("insert into battle_logs (time, battle, id_hod, text, vars, zona1, zonb1, zona2, zonb2, type) values (unix_timestamp(),?,?,?,?,'','','','',6)",
- [$u['battle'], $lastHOD, "{tm1}$text у игрока {u1}", "login1={$u['login']}||t1={$u['team']}||time=" . time()]);
+ Db::sql(
+ "insert into battle_logs (time, battle, id_hod, text, vars, zona1, zonb1, zona2, zonb2, type) values (unix_timestamp(),?,?,?,?,'','','','',6)",
+ [$u['battle'], $lastHOD, "{tm1}$text у игрока {u1}", "login1={$u['login']}||t1={$u['team']}||time=" . time()]
+ );
}
}
}
@@ -5359,8 +5390,10 @@ class User
public function info_remont(): string
{
$r = '';
- $sp = Db::getRows('select iznosNOW, iznosMAX, name from items_users left join items_main on item_id = items_main.id where uid = ? and inShop = 0 and inOdet between 1 and 18 limit 18',
- [$this->info['id']]);
+ $sp = Db::getRows(
+ 'select iznosNOW, iznosMAX, name from items_users left join items_main on item_id = items_main.id where uid = ? and inShop = 0 and inOdet between 1 and 18 limit 18',
+ [$this->info['id']]
+ );
foreach ($sp as $pl) {
if ($pl['iznosNOW'] <= ceil($pl['iznosMAX'] * 0.80)) {
continue;
@@ -5604,7 +5637,8 @@ class User
);
$this->error = 'Вам нехорошо...';
} elseif (mysql_query(
- 'UPDATE `items_users` SET `uid` = "' . $this->info['id'] . '",`lastUPD` = "' . time() . '",`gift` = "' . $itm['gift'] . '",`gtxt1` = "' . $itm['gtxt1'] . '",`gtxt2` = "Предмет из упаковки. Дата запаковки: ' . date(
+ 'UPDATE `items_users` SET `uid` = "' . $this->info['id'] . '",`lastUPD` = "' . time(
+ ) . '",`gift` = "' . $itm['gift'] . '",`gtxt1` = "' . $itm['gtxt1'] . '",`gtxt2` = "Предмет из упаковки. Дата запаковки: ' . date(
'd.m.Y H:i:s', $itmin['time_create']
) . '" WHERE `id` = "' . $itmin['id'] . '" LIMIT 1'
)) {
@@ -5635,7 +5669,8 @@ class User
$pid = ItemsModel::addItem($s['id'], $this->info['id']);
if ($pid > 0) {
mysql_query(
- 'UPDATE `items_users` SET `lastUPD` = "' . time() . '",`gift` = "' . $itm['gift'] . '" WHERE `id` = "' . $pid . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1'
+ 'UPDATE `items_users` SET `lastUPD` = "' . time(
+ ) . '",`gift` = "' . $itm['gift'] . '" WHERE `id` = "' . $pid . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1'
);
}
$j++;
@@ -5957,14 +5992,16 @@ LIMIT 1'
);
$col = $col[0];
mysql_query(
- 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '" WHERE `item_id`="' . $itm['item_id'] . '" AND `inOdet` = 0 AND `delete` < 100000 AND `uid` = "' . $itm['uid'] . '" AND `data` NOT LIKE "%nodelete%"' . $whr
+ 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time(
+ ) . '" WHERE `item_id`="' . $itm['item_id'] . '" AND `inOdet` = 0 AND `delete` < 100000 AND `uid` = "' . $itm['uid'] . '" AND `data` NOT LIKE "%nodelete%"' . $whr
);
$this->error = 'Предметы "' . $itm['name'] . ' (x' . ($col + 1) . ')" выброшены';
Delo::add(
1,
'System.inventory',
$uid,
- '"
System.inventory": Предметы "
' . $itm['name'] . ' (x' . $col . ')" [itm:' . $itm['id'] . '=' . time() . '] были
выброшены.',
+ '"
System.inventory": Предметы "
' . $itm['name'] . ' (x' . $col . ')" [itm:' . $itm['id'] . '=' . time(
+ ) . '] были
выброшены.',
);
} else {
$this->error = 'Предмет "' . $itm['name'] . '" выброшен';
@@ -6036,7 +6073,8 @@ LIMIT 1'
mysql_query(
'UPDATE `stats` SET `exp` = "12499" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1'
);
- echo '';
+ echo '';
} else {
mysql_query(
'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'
@@ -6478,7 +6516,8 @@ LIMIT 1'
$r = '
Вы успешно изъяли предмет "' . $itm_['name'] . '"';
$col = $this->itemsX(((int)$id));
mysql_query(
- 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time() . '", "6", "' . $user['login'] . '", "' . $itm_['name'] . ' (x' . $col . ') Ид : [' . $id . '] | У персонажа : [' . $itm_['uid'] . ']", "' . $user['id'] . '")'
+ 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time(
+ ) . '", "6", "' . $user['login'] . '", "' . $itm_['name'] . ' (x' . $col . ') Ид : [' . $id . '] | У персонажа : [' . $itm_['uid'] . ']", "' . $user['id'] . '")'
);
mysql_query(
'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `uid` = "-21' . $res['id'] . '" ' . $o . ' WHERE `id` = "' . $id . '" LIMIT 1'
@@ -6509,7 +6548,8 @@ LIMIT 1'
if ($user['inTurnir'] == 0 && $user['inTurnirnew'] == 0) {
$col = $this->itemsX(((int)$id));
mysql_query(
- 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time() . '", "5", "' . $user['login'] . '", "' . $itm_['name'] . ' (x' . $col . ') Ид : [' . $id . '] Хозяин : [' . $cls . ']", "' . $user['id'] . '")'
+ 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time(
+ ) . '", "5", "' . $user['login'] . '", "' . $itm_['name'] . ' (x' . $col . ') Ид : [' . $id . '] Хозяин : [' . $cls . ']", "' . $user['id'] . '")'
);
mysql_query(
'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `uid` = "' . $user['id'] . '" WHERE `id` = "' . $id . '" LIMIT 1'
@@ -6551,7 +6591,8 @@ LIMIT 1'
'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `uid` = "' . $user['id'] . '", `data` = "' . $pl['data'] . '" WHERE `id` = "' . $pl['id'] . '"'
);
mysql_query(
- 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time() . '", "' . $type . '", "' . $user['login'] . '", "' . $it_n['name'] . ' (x' . $col . ') Ид : [' . $pl['id'] . ']", "' . $user['id'] . '")'
+ 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time(
+ ) . '", "' . $type . '", "' . $user['login'] . '", "' . $it_n['name'] . ' (x' . $col . ') Ид : [' . $pl['id'] . ']", "' . $user['id'] . '")'
);
} elseif ($pl['uid'] == $user['id']) {
$col = $this->itemsX(((int)$pl['id']));
@@ -6562,7 +6603,8 @@ LIMIT 1'
'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `uid` = "-21' . $user['clan'] . '" WHERE `id` = "' . $pl['id'] . '"'
);
mysql_query(
- 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time() . '", "9", "' . $user['login'] . '", "' . $it_n['name'] . ' (x' . $col . ') Ид : [' . $pl['id'] . ']", "' . $user['id'] . '")'
+ 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time(
+ ) . '", "9", "' . $user['login'] . '", "' . $it_n['name'] . ' (x' . $col . ') Ид : [' . $pl['id'] . ']", "' . $user['id'] . '")'
);
}
}
diff --git a/_incl_data/class/priem/2.php b/_incl_data/class/priem/2.php
index b7fa2b50..d9453ebe 100644
--- a/_incl_data/class/priem/2.php
+++ b/_incl_data/class/priem/2.php
@@ -1,118 +1,114 @@
atacks[$id]['uid1'];
- $uid2 = $btl->atacks[$id]['uid2'];
- if( $uid == $uid1 ) {
- $a = 1;
- $b = 2;
- $u1 = $uid1;
- $u2 = $uid2;
- }elseif( $uid == $uid2 ) {
- $a = 2;
- $b = 1;
- $u1 = $uid2;
- $u2 = $uid1;
- }
- if( isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) {
- mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `id` = "'.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].'" AND `uid` = "'.$uid.'" LIMIT 1');
- unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]);
- }
- //
- // -- конец приема
- return $at;
- };
- unset( $pr_used_this );
-}elseif( isset($pr_used_this) ) {
- $fx_priem = function( $id , $at , $uid, $j_id ) {
- // -- начало приема
- global $u, $btl;
- //
- //Параметры приема
- $pvr['used'] = 0;
- //
- $uid1 = $btl->atacks[$id]['uid1'];
- $uid2 = $btl->atacks[$id]['uid2'];
- if( $uid == $uid1 ) {
- $a = 1;
- $b = 2;
- $u1 = $uid1;
- $u2 = $uid2;
- }elseif( $uid == $uid2 ) {
- $a = 2;
- $b = 1;
- $u1 = $uid2;
- $u2 = $uid1;
- }
- if( $a > 0 ) {
- $j = 0; $k = 0; $wp = 3;
- while($j < count($at['p'][$a]['atack'])) {
- if( isset($at['p'][$a]['atack'][$j]['yron']) && (
- $at['p'][$a]['atack'][$j][1] == 1 ||
- $at['p'][$a]['atack'][$j][1] == 4 ||
- $at['p'][$a]['atack'][$j][1] == 5 )) {
- if( $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) {
- //
- $pvr['hp'] = 4;
- $pvr['hp'] = $btl->testYronPriem( $u1, $u2, 12, $pvr['hp'], -1, true, false, 0 );
- $pvr['mg'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$u2.'" AND `v2` = "249" AND `delete` = 0 LIMIT 1'));
- if( $pvr['hp'] <= 1 && isset($pvr['mg'])) {
- $pvr['hp'] = 0;
- $at['p'][$a]['atack'][$j]['yron']['y'] = 1;
- $at['p'][$a]['atack'][$j]['yron']['r'] = -1;
- $at['p'][$a]['atack'][$j]['yron']['k'] = 1;
- $at['p'][$a]['atack'][$j]['yron']['m_k'] = 1;
- $at['p'][$a]['atack'][$j]['yron']['m_y'] = 1;
- }
- else
- //
- {
- $at['p'][$a]['atack'][$j]['yron']['y'] += $pvr['hp'];
- $at['p'][$a]['atack'][$j]['yron']['r'] -= $pvr['hp'];
- $at['p'][$a]['atack'][$j]['yron']['k'] += $pvr['hp'];
- $at['p'][$a]['atack'][$j]['yron']['m_y'] += $pvr['hp'];
- $at['p'][$a]['atack'][$j]['yron']['m_k'] += $pvr['hp'];
- }
- //$at['p'][$a]['atack'][$j]['yron'] = $btl->testYronPriemAttack( 2 , $u1 , $u2 , $at['p'][$a]['atack'][$j]['yron'] );
-
- //
- $at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->deleffm(2,'.(0+$uid).','.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].');
- $this->priemAddLog( '.$id.', '.$a.', '.$b.', '.$u1.', '.$u2.',
- "'.$btl->stats[$btl->uids[$u1]]['effects'][$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0]]['name'].'",
- "{tm1} '.$btl->addlt($a , 17 , $btl->users[$btl->uids[$u1]]['sex'] , NULL).'",
- '.($btl->hodID + 1).' );';
- //
-
- $at['p'][$a]['atack'][$j]['yron']['used'][] = array($j_id,$uid,$pvr['used']);
- $at['p'][$a]['atack'][$j]['yron']['kill'][] = array($j_id,$uid,$pvr['kill']);
- //
- $at['p'][$a]['priems']['kill'][$uid][$j_id] = true;
- }
- }
- $j++;
- }
- }
- // -- конец приема
- return $at;
- };
- unset( $pr_used_this );
-}else{
- //Действие при клике
- $this->addEffPr($pl,$id);
+$pvr = [];
+if (isset($pr_tested_this)) {
+ $fx_priem = function ($id, $at, $uid, $j_id) {
+ // -- начало приема
+ global $btl;
+
+ //Параметры приема
+ $pvr['used'] = 0;
+
+ $uid1 = $btl->atacks[$id]['uid1'];
+ $uid2 = $btl->atacks[$id]['uid2'];
+ if ($uid == $uid1) {
+ $a = 1;
+ $b = 2;
+ $u1 = $uid1;
+ $u2 = $uid2;
+ } elseif ($uid == $uid2) {
+ $a = 2;
+ $b = 1;
+ $u1 = $uid2;
+ $u2 = $uid1;
+ }
+ if (isset($at['p'][$a]['priems']['kill'][$uid][$j_id])) {
+ mysql_query('UPDATE `eff_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3] . '" AND `uid` = "' . $uid . '" LIMIT 1');
+ unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]);
+ }
+
+ // -- конец приема
+ return $at;
+ };
+ unset($pr_used_this);
+} elseif (isset($pr_used_this)) {
+ $fx_priem = function ($id, $at, $uid, $j_id) {
+ // -- начало приема
+ global $btl;
+
+ //Параметры приема
+ $pvr['used'] = 0;
+
+ $uid1 = $btl->atacks[$id]['uid1'];
+ $uid2 = $btl->atacks[$id]['uid2'];
+ if ($uid == $uid1) {
+ $a = 1;
+ $b = 2;
+ $u1 = $uid1;
+ $u2 = $uid2;
+ } elseif ($uid == $uid2) {
+ $a = 2;
+ $b = 1;
+ $u1 = $uid2;
+ $u2 = $uid1;
+ }
+ if ($a > 0) {
+ $j = 0;
+ $k = 0;
+ $wp = 3;
+ while ($j < count($at['p'][$a]['atack'])) {
+ if (isset($at['p'][$a]['atack'][$j]['yron']) && (
+ $at['p'][$a]['atack'][$j][1] == 1 ||
+ $at['p'][$a]['atack'][$j][1] == 4 ||
+ $at['p'][$a]['atack'][$j][1] == 5)) {
+ if ($pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id])) {
+ //
+ $pvr['hp'] = 4;
+ $pvr['hp'] = $btl->testYronPriem($u1, $u2, 12, $pvr['hp'], -1, true, false, 0);
+ $pvr['mg'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $u2 . '" AND `v2` = "249" AND `delete` = 0 LIMIT 1'));
+ if ($pvr['hp'] <= 1 && isset($pvr['mg'])) {
+ $pvr['hp'] = 0;
+ $at['p'][$a]['atack'][$j]['yron']['y'] = 1;
+ $at['p'][$a]['atack'][$j]['yron']['r'] = -1;
+ $at['p'][$a]['atack'][$j]['yron']['k'] = 1;
+ $at['p'][$a]['atack'][$j]['yron']['m_k'] = 1;
+ $at['p'][$a]['atack'][$j]['yron']['m_y'] = 1;
+ } else {
+ $at['p'][$a]['atack'][$j]['yron']['y'] += $pvr['hp'];
+ $at['p'][$a]['atack'][$j]['yron']['r'] -= $pvr['hp'];
+ $at['p'][$a]['atack'][$j]['yron']['k'] += $pvr['hp'];
+ $at['p'][$a]['atack'][$j]['yron']['m_y'] += $pvr['hp'];
+ $at['p'][$a]['atack'][$j]['yron']['m_k'] += $pvr['hp'];
+ }
+
+ $at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->deleffm(2,' . (0 + $uid) . ',' . $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3] . ');
+ $this->priemAddLog( ' . $id . ', ' . $a . ', ' . $b . ', ' . $u1 . ', ' . $u2 . ',
+ "' . $btl->stats[$btl->uids[$u1]]['effects'][$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0]]['name'] . '",
+ "{tm1} ' . $btl->addlt($a, 17, $btl->users[$btl->uids[$u1]]['sex'], null) . '",
+ ' . ($btl->hodID + 1) . ' );';
+
+
+ $at['p'][$a]['atack'][$j]['yron']['used'][] = [$j_id, $uid, $pvr['used']];
+ $at['p'][$a]['atack'][$j]['yron']['kill'][] = [$j_id, $uid, $pvr['kill']];
+
+ $at['p'][$a]['priems']['kill'][$uid][$j_id] = true;
+ }
+ }
+ $j++;
+ }
+ }
+ // -- конец приема
+ return $at;
+ };
+ unset($pr_used_this);
+} else {
+ //Действие при клике
+ $this->addEffPr($pl, $id);
}
unset($pvr);
-?>
\ No newline at end of file