Compare commits
2 Commits
5f855b085c
...
cc3aaf44de
Author | SHA1 | Date | |
---|---|---|---|
cc3aaf44de | |||
|
2b62dcb413 |
@ -1,7 +1,6 @@
|
||||
<?php
|
||||
# Date: 26.10.2020 (17:56)
|
||||
namespace Battles;
|
||||
// todo: #10
|
||||
class City
|
||||
{
|
||||
use Rooms;
|
||||
|
@ -38,8 +38,7 @@ class Nick extends User
|
||||
}
|
||||
|
||||
/**
|
||||
* Берем ID и возвращаем его. Что-то для обратной совместимости, скорее всего.
|
||||
* TODO: Отвязаться от функции и удалить.
|
||||
* Вызов класса из самого себя. Читать про обратное связывание и пытаться что-то понять.
|
||||
* @param $playerId
|
||||
*
|
||||
* @return Nick
|
||||
|
@ -567,7 +567,6 @@ class fbattle
|
||||
function solve_mf($enemy, $myattack)
|
||||
{
|
||||
// БОНУСЫ! Как бы работают, но просто отвратительно.
|
||||
// todo переоформить всю таблицу effects, чтобы туда писался сам параметр и его значение, чтобы на выхлопе суммировать;
|
||||
// $zo = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=201 AND owner=" . (int)$this->user['id'] . ";"));
|
||||
// $zo1 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=201 AND owner=" . (int)$this->enemyhar['id'] . ";"));
|
||||
// $zo2 = mysql_fetch_row(mysql_query("SELECT id FROM effects WHERE type=205 AND owner=" . (int)$this->user['id'] . ";"));
|
||||
|
@ -293,7 +293,6 @@ $fbattle = new fbattle($user['battle']);
|
||||
if (($user['hp'] > 0) && $fbattle->battle) {
|
||||
echo '<center><FONT COLOR=red><b>Ожидаем хода противника...</b></FONT><BR><INPUT TYPE=submit value="Обновить" name=' . (($user['battle'] > 0) ? "battle" : "end") . '><BR></CENTER>';
|
||||
} elseif ($user['hp'] <= 0 && $fbattle->battle) {
|
||||
//FIXME роняем вещи, которые больше не можем держать
|
||||
ref_drop();
|
||||
echo '<center><FONT COLOR=red><b>Ожидаем, пока бой закончат другие игроки...</b></FONT><BR><INPUT TYPE=submit value="Обновить" name=' . (($user['battle'] > 0) ? "battle" : "end") . '><BR></CENTER>';
|
||||
}
|
||||
|
176
functions.php
176
functions.php
@ -409,9 +409,9 @@ function show_eff_inf($u, $type)
|
||||
$and = " AND `type` != 1022";
|
||||
}
|
||||
$effs = db::c()->query('SELECT * FROM `users_effects` WHERE `type` <> 20 AND `owner_id` = ?i' . $and, $u)->fetch_assoc();
|
||||
/* FIXME Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 132644820 bytes) in /home/combats/web/combats.loc/public_html/functions.php on line 873
|
||||
/* Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 132644820 bytes) in /home/combats/web/combats.loc/public_html/functions.php on line 873
|
||||
* Если на человеке стоит type=20
|
||||
*
|
||||
* #26
|
||||
*/
|
||||
$etype = $effs['type'];
|
||||
if ($type == 1) {
|
||||
@ -744,7 +744,7 @@ function dropitem($slot)
|
||||
return true;
|
||||
}
|
||||
|
||||
//FIXME роняем вещи, которые больше не можем держать
|
||||
#15
|
||||
function ref_drop()
|
||||
{
|
||||
//сможет держать
|
||||
@ -829,7 +829,7 @@ function usemagic($id, $target)
|
||||
if ($incmagic['needcharge'] > 0) {
|
||||
$charge = $incmagic['needcharge'];
|
||||
}
|
||||
//FIXME Переделать под новую базу
|
||||
//Переделать под новую базу
|
||||
if (($all_magic[$user->id] < 1 || $charge == 0) &&
|
||||
($user['sila'] >= $row['nsila'] &&
|
||||
$user['lovk'] >= $row['nlovk'] &&
|
||||
@ -947,174 +947,6 @@ function err($t)
|
||||
return true;
|
||||
}
|
||||
|
||||
// TODO: Переписать выдачу травм.
|
||||
// ставим травму
|
||||
//function settravma($id, $type, $time = 86400, $kill = false)
|
||||
//{
|
||||
// $user = mysql_fetch_array(mysql_query("SELECT `align`, `level` FROM `users` WHERE `id` = '{$id}' LIMIT 1"));
|
||||
// if ((($user['align'] == 2 && mt_rand(1, 100) > 20) && !$kill) || ($user['level'] == 0)) {
|
||||
// return false;
|
||||
// } else {
|
||||
// $travmalist = ["разбитый нос", "сотрясение первой степени", "потрепанные уши", "прикушенный язык", "перелом переносицы", "растяжение ноги", "растяжение руки", "подбитый глаз", "синяк под глазом", "кровоточащее рассечение", "отбитая «пятая точка»", "заклинившая челюсть", "выбитый зуб «мудрости»", "косоглазие"];
|
||||
// $travmalist2 = ["отбитые почки", "вывих «вырезано цензурой»", "сотрясение второй степени", "оторванное ухо", "вывих руки", "оторванные уши", "поврежденный позвоночник", "отбитые почки", "поврежденный копчик", "разрыв сухожилия", "перелом ребра", "перелом двух ребер", "вывих ноги", "сломанная челюсть"];
|
||||
// $travmalist3 = ["пробитый череп", "разрыв селезенки", "смещение позвонков", "открытый перелом руки", "открытый перелом «вырезано цензурой»", "излом носоглотки", "непонятные, но множественные травмы", "сильное внутреннее кровотечение", "раздробленная коленная чашечка", "перелом шеи", "смещение позвонков", "открытый перелом ключицы", "перелом позвоночника", "вывих позвоночника", "сотрясение третьей степени"];
|
||||
// $owntravma = mysql_fetch_array(mysql_query("SELECT `type`, `id`, `sila`, `lovk`, `inta`, `hp` FROM `effects` WHERE `owner` = " . $id . " AND (`type` = 11 OR `type` = 12 OR `type` = 13) ORDER BY `type` DESC LIMIT 1"));
|
||||
// if ($type != 0 && $type != 100) {
|
||||
// $owntravma['type'] = $type;
|
||||
// } elseif ($type != 0 && $type == 100 && $owntravma['type'] == 0) {
|
||||
// $type = mt_rand(1, 100);
|
||||
// if ($type < 10) {
|
||||
// $owntravma['type'] = 25;
|
||||
// } elseif ($type < 60) {
|
||||
// $owntravma['type'] = "set";
|
||||
// } elseif ($type < 85) {
|
||||
// $owntravma['type'] = 11;
|
||||
// } else {
|
||||
// $owntravma['type'] = 12;
|
||||
// }
|
||||
// } elseif ($owntravma['type'] == 0) {
|
||||
// $tr = mt_rand(1, 3);
|
||||
// switch ($tr) {
|
||||
// case 1:
|
||||
// $owntravma['type'] = 0;
|
||||
// break;
|
||||
// case 2:
|
||||
// $owntravma['type'] = 11;
|
||||
// break;
|
||||
// case 3:
|
||||
// $owntravma['type'] = 12;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// switch ($owntravma['type']) {
|
||||
//
|
||||
// case 20:
|
||||
// $st = mt_rand(0, 2);
|
||||
// $zz = mt_rand(1, 3);
|
||||
// $s = 0;
|
||||
// $l = 0;
|
||||
// $i = 0;
|
||||
// switch ($zz) {
|
||||
// case 1:
|
||||
// $s = ($user['level'] + $st) * 3;
|
||||
// break;
|
||||
// case 2:
|
||||
// $l = ($user['level'] + $st) * 3;
|
||||
// break;
|
||||
// case 3:
|
||||
// $i = ($user['level'] + $st) * 3;
|
||||
// break;
|
||||
// }
|
||||
// $trv = $travmalist3[mt_rand(0, count($travmalist3) - 1)];
|
||||
// mysql_query("INSERT INTO `effects` (`owner`, `name`, `time`, `type`, `sila`, `lovk`, `inta`, `vinos`) VALUES ('" . $id . "', 'Травма "" . $trv . ""', " . (time() + $time) . ", '13', '" . $s . "', '" . $l . "', '" . $i . "', '0')");
|
||||
// mysql_query("UPDATE `users` SET `sila` = (`sila`-'" . $s . "'), `lovk` = (`lovk`-'" . $l . "'), `inta` = (`inta`-'" . $i . "') WHERE `id` = '" . $id . "' LIMIT 1");
|
||||
// return $trv;
|
||||
// break;
|
||||
//
|
||||
// default:
|
||||
// $st = mt_rand(0, 2);
|
||||
// $zz = mt_rand(1, 3);
|
||||
// $s = 0;
|
||||
// $l = 0;
|
||||
// $i = 0;
|
||||
// switch ($zz) {
|
||||
// case 1:
|
||||
// $s = $user['level'] + $st;
|
||||
// break;
|
||||
// case 2:
|
||||
// $l = $user['level'] + $st;
|
||||
// break;
|
||||
// case 3:
|
||||
// $i = $user['level'] + $st;
|
||||
// break;
|
||||
// }
|
||||
// $trv = $travmalist[mt_rand(0, count($travmalist) - 1)];
|
||||
// $time = 60 * 60 * mt_rand(1, 5);
|
||||
// mysql_query("INSERT INTO `effects` (`owner`, `name`, `time`, `type`, `sila`, `lovk`, `inta`, `vinos`) VALUES ('" . $id . "', 'Травма "" . $trv . ""', " . (time() + $time) . ", '11', '" . $s . "', '" . $l . "', '" . $i . "', '0')");
|
||||
// mysql_query("UPDATE `users` SET `sila` = (`sila`-'" . $s . "'), `lovk` = (`lovk`-'" . $l . "'), `inta` = (`inta`-'" . $i . "') WHERE `id` = '" . $id . "' LIMIT 1");
|
||||
// return $trv;
|
||||
// break;
|
||||
//
|
||||
// case 11:
|
||||
// $zz = mt_rand(1, 3);
|
||||
// $s = 0;
|
||||
// $l = 0;
|
||||
// $i = 0;
|
||||
// switch ($zz) {
|
||||
// case 1:
|
||||
// $s = ($user['level']) * 2;
|
||||
// break;
|
||||
// case 2:
|
||||
// $l = ($user['level']) * 2;
|
||||
// break;
|
||||
// case 3:
|
||||
// $i = ($user['level']) * 2;
|
||||
// break;
|
||||
// }
|
||||
// $trv = $travmalist2[mt_rand(0, count($travmalist2) - 1)];
|
||||
// $time = 60 * 60 * mt_rand(5, 15);
|
||||
// mysql_query("INSERT INTO `effects` (`owner`, `name`, `time`, `type`, `sila`, `lovk`, `inta`, `vinos`) VALUES ('" . $id . "', 'Травма "" . $trv . ""', " . (time() + $time) . ", '12', '" . $s . "', '" . $l . "', '" . $i . "', '0')");
|
||||
// mysql_query("UPDATE `users` SET `sila` = (`sila`-'" . $s . "'), `lovk` = (`lovk`-'" . $l . "'), `inta` = (`inta`-'" . $i . "') WHERE `id` = '" . $id . "' LIMIT 1");
|
||||
// return $trv;
|
||||
// break;
|
||||
//
|
||||
// case 12:
|
||||
// $zz = mt_rand(1, 3);
|
||||
// $s = 0;
|
||||
// $l = 0;
|
||||
// $i = 0;
|
||||
// switch ($zz) {
|
||||
// case 1:
|
||||
// $s = ($user['level']) * 3;
|
||||
// break;
|
||||
// case 2:
|
||||
// $l = ($user['level']) * 3;
|
||||
// break;
|
||||
// case 3:
|
||||
// $i = ($user['level']) * 3;
|
||||
// break;
|
||||
// }
|
||||
// $trv = $travmalist3[mt_rand(0, count($travmalist3) - 1)];
|
||||
// $time = 60 * 60 * mt_rand(15, 24);
|
||||
// mysql_query("INSERT INTO `effects` (`owner`, `name`, `time`, `type`, `sila`, `lovk`, `inta`, `vinos`) VALUES ('" . $id . "', 'Травма "" . $trv . ""', " . (time() + $time) . ", '13', '" . $s . "', '" . $l . "', '" . $i . "', '0')");
|
||||
// mysql_query("UPDATE `users` SET `sila` = (`sila`-'" . $s . "'), `lovk` = (`lovk`-'" . $l . "'), `inta` = (`inta`-'" . $i . "') WHERE `id` = '" . $id . "' LIMIT 1");
|
||||
// return $trv;
|
||||
// break;
|
||||
//
|
||||
// case 13:
|
||||
// $zz = mt_rand(1, 3);
|
||||
// $s = 0;
|
||||
// $l = 0;
|
||||
// $i = 0;
|
||||
// switch ($zz) {
|
||||
// case 1:
|
||||
// $s = ($user['level']) * 3;
|
||||
// break;
|
||||
// case 2:
|
||||
// $l = ($user['level']) * 3;
|
||||
// break;
|
||||
// case 3:
|
||||
// $i = ($user['level']) * 3;
|
||||
// break;
|
||||
// }
|
||||
// $trv = $travmalist3[mt_rand(0, count($travmalist3) - 1)];
|
||||
// $time = 60 * 60 * mt_rand(25, 26);
|
||||
// mysql_query("INSERT INTO `effects` (`owner`, `name`, `time`, `type`, `sila`, `lovk`, `inta`, `vinos`) VALUES ('" . $id . "', 'Травма "" . $trv . ""', " . (time() + $time) . ", '14', '" . $s . "', '" . $l . "', '" . $i . "', '0')");
|
||||
// mysql_query("UPDATE `users` SET `sila` = (`sila`-'" . $s . "'), `lovk` = (`lovk`-'" . $l . "'), `inta` = (`inta`-'" . $i . "') WHERE `id` = '" . $id . "' LIMIT 1");
|
||||
// return $trv;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//function deltravma($id)
|
||||
//{
|
||||
// $owntravmadb = db::c()->query('SELECT id FROM effects WHERE (`type` = 11 OR `type` = 12 OR `type` = 13 OR `type` = 14) AND id = ?i', $id);
|
||||
// while ($owntravma = $owntravmadb->fetch_assoc_array()) {
|
||||
// db::c()->query('DELETE FROM `effects` WHERE `id` = ?i', $owntravma['id']);
|
||||
// }
|
||||
//}
|
||||
|
||||
/**
|
||||
* @param $name
|
||||
|
@ -32,7 +32,6 @@ function show_item($row, $txt, $place)
|
||||
$magic['targeted'] = $incmagic['targeted'];
|
||||
}
|
||||
if (isset($row['id'])) {
|
||||
//todo подтянуть отображение предмета из класса
|
||||
$r .= '<div id="inv_' . $row['id'] . '"><table><tbody>';
|
||||
$r .= '<tr valign="top" style="border: 2px groove threedface;">';
|
||||
$r .= '<td class="even links original"><img src="/i/sh/' . $row['img'] . '">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
// Магия восстагновления здоровья
|
||||
use Battles\User;
|
||||
class Healing extends magic
|
||||
class Healing extends \Battles\Magic\Magic
|
||||
{
|
||||
private $target;
|
||||
private $magicPower;
|
||||
@ -17,8 +17,6 @@ class Healing extends magic
|
||||
$this->magicPower = $power;
|
||||
$this->target = $target;
|
||||
if ($target && $this->isUsable()) {
|
||||
//TODO: Проверка на то, что магу хватает навыка владения школой магии.
|
||||
//IDEA: Можно добавить проверку на интеллект, где при определённом интеллекте шанс на успех становится 95-100%.
|
||||
if ($isPercentage) {
|
||||
$healHealthAmount = $this->target->health + $this->target->maxHealth / 100 * $this->magicPower;
|
||||
} else {
|
||||
@ -29,7 +27,6 @@ class Healing extends magic
|
||||
}
|
||||
db::c()->query('UPDATE users SET health = ?i WHERE id = ?i', $healHealthAmount, $this->target->id);
|
||||
$targetName = $this->target->login;
|
||||
//todo уведомление в лог боя если лечение происходит в бою.
|
||||
return "Вы восстановили ${healHealthAmount} здоровья персонажу ${targetName}.";
|
||||
} else {
|
||||
return $this->status;
|
||||
|
2
main.php
2
main.php
@ -84,7 +84,7 @@ function del_efs($id, $type)
|
||||
// одеть предмет
|
||||
function dressitem($id)
|
||||
{
|
||||
//FIXME bug #7
|
||||
//bug #7
|
||||
define('HELMET', 1);
|
||||
define('ARMOR', 2);
|
||||
define('LEGS', 3);
|
||||
|
@ -781,7 +781,7 @@ if ($fd['location'] == '28' and $fd['name'] == 'Канализация 1 эта
|
||||
<?php
|
||||
$bot = "Лука";
|
||||
$buser = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '$bot' LIMIT 1;"));
|
||||
//FIXME Этот класс не умеет работать с ботами! Этот вызов - заглушка!
|
||||
//Этот класс не умеет работать с ботами! Этот вызов - заглушка!
|
||||
$botInfo = new \Battles\User('Лука');
|
||||
$botInfo->showUserDoll();
|
||||
?>
|
||||
|
1
post.php
1
post.php
@ -41,7 +41,6 @@ if ($_SESSION['receiverName']) {
|
||||
$user->money -= 1;
|
||||
Bank::setWalletMoney($user->money, $user->id);
|
||||
db::c()->query('UPDATE `inventory` SET owner_id = ?i WHERE item_id= ?i AND owner_id = ?i', $receiverId, $sendItemId, $_SESSION['uid']);
|
||||
//TODO: #9
|
||||
$statusMessage = 'Предмет "' . $res['name'] . '" передан персонажу ' . $receiverId;
|
||||
db::c()->query('INSERT INTO `telegraph` (`receiver`,`text`) VALUES (?i,"?s")', $receiverId, 'Почтовый перевод: ' . $res['name'] . ' от персонажа ' . $user['login'] . '.');
|
||||
}
|
||||
|
1
shop.php
1
shop.php
@ -127,7 +127,6 @@ if ($sellItemId) {
|
||||
|
||||
$allcost = mt_rand(0, $dress['cost'] / 2);
|
||||
db::c()->query('DELETE FROM `inventory` WHERE `id` = ?i', $dress['id']);
|
||||
//todo подключить банковский класс
|
||||
db::c()->query('UPDATE `users` SET `money` = `money` + ?i WHERE `id` = ?i', $allcost, $_SESSION['uid']);
|
||||
if ($allcost == 0) {
|
||||
$status = "После длительных и изнурительных торгов вы плюнули на всё и просто подарили ваш «{$dress['name']}» торговцу.";
|
||||
|
@ -438,7 +438,7 @@ class Zayavka
|
||||
db::c()->query('UPDATE `users` SET `zayavka` = 0 WHERE `zayavka` = ?i', $zay);
|
||||
foreach ($z['team1'] as $k => $v) {
|
||||
if ($v < _BOTSEPARATOR_) {
|
||||
//TODO Написать добавлялку в чат для определённого чеговека. Плясать от AddChatSystem().
|
||||
//Написать добавлялку в чат для определённого чеговека. Плясать от AddChatSystem().
|
||||
#addchp('<font color=red>Внимание!</font> Ваш бой не может начаться по причине <b>Группа не набрана</b>.', '{[]}' . nick::id($v)->short() . '{[]}');
|
||||
exit('Bitch');
|
||||
}
|
||||
@ -510,7 +510,7 @@ class Zayavka
|
||||
db::c()->query('UPDATE `users` SET `zayavka` = 0 WHERE `zayavka` = ?i', $zay);
|
||||
db::c()->query('DELETE FROM `zayavka` WHERE `id` = ?i', $zay);
|
||||
foreach ($z['team1'] as $k => $v) {
|
||||
//TODO Написать добавлялку в чат для определённого чеговека. Плясать от AddChatSystem().[2]
|
||||
//Написать добавлялку в чат для определённого чеговека. Плясать от AddChatSystem().[2]
|
||||
#addchp('<font color=red>Внимание!</font> Ваш бой не может начаться по причине "Группа не набрана".', '{[]}' . nick::id($v)->short() . '{[]}');
|
||||
return null;
|
||||
}
|
||||
@ -544,7 +544,7 @@ VALUES ("?s","?s",?i,?i,?i,"?s","?s",?i,?i,?i,?i)',
|
||||
$rr .= ", ";
|
||||
}
|
||||
$rr .= Nick::id($v)->full(1);
|
||||
//TODO Написать добавлялку в чат для определённого чеговека. Плясать от AddChatSystem().[3]
|
||||
//Написать добавлялку в чат для определённого чеговека. Плясать от AddChatSystem().[3]
|
||||
#addchp('<font color=red>Внимание!</font> Ваш бой начался!<br />\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ', '{[]}' . nick::id($v)->short() . '{[]}');
|
||||
}
|
||||
|
||||
@ -555,7 +555,7 @@ VALUES ("?s","?s",?i,?i,?i,"?s","?s",?i,?i,?i,?i)',
|
||||
$rr .= ", ";
|
||||
}
|
||||
$rr .= Nick::id($v)->full(1);
|
||||
//TODO Написать добавлялку в чат для определённого чеговека. Плясать от AddChatSystem().[4]
|
||||
//Написать добавлялку в чат для определённого чеговека. Плясать от AddChatSystem().[4]
|
||||
#addchp('<font color=red>Внимание!</font> Ваш бой начался!<br />\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ', '{[]}' . nick::id($v)->short() . '{[]}');
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user