public List<IllegalCombo> getViolatedCombos(Generation gen) {
        List<IllegalCombo> allCombos = getViolatedMovesets(gen);
        ArrayList<IllegalCombo> illegal = new ArrayList<IllegalCombo>();
        
        for (IllegalCombo combo : allCombos) {
            // Check the nature/ability
            if ((combo.getNature() != null) &&
                    !combo.getNature().equals(nature)) {
                continue;
            }
            if ((combo.getAbility() != null) &&
                    !combo.getAbility().equals(ability)) {
                continue;
            }
            if ((combo.getGender() != null) &&
                    (gender != combo.getGender())) {
                continue;
            }
            illegal.add(combo);
        }
        return illegal;
    }