Example #1
0
 public function endGame($id, $enderUserId = null)
 {
     $game = $this->getGame($id);
     if (!$game) {
         return;
     }
     $playerList = RoleSummaryFormatter::format($game->getPlayers(), $game->getOriginalPlayers());
     $client = $this->client;
     $winningTeam = $game->whoWon();
     if ($winningTeam !== null) {
         $winMsg = ":clipboard: Role Summary\r\n--------------------------------------------------------------\r\n{$playerList}\r\n\r\n:tada: The game is over. The ";
         if ($winningTeam == Role::VILLAGER) {
             $winMsg .= "Townsfolk ";
         } elseif ($winningTeam == Role::WEREWOLF) {
             $winMsg .= "Werewolves ";
         } else {
             $winMsg .= "UnknownTeam ";
         }
         $winMsg .= "are victorious!";
         $client->getChannelGroupOrDMByID($id)->then(function (Channel $channel) use($client, $playerList, $winMsg) {
             $client->send($winMsg, $channel);
         });
     }
     unset($this->games[$id]);
     if ($enderUserId !== null) {
         $client->getChannelGroupOrDMByID($id)->then(function (Channel $channel) use($client, $playerList, $enderUserId) {
             $client->getUserById($enderUserId)->then(function (\Slack\User $user) use($client, $playerList, $channel) {
                 $client->send(":triangular_flag_on_post: The game was ended by @{$user->getUsername()}.\r\n\r\nRole Summary:\r\n----------------\r\n{$playerList}", $channel);
             });
         });
     }
 }
Example #2
0
 public function endGame($id, $enderUserId = null)
 {
     $game = $this->getGame($id);
     if (!$game) {
         return;
     }
     $playerList = RoleSummaryFormatter::format($game->getLivingPlayers(), $game->getOriginalPlayers());
     $client = $this->client;
     $winningTeam = $game->whoWon();
     if ($winningTeam !== null) {
         $winMsg = ":clipboard: Résumé des rôles\r\n--------------------------------------------------------------\r\n{$playerList}\r\n\r\n:tada: La partie est terminée !.  ";
         if ($winningTeam == Role::VILLAGER) {
             $winMsg .= "Les Villageois ont gagné !";
         } elseif ($winningTeam == Role::WEREWOLF) {
             $winMsg .= "Les Loups-Garous ont gagné !";
         } elseif ($winningTeam == Role::TANNER) {
             $winMsg .= "Le Tanneur a gagné !";
         } else {
             $winMsg .= "Une équipe inconnue a gagné !";
         }
         $this->sendMessageToChannel($game, $winMsg);
     }
     if ($enderUserId !== null) {
         $client->getUserById($enderUserId)->then(function (\Slack\User $user) use($game, $playerList) {
             $gameMsg = ":triangular_flag_on_post: ";
             $roleSummary = "";
             if ($game->getState() != GameState::LOBBY) {
                 $gameMsg .= "La partie a été terminée";
                 $roleSummary .= "\r\n\r\nRésumé des rôles:\r\n----------------\r\n{$playerList}";
             } else {
                 $gameMsg .= "Le lobby a été fermé";
             }
             $this->sendMessageToChannel($game, $gameMsg . " by @{$user->getUsername()}." . $roleSummary);
         });
     }
     unset($this->games[$id]);
 }
Example #3
0
 public function endGame($id, $enderUserId = null)
 {
     $game = $this->getGame($id);
     if (!$game) {
         return;
     }
     $playerList = RoleSummaryFormatter::format($game->getLivingPlayers(), $game->getOriginalPlayers());
     $client = $this->client;
     $winningTeam = $game->whoWon();
     if ($winningTeam !== null) {
         $winMsg = ":clipboard: Role Summary\r\n--------------------------------------------------------------\r\n{$playerList}\r\n\r\n:tada: The game is over. The ";
         if ($winningTeam == Role::VILLAGER) {
             $winMsg .= "Townsfolk are victorious!";
         } elseif ($winningTeam == Role::WEREWOLF) {
             $winMsg .= "Werewolves are victorious!";
         } elseif ($winningTeam == Role::TANNER) {
             $winMsg .= "Tanner is victorious!";
         } else {
             $winMsg .= "UnknownTeam is victorious!";
         }
         $this->sendMessageToChannel($game, $winMsg);
     }
     if ($enderUserId !== null) {
         $client->getUserById($enderUserId)->then(function (\Slack\User $user) use($game, $playerList) {
             $gameMsg = ":triangular_flag_on_post: The ";
             $roleSummary = "";
             if ($game->getState() != GameState::LOBBY) {
                 $gameMsg .= "game was ended";
                 $roleSummary .= "\r\n\r\nRole Summary:\r\n----------------\r\n{$playerList}";
             } else {
                 $gameMsg .= "lobby was closed";
             }
             $this->sendMessageToChannel($game, $gameMsg . " by @{$user->getUsername()}." . $roleSummary);
         });
     }
     unset($this->games[$id]);
 }
Example #4
0
 public function endGame($id, $enderUserId = null)
 {
     $game = $this->getGame($id);
     if (!$game) {
         return;
     }
     $playerList = RoleSummaryFormatter::format($game->getLivingPlayers(), $game->getOriginalPlayers());
     $client = $this->client;
     $winningTeam = $game->whoWon();
     if ($winningTeam !== null) {
         $winMsg = ":clipboard: Подведем итоги\r\n--------------------------------------------------------------\r\n{$playerList}\r\n\r\n:tada: Игра окончена.";
         if ($winningTeam == Role::VILLAGER) {
             $winMsg .= "Победили Крестьяне!";
         } elseif ($winningTeam == Role::WEREWOLF) {
             $winMsg .= "Победили Оборотни!";
         } elseif ($winningTeam == Role::TANNER) {
             $winMsg .= "Победил Таксидермист!";
         } else {
             $winMsg .= "Хз кто победил!";
         }
         $this->sendMessageToChannel($game, $winMsg);
     }
     if ($enderUserId !== null) {
         $client->getUserById($enderUserId)->then(function (\Slack\User $user) use($game, $playerList) {
             $gameMsg = ":triangular_flag_on_post:";
             $roleSummary = "";
             if ($game->getState() != GameState::LOBBY) {
                 $gameMsg .= "Игра завершена.";
                 $roleSummary .= "\r\n\r\nПодведем итоги:\r\n----------------\r\n{$playerList}";
             } else {
                 $gameMsg .= "Игра завершена.";
             }
             $this->sendMessageToChannel($game, $gameMsg . " @{$user->getUsername()}." . $roleSummary);
         });
     }
     unset($this->games[$id]);
 }