Ещё немного уборки мусора.

This commit is contained in:
lopar 2020-08-30 19:28:15 +03:00
parent c5a7dc4b58
commit 83832ecd2c
34 changed files with 458 additions and 636 deletions

View File

@ -17,13 +17,12 @@ $al = db::c()->query('SELECT * FROM `aligns` WHERE `align` = "?s" LIMIT 1', $use
function statsat($nu)
{ /*in admin.php*/
global $exptable;
$stats = 0;
$master = 0;
$vinos = 0;
$money = 0;
foreach ($exptable as $k => $v) {
foreach (Config::$exptable as $k => $v) {
if ($k == $nu) {
break;
}

View File

@ -3,120 +3,7 @@
session_start();
include "config.php";
//$user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '2106' LIMIT 1;"));
//include "functions.php";
$exptable = array(
// stat umen vinos kred, level, up
"0" => array (0,0,0,0,0,20),//0
"20" => array (1,0,0,0,0,45),
"45" => array (1,0,0,1,0,75),
"75" => array (1,0,0,2,0,110),
"110" => array (3,1,1,4,1,160),//1
"160" => array (1,0,0,0,0,215),
"215" => array (1,0,0,1,0,280),
"280" => array (1,0,0,2,0,350),
"350" => array (1,0,0,4,0,410),
"410" => array (3,1,1,8,1,530),//2
"530" => array (1,0,0,0,0,670),
"670" => array (1,0,0,2,0,830),
"830" => array (1,0,0,4,0,950),
"950" => array (1,0,0,8,0,1100),
"1100" => array (1,0,0,12,0,1300),
"1300" => array (3,1,1,16,1,1450),//3
"1450" => array (1,0,0,1,0,1650),
"1650" => array (1,0,0,5,0,1850),
"1850" => array (1,0,0,10,0,2050),
"2050" => array (1,0,0,15,0,2200),
"2200" => array (1,0,0,20,0,2500),
"2500" => array (5,1,1,25,1,2900),//4
"2900" => array (1,0,0,3,0,3350),
"3350" => array (1,0,0,20,0,3800),
"3800" => array (1,0,0,25,0,4200),
"4200" => array (1,0,0,30,0,4600),
"4600" => array (1,0,0,35,0,5000),
"5000" => array (3,1,1,50,1,6000),//5
"6000" => array (1,0,0,60,0,7000),
"7000" => array (1,0,0,40,0,8000),
"8000" => array (1,0,0,40,0,9000),
"9000" => array (1,0,0,60,0,10000),
"10000" => array (1,0,0,60,0,11000),
"11000" => array (1,0,0,60,0,12000),
"12000" => array (1,0,0,70,0,12500),
"12500" => array (3,1,1,80,1,14000),//6
"14000" => array (1,0,0,90,0,15500),
"15500" => array (1,0,0,45,0,17000),
"17000" => array (1,0,0,65,0,19000),
"19000" => array (1,0,0,65,0,21000),
"21000" => array (1,0,0,65,0,23000),
"23000" => array (1,0,0,75,0,27000),
"27000" => array (1,0,0,65,0,30000),
"30000" => array (5,1,1,100,1,60000),//7
"60000" => array (1,0,0,100,0,75000),
"75000" => array (1,0,0,130,0,150000),
"150000" => array (1,0,0,180,0,175000),
"175000" => array (1,0,0,100,0,200000),
"200000" => array (1,0,0,150,0,225000),
"225000" => array (1,0,0,100,0,250000),
"250000" => array (1,0,0,150,0,260000),
"260000" => array (1,0,0,100,0,280000),
"280000" => array (1,0,0,150,0,300000),
"300000" => array (5,1,1,1000,1,1500000),//8
"1500000" => array (1,0,0,500,0,1750000),
"1750000" => array (1,0,0,200,0,2000000),
"2000000" => array (1,0,0,300,0,2175000),
"2175000" => array (1,0,0,100,0,2300000),
"2300000" => array (1,0,0,100,0,2400000),
"2400000" => array (1,0,0,1,0,2500000),
"2500000" => array (1,0,0,200,0,2600000),
"2600000" => array (1,0,0,100,0,2800000),
"2800000" => array (1,0,0,200,0,3000000),
"3000000" => array (7,1,2,1000,1,6000000),//9
"6000000" => array (1,0,0,1,0,6500000),
"6500000" => array (1,0,0,200,0,7500000),
"7500000" => array (1,0,0,1,0,8500000),
"8500000" => array (1,0,0,250,0,9000000),
"9000000" => array (1,0,0,400,0,9250000),
"9250000" => array (1,0,0,50,0,9500000),
"9500000" => array (1,0,0,400,0,9750000),
"9750000" => array (1,0,0,350,0,9900000),
"9900000" => array (1,0,0,500,0,10000000),
"10000000" => array (9,1,3,2000,1,13000000),//10
"13000000" => array (2,0,0,200,0,14000000),
"14000000" => array (2,0,0,200,0,15000000),
"15000000" => array (2,0,0,200,0,16000000),
"16000000" => array (2,0,0,200,0,17000000),
"17000000" => array (2,0,0,200,0,17500000),
"17500000" => array (2,0,0,200,0,18000000),
"18000000" => array (2,0,0,200,0,19000000),
"19000000" => array (2,0,0,200,0,19500000),
"19500000" => array (2,0,0,200,0,20000000),
"20000000" => array (2,0,0,200,0,30000000),
"30000000" => array (2,0,0,0,0,32000000),
"32000000" => array (2,0,0,0,0,34000000),
"34000000" => array (2,0,0,0,0,35000000),
"35000000" => array (2,0,0,0,0,36000000),
"36000000" => array (2,0,0,0,0,38000000),
"38000000" => array (2,0,0,0,0,40000000),
"40000000" => array (2,0,0,0,0,42000000),
"42000000" => array (2,0,0,0,0,44000000),
"44000000" => array (2,0,0,0,0,45000000),
"45000000" => array (2,0,0,0,0,46000000),
"46000000" => array (2,0,0,0,0,48000000),
"48000000" => array (2,0,0,0,0,50000000),
"50000000" => array (2,0,0,0,0,52000000),
"52000000" => array (10,1,5,1000,1,55000000),
"55000000" => array (1,0,0,0,0,60000000),
"60000000" => array (1,0,0,500,0,65000000),
"65000000" => array (1,0,0,0,0,70000000),
"70000000" => array (1,0,0,500,0,75000000),
"75000000" => array (1,0,0,0,0,80000000),
"80000000" => array (1,0,0,500,0,85000000),
"85000000" => array (1,0,0,0,0,90000000),
"90000000" => array (1,0,0,500,0,95000000),
"95000000" => array (1,0,0,0,0,100000000),
"100000000" => array (1,0,0,0,0,120000000),
"120000000" => array (10,1,5,5000,1,150000000)
);
//$komp_users = mysql_query("SELECT * FROM `users`,`online` WHERE `users`.`id`=`online`.`id` AND `online`.`date` >= ".(time()-60).";");
$komp_users = mysql_query("SELECT * FROM `users`;");
while($ku=mysql_fetch_array($komp_users))
@ -129,7 +16,7 @@
while ($kompl=mysql_fetch_array($kompl_raw))
{
$items_on_user[]=$kompl['prototype'];
};
}
$sets_raw=mysql_query("SELECT * FROM item_sets;");
while ($set_items=mysql_fetch_array($sets_raw))
{
@ -139,7 +26,7 @@
if (!in_array($tmp_set,$items_on_user))
{$kompl_full=0;}
if ($kompl_full==1) $set_id_wear[]=$set_items['set_id'];
};
}
foreach($set_id_wear as $s)
{
@ -148,10 +35,10 @@
$kompl_har+=$items_raw['glovk'];
$kompl_har+=$items_raw['gintel'];
$kompl_har+=$items_raw['ginta'];
};
if(!$kompl_har) $kompl_har=0;
}
if(!$kompl_har) $kompl_har=0;
$explim=0;
foreach(array_keys($exptable) as $k)
foreach(array_keys(Config::$exptable) as $k)
{
if($k>=$ku['exp'])
{
@ -160,14 +47,14 @@
}
}
$sum_stat=15;
foreach(array_keys($exptable) as $k)
foreach(array_keys(Config::$exptable) as $k)
{
if($k==$explim)
break;
else
{
$sum_stat+=$exptable[$k][0];
$sum_stat+=$exptable[$k][2];
$sum_stat+=Config::$exptable[$k][0];
$sum_stat+=Config::$exptable[$k][2];
}
}
$res=mysql_fetch_array(

View File

@ -215,8 +215,7 @@ function gotoroom($r, $redir = 1)
function redirectbyroom($r)
{
global $canalenters;
if (in_array($r, $canalenters)) {
if (in_array($r, Config::$canalenters)) {
header("location: enter_cave.php");
die();
}
@ -442,11 +441,11 @@ function loadmap()
function getslot($i, $user1 = 0)
{
global $userslots, $user;
global $user;
if (!$user1) {
$user1 = $user;
}
foreach ($userslots as $k => $v) {
foreach (Config::$userslots as $k => $v) {
if ($user1[$v] == $i) {
return $v;
}
@ -458,7 +457,7 @@ function getcavedata($caveleader, $floor)
return unserialize(implode("", file("cavedata/$caveleader-$floor.dat")));
}
if (!in_array($user['room'], $caverooms)) {
if (!in_array($user['room'], Config::$caverooms)) {
header("Location: main.php");
die('Not in this life ...');
}
@ -499,7 +498,7 @@ if (@$_GET['kill'] && $user['id'] == $user['caveleader'] && $_GET['kill'] != $us
mysql_query("UPDATE `users` SET `room` = (`room`-1), `caveleader` = 0 WHERE `id` = '$v[user]' LIMIT 1");
$r = mysql_query("SELECT `id`, `dressed` FROM `inventory` WHERE `owner` = '$v[user]' AND `dressed` = 1 AND `foronetrip` = 1");
if (mysql_num_rows($r) > 0) {
$usr = mysql_fetch_array(mysql_query("SELECT " . implode(",", $userslots) . " FROM `users` WHERE `id` = '$v[user]'"));
$usr = mysql_fetch_array(mysql_query("SELECT " . implode(",", Config::$userslots) . " FROM `users` WHERE `id` = '$v[user]'"));
}
while ($rec = mysql_fetch_assoc($r)) {
$slot = getslot($rec['id'], $usr);

View File

@ -1,59 +1,190 @@
<?php
/**
* Author: lopiu
* Date: 04.07.2020
* Time: 11:10
/*
* Список наименований игровых комнат.
*/
trait Rooms
{
/**
* Возвращает имя комнаты по её ID.
* @param $room_id - ID комнаты.
* @return string
*/
public function getRoomName($room_id)
{
switch ($room_id) {
default:
$this->roomname = "Неизвестная локация";
break;
case 1:
$this->roomname = "Дом поединков";
break;
case 20:
$this->roomname = "Центральная площадь";
break;
case 21:
$this->roomname = "Страшилкина улица";
break;
case 22:
$this->roomname = "Магазин";
break;
case 23:
$this->roomname = "Ремонтная мастерская";
break;
case 24:
$this->roomname = "Памятник Архангелу";
break;
case 25:
$this->roomname = "Комиссионный магазин";
break;
case 26:
$this->roomname = "Большая парковая улица";
break;
case 27:
$this->roomname = "Почта";
break;
case 28:
$this->roomname = "Регистратура кланов";
break;
case 29:
$this->roomname = "Банк";
break;
}
return $this->roomname;
}
public static $roomNames = [
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 => "Центральная площадь (мираж)",
];
}

View File

@ -48,12 +48,6 @@ class User
// Динамически рассчитываемые
public $maxHealth = 5;
public $maxMana = 5;
//Статусы того, кто смотрит на информацию.
public $watcher_id;
protected $watcherIsAdmin;
protected $watcherIsModerator;
use Rooms;
public function __construct($user)
{
@ -109,17 +103,6 @@ class User
}
protected function WatcherStatus()
{
$query = db::c()->query('SELECT `align`,`admin` FROM `users` WHERE `id` = ?i', $this->watcher_id)->fetch_assoc();
if ($query['admin']) {
$this->watcherIsAdmin = 1;
}
if ($query['align'] == 1) {
$this->watcherIsModerator = 1;
}
}
protected function showStarSign()
{
/*

View File

@ -2,6 +2,12 @@
class UserInfo extends User
{
use Rooms;
//Статусы того, кто смотрит на информацию.
public $watcher_id;
private $watcherIsAdmin;
private $watcherIsModerator;
/**
* Отображает куклу персонажа (образ и слоты).
*
@ -55,7 +61,7 @@ class UserInfo extends User
parent::getStat('endurance') . '<br>' .
parent::getStat('intelligence') . '<br>' .
parent::getStat('wisdom') . '<br>' .
parent::getRoomName($this->room);
Rooms::$roomNames[$this->room];
if ($isMainWindow) {
$this->Bank = new Bank($this->id);
$captions = 'Уровень:<br>Здоровье:<br>Сила:<br>Ловкость:<br>Интуиция:<br>Выносливость:<br>Интеллект:<br>Мудрость:<br>Опыт:<br>Очки характеристик:<br>Деньги:<br>Деньги в банке:';
@ -164,6 +170,17 @@ class UserInfo extends User
}
}
private function WatcherStatus()
{
$query = db::c()->query('SELECT `align`,`admin` FROM `users` WHERE `id` = ?i', $this->watcher_id)->fetch_assoc();
if ($query['admin']) {
$this->watcherIsAdmin = 1;
}
if ($query['align'] == 1) {
$this->watcherIsModerator = 1;
}
}
public function showUserDoll($isBattle = 0, $isMain = 0)
{
echo '<div class="user-info-container">';

View File

@ -40,7 +40,7 @@ class fbattle
function __construct($battle_id)
{
global $mysql, $user, $_POST, $cavedata, $caverooms, $cavebots, $party;
global $mysql, $user, $_POST, $cavedata, $cavebots, $party;
// соединяем мускуль и юзера
$this->mysql = $mysql;
$this->user = $user;
@ -1219,7 +1219,7 @@ class fbattle
function battle_end()
{
/////////////OPITO MODIFIKATORIUS: 1-100; 2 - 200; 3 - 300 ir tt.
global $opoitas, $caverooms, $user, $cavebots, $party, $rep;
global $opoitas, $user, $cavebots, $party, $rep;
$ddd = mysql_fetch_array(mysql_query("SELECT * FROM `effects` WHERE `owner` = " . $user['id'] . " and `type` = 555 limit 1;"));
if ($ddd) {
$opitas = 1.1;
@ -1701,7 +1701,7 @@ class fbattle
}
if (in_array($user['room'], $caverooms)) {
if (in_array($user['room'], Config::$caverooms)) {
$location = mysql_fetch_array(mysql_query("SELECT `x`, `y`, `dir` FROM `caveparties` WHERE `user` = '" . $this->user['id'] . "' LIMIT 1"));
if ($location['dir'] == 0) {

View File

@ -1,5 +1,5 @@
<?
if(in_array($user['room'], $caverooms)) {
<?php
if(in_array($user['room'], Config::$caverooms)) {
include_once("cavedata.php");
$floor = mysql_fetch_row(mysql_query("SELECT `floor` FROM `caveparties` WHERE `user` = '$user[id]' LIMIT 1"));
if(!isset($cavedata[$user['room']]['x'.$floor])) {
@ -11,7 +11,7 @@ $lomka1 = $lomka;
foreach($lomka1 as $k => $v) {
if($v < _BOTSEPARATOR_) {
if(in_array($user['room'], $caverooms)) {
if(in_array($user['room'], Config::$caverooms)) {
mysql_query("UPDATE `caveparties` SET `floor` = $floor, `x` = '".$cavedata[$user['room']]['x'.$floor]."', `y` = '".$cavedata[$user['room']]['y'.$floor]."', `dir` = '".$cavedata[$user['room']]['dir'.$floor]."', `loses` = (`loses`+1) WHERE `user` = '$v' LIMIT 1");
}
if($user['laba'] > 0) {

View File

@ -21,7 +21,7 @@ function cavesys($text)
}
}
if (in_array($user['room'], $caverooms)) {
if (in_array($user['room'], Config::$caverooms)) {
include("CaveItems.php");
mysql_query('LOCK TABLES `cavebots` WRITE, `caveitems` WRITE, `shop` WRITE, `caveparties` WRITE');
$location = mysql_fetch_array(mysql_query("SELECT `x`, `y`, `dir`, `floor` FROM `caveparties` WHERE `user` = '$user[id]' LIMIT 1"));

View File

@ -2,6 +2,8 @@
namespace magic\attack;
use db;
class attack
{
private $target_user;
@ -9,17 +11,25 @@ class attack
private function __construct($target_user_id)
{
if (!$this->caster)
$this->caster = \db::c()->query('SELECT * FROM `users` WHERE `id` = ?i', $_SESSION['uid']);
if (!$this->target_user)
$this->target_user = \db::c()->query('SELECT * FROM `users` WHERE `id` = ?i', $target_user_id);
if ($this->checks() == 1) return 'Done!';
if (!$this->caster) {
$this->caster = db::c()->query('SELECT * FROM `users` WHERE `id` = ?i', $_SESSION['uid']);
}
if (!$this->target_user) {
$this->target_user = db::c()->query('SELECT * FROM `users` WHERE `id` = ?i', $target_user_id);
}
if ($this->checks() == 1) {
return 'Done!';
}
}
private function checks()
{
if ($this->caster['battle']) return 'Не в бою...';
else return 1;
if ($this->caster['battle']) {
return 'Не в бою...';
}
else {
return 1;
}
}
public static function id($playerId)

View File

@ -7,7 +7,7 @@
ini_set('display_errors', 'On');
error_reporting(E_ALL);
define("GAMEDOMAIN","combats.loc");
define("GAMEDOMAIN", "battles.lan");
/*
* Запрещаем кэшировать
*/
@ -33,369 +33,172 @@ spl_autoload_register(function ($class_name) {
} elseif (file_exists('models/' . $class_name)) {
require_once 'models/' . $class_name;
} else {
throw new Exception(sprintf('Невозможно загрузить класс %s',$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'];
trait Config
{
// Для нападалок. Сперва комнаты в которых нельзя напасть, потом персонажи на которых нельзя напасть.
public static $unkilable = [
'rooms' => [620, 621, 1051, 1052],
'users' => [10962, 10964, 10965],
];
// Неизвестная херня.
public static $canalenters = [620];
public static $caverooms = [621];
public static $userslots = ['sergi', 'kulon', 'perchi', 'weap', 'bron', 'r1', 'r2', 'r3', 'helm', 'shit', 'boots', 'rybax', 'plaw', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm10'];
// Что-то связанное с магией.
public static $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"],
];
public static $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"],
];
// Старая таблица опыта
public static $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], # Это первый уровень
$rooms = [
0 => "Секретная Комната",
1 => "Дом поединков",
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], # Это второй уровень
20 => "Центральная площадь",
21 => "Страшилкина улица",
22 => "Магазин",
23 => "Ремонтная мастерская",
24 => "Памятник Архангелу",
25 => "Комиссионный магазин",
26 => "Большая парковая улица",
27 => "Почта",
28 => "Регистратура кланов",
29 => "Банк",
30 => "Регистратура кланов (мираж)",
31 => "Башня смерти",
32 => "Готический замок",
33 => "Лабиринт хаоса",
34 => "Цветочный магазин",
35 => "Сувенирный магазин",
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], # Это третий уровень
37 => "Готический замок - приемная",
38 => "Готический замок - арсенал",
39 => "Готический замок - внутренний двор",
40 => "Готический замок - мастерские",
41 => "Готический замок - комнаты отдыха",
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], # Это четвёртый уровень
42 => "Лотерея Сталкеров",
43 => "Хижина Знахаря",
44 => "Новогодняя елка",
45 => "Замок Мэра",
47 => "Замок (строительство)",
48 => "Обитель Хаоса",
49 => "Проход к Цитадели Хаоса",
50 => "Магазин Берёзка",
51 => "Парковая улица",
52 => "Квартал Законников",
53 => "Библиотека",
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], # Это пятый уровень
200 => "Турнир",
401 => "Врата Ада",
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], # Это шестой уровень
// БС
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 => "Арена Ангелов",
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], # Это седьмой уровень
620 => "Вход в Рудник",
621 => "Рудник",
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], # Это восьмой уровень
660 => "Гостиница, холл",
661 => "Гостиница",
662 => "Памятник Архангелу",
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], # Это девятый уровень
// Клановая улица
650 => "Клановая улица",
651 => "Клановая улица",
652 => "Клановый Замок",
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], # Это десятый уровень
760 => "Тёмный Лес",
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], # Это одиннадцатый уровень
1000 => "Вход в рудник",
1001 => "Рудник",
1051 => "Вход в Лабиринты",
1052 => "Лабиринты",
1053 => "Храмовая лавка",
1054 => "Фонтан Удачи",
1055 => "Групповое сражение",
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], # Это двеннадцатый уровень
// Тайный проход из Клуба в Замок Законников
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], # Это тринадцатый уровень
];
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], # Это тринадцатый уровень
];
}

View File

@ -57,7 +57,7 @@ class fbattle
function __construct($battle_id)
{
global $user, $_POST, $cavedata, $caverooms;
global $user, $_POST, $cavedata;
$this->user = $user;
if ($battle_id > 0) {
@ -265,7 +265,7 @@ class fbattle
function battle_end()
{
global $caverooms, $user, $cavebots, $party, $rep;
global $user, $cavebots, $party, $rep;
if ($this->battle_data) {
$ss = @array_keys($this->battle);
@ -432,7 +432,7 @@ class fbattle
addActions(time(), 'win_fiz', 0, $this->user['id']);
}
if (in_array($user['room'], $caverooms)) {
if (in_array($user['room'], Config::$caverooms)) {
$location = mysql_fetch_array(mysql_query("SELECT `x`, `y`, `dir` FROM `caveparties` WHERE `user` = '" . $this->user['id'] . "' LIMIT 1"));
if ($location['dir'] == 0) {
$y = $location['y'] * 2;
@ -462,7 +462,7 @@ class fbattle
$winers .= implode("</B>, <B>", $this->t2);
$lomka = $this->t1;
} else {
if (in_array($user['room'], $caverooms)) {
if (in_array($user['room'], Config::$caverooms)) {
$location = mysql_fetch_array(mysql_query("SELECT `x`, `y`, `dir` FROM `caveparties` WHERE `user` = '" . $this->user['id'] . "' LIMIT 1"));
if ($location['dir'] == 0) {
$y = $location['y'] * 2;

View File

@ -50,7 +50,7 @@ if($_GET['ext'] == 1) {
}
if(in_array($user['room'], $canalenters)) {
if(in_array($user['room'], Config::$canalenters)) {
$podzemroom = $user['room']+1;
$cavedata = array(620 => array('x1' => 3, 'y1' => 2, 'dir1' => 2));
$podzemdata = array(621 => array('name1' => 'Проклятый Рудник', 'name2' => 'Проклятого Рудника'));
@ -283,7 +283,7 @@ if($_GET['add']) {
}
$den = mysql_query("SELECT `id` FROM `vxodd` WHERE `glav_id` = '".$_GET['naw_id']."'");
if(mysql_num_rows($den) >= (in_array($user['room']+1, $caverooms)?5:4)) {
if(mysql_num_rows($den) >= (in_array($user['room']+1, Config::$caverooms)?5:4)) {
echo "<script>location.href='?warning=5'</script>";
exit();
}
@ -331,7 +331,7 @@ if($_GET['add']) {
}
if($_GET['start']){
if(in_array($user['room']+1, $caverooms)) {
if(in_array($user['room']+1, Config::$caverooms)) {
$nc = 1;
$locs = array();
}

View File

@ -151,16 +151,15 @@ header("Cache-Control: no-cache");
function level_up($uid)
{
global $exptable;
$us = db::c()->query('SELECT `id`, `login`, `level`, `money`, `exp`, `nextup`, `stats`, `master`, `ip`, `in_tower` FROM `users` WHERE `id` =?i', $uid)->fetch_assoc();
if (isset($us['id']) && $us['exp'] >= $us['nextup'] && !$us['in_tower']) {
if ($exptable[$us['nextup']][4] == 1) {
if (Config::$exptable[$us['nextup']][4] == 1) {
addch("Персонаж <b>{$us['login']}</b> перешел на " . ($us['level'] + 1) . " уровень.");
addchp('<span class=\'success\'>Внимание!</span> Вы перешли на новый уровень. За это Вы получаете: ' . $exptable[$us['nextup']][3] . ' кр.', '{[]}' . $us['login'] . '{[]}');
addchp('<span class=\'success\'>Внимание!</span> Вы перешли на новый уровень. За это Вы получаете: ' . Config::$exptable[$us['nextup']][3] . ' кр.', '{[]}' . $us['login'] . '{[]}');
}
$us['nextup'] = $exptable[$us['nextup']][5];
$us['stats'] += $exptable[$us['nextup']][0];
$us['master'] += $exptable[$us['nextup']][1];
$us['nextup'] = Config::$exptable[$us['nextup']][5];
$us['stats'] += Config::$exptable[$us['nextup']][0];
$us['master'] += Config::$exptable[$us['nextup']][1];
db::c()->query('UPDATE `users` SET `nextup` = ?i, `stats` = ?i, `master` = ?i, `level` = ?i WHERE `id` = ?i', $us['nextup'], $us['stats'], $us['master'], $us['level'], $us['id']);
}

View File

@ -242,7 +242,7 @@ case 'f': echo("<strong><font color=#df0d0d><ins>Огонь</ins></font></strong
case 'e': echo("<strong><font color=#086604><ins>Земля</ins></font></strong>"); break;
}
echo("<br/>Эффективность магии:");
foreach($elem_align as $k=>$ea)
foreach(Config::$elem_align as $k=>$ea)
{
switch($k)
{
@ -260,8 +260,7 @@ foreach($elem_align as $k=>$ea)
}
;
echo('</td></tr>');
echo('</td></tr>');
if($craft_err) echo("<tr><td><font color=red>Недостаточно ингредиентов!</font></td></tr>");
if($book_1) {
echo('<tr><td><hr/>Рецепты: <strong>Книга Комментатора [1]</strong></td></tr>');

View File

@ -24,9 +24,9 @@ if ($user['battle'] > 0) {
echo "Бой закрыт для вмешательства!";
} elseif (!$us['online']) {
echo "Персонаж не в игре!";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -21,9 +21,9 @@ elseif (!$us['online']) {
echo "Запрещено входить в хаотический бой!";
} elseif ($us['battle']>0 && $us_b['open']==0) {
echo "Бой закрыт для вмешательства!";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -17,9 +17,9 @@ if ($user['battle'] > 0) {
echo "Бой закрыт для вмешательства!";
} elseif ($user['zayavka'] > 0) {
echo "Вы ожидаете поединка...";
} elseif(in_array($jert['room'], $unkilable['rooms'])) {
} elseif(in_array($jert['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($jert['id'], $unkilable['users'])) {
} elseif(in_array($jert['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -24,9 +24,9 @@ if ($user['battle'] > 0) {
echo "Бой закрыт для вмешательства!";
} elseif ($user['zayavka'] > 0) {
echo "Вы ожидаете поединка...";
} elseif (in_array($us['room'], $unkilable['rooms'])) {
} elseif (in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif (in_array($us['id'], $unkilable['users'])) {
} elseif (in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif (isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -31,9 +31,9 @@ elseif (!$us['online']) {
echo "Не атакуйте Администратора!";
} elseif ($user['zayavka'] > 0) {
echo "Вы ожидаете поединка...";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -29,9 +29,9 @@ if ($user['battle'] > 0) {
echo "Персонаж защищен от кулачного нападения!";
} elseif ($us['align']==2.99) {
echo "Не атакуйте Администратора!";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -31,9 +31,9 @@ elseif (!$us['online']) {
echo "Бой закрыт для вмешательства!";
} elseif ($us['align']==2.99) {
echo "Не атакуйте Администратора!";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -36,9 +36,9 @@ elseif ($user['zayavka'] > 0) {
echo "Вы ожидаете поединка...";
} elseif ($owntravma['id'] && !$us['battle']) {
echo "Персонаж тяжело травмирован...";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -36,9 +36,9 @@ elseif ($user['zayavka'] > 0) {
echo "Вы ожидаете поединка...";
} elseif ($owntravma['id'] && !$us['battle']) {
echo "Персонаж тяжело травмирован...";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -16,9 +16,9 @@ if($vip['attack'] <= 0) {
echo "Запрещено входить в хаотический бой!";
} elseif($us['battle'] > 0 && $us_b['open'] == 0) {
echo "Бой закрыт для вмешательства!";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -16,9 +16,9 @@ if($vip['bloodattack'] <= 0) {
echo "Запрещено входить в хаотический бой!";
} elseif($us['battle'] > 0 && $us_b['open'] == 0) {
echo "Бой закрыт для вмешательства!";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -14,9 +14,9 @@ if($vip['attack'] <= 0) {
echo "Не в бою...";
} elseif($us_b['type'] == 3 || $us_b['type'] == 5) {
echo "Запрещено входить в хаотический бой!";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -16,9 +16,9 @@ if($vip['bloodattack'] <= 0) {
echo "Запрещено входить в хаотический бой!";
} elseif($us['battle'] > 0 && $us_b['open'] == 0) {
echo "Бой закрыт для вмешательства!";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -15,9 +15,9 @@ if($vip['attack'] <= 0) {
echo "Не в бою...";
} elseif($us_b['type'] == 3 || $us_b['type'] == 5) {
echo "Запрещено входить в хаотический бой!";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -16,9 +16,9 @@ if($vip['bloodattack'] <= 0) {
echo "Запрещено входить в хаотический бой!";
} elseif($us['battle'] > 0 && $us_b['open'] == 0) {
echo "Бой закрыт для вмешательства!";
} elseif(in_array($us['room'], $unkilable['rooms'])) {
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], $unkilable['users'])) {
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";

View File

@ -43,7 +43,6 @@ if ($user['battle'] == 0) {
else {$int=0;}
if (rand(1,100) < $int) {
global $elem_align,$elem_bonus;
$user_elem=element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)));
switch($user_elem)
@ -52,15 +51,15 @@ if ($user['battle'] == 0) {
case 'a':$uel='mair';break;
case 'w':$uel='mwater';break;
case 'e':$uel='mearth';break;
};
}
switch($elem)
{
case 'f':$sel='mfire';break;
case 'a':$sel='mair';break;
case 'w':$sel='mwater';break;
case 'e':$sel='mearth';break;
};
$sex_action="применил";if($user['sex']==0) $sex_action.="а";
}
$sex_action="применил";if($user['sex']==0) $sex_action.="а";
addlog($user['battle'],'<span class=date>'.date("H:i").'</span> '.Nick::id($user['id'])->short().' '.$sex_action.$targeted.' заклинание '.$log_text.'<BR>');
//mass magic
@ -75,8 +74,8 @@ if ($user['battle'] == 0) {
//dmg=base+INT/LVL+X_magic
$dmg=$basedmg+($user['intel']/$user['level'])+$user[$sel];
//MF
$dmg*=$elem_align[$user_elem][$elem];
if($us) $dmg*=$elem_bonus[element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)))][element(star_sign(substr($us['borndate'],3,2), substr($us['borndate'],0,2)))];
$dmg*=Config::$elem_align[$user_elem][$elem];
if($us) $dmg*=Config::$elem_bonus[element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)))][element(star_sign(substr($us['borndate'],3,2), substr($us['borndate'],0,2)))];
//rand +- 25%
$dmg=mt_rand(0.75*$dmg,1.25*$dmg);
$dmg=round($dmg);

View File

@ -43,7 +43,6 @@ if ($user['battle'] == 0) {
else {$int=0;}
if (rand(1,100) < $int) {
global $elem_align,$elem_bonus;
$user_elem=element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)));
switch($user_elem)
@ -52,15 +51,15 @@ if ($user['battle'] == 0) {
case 'a':$uel='mair';break;
case 'w':$uel='mwater';break;
case 'e':$uel='mearth';break;
};
}
switch($elem)
{
case 'f':$sel='mfire';break;
case 'a':$sel='mair';break;
case 'w':$sel='mwater';break;
case 'e':$sel='mearth';break;
};
$sex_action="применил";if($user['sex']==0) $sex_action.="а";
}
$sex_action="применил";if($user['sex']==0) $sex_action.="а";
addlog($user['battle'],'<span class=date>'.date("H:i").'</span> '.Nick::id($user['id'])->short().' '.$sex_action.$targeted.' заклинание '.$log_text.'<BR>');
//mass magic
@ -75,8 +74,8 @@ if ($user['battle'] == 0) {
//dmg=base+INT/LVL+X_magic
$dmg=$basedmg+($user['intel']/$user['level'])+$user[$sel];
//MF
$dmg*=$elem_align[$user_elem][$elem];
if($us) $dmg*=$elem_bonus[element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)))][element(star_sign(substr($us['borndate'],3,2), substr($us['borndate'],0,2)))];
$dmg*=Config::$elem_align[$user_elem][$elem];
if($us) $dmg*=Config::$elem_bonus[element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)))][element(star_sign(substr($us['borndate'],3,2), substr($us['borndate'],0,2)))];
//rand +- 25%
$dmg=mt_rand(0.75*$dmg,1.25*$dmg);
$dmg=round($dmg);

View File

@ -43,7 +43,6 @@ if ($user['battle'] == 0) {
else {$int=0;}
if (rand(1,100) < $int) {
global $elem_align,$elem_bonus;
$user_elem=element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)));
switch($user_elem)
@ -52,15 +51,15 @@ if ($user['battle'] == 0) {
case 'a':$uel='mair';break;
case 'w':$uel='mwater';break;
case 'e':$uel='mearth';break;
};
}
switch($elem)
{
case 'f':$sel='mfire';break;
case 'a':$sel='mair';break;
case 'w':$sel='mwater';break;
case 'e':$sel='mearth';break;
};
$sex_action="применил";if($user['sex']==0) $sex_action.="а";
}
$sex_action="применил";if($user['sex']==0) $sex_action.="а";
addlog($user['battle'],'<span class=date>'.date("H:i").'</span> '.Nick::id($user['id'])->short().' '.$sex_action.$targeted.' заклинание '.$log_text.'<BR>');
//mass magic
@ -75,8 +74,8 @@ if ($user['battle'] == 0) {
//dmg=base+INT/LVL+X_magic
$dmg=$basedmg+($user['intel']/$user['level'])+$user[$sel];
//MF
$dmg*=$elem_align[$user_elem][$elem];
if($us) $dmg*=$elem_bonus[element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)))][element(star_sign(substr($us['borndate'],3,2), substr($us['borndate'],0,2)))];
$dmg*=Config::$elem_align[$user_elem][$elem];
if($us) $dmg*=Config::$elem_bonus[element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)))][element(star_sign(substr($us['borndate'],3,2), substr($us['borndate'],0,2)))];
//rand +- 25%
$dmg=mt_rand(0.75*$dmg,1.25*$dmg);
$dmg=round($dmg);

View File

@ -42,8 +42,6 @@ if ($user['battle'] == 0) {
else {$int=0;}
if (rand(1,100) < $int) {
global $elem_align,$elem_bonus;
$user_elem=element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)));
switch($user_elem)
@ -52,19 +50,19 @@ if ($user['battle'] == 0) {
case 'a':$uel='mair';break;
case 'w':$uel='mwater';break;
case 'e':$uel='mearth';break;
};
}
switch($elem)
{
case 'f':$sel='mfire';break;
case 'a':$sel='mair';break;
case 'w':$sel='mwater';break;
case 'e':$sel='mearth';break;
};
}
//dmg=base+INT/LVL+X_magic
$dmg=$basedmg+($user['intel']/4)+$user[$sel];
//MF
$dmg*=$elem_align[$user_elem][$elem];
if($us) $dmg*=$elem_bonus[element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)))][element(star_sign(substr($us['borndate'],3,2), substr($us['borndate'],0,2)))];
$dmg*=Config::$elem_align[$user_elem][$elem];
if($us) $dmg*=Config::$elem_bonus[element(star_sign(substr($user['borndate'],3,2), substr($user['borndate'],0,2)))][element(star_sign(substr($us['borndate'],3,2), substr($us['borndate'],0,2)))];
//- MF
if($us) {
$def=magic_def($elem,$_POST['target'],$user_elem);$dmg*=(1-magic_def($elem,$us['login'],$user_elem,1)/100);