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 #[serde(rename = "sandbox_give_gold")]
70 SandboxGiveGold,
71 #[serde(rename = "sandbox_give_item")]
72 SandboxGiveItem,
73 #[serde(rename = "sandbox_give_xp")]
74 SandboxGiveXp,
75}
76
77impl std::fmt::Display for ActionType {
78 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
79 match self {
80 Self::Movement => write!(f, "movement"),
81 Self::Fight => write!(f, "fight"),
82 Self::MultiFight => write!(f, "multi_fight"),
83 Self::Crafting => write!(f, "crafting"),
84 Self::Gathering => write!(f, "gathering"),
85 Self::BuyGe => write!(f, "buy_ge"),
86 Self::SellGe => write!(f, "sell_ge"),
87 Self::CreateBuyOrderGe => write!(f, "create_buy_order_ge"),
88 Self::FillBuyOrderGe => write!(f, "fill_buy_order_ge"),
89 Self::BuyNpc => write!(f, "buy_npc"),
90 Self::SellNpc => write!(f, "sell_npc"),
91 Self::CancelGe => write!(f, "cancel_ge"),
92 Self::DeleteItem => write!(f, "delete_item"),
93 Self::DepositItem => write!(f, "deposit_item"),
94 Self::WithdrawItem => write!(f, "withdraw_item"),
95 Self::DepositGold => write!(f, "deposit_gold"),
96 Self::WithdrawGold => write!(f, "withdraw_gold"),
97 Self::Equip => write!(f, "equip"),
98 Self::Unequip => write!(f, "unequip"),
99 Self::Task => write!(f, "task"),
100 Self::Recycling => write!(f, "recycling"),
101 Self::Rest => write!(f, "rest"),
102 Self::Use => write!(f, "use"),
103 Self::BuyBankExpansion => write!(f, "buy_bank_expansion"),
104 Self::GiveItem => write!(f, "give_item"),
105 Self::GiveGold => write!(f, "give_gold"),
106 Self::ChangeSkin => write!(f, "change_skin"),
107 Self::Rename => write!(f, "rename"),
108 Self::Transition => write!(f, "transition"),
109 Self::ClaimItem => write!(f, "claim_item"),
110 Self::SandboxGiveGold => write!(f, "sandbox_give_gold"),
111 Self::SandboxGiveItem => write!(f, "sandbox_give_item"),
112 Self::SandboxGiveXp => write!(f, "sandbox_give_xp"),
113 }
114 }
115}