Skip to main content

nil_payload/request/cheat/
infrastructure.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4use bon::Builder;
5use nil_core::continent::Coord;
6use nil_core::infrastructure::prelude::{BuildingId, BuildingLevel};
7use nil_core::ruler::Ruler;
8use nil_core::world::config::WorldId;
9use serde::{Deserialize, Serialize};
10
11#[cfg(feature = "typescript")]
12use ts_rs::TS;
13
14#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
15#[serde(rename_all = "camelCase")]
16#[cfg_attr(feature = "typescript", derive(TS))]
17#[cfg_attr(feature = "typescript", ts(export))]
18pub struct CheatGetAcademyRecruitQueueRequest {
19  pub world: WorldId,
20  #[builder(into)]
21  pub coord: Coord,
22}
23
24#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
25#[serde(rename_all = "camelCase")]
26#[cfg_attr(feature = "typescript", derive(TS))]
27#[cfg_attr(feature = "typescript", ts(export))]
28pub struct CheatGetAcademyRecruitQueuesRequest {
29  pub world: WorldId,
30  #[serde(default)]
31  #[builder(default, with = FromIterator::from_iter)]
32  pub coords: Vec<Coord>,
33  #[serde(default)]
34  #[builder(default)]
35  pub filter_empty: bool,
36}
37
38#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
39#[serde(rename_all = "camelCase")]
40#[cfg_attr(feature = "typescript", derive(TS))]
41#[cfg_attr(feature = "typescript", ts(export))]
42pub struct CheatGetAllAcademyRecruitQueuesRequest {
43  pub world: WorldId,
44  #[serde(default)]
45  #[builder(default)]
46  pub filter_empty: bool,
47}
48
49#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
50#[serde(rename_all = "camelCase")]
51#[cfg_attr(feature = "typescript", derive(TS))]
52#[cfg_attr(feature = "typescript", ts(export))]
53pub struct CheatGetAllPrefectureBuildQueuesRequest {
54  pub world: WorldId,
55  #[serde(default)]
56  #[builder(default)]
57  pub filter_empty: bool,
58}
59
60#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
61#[serde(rename_all = "camelCase")]
62#[cfg_attr(feature = "typescript", derive(TS))]
63#[cfg_attr(feature = "typescript", ts(export))]
64pub struct CheatGetAllStableRecruitQueuesRequest {
65  pub world: WorldId,
66  #[serde(default)]
67  #[builder(default)]
68  pub filter_empty: bool,
69}
70
71#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
72#[serde(rename_all = "camelCase")]
73#[cfg_attr(feature = "typescript", derive(TS))]
74#[cfg_attr(feature = "typescript", ts(export))]
75pub struct CheatGetInfrastructureRequest {
76  pub world: WorldId,
77  #[builder(into)]
78  pub coord: Coord,
79}
80
81#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
82#[serde(rename_all = "camelCase")]
83#[cfg_attr(feature = "typescript", derive(TS))]
84#[cfg_attr(feature = "typescript", ts(export))]
85pub struct CheatGetPrefectureBuildQueueRequest {
86  pub world: WorldId,
87  #[builder(into)]
88  pub coord: Coord,
89}
90
91#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
92#[serde(rename_all = "camelCase")]
93#[cfg_attr(feature = "typescript", derive(TS))]
94#[cfg_attr(feature = "typescript", ts(export))]
95pub struct CheatGetPrefectureBuildQueuesRequest {
96  pub world: WorldId,
97  #[serde(default)]
98  #[builder(default, with = FromIterator::from_iter)]
99  pub coords: Vec<Coord>,
100  #[serde(default)]
101  #[builder(default)]
102  pub filter_empty: bool,
103}
104
105#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
106#[serde(rename_all = "camelCase")]
107#[cfg_attr(feature = "typescript", derive(TS))]
108#[cfg_attr(feature = "typescript", ts(export))]
109pub struct CheatGetStableRecruitQueueRequest {
110  pub world: WorldId,
111  #[builder(into)]
112  pub coord: Coord,
113}
114
115#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
116#[serde(rename_all = "camelCase")]
117#[cfg_attr(feature = "typescript", derive(TS))]
118#[cfg_attr(feature = "typescript", ts(export))]
119pub struct CheatGetStableRecruitQueuesRequest {
120  pub world: WorldId,
121  #[serde(default)]
122  #[builder(default, with = FromIterator::from_iter)]
123  pub coords: Vec<Coord>,
124  #[serde(default)]
125  #[builder(default)]
126  pub filter_empty: bool,
127}
128
129#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
130#[serde(rename_all = "camelCase")]
131#[cfg_attr(feature = "typescript", derive(TS))]
132#[cfg_attr(feature = "typescript", ts(export, optional_fields = nullable))]
133pub struct CheatGetStorageCapacityRequest {
134  pub world: WorldId,
135  #[serde(default)]
136  #[builder(into)]
137  pub ruler: Option<Ruler>,
138}
139
140#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
141#[serde(rename_all = "camelCase")]
142#[cfg_attr(feature = "typescript", derive(TS))]
143#[cfg_attr(feature = "typescript", ts(export))]
144pub struct CheatSetBuildingLevelRequest {
145  pub world: WorldId,
146  #[builder(into)]
147  pub coord: Coord,
148  #[builder(into)]
149  pub id: BuildingId,
150  #[builder(into)]
151  pub level: BuildingLevel,
152}
153
154#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
155#[serde(rename_all = "camelCase")]
156#[cfg_attr(feature = "typescript", derive(TS))]
157#[cfg_attr(feature = "typescript", ts(export))]
158pub struct CheatSetMaxInfrastructureRequest {
159  pub world: WorldId,
160  #[builder(into)]
161  pub coord: Coord,
162}