public static SwitchedPokemon GetSwitchedPokemon(PSXAPI.Response.Payload.BattlePokemon side) { var switchedPoke = GetSwitchedPokemon(side.details, side.condition); switchedPoke.Moves = side.moveData; switchedPoke.Personality = side.personality; switchedPoke.Trainer = side.trainer; switchedPoke.Sent = side.active; return(switchedPoke); }
public bool IsPokemonUsable(PSXAPI.Response.Payload.BattlePokemon sidePoke) { var pokemon = Battle.GetSwitchedPokemon(sidePoke); if (pokemon.Health > 0) { foreach (var move in pokemon.Moves) { MovesManager.MoveData moveData = MovesManager.Instance.GetMoveData(move.id); if (move.pp > 0 && IsMoveOffensive(moveData) && !move.disabled && moveData.ID != DreamEater && moveData.ID != Synchronoise && moveData.ID != DoubleEdge) { return(true); } } } return(false); }