nil_payload/request/cheat/
city.rs1use bon::Builder;
5use nil_core::city::stability::Stability;
6use nil_core::continent::coord::Coord;
7use nil_core::ruler::Ruler;
8use nil_core::world::config::WorldId;
9use serde::{Deserialize, Serialize};
10use std::collections::HashSet;
11
12#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
13#[serde(rename_all = "camelCase")]
14#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
15#[cfg_attr(feature = "typescript", ts(export))]
16pub struct CheatFillWorldRequest {
17 #[builder(start_fn, into)]
18 pub world: WorldId,
19 #[serde(default)]
20 #[builder(into)]
21 pub ruler: Option<Ruler>,
22}
23
24#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
25#[serde(rename_all = "camelCase")]
26#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
27#[cfg_attr(feature = "typescript", ts(export))]
28pub struct CheatGetCitiesRequest {
29 #[builder(start_fn, into)]
30 pub world: WorldId,
31 #[serde(default)]
32 #[builder(default, with = FromIterator::from_iter)]
33 pub coords: HashSet<Coord>,
34 #[serde(default)]
35 #[builder(default)]
36 pub score: bool,
37 #[serde(default)]
38 #[builder(default)]
39 pub all: bool,
40}
41
42#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
43#[serde(rename_all = "camelCase")]
44#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
45#[cfg_attr(feature = "typescript", ts(export))]
46pub struct CheatGetCityRequest {
47 #[builder(start_fn, into)]
48 pub world: WorldId,
49 #[builder(into)]
50 pub coord: Coord,
51 #[serde(default)]
52 #[builder(default)]
53 pub score: bool,
54}
55
56#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
57#[serde(rename_all = "camelCase")]
58#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
59#[cfg_attr(feature = "typescript", ts(export))]
60pub struct CheatSetStabilityRequest {
61 #[builder(start_fn, into)]
62 pub world: WorldId,
63 #[builder(into)]
64 pub coord: Coord,
65 #[builder(into)]
66 pub stability: Stability,
67}
68
69#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
70#[serde(rename_all = "camelCase")]
71#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
72#[cfg_attr(feature = "typescript", ts(export))]
73pub struct CheatSpawnCityRequest {
74 #[builder(start_fn, into)]
75 pub world: WorldId,
76 #[serde(default)]
77 #[builder(into)]
78 pub ruler: Option<Ruler>,
79 #[builder(into)]
80 pub coord: Coord,
81}