* 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) { $class_name .= '.php'; if (file_exists('classes/' . $class_name)) { require_once 'classes/' . $class_name; } elseif (file_exists('models/' . $class_name)) { require_once 'models/' . $class_name; } throw new Exception(sprintf('Невозможно загрузить класс %s!',$class_name)); }); /* === Для нападалок. Сперва комнаты в которых нельзя напасть, потом персонаж на которого нельзя напасть. === */ $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], # Это тринадцатый уровень ];