diff --git a/src/Moveset.java b/src/Moveset.java index 47d0a2a..6abf853 100644 --- a/src/Moveset.java +++ b/src/Moveset.java @@ -20,28 +20,20 @@ public Moveset(List newMoves) { //returns the 4 most recently learned moves for a pokemon of this level public static Moveset defaultMoveset(Species species, int level, String dataVersion){ - ArrayList distinctMoves = new ArrayList(); - HashSet movesSet = new HashSet(); + ArrayList moves = new ArrayList(); Learnset l = Learnset.getLearnset(species.getPokedexNum(), dataVersion); - if (l == null) { + if (l == null) return new Moveset(); - } LevelMove[] lms = l.getLevelMoves(); for(int i = 0; i < lms.length; i++) { Move m = lms[i].getMove(); - if (!movesSet.contains(m) && lms[i].getLevel() <= level) { - movesSet.add(m); - distinctMoves.add(m); + if (!moves.contains(m) && lms[i].getLevel() <= level) { + if (moves.size() == 4) + moves.remove(0); + moves.add(m); } } - - if (distinctMoves.size() <= 4) - return new Moveset(distinctMoves); - else { - int n = distinctMoves.size(); - return new Moveset(distinctMoves.subList(n-4, n)); - } - + return new Moveset(moves); } public String toString() {