/** * Chat */ public function actionChat() { if (!Yii::$app->request->isAjax) { return $this->goHome(); } $game = Game::fromSession(); $imperium = $game->getImperium(); if (empty($imperium)) { return $this->goHome(); } $msg = Yii::$app->request->post('msg', 0); if (!empty($msg)) { $msg = mb_substr(HtmlPurifier::process($msg), 0, 255, 'UTF-8'); $event = new Event(); $event->setAuthor(Yii::$app->user->identity->username); $event->setType(Event::TYPE_CHAT); $event->setInfo($msg); $imperium->getLog()->add($event); $game->save($imperium); } }
/** * Declines race */ public function declineRace() { $hero = $this->getHero(); if ($hero->getStage() === Player::STAGE_RACE_PRESENTED) { if ($this->getSettings()->getRaceChange() && $hero->getFirstRace() === null) { $presented = $this->getPlayers()->getRandomRace(); $hero->setFirstRace($presented); $hero->setStage(Player::STAGE_RACE_PASSED); $event = new Event(); $event->setType(Event::TYPE_RACE_DECLINED); $event->setInfo($hero->getName() . ' > ' . $presented); $this->getLog()->add($event); $this->postCommand(); } } }