battles/config.php
Igor Barkov (iwork) e6056ae34a Handle exceptions.
2020-06-23 14:31:57 +03:00

414 lines
16 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Copyright (c) 2018.
* Author: Igor Barkov <lopar.4ever@gmail.com>
* Project name: Battles-Game
*/
ini_set('display_errors', 'On');
error_reporting(E_ALL);
define("GAMEDOMAIN","combats.loc");
/*
* Запрещаем кэшировать
*/
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
/**
* Классы для работы с базой данных.
*/
require_once('Database/Mysql.php');
require_once('Database/Exception.php');
require_once('Database/Statement.php');
require_once('Database/db.php');
/**
* Автозагрузка классов.
*/
spl_autoload_register(function ($class_name) {
include_once 'classes/' . $class_name . '.php';
});
/**
* Выбрасыватель ошибок для запросов в базу
*/
function mysql_error_handler($query) {
try {
$query;
} catch (\Krugozor\Database\Mysql\Exception $e) {
echo <<<MYSQL_ERROR
<div style="background-color: #eecccc; border: 1px solid #eeaaaa; padding: 1em; font-size: 0.5em;">
<strong style="color: #8F0000">DB Error:</strong> {$e->getMessage()}<br>
<strong>File:</strong> {$e->getFile()} ({$e->getLine()})
</div>
MYSQL_ERROR;
}
}
/* === Для нападалок. Сперва комнаты в которых нельзя напасть, потом персонаж на которого нельзя напасть. === */
$unkilable = [
'rooms' => [620, 621, 1051, 1052],
'users' => [10962, 10964, 10965]
];
// ???
$canalenters = [620];
$caverooms = [621];
$userslots = ['sergi', 'kulon', 'perchi', 'weap', 'bron', 'r1', 'r2', 'r3', 'helm', 'shit', 'boots', 'rybax', 'plaw', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm10'];
$rooms = [
0 => "Секретная Комната",
1 => "Дом поединков",
20 => "Центральная площадь",
21 => "Страшилкина улица",
22 => "Магазин",
23 => "Ремонтная мастерская",
24 => "Памятник Архангелу",
25 => "Комиссионный магазин",
26 => "Большая парковая улица",
27 => "Почта",
28 => "Регистратура кланов",
29 => "Банк",
30 => "Регистратура кланов (мираж)",
31 => "Башня смерти",
32 => "Готический замок",
33 => "Лабиринт хаоса",
34 => "Цветочный магазин",
35 => "Сувенирный магазин",
37 => "Готический замок - приемная",
38 => "Готический замок - арсенал",
39 => "Готический замок - внутренний двор",
40 => "Готический замок - мастерские",
41 => "Готический замок - комнаты отдыха",
42 => "Лотерея Сталкеров",
43 => "Хижина Знахаря",
44 => "Новогодняя елка",
45 => "Замок Мэра",
47 => "Замок (строительство)",
48 => "Обитель Хаоса",
49 => "Проход к Цитадели Хаоса",
50 => "Магазин Берёзка",
51 => "Парковая улица",
52 => "Квартал Законников",
53 => "Библиотека",
200 => "Турнир",
401 => "Врата Ада",
// БС
501 => "Восточная Крыша",
502 => "Бойница",
503 => "Келья 3",
504 => "Келья 2",
505 => "Западная Крыша 2",
506 => "Келья 4",
507 => "Келья 1",
508 => "Служебная комната",
509 => "Зал Отдыха 2",
510 => "Западная Крыша 1",
511 => "Выход на Крышу",
512 => "Зал Статуй 2",
513 => "Храм",
514 => "Восточная комната",
515 => "Зал Отдыха 1",
516 => "Старый Зал 2",
517 => "Старый Зал 1",
518 => "Красный Зал 3",
519 => "Зал Статуй 1",
520 => "Зал Статуй 3",
521 => "Трапезная 3",
522 => "Зал Ожиданий",
523 => "Оружейная",
524 => "Красный Зал-Окна",
525 => "Красный Зал",
526 => "Гостинная",
527 => "Трапезная 1",
528 => "Внутренний Двор",
529 => "Внутр.Двор-Вход",
530 => "Желтый Коридор",
531 => "Мраморный Зал 1",
532 => "Красный Зал 2",
533 => "Библиотека 1",
534 => "Трапезная 2",
535 => "Проход Внутр. Двора",
536 => "Комната с Камином",
537 => "Библиотека 3",
538 => "Выход из Мрам.Зала",
539 => "Красный Зал-Коридор",
540 => "Лестница в Подвал 1",
541 => "Южный Внутр. Двор",
542 => "Трапезная 4",
543 => "Мраморный Зал 3",
544 => "Мраморный Зал 2",
545 => "Картинная Галерея 1",
546 => "Лестница в Подвал 2",
547 => "Проход Внутр. Двора 2",
548 => "Внутр.Двор-Выход",
549 => "Библиотека 2",
550 => "Картинная Галерея 3",
551 => "Картинная Галерея 2",
552 => "Лестница в Подвал 3",
553 => "Терасса",
554 => "Оранжерея",
555 => "Зал Ораторов",
556 => "Лестница в Подвал 4",
557 => "Темная Комната",
558 => "Винный Погреб",
559 => "Комната в Подвале",
560 => "Подвал",
600 => "Вход в Цитадель Хаоса",
601 => "Цитадель Хаоса",
602 => "Городской парк",
603 => "Арена Ангелов",
620 => "Вход в Рудник",
621 => "Рудник",
660 => "Гостиница, холл",
661 => "Гостиница",
662 => "Памятник Архангелу",
// Клановая улица
650 => "Клановая улица",
651 => "Клановая улица",
652 => "Клановый Замок",
760 => "Тёмный Лес",
1000 => "Вход в рудник",
1001 => "Рудник",
1051 => "Вход в Лабиринты",
1052 => "Лабиринты",
1053 => "Храмовая лавка",
1054 => "Фонтан Удачи",
1055 => "Групповое сражение",
// Тайный проход из Клуба в Замок Законников
2000 => "Подземный проход",
2001 => "Подземный проход (1)",
2002 => "Подземный проход (2)",
2003 => "Подземный проход (3)",
2004 => "Подземный проход (4)",
2005 => "Подземный проход (5)",
2006 => "Подземный проход (6)",
2007 => "Подземный проход (7)",
2008 => "Подземный проход (8)",
2009 => "Подземный проход (9)",
2010 => "Подземный проход (10)",
2011 => "Подземный проход (11)",
2012 => "Подземный проход (12)",
2013 => "Подземный проход (13)",
2014 => "Подземный проход (14)",
2015 => "Подземный проход (15)",
2016 => "Подземный проход (16)",
2017 => "Подземный проход (17)",
2018 => "Подземный проход (18)",
2019 => "Подземный проход (19)",
2020 => "Подземный проход (20)",
2021 => "Подземный проход (21)",
2022 => "Подземный проход (22)",
2023 => "Подземный проход (23)",
2024 => "Подземный проход (24)",
2025 => "Подземный проход (25)",
2026 => "Подземный проход (26)",
2027 => "Подземный проход (27)",
2028 => "Подземный проход (28)",
2029 => "Подземный проход (29)",
2030 => "Подземный проход (30)",
2031 => "Подземный проход (31)",
2032 => "Подземный проход (32)",
2033 => "Подземный проход (33)",
2034 => "Подземный проход (34)",
2035 => "Подземный проход (35)",
2036 => "Подземный проход (36)",
2037 => "Подземный проход (37)",
2038 => "Подземный проход (38)",
2039 => "Подземный проход (39)",
2040 => "Подземный проход (40)",
2041 => "Подземный проход (41)",
2042 => "Подземный проход (42)",
2043 => "Подземный проход (43)",
2044 => "Подземный проход (44)",
2045 => "Подземный проход (45)",
2046 => "Подземный проход (46)",
2047 => "Подземный проход (47)",
2048 => "Подземный проход (48)",
2049 => "Подземный проход (49)",
2050 => "Подземный проход (50)",
2051 => "Подземный проход (51)",
2052 => "Подземный проход (52)",
2053 => "Подземный проход (53)",
2054 => "Подземный проход (54)",
2055 => "Подземный проход (55)",
2056 => "Подземный проход (56)",
2057 => "Подземный проход (57)",
2100 => "Сектор 2100",
2655 => "Арена Богов",
2601 => "Замковая Площадь",
2702 => "Центральная площадь (мираж)",
];
//эффективность магии
$elem_align = [
"a" => ["a" => "1", "e" => "0", "f" => "0.5", "w" => "0.5"],
"e" => ["a" => "0", "e" => "1", "f" => "0.5", "w" => "0.5"],
"f" => ["a" => "0.5", "e" => "0.5", "f" => "1", "w" => "0"],
"w" => ["a" => "0.5", "e" => "0.5", "f" => "0", "w" => "1"],
];
$elem_bonus = [
"a" => ["a" => "1", "e" => "0.75", "f" => "1.25", "w" => "1"],
"e" => ["a" => "1.25", "e" => "1", "f" => "1", "w" => "0.75"],
"f" => ["a" => "0.75", "e" => "1", "f" => "1", "w" => "1.25"],
"w" => ["a" => "1", "e" => "1.25", "f" => "0.75", "w" => "1"],
];
// Опыт и бонусы??
$exptable = [
0 => [0, 0, 0, 0, 0, 20],
20 => [1, 0, 0, 0, 0, 45],
45 => [1, 0, 0, 2, 0, 75],
75 => [1, 0, 0, 4, 0, 110],
110 => [3, 1, 1, 8, 1, 160], # Это первый уровень
160 => [1, 0, 0, 2, 0, 215],
215 => [1, 0, 0, 2, 0, 280],
280 => [1, 0, 0, 4, 0, 350],
350 => [1, 0, 0, 8, 0, 410],
410 => [3, 1, 1, 16, 1, 530], # Это второй уровень
530 => [1, 0, 0, 8, 0, 670],
670 => [1, 0, 0, 12, 0, 830],
830 => [1, 0, 0, 16, 0, 950],
950 => [1, 0, 0, 24, 0, 1100],
1100 => [1, 0, 0, 32, 0, 1300],
1300 => [3, 1, 1, 40, 1, 1450], # Это третий уровень
1450 => [1, 0, 0, 10, 0, 1650],
1650 => [1, 0, 0, 20, 0, 1850],
1850 => [1, 0, 0, 30, 0, 2050],
2050 => [1, 0, 0, 40, 0, 2200],
2200 => [1, 0, 0, 50, 0, 2500],
2500 => [5, 1, 1, 70, 1, 2900], # Это четвёртый уровень
2900 => [1, 0, 0, 10, 0, 3350],
3350 => [1, 0, 0, 20, 0, 3800],
3800 => [1, 0, 0, 30, 0, 4200],
4200 => [1, 0, 0, 40, 0, 4600],
4600 => [1, 0, 0, 50, 0, 5000],
5000 => [3, 1, 1, 80, 1, 6000], # Это пятый уровень
6000 => [1, 0, 0, 15, 0, 7000],
7000 => [1, 0, 0, 30, 0, 8000],
8000 => [1, 0, 0, 40, 0, 9000],
9000 => [1, 0, 0, 50, 0, 10000],
10000 => [1, 0, 0, 40, 0, 11000],
11000 => [1, 0, 0, 50, 0, 12000],
12000 => [1, 0, 0, 60, 0, 12500],
12500 => [3, 1, 1, 90, 1, 14000], # Это шестой уровень
14000 => [1, 0, 0, 20, 0, 15500],
15500 => [1, 0, 0, 30, 0, 17000],
17000 => [1, 0, 0, 50, 0, 19000],
19000 => [1, 0, 0, 55, 0, 21000],
21000 => [1, 0, 0, 50, 0, 23000],
23000 => [1, 0, 0, 55, 0, 27000],
27000 => [1, 0, 0, 50, 0, 30000],
30000 => [5, 1, 1, 100, 1, 60000], # Это седьмой уровень
60000 => [1, 0, 0, 100, 0, 75000],
75000 => [1, 0, 0, 100, 0, 150000],
150000 => [1, 0, 0, 150, 0, 175000],
175000 => [1, 0, 0, 50, 0, 200000],
200000 => [1, 0, 0, 100, 0, 225000],
225000 => [1, 0, 0, 50, 0, 250000],
250000 => [1, 0, 0, 100, 0, 260000],
260000 => [1, 0, 0, 50, 0, 280000],
280000 => [1, 0, 0, 100, 0, 300000],
300000 => [5, 1, 1, 700, 1, 1500000], # Это восьмой уровень
1500000 => [1, 0, 0, 500, 0, 1750000],
1750000 => [1, 0, 0, 200, 0, 2000000],
2000000 => [1, 0, 0, 300, 0, 2175000],
2175000 => [1, 0, 0, 100, 0, 2300000],
2300000 => [1, 0, 0, 100, 0, 2400000],
2400000 => [1, 0, 0, 100, 0, 2500000],
2500000 => [1, 0, 0, 200, 0, 2600000],
2600000 => [1, 0, 0, 100, 0, 2800000],
2800000 => [1, 0, 0, 200, 0, 3000000],
3000000 => [5, 1, 2, 1000, 1, 6000000], # Это девятый уровень
6000000 => [1, 0, 0, 200, 0, 6500000],
6500000 => [1, 0, 0, 250, 0, 7500000],
7500000 => [1, 0, 0, 200, 0, 8500000],
8500000 => [1, 0, 0, 250, 0, 9000000],
9000000 => [1, 0, 0, 400, 0, 9250000],
9250000 => [1, 0, 0, 250, 0, 9500000],
9500000 => [1, 0, 0, 400, 0, 9750000],
9750000 => [1, 0, 0, 350, 0, 9900000],
9900000 => [1, 0, 0, 500, 0, 10000000],
10000000 => [9, 1, 3, 2000, 1, 13000000], # Это десятый уровень
13000000 => [2, 0, 0, 200, 0, 14000000],
14000000 => [2, 0, 0, 200, 0, 15000000],
15000000 => [2, 0, 0, 200, 0, 16000000],
16000000 => [2, 0, 0, 200, 0, 17000000],
17000000 => [2, 0, 0, 200, 0, 17500000],
17500000 => [2, 0, 0, 200, 0, 18000000],
18000000 => [2, 0, 0, 200, 0, 19000000],
19000000 => [2, 0, 0, 200, 0, 19500000],
19500000 => [2, 0, 0, 200, 0, 20000000],
20000000 => [2, 0, 0, 250, 0, 30000000],
30000000 => [2, 0, 0, 200, 0, 32000000],
32000000 => [2, 0, 0, 250, 0, 34000000],
34000000 => [2, 0, 0, 200, 0, 35000000],
35000000 => [2, 0, 0, 250, 0, 36000000],
36000000 => [2, 0, 0, 200, 0, 38000000],
38000000 => [2, 0, 0, 250, 0, 40000000],
40000000 => [2, 0, 0, 200, 0, 42000000],
42000000 => [2, 0, 0, 250, 0, 44000000],
44000000 => [2, 0, 0, 350, 0, 47000000],
47000000 => [2, 0, 0, 300, 0, 50000000],
50000000 => [2, 0, 0, 350, 0, 52000000],
52000000 => [10, 1, 3, 3000, 1, 58000000], # Это одиннадцатый уровень
58000000 => [1, 0, 0, 350, 0, 65000000],
65000000 => [1, 0, 0, 300, 0, 72000000],
72000000 => [1, 0, 0, 350, 0, 77000000],
77000000 => [1, 0, 0, 350, 0, 82000000],
82000000 => [1, 0, 0, 300, 0, 87000000],
87000000 => [1, 0, 0, 350, 0, 92000000],
92000000 => [1, 0, 0, 350, 0, 100000000],
100000000 => [1, 0, 0, 350, 0, 120000000],
120000000 => [2, 0, 0, 400, 0, 140000000],
140000000 => [2, 0, 0, 400, 0, 160000000],
160000000 => [2, 0, 0, 600, 0, 180000000],
180000000 => [2, 0, 0, 400, 0, 210000000],
210000000 => [2, 0, 0, 400, 0, 240000000],
240000000 => [10, 2, 4, 5000, 1, 260000000], # Это двеннадцатый уровень
260000000 => [2, 0, 0, 400, 0, 320000000],
320000000 => [2, 0, 0, 400, 0, 400000000],
400000000 => [3, 0, 0, 600, 0, 455000000],
455000000 => [2, 0, 0, 150, 0, 510000000],
510000000 => [2, 0, 0, 100, 0, 600000000],
600000000 => [2, 0, 0, 300, 0, 750000000],
750000000 => [5, 0, 0, 700, 0, 770000000],
770000000 => [1, 0, 0, 400, 0, 815000000],
815000000 => [1, 0, 0, 200, 0, 860000000],
860000000 => [1, 0, 0, 600, 0, 1000000000],
1000000000 => [1, 0, 0, 300, 0, 1100000000],
1100000000 => [1, 0, 0, 450, 0, 1250000000],
1250000000 => [1, 0, 0, 450, 0, 1500000000],
1500000000 => [10, 1, 5, 8000, 1, 9999999999], # Это тринадцатый уровень
];
// Нигде не используются?
$abils_array = ['attack', 'sleep', 'sleepf'];
$ab_user = ['sleep15', 'sleep30', 'closebattle', 'heal20', 'heal35', 'heal50', 'travmoff', 'attack', 'bloodattack', 'death', 'comment', 'openbattle', 'reamdeath', 'clone', 'unclone'];