firecore_battle/default_engine/item/
execution.rs1use firecore_pokedex::item::usage::ItemExecution;
2use serde::{Deserialize, Serialize};
3
4use pokedex::{ailment::Ailment, pokemon::Health};
5
6#[derive(Debug, Clone, Deserialize, Serialize)]
7#[serde(deny_unknown_fields)]
8pub enum BattleItemExecution {
9 Normal(ItemExecution),
10 Script,
11 Pokeball,
12}
13
14#[derive(Debug, Clone, Deserialize, Serialize)]
15#[serde(deny_unknown_fields)]
16pub enum ItemCondition {
17 Fainted,
18}
19
20#[derive(Debug, Clone, Deserialize, Serialize)]
21#[serde(deny_unknown_fields)]
22pub enum ItemAction {
23 CurePokemon(Option<Ailment>),
24 HealPokemon(Health),
25}
26
27impl Default for BattleItemExecution {
28 fn default() -> Self {
29 Self::Normal(ItemExecution::None)
30 }
31}