Source code for tuxemon.event.actions.get_party_monsters

# SPDX-License-Identifier: GPL-3.0
# Copyright (c) 2014-2023 William Edwards <shadowapex@gmail.com>, Benjamin Bean <superman2k5@gmail.com>
from __future__ import annotations

from dataclasses import dataclass
from typing import Union, final

from tuxemon.event import get_npc
from tuxemon.event.eventaction import EventAction


[docs]@final @dataclass class GetPartyMonsterAction(EventAction): """ Saves all the iids (party) in variables. Script usage: .. code-block:: get_party_monster [npc_slug] Script parameters: npc_slug: npc slug name (e.g. "npc_maple") - default "player" """ name = "get_party_monster" npc_slug: Union[str, None] = None
[docs] def start(self) -> None: player = self.session.player if self.npc_slug is None: trainer_slug = "player" else: trainer_slug = self.npc_slug trainer = get_npc(self.session, trainer_slug) assert trainer for mon in trainer.monsters: index = trainer.monsters.index(mon) player.game_variables[f"iid_slot_{index}"] = str( mon.instance_id.hex )