невидимка';
class Nick extends UserStats
{
private function isInvisible()
{
return Db::getInstance()->execute('SELECT count(*) FROM users_effects WHERE type = 1022 AND owner_id = ?', $this->id)->fetchColumn();
}
/**
* Отображение иконки склонности.
* @return string
*/
private function getAlignImage(): ?string
{
return $this->align ? "" : null;
}
/**
* Отображение иконки клана.
* @return string
*/
private function getClanImage(): ?string
{
return $this->clan ? "" : null;
}
private function getInfolinkImage(): string
{
return "";
}
/**
* Вызов класса из самого себя. Читать про обратное связывание и пытаться что-то понять.
* @param $playerId
*
* @return Nick
*/
public static function id($playerId): self
{
return new self($playerId);
}
/**
* Возвращает строку со склонностью, кланом, логином, уровнем, ссылкой на профиль.
*
* @param int $showInvisibility отображать логин даже если персонаж невидимка.
*
* @return string
*/
public function full(int $showInvisibility = 0): string
{
return !$showInvisibility && $this->isInvisible() ? INVIS : $this->getAlignImage() . $this->getClanImage() . " $this->login [$this->level] " . $this->getInfolinkImage();
}
/**
* Возвращает строку с логином.
* Избавиться от этого! Оставлено для совместимости.
* @return string
*/
public function short(): string
{
return $this->login;
}
/**
* Возвращает строку со склонностью, кланом, логином, уровнем, ссылкой на профиль, здоровьем.
* @return string
*/
public function battle(): string
{
return $this->full() . " [$this->health/$this->maxHealth]";
}
}