private PBEMoveData(PBEType type, PBEMoveCategory category, sbyte priority, byte ppTier, byte power, byte accuracy, PBEMoveEffect effect, int effectParam, PBEMoveTarget targets, PBEMoveFlag flags) { Type = type; Category = category; Priority = priority; PPTier = ppTier; Power = power; Accuracy = accuracy; Effect = effect; EffectParam = effectParam; Targets = targets; Flags = flags; }
private static IEnumerable <PBEMove> GetMovesWithoutFlag(PBEMoveFlag flag, PBEMoveEffect?exception = null) { return(AllMoves.Where(m => { PBEMoveData mData = PBEMoveData.Data[m]; if (!mData.IsMoveUsable()) { return false; } if (exception.HasValue && mData.Effect == exception.Value) { return true; } return !mData.Flags.HasFlag(flag); })); }