public static async Task MoveScreenNew(UserAccount user, ulong messageId, IEmote emote, ContextIds idList) { //Tests each case to make sure all circumstances for the execution of this command are valid (character exists, in correct location) try { await UserHandler.CharacterExists(idList); await UserHandler.CharacterInCombat(idList); } catch (InvalidCharacterStateException) { return; } var num = user.Char.MoveScreenNum; if (emote.Name == "1\u20E3") { if (user.Char.ActiveMons[num].ActiveMoves[0].Name != "None") { user.ReactionMessages.Remove(messageId); await CombatHandler2.ParseMoveSelection(user, 0); } } else if (emote.Name == "2\u20E3") { if (user.Char.ActiveMons[num].ActiveMoves[1].Name != "None") { user.ReactionMessages.Remove(messageId); await CombatHandler2.ParseMoveSelection(user, 1); } } else if (emote.Name == "3\u20E3") { if (user.Char.ActiveMons[num].ActiveMoves[2].Name != "None") { user.ReactionMessages.Remove(messageId); await CombatHandler2.ParseMoveSelection(user, 2); } } else if (emote.Name == "4\u20E3") { if (user.Char.ActiveMons[num].ActiveMoves[3].Name != "None") { user.ReactionMessages.Remove(messageId); await CombatHandler2.ParseMoveSelection(user, 3); } } else if (emote.Name == "⏮") { if (user.Char.MoveScreenNum > 0) { user.ReactionMessages.Remove(messageId); user.Char.MoveScreenNum--; await MessageHandler.MoveScreenNew(user.UserId); } else { user.ReactionMessages.Remove(messageId); await MessageHandler.FightScreenNew(user.UserId); } } }