Skip to main content

nil_payload/request/cheat/
resources.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4use bon::Builder;
5use nil_core::resources::{Food, Iron, Resources, Stone, Wood};
6use nil_core::ruler::Ruler;
7use nil_core::world::config::WorldId;
8use serde::{Deserialize, Serialize};
9
10#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
11#[serde(rename_all = "camelCase")]
12#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
13#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
14pub struct CheatGetResourcesRequest {
15  #[builder(start_fn, into)]
16  pub world: WorldId,
17  #[serde(default)]
18  #[builder(into)]
19  pub ruler: Option<Ruler>,
20}
21
22#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
23#[serde(rename_all = "camelCase")]
24#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
25#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
26pub struct CheatSetFoodRequest {
27  #[builder(start_fn, into)]
28  pub world: WorldId,
29  #[serde(default)]
30  #[builder(into)]
31  pub ruler: Option<Ruler>,
32  #[serde(default)]
33  #[builder(default, into)]
34  pub food: Food,
35}
36
37#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
38#[serde(rename_all = "camelCase")]
39#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
40#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
41pub struct CheatSetIronRequest {
42  #[builder(start_fn, into)]
43  pub world: WorldId,
44  #[serde(default)]
45  #[builder(into)]
46  pub ruler: Option<Ruler>,
47  #[serde(default)]
48  #[builder(default, into)]
49  pub iron: Iron,
50}
51
52#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
53#[serde(rename_all = "camelCase")]
54#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
55#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
56pub struct CheatSetMaxFoodRequest {
57  pub world: WorldId,
58  #[serde(default)]
59  #[builder(into)]
60  pub ruler: Option<Ruler>,
61}
62
63#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
64#[serde(rename_all = "camelCase")]
65#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
66#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
67pub struct CheatSetMaxIronRequest {
68  #[builder(start_fn, into)]
69  pub world: WorldId,
70  #[serde(default)]
71  #[builder(into)]
72  pub ruler: Option<Ruler>,
73}
74
75#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
76#[serde(rename_all = "camelCase")]
77#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
78#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
79pub struct CheatSetMaxResourcesRequest {
80  #[builder(start_fn, into)]
81  pub world: WorldId,
82  #[serde(default)]
83  #[builder(into)]
84  pub ruler: Option<Ruler>,
85}
86
87#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
88#[serde(rename_all = "camelCase")]
89#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
90#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
91pub struct CheatSetMaxSiloResourcesRequest {
92  #[builder(start_fn, into)]
93  pub world: WorldId,
94  #[serde(default)]
95  #[builder(into)]
96  pub ruler: Option<Ruler>,
97}
98
99#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
100#[serde(rename_all = "camelCase")]
101#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
102#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
103pub struct CheatSetMaxStoneRequest {
104  #[builder(start_fn, into)]
105  pub world: WorldId,
106  #[serde(default)]
107  #[builder(into)]
108  pub ruler: Option<Ruler>,
109}
110
111#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
112#[serde(rename_all = "camelCase")]
113#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
114#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
115pub struct CheatSetMaxWarehouseResourcesRequest {
116  #[builder(start_fn, into)]
117  pub world: WorldId,
118  #[serde(default)]
119  #[builder(into)]
120  pub ruler: Option<Ruler>,
121}
122
123#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
124#[serde(rename_all = "camelCase")]
125#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
126#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
127pub struct CheatSetMaxWoodRequest {
128  #[builder(start_fn, into)]
129  pub world: WorldId,
130  #[serde(default)]
131  #[builder(into)]
132  pub ruler: Option<Ruler>,
133}
134
135#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
136#[serde(rename_all = "camelCase")]
137#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
138#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
139pub struct CheatSetResourcesRequest {
140  #[builder(start_fn, into)]
141  pub world: WorldId,
142  #[serde(default)]
143  #[builder(into)]
144  pub ruler: Option<Ruler>,
145  #[serde(default)]
146  #[builder(default)]
147  pub resources: Resources,
148}
149
150#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
151#[serde(rename_all = "camelCase")]
152#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
153#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
154pub struct CheatSetStoneRequest {
155  #[builder(start_fn, into)]
156  pub world: WorldId,
157  #[serde(default)]
158  #[builder(into)]
159  pub ruler: Option<Ruler>,
160  #[serde(default)]
161  #[builder(default, into)]
162  pub stone: Stone,
163}
164
165#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
166#[serde(rename_all = "camelCase")]
167#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
168#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
169pub struct CheatSetWoodRequest {
170  #[builder(start_fn, into)]
171  pub world: WorldId,
172  #[serde(default)]
173  #[builder(into)]
174  pub ruler: Option<Ruler>,
175  #[serde(default)]
176  #[builder(default, into)]
177  pub wood: Wood,
178}