public function kick(SpleefSessionData $data, $reason, $checkPlayers = true) { if ($data->isSpectating()) { unset($this->specs[$data->getSession()->getUID()]); } elseif ($checkPlayers) { unset($this->players[$data->getSession()->getUID()]); if (count($this->players) === 1) { /** @var SpleefSessionData $winner */ $winner = array_values($this->players)[0]; $award = 16 * Settings::coinsFactor($winner->getSession()); $this->broadcast("The match has ended. {$winner->getSession()} won the match and is awarded with {$award} coins."); $winner->getSession()->setCoins($coins = $winner->getSession()->getCoins() + $award); $winner->getSession()->tell("You now have {$coins} coins."); $winner->addWin(); $this->game->getDefaultChatChannel()->broadcast("{$winner} won a match in {$this}!"); $this->reset(); } Settings::spleef_updateArenaSigns($this); } $data->quitArena(); $data->getSession()->tell("You left {$this->config->name}: {$reason}."); $data->getSession()->teleport(Settings::spleef_spawn($this->game->getMain()->getServer())); }
public function update() { $this->game->getMain()->getMySQLi()->query('INSERT INTO spleef(uid,wins,losses,draws,current_streak)VALUES(%d,%d,%d,%d,%d)ON DUPLICATE KEY UPDATE wins=VALUES(wins),losses=VALUES(losses),draws=VALUES(draws),current_streak=VALUES(current_streak);', MysqlConnection::RAW, (int) $this->session->getUID(), (int) $this->getWins(), (int) $this->getLosses(), (int) $this->getDraws(), 0); }