Куча мелочей, в том числе по #42.
This commit is contained in:
@@ -28,6 +28,7 @@ class Bank
|
||||
'depositMoney' => 'Пополнение счёта.',
|
||||
'withdrawMoney' => 'Снятие денег со счёта.',
|
||||
'clanRegister' => 'Оплата стоимости регистрации клана.',
|
||||
'sellShop' => 'Продажа товара в магазине.'
|
||||
];
|
||||
|
||||
public function __construct(int $user_id)
|
||||
@@ -214,12 +215,9 @@ class Bank
|
||||
*/
|
||||
public static function setWalletMoney(int $amount, int $user_id): void
|
||||
{
|
||||
try {
|
||||
self::$db->execute('UPDATE users SET money = ? WHERE id = ?', [$amount, $user_id]);
|
||||
} catch (Throwable $e) {
|
||||
echo "Не отработал запрос в БД в файле {$e->getFile()}({$e->getLine()})";
|
||||
}
|
||||
|
||||
$u = new User($user_id);
|
||||
$u->setMoney($amount);
|
||||
$u->saveMoney();
|
||||
}
|
||||
|
||||
public function getMoney(): int
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
# Date: 15.03.2021 (21:53)
|
||||
|
||||
namespace Battles;
|
||||
|
||||
use Battles\Database\DBPDO;
|
||||
|
||||
class Check
|
||||
{
|
||||
private User $user;
|
||||
private DBPDO $db;
|
||||
|
||||
/**
|
||||
* Check constructor.
|
||||
*
|
||||
* @param User $user
|
||||
*/
|
||||
public function __construct(User $user, DBPDO $db)
|
||||
{
|
||||
$this->user = $user;
|
||||
$this->db = $db;
|
||||
}
|
||||
|
||||
public function Effects()
|
||||
{
|
||||
return $this->db->execute('delete from users_effects where remaining_time <= ?', strtotime('now'));
|
||||
}
|
||||
}
|
||||
+18
-19
@@ -11,24 +11,24 @@ class Clan
|
||||
private $clan;
|
||||
public static Clan $current;
|
||||
|
||||
public function __construct(User $user, DBPDO $db)
|
||||
public function __construct()
|
||||
{
|
||||
$this->db = $db;
|
||||
$this->user = $user;
|
||||
$this->db = DBPDO::$db;
|
||||
$this->user = User::$current;
|
||||
$this->clan = $this->db->ofetch('select * from clans where owner_id = ?', $this->user->getId());
|
||||
}
|
||||
|
||||
public function addMember(string $login): string
|
||||
{
|
||||
$target = new User($login);
|
||||
$error = null;
|
||||
$check = $this->db->ofetch('select id, level, clan from users where login = ?', $login);
|
||||
if (!$this->getProverka($check->id)) {
|
||||
if (!$this->getProverka($target->getId())) {
|
||||
$error .= '<br>Нет проверки!';
|
||||
}
|
||||
if ($check->clan) {
|
||||
if ($target->getClan()) {
|
||||
$error .= '<br>Персонаж уже состоит в клане!';
|
||||
}
|
||||
if ($check->level < 1) {
|
||||
if ($target->getLevel() < 1) {
|
||||
$error .= '<br>Персонаж 0 уровня не может быть принят!';
|
||||
}
|
||||
if ($this->user->getMoney() < GameConfigs::CLAN['add_member_cost']) {
|
||||
@@ -39,21 +39,21 @@ class Clan
|
||||
}
|
||||
$this->user->setMoney($this->user->getMoney() - GameConfigs::CLAN['add_member_cost']);
|
||||
$this->user->saveMoney();
|
||||
$this->db->execute('update users set clan = ? where id = ?', [$this->user->getClan(), $check->id]);
|
||||
$target->setClan($this->user->getClan());
|
||||
return "Персонаж «{$login}» успешно принят в клан.";
|
||||
}
|
||||
|
||||
public function removeMember(string $login): string
|
||||
{
|
||||
$target = new User($login);
|
||||
$error = null;
|
||||
$check = $this->db->ofetch('select id, clan from users where login = ?', $login);
|
||||
if ($this->user->getMoney() < GameConfigs::CLAN['remove_member_cost']) {
|
||||
$error .= '<br>Недостаточно денег!';
|
||||
}
|
||||
if ($check->id === $this->user->getId()) {
|
||||
if ($target->getId() === $this->user->getId()) {
|
||||
$error .= '<br>Себя выгонять нельзя!';
|
||||
}
|
||||
if ($check->clan !== $this->user->getClan()) {
|
||||
if ($target->getClan() !== $this->user->getClan()) {
|
||||
$error .= '<br>Персонаж не состоит в этом клане!';
|
||||
}
|
||||
if ($error) {
|
||||
@@ -61,28 +61,28 @@ class Clan
|
||||
}
|
||||
$this->user->setMoney($this->user->getMoney() - GameConfigs::CLAN['remove_member_cost']);
|
||||
$this->user->saveMoney();
|
||||
$this->db->execute('update users set clan = null where id = ?', $check->id);
|
||||
$target->setClan(null);
|
||||
return "Персонаж «{$login}» покинул клан.";
|
||||
}
|
||||
|
||||
public function changeOwner(string $login): string
|
||||
{
|
||||
$target = new User($login);
|
||||
$error = null;
|
||||
$check = $this->db->ofetch('select id, clan from users where login = ?', $login);
|
||||
if ($check->id === $this->user->getId()) {
|
||||
if ($target->getId() === $this->user->getId()) {
|
||||
$error .= '<br>Самоудовлетворяетесь? ;)';
|
||||
}
|
||||
if ($check->clan !== $this->user->getClan()) {
|
||||
if ($target->getClan() !== $this->user->getClan()) {
|
||||
$error .= '<br>Персонаж не состоит в этом клане!';
|
||||
}
|
||||
if ($error) {
|
||||
return $error;
|
||||
}
|
||||
$this->db->execute('update clans set owner_id = ? where owner_id = ?', [$check->id, $this->user->getId()]);
|
||||
$this->db->execute('update clans set owner_id = ? where owner_id = ?', [$target->getId(), $this->user->getId()]);
|
||||
return 'Вы передали управление кланом персонажу «' . $login . '».';
|
||||
}
|
||||
|
||||
public function setClanInfo(string $text)
|
||||
public function setClanInfo(string $text): string
|
||||
{
|
||||
$check = $this->db->ofetch('select id from users where clan = (select short_name from clans where owner_id = ?)', $this->user->getId());
|
||||
if ($check->id !== $this->user->getId()) {
|
||||
@@ -94,8 +94,7 @@ class Clan
|
||||
|
||||
public function getMemberlist(): array
|
||||
{
|
||||
$query = 'select id, (select 1 from clans where short_name = clan and owner_id = id) as clan_owner, room from users where clan = ? order by clan_owner desc, room, login';
|
||||
return $this->db->ofetchAll($query, $this->user->getClan());
|
||||
return $this->db->ofetchAll('select id, (select 1 from clans where short_name = clan and owner_id = id) as clan_owner, room from users where clan = ? order by clan_owner desc, room, login', $this->user->getClan());
|
||||
}
|
||||
|
||||
private function getProverka($user_id)
|
||||
|
||||
@@ -9,6 +9,7 @@ class DBPDO
|
||||
|
||||
public $pdo;
|
||||
private static $_instance = null;
|
||||
public static DBPDO $db;
|
||||
|
||||
function __construct()
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@ use Battles\User;
|
||||
|
||||
class Sharpen extends Magic
|
||||
{
|
||||
private $magicDifficulty;
|
||||
private int $magicDifficulty;
|
||||
|
||||
/**
|
||||
* Sharpen constructor.
|
||||
|
||||
@@ -15,72 +15,72 @@ class Moderation
|
||||
GameLogs::addUserLog($userId, $message, "moderation");
|
||||
}
|
||||
|
||||
public static function muteChat(int $target, int $time): bool
|
||||
public static function muteChat(int $target, int $time)
|
||||
{
|
||||
self::addEffectStatusToUserLog($target, UserEffects::$effectName[2]);
|
||||
return User::setUserEffect($target, 2, UserEffects::$effectName[2], $time);
|
||||
User::addUserEffect($target, 2, UserEffects::$effectName[2], $time);
|
||||
}
|
||||
|
||||
public static function unmuteChat(int $target): bool
|
||||
public static function unmuteChat(int $target)
|
||||
{
|
||||
self::addEffectStatusToUserLog($target, UserEffects::$effectName[2] . self::STATUS_OFF);
|
||||
return User::removeUserEffect($target, 2);
|
||||
User::removeUserEffect($target, 2);
|
||||
}
|
||||
|
||||
public static function muteForum(int $target, int $time): bool
|
||||
public static function muteForum(int $target, int $time)
|
||||
{
|
||||
self::addEffectStatusToUserLog($target, UserEffects::$effectName[3]);
|
||||
return User::setUserEffect($target, 3, UserEffects::$effectName[3], $time);
|
||||
User::addUserEffect($target, 3, UserEffects::$effectName[3], $time);
|
||||
}
|
||||
|
||||
public static function unmuteForum(int $target): bool
|
||||
public static function unmuteForum(int $target)
|
||||
{
|
||||
self::addEffectStatusToUserLog($target, UserEffects::$effectName[3] . self::STATUS_OFF);
|
||||
return User::removeUserEffect($target, 3);
|
||||
User::removeUserEffect($target, 3);
|
||||
}
|
||||
|
||||
public static function hideUserInfo(int $target, int $time): bool
|
||||
public static function hideUserInfo(int $target, int $time)
|
||||
{
|
||||
self::addEffectStatusToUserLog($target, UserEffects::$effectName[5]);
|
||||
return User::setUserEffect($target, 5, UserEffects::$effectName[5], $time);
|
||||
User::addUserEffect($target, 5, UserEffects::$effectName[5], $time);
|
||||
}
|
||||
|
||||
public static function unHideUserInfo(int $target): bool
|
||||
public static function unHideUserInfo(int $target)
|
||||
{
|
||||
self::addEffectStatusToUserLog($target, UserEffects::$effectName[5] . self::STATUS_OFF);
|
||||
return User::removeUserEffect($target, 5);
|
||||
User::removeUserEffect($target, 5);
|
||||
}
|
||||
|
||||
public static function blockUser(int $target): void
|
||||
public static function blockUser(int $target)
|
||||
{
|
||||
self::addEffectStatusToUserLog($target, "Блокировка");
|
||||
DBPDO::INIT()->execute('UPDATE battles.users SET block = 1 WHERE id = ?', $target);
|
||||
}
|
||||
|
||||
public static function unBlockUser(int $target): void
|
||||
public static function unBlockUser(int $target)
|
||||
{
|
||||
self::addEffectStatusToUserLog($target, "Блокировка" . self::STATUS_OFF);
|
||||
DBPDO::INIT()->execute('UPDATE battles.users SET block = 0 WHERE block = 1 AND id = ?', $target);
|
||||
}
|
||||
|
||||
public static function addToUserLog(int $target, string $message, int $senderId): void
|
||||
public static function addToUserLog(int $target, string $message, int $senderId)
|
||||
{
|
||||
GameLogs::addUserLog($target, $message, "moderation", $senderId);
|
||||
}
|
||||
|
||||
public static function setAlign(int $target, int $align): void
|
||||
public static function setAlign(int $target, int $align)
|
||||
{
|
||||
DBPDO::INIT()->execute('UPDATE users SET align = ? WHERE id = ?', [$align, $target]);
|
||||
}
|
||||
|
||||
public static function addChatSysMsg(string $message): void
|
||||
public static function addChatSysMsg(string $message)
|
||||
{
|
||||
DBPDO::INIT()->execute('INSERT INTO chat (user_id,msg,type) VALUES (-1,?,?)', [$message, 'sys']);
|
||||
}
|
||||
|
||||
public static function addUserCheck(int $target): bool
|
||||
public static function addUserCheck(int $target)
|
||||
{
|
||||
self::addEffectStatusToUserLog($target, UserEffects::$effectName[20]);
|
||||
return User::setUserEffect($target, 20, UserEffects::$effectName[20], strtotime('3days'));
|
||||
User::addUserEffect($target, 20, UserEffects::$effectName[20], strtotime('3days'));
|
||||
}
|
||||
}
|
||||
@@ -91,6 +91,7 @@ SQL;
|
||||
echo "<img src='/i/sh/$this->image' class='item-wrap-normal' alt=''>";
|
||||
}
|
||||
|
||||
//todo наличка после покупки отображается с задержкой.
|
||||
public static function buyItem($id, User $buyer): string
|
||||
{
|
||||
$db = new DBPDO();
|
||||
|
||||
+61
-229
@@ -6,38 +6,49 @@ use Battles\Database\DBPDO;
|
||||
|
||||
class User
|
||||
{
|
||||
protected $id = 0;
|
||||
protected $login = '<em>Некто</em>';
|
||||
protected $pass;
|
||||
protected $email = '<em>неизвестно</em>';
|
||||
protected $realname;
|
||||
protected $borndate;
|
||||
protected $info;
|
||||
protected $level;
|
||||
protected $align;
|
||||
protected $clan;
|
||||
protected $money;
|
||||
protected $ip = 0;
|
||||
protected int $id = 0;
|
||||
protected string $login = '';
|
||||
protected ?string $pass = null;
|
||||
protected ?string $email = null;
|
||||
protected ?string $realname = null;
|
||||
protected ?string $borndate = null;
|
||||
protected ?string $info = null;
|
||||
protected int $level = 0;
|
||||
protected ?int $align = null;
|
||||
protected ?string $clan = null;
|
||||
protected ?int $money = null;
|
||||
protected ?string $ip = null;
|
||||
|
||||
protected $admin = 0;
|
||||
protected $enter_game;
|
||||
protected $room;
|
||||
protected $block;
|
||||
protected $shadow;
|
||||
protected ?int $admin = null;
|
||||
protected int $room = 0;
|
||||
protected int $block = 0;
|
||||
protected string $shadow = '';
|
||||
|
||||
// Пока несуществующие, для совместимости.
|
||||
protected $experience = 200;
|
||||
protected $battle = 0;
|
||||
protected $in_tower = 0; // Скорее башню похороним чем запустим...
|
||||
protected $zayavka = 0;
|
||||
protected static $db;
|
||||
protected int $experience = 0;
|
||||
protected int $battle = 0;
|
||||
protected int $in_tower = 0; // Скорее башню похороним чем запустим...
|
||||
protected int $zayavka = 0;
|
||||
protected static DBPDO $db;
|
||||
|
||||
public const INFO_CHAR_LIMIT = 1500;
|
||||
/**
|
||||
* @var User Переменная инициализируемая при запуске, хранящая объект текущего пользователя.
|
||||
*/
|
||||
public static User $current;
|
||||
|
||||
/**
|
||||
* @param int|string $user
|
||||
*/
|
||||
public function __construct($user)
|
||||
{
|
||||
self::$db = DBPDO::INIT();
|
||||
$user_query = self::$db->fetch('SELECT * FROM users WHERE id = ? OR login = ?', [$user, $user]);
|
||||
$query = 'select * from users where login = ?';
|
||||
if (is_numeric($user)) {
|
||||
$query = 'select * from users where id = ?';
|
||||
$user = (int)$user;
|
||||
}
|
||||
$user_query = self::$db->fetch($query, $user);
|
||||
foreach ($this as $key => $value) {
|
||||
if (isset($user_query[$key])) {
|
||||
$this->$key = $user_query[$key];
|
||||
@@ -51,12 +62,11 @@ class User
|
||||
* @param string $name
|
||||
* @param int $time
|
||||
* @param string|null $json_modifiers_list (str, dex, int, end, intel, wis).
|
||||
* @return bool
|
||||
*/
|
||||
public static function setUserEffect(int $userId, int $type, string $name, int $time, string $json_modifiers_list = null): bool
|
||||
public static function addUserEffect(int $userId, int $type, string $name, int $time, string $json_modifiers_list = null)
|
||||
{
|
||||
$mods = json_decode($json_modifiers_list);
|
||||
return self::$db->execute('INSERT INTO users_effects (owner_id, type, name, remaining_time, mod_strength, mod_dexterity, mod_intuition, mod_endurance, mod_intelligence, mod_wisdom) VALUES (?,?,?,?,?,?,?,?,?,?)', [$userId, $type, $name, $time, $mods->str ?? null, $mods->dex ?? null, $mods->int ?? null, $mods->end ?? null, $mods->intel ?? null, $mods->wis ?? null]);
|
||||
self::$db->execute('INSERT INTO users_effects (owner_id, type, name, remaining_time, mod_strength, mod_dexterity, mod_intuition, mod_endurance, mod_intelligence, mod_wisdom) VALUES (?,?,?,?,?,?,?,?,?,?)', [$userId, $type, $name, $time, $mods->str ?? null, $mods->dex ?? null, $mods->int ?? null, $mods->end ?? null, $mods->intel ?? null, $mods->wis ?? null]);
|
||||
}
|
||||
|
||||
public static function removeUserEffect(int $userId, int $type): bool
|
||||
@@ -67,34 +77,17 @@ class User
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getId(): int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getLogin(): string
|
||||
{
|
||||
return $this->login;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $login
|
||||
*/
|
||||
public function setLogin(string $login): void
|
||||
{
|
||||
$this->login = $login;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getPass()
|
||||
public function getPass(): string
|
||||
{
|
||||
return $this->pass;
|
||||
}
|
||||
@@ -112,26 +105,7 @@ class User
|
||||
self::$db->execute('UPDATE users SET pass = ? WHERE id = ?', [$this->pass, $this->id]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getEmail(): string
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $email
|
||||
*/
|
||||
public function setEmail(string $email): void
|
||||
{
|
||||
$this->email = $email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getRealname()
|
||||
public function getRealname(): string
|
||||
{
|
||||
return $this->realname;
|
||||
}
|
||||
@@ -144,26 +118,7 @@ class User
|
||||
$this->realname = $realname;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getBorndate()
|
||||
{
|
||||
return $this->borndate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $borndate
|
||||
*/
|
||||
public function setBorndate($borndate): void
|
||||
{
|
||||
$this->borndate = $borndate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getInfo()
|
||||
public function getInfo(): string
|
||||
{
|
||||
return $this->info;
|
||||
}
|
||||
@@ -171,71 +126,46 @@ class User
|
||||
/**
|
||||
* @param mixed $info
|
||||
*/
|
||||
public function setInfo($info): void
|
||||
public function setInfo($info)
|
||||
{
|
||||
$this->info = $info;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getLevel(): int
|
||||
{
|
||||
return $this->level;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $level
|
||||
*/
|
||||
public function setLevel(int $level): void
|
||||
{
|
||||
$this->level = $level;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getAlign(): int
|
||||
{
|
||||
return $this->align;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $align
|
||||
*/
|
||||
public function setAlign(int $align): void
|
||||
{
|
||||
$this->align = $align;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getClan(): string
|
||||
public function getClan(): ?string
|
||||
{
|
||||
return $this->clan;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $clan
|
||||
* @param string|null $short_name Короткое название клана. Передать null для очистки.
|
||||
*/
|
||||
public function setClan(string $clan): void
|
||||
public function setClan(?string $short_name)
|
||||
{
|
||||
$this->clan = $clan;
|
||||
if (is_null($short_name)) {
|
||||
$this->clan = null;
|
||||
self::$db->execute('update users set clan = null where id = ?', $this->id);
|
||||
} else {
|
||||
$this->clan = $short_name;
|
||||
self::$db->execute('update users set clan = ? where id = ?', [$short_name, $this->id]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getMoney(): int
|
||||
{
|
||||
return $this->money;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $money
|
||||
*/
|
||||
public function setMoney(int $money): void
|
||||
public function setMoney(int $money)
|
||||
{
|
||||
$this->money = $money < 0 ? 0 : $money;
|
||||
}
|
||||
@@ -245,52 +175,12 @@ class User
|
||||
self::$db->execute('update users set money = ? where id = ?', [$this->money, $this->id]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getIp()
|
||||
{
|
||||
return $this->ip;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $ip
|
||||
*/
|
||||
public function setIp($ip): void
|
||||
{
|
||||
$this->ip = $ip;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getAdmin(): int
|
||||
{
|
||||
return $this->admin;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getEnterGame()
|
||||
{
|
||||
return $this->enter_game;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $enter_game
|
||||
*/
|
||||
public function setEnterGame($enter_game): void
|
||||
{
|
||||
$this->enter_game = $enter_game;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getRoom()
|
||||
public function getRoom(): int
|
||||
{
|
||||
return $this->room;
|
||||
}
|
||||
@@ -298,31 +188,17 @@ class User
|
||||
/**
|
||||
* @param mixed $room
|
||||
*/
|
||||
public function setRoom($room): void
|
||||
public function setRoom($room)
|
||||
{
|
||||
$this->room = $room;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getBlock()
|
||||
public function getBlock(): int
|
||||
{
|
||||
return $this->block;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $block
|
||||
*/
|
||||
public function setBlock($block): void
|
||||
{
|
||||
$this->block = $block;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getShadow()
|
||||
public function getShadow(): string
|
||||
{
|
||||
return $this->shadow;
|
||||
}
|
||||
@@ -346,70 +222,26 @@ class User
|
||||
self::$db->execute('UPDATE users SET shadow = ? WHERE id = ?', [$this->shadow, $this->id]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getExperience(): int
|
||||
{
|
||||
return $this->experience;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $experience
|
||||
*/
|
||||
public function setExperience(int $experience): void
|
||||
{
|
||||
$this->experience = $experience;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getBattle(): int
|
||||
{
|
||||
return $this->battle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $battle
|
||||
*/
|
||||
public function setBattle(int $battle): void
|
||||
{
|
||||
$this->battle = $battle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getInTower(): int
|
||||
{
|
||||
return $this->in_tower;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $in_tower
|
||||
*/
|
||||
public function setInTower(int $in_tower): void
|
||||
{
|
||||
$this->in_tower = $in_tower;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getZayavka(): int
|
||||
{
|
||||
return $this->zayavka;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $zayavka
|
||||
*/
|
||||
public function setZayavka(int $zayavka): void
|
||||
{
|
||||
$this->zayavka = $zayavka;
|
||||
}
|
||||
|
||||
public function saveAnketa()
|
||||
{
|
||||
self::$db->execute('UPDATE users SET realname = ?, info = ? WHERE id = ?', [$this->realname, $this->info, $this->id]);
|
||||
@@ -422,32 +254,32 @@ class User
|
||||
|
||||
public function setInjury(int $type): bool
|
||||
{
|
||||
if (!in_array($type,[11,12,13,14])) {
|
||||
if (!in_array($type, [11, 12, 13, 14])) {
|
||||
return false;
|
||||
}
|
||||
$names1 = ['разбитый нос', 'сотрясение первой степени', 'потрепанные уши', 'прикушенный язык', 'перелом переносицы', 'растяжение ноги', 'растяжение руки', 'подбитый глаз', 'синяк под глазом', 'кровоточащее рассечение', 'отбитая «пятая точка»', 'заклинившая челюсть', 'выбитый зуб «мудрости»', 'косоглазие'];
|
||||
$names2 = ['отбитые почки', 'вывих «вырезано цензурой»', 'сотрясение второй степени', 'оторванное ухо', 'вывих руки', 'оторванные уши', 'поврежденный позвоночник', 'поврежденный копчик', 'разрыв сухожилия', 'перелом ребра', 'перелом двух ребер', 'вывих ноги', 'сломанная челюсть'];
|
||||
$names3 = ['пробитый череп', 'разрыв селезенки', 'смещение позвонков', 'открытый перелом руки', 'открытый перелом «вырезано цензурой»', 'излом носоглотки', 'непонятные, но множественные травмы', 'сильное внутреннее кровотечение', 'раздробленная коленная чашечка', 'перелом шеи', 'смещение позвонков', 'открытый перелом ключицы', 'перелом позвоночника', 'вывих позвоночника', 'сотрясение третьей степени'];
|
||||
$param_names = ['str','dex','int','end','intel','wis',];
|
||||
$param_names = ['str', 'dex', 'int', 'end', 'intel', 'wis',];
|
||||
shuffle($param_names);
|
||||
switch ($type) {
|
||||
case 11:
|
||||
shuffle($names1);
|
||||
$name = UserEffects::$effectName[$type] . ': ' . $names1(0);
|
||||
self::setUserEffect($this->id, $type, $name, strtotime('30min'), json_encode([$param_names(0) => -1]));
|
||||
self::addUserEffect($this->id, $type, $name, strtotime('30min'), json_encode([$param_names(0) => -1]));
|
||||
break;
|
||||
case 12:
|
||||
shuffle($names2);
|
||||
$name = UserEffects::$effectName[$type] . ': ' . $names2(0);
|
||||
self::setUserEffect($this->id, $type, $name, strtotime('3hours'), json_encode([$param_names(0) => mt_rand(-3,-1), $param_names(1) => mt_rand(-3,-1)]));
|
||||
self::addUserEffect($this->id, $type, $name, strtotime('3hours'), json_encode([$param_names(0) => mt_rand(-3, -1), $param_names(1) => mt_rand(-3, -1)]));
|
||||
break;
|
||||
case 13:
|
||||
shuffle($names3);
|
||||
$name = UserEffects::$effectName[$type] . ': ' . $names3(0);
|
||||
self::setUserEffect($this->id, $type, $name, strtotime('12hours'), json_encode([$param_names(0) => mt_rand(-5,-1), $param_names(1) => mt_rand(-5,-1), $param_names(2) => mt_rand(-5,-1)]));
|
||||
self::addUserEffect($this->id, $type, $name, strtotime('12hours'), json_encode([$param_names(0) => mt_rand(-5, -1), $param_names(1) => mt_rand(-5, -1), $param_names(2) => mt_rand(-5, -1)]));
|
||||
break;
|
||||
default: //type 14
|
||||
self::setUserEffect($this->id, $type, UserEffects::$effectName[$type], strtotime('1day'), json_encode([$param_names(0) => -10]));
|
||||
self::addUserEffect($this->id, $type, UserEffects::$effectName[$type], strtotime('1day'), json_encode([$param_names(0) => -10]));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user