public async Task SendPlayersBattleScene(PokeBattleGame game) { var playerOneScene = await EmbeddedMessageUtil.CreateBattleSceneEmbed(_discord.CurrentUser, game.PlayerOne, game.PlayerTwo, _pokemonController); var playerTwoScene = await EmbeddedMessageUtil.CreateBattleSceneEmbed(_discord.CurrentUser, game.PlayerTwo, game.PlayerOne, _pokemonController); await SendPlayerMessage(playerOneScene, game.PlayerOne.DiscordId); await SendPlayerMessage(playerTwoScene, game.PlayerTwo.DiscordId); }
public async Task SendPlayersLogMessage(PokeBattleGame game) { var message = "```\n"; message += game.LogMessage; message += "```"; await SendPlayerMessage(message, game.PlayerOne.DiscordId); await SendPlayerMessage(message, game.PlayerTwo.DiscordId); }
public async Task CreateGame(ulong invitationId) { Guid battleTokenId = Guid.NewGuid(); InvitationGroup invitation = _pendingInvitations[invitationId]; // Update our users in our database: await UpdateUser(battleTokenId, invitation.PlayerOneId); await UpdateUser(battleTokenId, invitation.PlayerTwoId); //Create the game for our dictionary: PokeBattleGame gameToAdd = new PokeBattleGame(battleTokenId, _pokemonController, _userController); gameToAdd.PlayerOne = new BattlePlayer(invitation.PlayerOneId); gameToAdd.PlayerTwo = new BattlePlayer(invitation.PlayerTwoId); _games.Add(battleTokenId, gameToAdd); }
private async Task DoGameOverProcess(PokeBattleGame game, IUserMessage message) { game.RunGame(-1); // Execute post-game functions (XP gain / Level Up) var winner = game.GetWinningPlayer(); var loser = game.GetLosingPlayer(); await _handler.UpdateUserPokemon(winner.CurrentPokemon); await _handler.UpdateUserPokemon(loser.CurrentPokemon); await _handler.SendWinnerCard(winner); await _handler.SendLoserCard(loser); await game.ClearTokens(); await message.DeleteAsync(); await _handler.RemoveGame(game.BattleTokenId); }