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