1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6#[derive(Default)]
7pub enum ActionType {
8 #[serde(rename = "movement")]
9 #[default]
10 Movement,
11 #[serde(rename = "fight")]
12 Fight,
13 #[serde(rename = "multi_fight")]
14 MultiFight,
15 #[serde(rename = "crafting")]
16 Crafting,
17 #[serde(rename = "gathering")]
18 Gathering,
19 #[serde(rename = "buy_ge")]
20 BuyGe,
21 #[serde(rename = "sell_ge")]
22 SellGe,
23 #[serde(rename = "create_buy_order_ge")]
24 CreateBuyOrderGe,
25 #[serde(rename = "fill_buy_order_ge")]
26 FillBuyOrderGe,
27 #[serde(rename = "buy_npc")]
28 BuyNpc,
29 #[serde(rename = "sell_npc")]
30 SellNpc,
31 #[serde(rename = "cancel_ge")]
32 CancelGe,
33 #[serde(rename = "delete_item")]
34 DeleteItem,
35 #[serde(rename = "deposit_item")]
36 DepositItem,
37 #[serde(rename = "withdraw_item")]
38 WithdrawItem,
39 #[serde(rename = "deposit_gold")]
40 DepositGold,
41 #[serde(rename = "withdraw_gold")]
42 WithdrawGold,
43 #[serde(rename = "equip")]
44 Equip,
45 #[serde(rename = "unequip")]
46 Unequip,
47 #[serde(rename = "task")]
48 Task,
49 #[serde(rename = "recycling")]
50 Recycling,
51 #[serde(rename = "rest")]
52 Rest,
53 #[serde(rename = "use")]
54 Use,
55 #[serde(rename = "buy_bank_expansion")]
56 BuyBankExpansion,
57 #[serde(rename = "give_item")]
58 GiveItem,
59 #[serde(rename = "give_gold")]
60 GiveGold,
61 #[serde(rename = "change_skin")]
62 ChangeSkin,
63 #[serde(rename = "rename")]
64 Rename,
65 #[serde(rename = "transition")]
66 Transition,
67 #[serde(rename = "claim_item")]
68 ClaimItem,
69}
70
71impl std::fmt::Display for ActionType {
72 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
73 match self {
74 Self::Movement => write!(f, "movement"),
75 Self::Fight => write!(f, "fight"),
76 Self::MultiFight => write!(f, "multi_fight"),
77 Self::Crafting => write!(f, "crafting"),
78 Self::Gathering => write!(f, "gathering"),
79 Self::BuyGe => write!(f, "buy_ge"),
80 Self::SellGe => write!(f, "sell_ge"),
81 Self::CreateBuyOrderGe => write!(f, "create_buy_order_ge"),
82 Self::FillBuyOrderGe => write!(f, "fill_buy_order_ge"),
83 Self::BuyNpc => write!(f, "buy_npc"),
84 Self::SellNpc => write!(f, "sell_npc"),
85 Self::CancelGe => write!(f, "cancel_ge"),
86 Self::DeleteItem => write!(f, "delete_item"),
87 Self::DepositItem => write!(f, "deposit_item"),
88 Self::WithdrawItem => write!(f, "withdraw_item"),
89 Self::DepositGold => write!(f, "deposit_gold"),
90 Self::WithdrawGold => write!(f, "withdraw_gold"),
91 Self::Equip => write!(f, "equip"),
92 Self::Unequip => write!(f, "unequip"),
93 Self::Task => write!(f, "task"),
94 Self::Recycling => write!(f, "recycling"),
95 Self::Rest => write!(f, "rest"),
96 Self::Use => write!(f, "use"),
97 Self::BuyBankExpansion => write!(f, "buy_bank_expansion"),
98 Self::GiveItem => write!(f, "give_item"),
99 Self::GiveGold => write!(f, "give_gold"),
100 Self::ChangeSkin => write!(f, "change_skin"),
101 Self::Rename => write!(f, "rename"),
102 Self::Transition => write!(f, "transition"),
103 Self::ClaimItem => write!(f, "claim_item"),
104 }
105 }
106}