use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[cfg_attr(feature = "specta", derive(specta::Type))]
#[derive(Default)]
pub enum ActionType {
#[serde(rename = "movement")]
#[default]
Movement,
#[serde(rename = "fight")]
Fight,
#[serde(rename = "raid_fight")]
RaidFight,
#[serde(rename = "multi_fight")]
MultiFight,
#[serde(rename = "crafting")]
Crafting,
#[serde(rename = "gathering")]
Gathering,
#[serde(rename = "buy_ge")]
BuyGe,
#[serde(rename = "sell_ge")]
SellGe,
#[serde(rename = "create_buy_order_ge")]
CreateBuyOrderGe,
#[serde(rename = "fill_buy_order_ge")]
FillBuyOrderGe,
#[serde(rename = "buy_npc")]
BuyNpc,
#[serde(rename = "sell_npc")]
SellNpc,
#[serde(rename = "cancel_ge")]
CancelGe,
#[serde(rename = "delete_item")]
DeleteItem,
#[serde(rename = "deposit_item")]
DepositItem,
#[serde(rename = "withdraw_item")]
WithdrawItem,
#[serde(rename = "deposit_gold")]
DepositGold,
#[serde(rename = "withdraw_gold")]
WithdrawGold,
#[serde(rename = "equip")]
Equip,
#[serde(rename = "unequip")]
Unequip,
#[serde(rename = "task")]
Task,
#[serde(rename = "recycling")]
Recycling,
#[serde(rename = "rest")]
Rest,
#[serde(rename = "use")]
Use,
#[serde(rename = "buy_bank_expansion")]
BuyBankExpansion,
#[serde(rename = "give_item")]
GiveItem,
#[serde(rename = "give_gold")]
GiveGold,
#[serde(rename = "raid_deposit")]
RaidDeposit,
#[serde(rename = "change_skin")]
ChangeSkin,
#[serde(rename = "rename")]
Rename,
#[serde(rename = "transition")]
Transition,
#[serde(rename = "claim_item")]
ClaimItem,
#[serde(rename = "sandbox_give_gold")]
SandboxGiveGold,
#[serde(rename = "sandbox_give_item")]
SandboxGiveItem,
#[serde(rename = "sandbox_give_xp")]
SandboxGiveXp,
#[serde(rename = "sandbox_clear_cooldown")]
SandboxClearCooldown,
#[serde(rename = "sandbox_teleport")]
SandboxTeleport,
}
impl std::fmt::Display for ActionType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Movement => write!(f, "movement"),
Self::Fight => write!(f, "fight"),
Self::RaidFight => write!(f, "raid_fight"),
Self::MultiFight => write!(f, "multi_fight"),
Self::Crafting => write!(f, "crafting"),
Self::Gathering => write!(f, "gathering"),
Self::BuyGe => write!(f, "buy_ge"),
Self::SellGe => write!(f, "sell_ge"),
Self::CreateBuyOrderGe => write!(f, "create_buy_order_ge"),
Self::FillBuyOrderGe => write!(f, "fill_buy_order_ge"),
Self::BuyNpc => write!(f, "buy_npc"),
Self::SellNpc => write!(f, "sell_npc"),
Self::CancelGe => write!(f, "cancel_ge"),
Self::DeleteItem => write!(f, "delete_item"),
Self::DepositItem => write!(f, "deposit_item"),
Self::WithdrawItem => write!(f, "withdraw_item"),
Self::DepositGold => write!(f, "deposit_gold"),
Self::WithdrawGold => write!(f, "withdraw_gold"),
Self::Equip => write!(f, "equip"),
Self::Unequip => write!(f, "unequip"),
Self::Task => write!(f, "task"),
Self::Recycling => write!(f, "recycling"),
Self::Rest => write!(f, "rest"),
Self::Use => write!(f, "use"),
Self::BuyBankExpansion => write!(f, "buy_bank_expansion"),
Self::GiveItem => write!(f, "give_item"),
Self::GiveGold => write!(f, "give_gold"),
Self::RaidDeposit => write!(f, "raid_deposit"),
Self::ChangeSkin => write!(f, "change_skin"),
Self::Rename => write!(f, "rename"),
Self::Transition => write!(f, "transition"),
Self::ClaimItem => write!(f, "claim_item"),
Self::SandboxGiveGold => write!(f, "sandbox_give_gold"),
Self::SandboxGiveItem => write!(f, "sandbox_give_item"),
Self::SandboxGiveXp => write!(f, "sandbox_give_xp"),
Self::SandboxClearCooldown => write!(f, "sandbox_clear_cooldown"),
Self::SandboxTeleport => write!(f, "sandbox_teleport"),
}
}
}