From 72a7a4d2152e26bf6225987a8f34f1fe1d6b5333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zo=C3=A9=20Cassiop=C3=A9e=20Gauthier?= Date: Tue, 16 Apr 2024 09:49:01 -0400 Subject: [PATCH] Filter out legacy fast moves when requested --- src/pogo_scaled_estimators/calculator.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/pogo_scaled_estimators/calculator.py b/src/pogo_scaled_estimators/calculator.py index c40c9e4..a4b443c 100644 --- a/src/pogo_scaled_estimators/calculator.py +++ b/src/pogo_scaled_estimators/calculator.py @@ -55,9 +55,7 @@ class Calculator: self._progress.update(task, advance=1) raid = Raid(raid_tier, defender, level, party) results = { - attacker: [ - moveset for moveset in movesets if self._allowed_move(attacker, moveset.charged_move) - ] + attacker: [moveset for moveset in movesets if self._allowed_moveset(attacker, moveset)] for attacker, movesets in self._pokebattler_proxy.simulate(raid).items() if attacker in attackers } @@ -102,14 +100,16 @@ class Calculator: return False return True - def _allowed_move(self, pokemon_id: str, move_id: str) -> bool: - move = self._pokebattler_proxy.find_move(move_id) - if move.typing not in self.attacker_types: + def _allowed_moveset(self, pokemon_id: str, moveset: MovesetResult) -> bool: + charged_move = self._pokebattler_proxy.find_move(moveset.charged_move) + if charged_move.typing not in self.attacker_types: return False if Filter.DISALLOW_LEGACY_MOVES in self.filters: pokemon = self._pokebattler_proxy.find_pokemon(pokemon_id) - move_id = move_id.removesuffix("_PLUS_PLUS") - if move_id in pokemon.get("eliteQuickMove", []) or move_id in pokemon.get("eliteCinematicMove", []): + if moveset.fast_move in pokemon.get("eliteQuickMove", []): + return False + charged_move_name = moveset.charged_move.removesuffix("_PLUS_PLUS") + if charged_move_name in pokemon.get("eliteCinematicMove", []): return False return True