Skip to content

Commit 6b0441b

Browse files
Merge branch 'master' of github.com:cameronangliss/poke-env into add-last-used-move-field
2 parents 68f4a5a + e947293 commit 6b0441b

File tree

4 files changed

+15
-19
lines changed

4 files changed

+15
-19
lines changed

.github/workflows/update-data.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
./scripts/update_all_data.sh
1818
chmod -x ./scripts/update_all_data.sh
1919
- name: Create or update pull request
20-
uses: peter-evans/create-pull-request@v7
20+
uses: peter-evans/create-pull-request@v8
2121
with:
2222
commit-message: JSON data update from smogon
2323
branch: create-pull-request/update-data

src/poke_env/battle/abstract_battle.py

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -239,12 +239,7 @@ def get_pokemon(
239239

240240
# if the pokemon has a nickname, this ensures we recognize it
241241
name_det = details.split(", ")[0]
242-
matches = [
243-
i
244-
for i, p in enumerate(team.values())
245-
if p.base_species == to_id_str(name_det)
246-
or p.base_species in [to_id_str(det) for det in name_det.split("-")]
247-
]
242+
matches = [i for i, p in enumerate(team.values()) if p.identifies_as(name_det)]
248243
assert len(matches) < 2
249244
if identifier not in team and matches:
250245
i = matches[0]
@@ -374,9 +369,7 @@ def _end_illusion_on(
374369
return illusionist_mon
375370

376371
illusionist_mon.switch_in(details=details)
377-
illusionist_mon._status = (
378-
illusioned.status if illusioned.status is not None else None
379-
)
372+
illusionist_mon.status = illusioned.status
380373
illusionist_mon.set_hp(f"{illusioned.current_hp}/{illusioned.max_hp}")
381374

382375
illusioned.was_illusioned(self.fields)
@@ -740,7 +733,7 @@ def parse_message(self, split_message: List[str]):
740733
self.get_pokemon(target).start_effect(effect)
741734
elif event[1] == "-status":
742735
pokemon, status = event[2:4]
743-
self.get_pokemon(pokemon)._status = Status[status.upper()]
736+
self.get_pokemon(pokemon).status = status
744737
elif event[1] == "rule":
745738
self.rules.append(event[2])
746739

@@ -1002,7 +995,7 @@ def parse_message(self, split_message: List[str]):
1002995

1003996
if cause.startswith("[from] ability:"):
1004997
cause = cause.replace("[from] ability:", "")
1005-
self.get_pokemon(pokemon).ability = cause
998+
self.get_pokemon(pokemon).ability = to_id_str(cause)
1006999
elif event[1] == "-swapsideconditions":
10071000
self._side_conditions, self._opponent_side_conditions = (
10081001
self._opponent_side_conditions,

src/poke_env/battle/pokemon.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,11 @@ def forme_change(self, species: str):
277277
def heal(self, hp_status: str):
278278
self.set_hp_status(hp_status)
279279

280+
def identifies_as(self, ident: str) -> bool:
281+
return self.base_species in to_id_str(ident) or self.base_species in [
282+
to_id_str(substr) for substr in ident.split("-")
283+
]
284+
280285
def invert_boosts(self):
281286
self._boosts = {k: -v for k, v in self._boosts.items()}
282287

@@ -1093,6 +1098,10 @@ def status(self) -> Optional[Status]:
10931098
"""
10941099
return self._status
10951100

1101+
@status.setter
1102+
def status(self, status: Optional[Union[Status, str]]):
1103+
self._status = Status[status.upper()] if isinstance(status, str) else status
1104+
10961105
@property
10971106
def status_counter(self) -> int:
10981107
"""
@@ -1101,10 +1110,6 @@ def status_counter(self) -> int:
11011110
"""
11021111
return self._status_counter
11031112

1104-
@status.setter # type: ignore
1105-
def status(self, status: Optional[Union[Status, str]]):
1106-
self._status = Status[status.upper()] if isinstance(status, str) else status
1107-
11081113
@property
11091114
def stab_multiplier(self) -> float:
11101115
"""

src/poke_env/player/player.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -304,9 +304,7 @@ async def _handle_battle_message(self, split_messages: List[List[str]]):
304304
m
305305
for m in teambuilder_team
306306
if m.nickname is not None
307-
if preview_mon.base_species == to_id_str(m.nickname)
308-
or preview_mon.base_species
309-
in [to_id_str(substr) for substr in m.nickname.split("-")]
307+
and preview_mon.identifies_as(m.nickname)
310308
][0]
311309
mon = battle.get_pokemon(
312310
f"{role}: {teambuilder_mon.nickname}",

0 commit comments

Comments
 (0)