1#[derive(serde::Serialize)]
3#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4pub struct Coord {
5 #[prost(int32, optional, tag = "1")]
6 pub x: ::core::option::Option<i32>,
7 #[prost(int32, optional, tag = "2")]
8 pub y: ::core::option::Option<i32>,
9 #[prost(int32, optional, tag = "3")]
10 pub z: ::core::option::Option<i32>,
11}
12impl ::prost::Name for Coord {
13 const NAME: &'static str = "Coord";
14 const PACKAGE: &'static str = "RemoteFortressReader";
15 fn full_name() -> ::prost::alloc::string::String {
16 "RemoteFortressReader.Coord".into()
17 }
18 fn type_url() -> ::prost::alloc::string::String {
19 "/RemoteFortressReader.Coord".into()
20 }
21}
22#[derive(serde::Serialize)]
23#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
24pub struct Tiletype {
25 #[prost(int32, required, tag = "1")]
26 pub id: i32,
27 #[prost(string, optional, tag = "2")]
28 pub name: ::core::option::Option<::prost::alloc::string::String>,
29 #[prost(string, optional, tag = "3")]
30 pub caption: ::core::option::Option<::prost::alloc::string::String>,
31 #[prost(enumeration = "TiletypeShape", optional, tag = "4")]
32 pub shape: ::core::option::Option<i32>,
33 #[prost(enumeration = "TiletypeSpecial", optional, tag = "5")]
34 pub special: ::core::option::Option<i32>,
35 #[prost(enumeration = "TiletypeMaterial", optional, tag = "6")]
36 pub material: ::core::option::Option<i32>,
37 #[prost(enumeration = "TiletypeVariant", optional, tag = "7")]
38 pub variant: ::core::option::Option<i32>,
39 #[prost(string, optional, tag = "8")]
40 pub direction: ::core::option::Option<::prost::alloc::string::String>,
41}
42impl ::prost::Name for Tiletype {
43 const NAME: &'static str = "Tiletype";
44 const PACKAGE: &'static str = "RemoteFortressReader";
45 fn full_name() -> ::prost::alloc::string::String {
46 "RemoteFortressReader.Tiletype".into()
47 }
48 fn type_url() -> ::prost::alloc::string::String {
49 "/RemoteFortressReader.Tiletype".into()
50 }
51}
52#[derive(serde::Serialize)]
53#[derive(Clone, PartialEq, ::prost::Message)]
54pub struct TiletypeList {
55 #[prost(message, repeated, tag = "1")]
56 pub tiletype_list: ::prost::alloc::vec::Vec<Tiletype>,
57}
58impl ::prost::Name for TiletypeList {
59 const NAME: &'static str = "TiletypeList";
60 const PACKAGE: &'static str = "RemoteFortressReader";
61 fn full_name() -> ::prost::alloc::string::String {
62 "RemoteFortressReader.TiletypeList".into()
63 }
64 fn type_url() -> ::prost::alloc::string::String {
65 "/RemoteFortressReader.TiletypeList".into()
66 }
67}
68#[derive(serde::Serialize)]
69#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
70pub struct BuildingExtents {
71 #[prost(int32, required, tag = "1")]
72 pub pos_x: i32,
73 #[prost(int32, required, tag = "2")]
74 pub pos_y: i32,
75 #[prost(int32, required, tag = "3")]
76 pub width: i32,
77 #[prost(int32, required, tag = "4")]
78 pub height: i32,
79 #[prost(int32, repeated, packed = "false", tag = "5")]
80 pub extents: ::prost::alloc::vec::Vec<i32>,
81}
82impl ::prost::Name for BuildingExtents {
83 const NAME: &'static str = "BuildingExtents";
84 const PACKAGE: &'static str = "RemoteFortressReader";
85 fn full_name() -> ::prost::alloc::string::String {
86 "RemoteFortressReader.BuildingExtents".into()
87 }
88 fn type_url() -> ::prost::alloc::string::String {
89 "/RemoteFortressReader.BuildingExtents".into()
90 }
91}
92#[derive(serde::Serialize)]
93#[derive(Clone, PartialEq, ::prost::Message)]
94pub struct BuildingItem {
95 #[prost(message, optional, tag = "1")]
96 pub item: ::core::option::Option<Item>,
97 #[prost(int32, optional, tag = "2")]
98 pub mode: ::core::option::Option<i32>,
99}
100impl ::prost::Name for BuildingItem {
101 const NAME: &'static str = "BuildingItem";
102 const PACKAGE: &'static str = "RemoteFortressReader";
103 fn full_name() -> ::prost::alloc::string::String {
104 "RemoteFortressReader.BuildingItem".into()
105 }
106 fn type_url() -> ::prost::alloc::string::String {
107 "/RemoteFortressReader.BuildingItem".into()
108 }
109}
110#[derive(serde::Serialize)]
111#[derive(Clone, PartialEq, ::prost::Message)]
112pub struct BuildingInstance {
113 #[prost(int32, required, tag = "1")]
114 pub index: i32,
115 #[prost(int32, optional, tag = "2")]
116 pub pos_x_min: ::core::option::Option<i32>,
117 #[prost(int32, optional, tag = "3")]
118 pub pos_y_min: ::core::option::Option<i32>,
119 #[prost(int32, optional, tag = "4")]
120 pub pos_z_min: ::core::option::Option<i32>,
121 #[prost(int32, optional, tag = "5")]
122 pub pos_x_max: ::core::option::Option<i32>,
123 #[prost(int32, optional, tag = "6")]
124 pub pos_y_max: ::core::option::Option<i32>,
125 #[prost(int32, optional, tag = "7")]
126 pub pos_z_max: ::core::option::Option<i32>,
127 #[prost(message, optional, tag = "8")]
128 pub building_type: ::core::option::Option<BuildingType>,
129 #[prost(message, optional, tag = "9")]
130 pub material: ::core::option::Option<MatPair>,
131 #[prost(uint32, optional, tag = "10")]
132 pub building_flags: ::core::option::Option<u32>,
133 #[prost(bool, optional, tag = "11")]
134 pub is_room: ::core::option::Option<bool>,
135 #[prost(message, optional, tag = "12")]
136 pub room: ::core::option::Option<BuildingExtents>,
137 #[prost(enumeration = "BuildingDirection", optional, tag = "13")]
139 pub direction: ::core::option::Option<i32>,
140 #[prost(message, repeated, tag = "14")]
141 pub items: ::prost::alloc::vec::Vec<BuildingItem>,
142 #[prost(int32, optional, tag = "15")]
143 pub active: ::core::option::Option<i32>,
144}
145impl ::prost::Name for BuildingInstance {
146 const NAME: &'static str = "BuildingInstance";
147 const PACKAGE: &'static str = "RemoteFortressReader";
148 fn full_name() -> ::prost::alloc::string::String {
149 "RemoteFortressReader.BuildingInstance".into()
150 }
151 fn type_url() -> ::prost::alloc::string::String {
152 "/RemoteFortressReader.BuildingInstance".into()
153 }
154}
155#[derive(serde::Serialize)]
156#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
157pub struct RiverEdge {
158 #[prost(int32, optional, tag = "1")]
159 pub min_pos: ::core::option::Option<i32>,
160 #[prost(int32, optional, tag = "2")]
161 pub max_pos: ::core::option::Option<i32>,
162 #[prost(int32, optional, tag = "3")]
163 pub active: ::core::option::Option<i32>,
164 #[prost(int32, optional, tag = "4")]
165 pub elevation: ::core::option::Option<i32>,
166}
167impl ::prost::Name for RiverEdge {
168 const NAME: &'static str = "RiverEdge";
169 const PACKAGE: &'static str = "RemoteFortressReader";
170 fn full_name() -> ::prost::alloc::string::String {
171 "RemoteFortressReader.RiverEdge".into()
172 }
173 fn type_url() -> ::prost::alloc::string::String {
174 "/RemoteFortressReader.RiverEdge".into()
175 }
176}
177#[derive(serde::Serialize)]
178#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
179pub struct RiverTile {
180 #[prost(message, optional, tag = "1")]
181 pub north: ::core::option::Option<RiverEdge>,
182 #[prost(message, optional, tag = "2")]
183 pub south: ::core::option::Option<RiverEdge>,
184 #[prost(message, optional, tag = "3")]
185 pub east: ::core::option::Option<RiverEdge>,
186 #[prost(message, optional, tag = "4")]
187 pub west: ::core::option::Option<RiverEdge>,
188}
189impl ::prost::Name for RiverTile {
190 const NAME: &'static str = "RiverTile";
191 const PACKAGE: &'static str = "RemoteFortressReader";
192 fn full_name() -> ::prost::alloc::string::String {
193 "RemoteFortressReader.RiverTile".into()
194 }
195 fn type_url() -> ::prost::alloc::string::String {
196 "/RemoteFortressReader.RiverTile".into()
197 }
198}
199#[derive(serde::Serialize)]
200#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
201pub struct Spatter {
202 #[prost(message, optional, tag = "1")]
203 pub material: ::core::option::Option<MatPair>,
204 #[prost(int32, optional, tag = "2")]
205 pub amount: ::core::option::Option<i32>,
206 #[prost(enumeration = "MatterState", optional, tag = "3")]
207 pub state: ::core::option::Option<i32>,
208 #[prost(message, optional, tag = "4")]
209 pub item: ::core::option::Option<MatPair>,
210}
211impl ::prost::Name for Spatter {
212 const NAME: &'static str = "Spatter";
213 const PACKAGE: &'static str = "RemoteFortressReader";
214 fn full_name() -> ::prost::alloc::string::String {
215 "RemoteFortressReader.Spatter".into()
216 }
217 fn type_url() -> ::prost::alloc::string::String {
218 "/RemoteFortressReader.Spatter".into()
219 }
220}
221#[derive(serde::Serialize)]
222#[derive(Clone, PartialEq, ::prost::Message)]
223pub struct SpatterPile {
224 #[prost(message, repeated, tag = "1")]
225 pub spatters: ::prost::alloc::vec::Vec<Spatter>,
226}
227impl ::prost::Name for SpatterPile {
228 const NAME: &'static str = "SpatterPile";
229 const PACKAGE: &'static str = "RemoteFortressReader";
230 fn full_name() -> ::prost::alloc::string::String {
231 "RemoteFortressReader.SpatterPile".into()
232 }
233 fn type_url() -> ::prost::alloc::string::String {
234 "/RemoteFortressReader.SpatterPile".into()
235 }
236}
237#[derive(serde::Serialize)]
238#[derive(Clone, PartialEq, ::prost::Message)]
239pub struct Item {
240 #[prost(int32, optional, tag = "1")]
241 pub id: ::core::option::Option<i32>,
242 #[prost(message, optional, tag = "2")]
243 pub pos: ::core::option::Option<Coord>,
244 #[prost(uint32, optional, tag = "3")]
245 pub flags1: ::core::option::Option<u32>,
246 #[prost(uint32, optional, tag = "4")]
247 pub flags2: ::core::option::Option<u32>,
248 #[prost(message, optional, tag = "5")]
249 pub r#type: ::core::option::Option<MatPair>,
250 #[prost(message, optional, tag = "6")]
251 pub material: ::core::option::Option<MatPair>,
252 #[prost(message, optional, tag = "7")]
253 pub dye: ::core::option::Option<ColorDefinition>,
254 #[prost(int32, optional, tag = "8")]
255 pub stack_size: ::core::option::Option<i32>,
256 #[prost(float, optional, tag = "9")]
257 pub subpos_x: ::core::option::Option<f32>,
258 #[prost(float, optional, tag = "10")]
259 pub subpos_y: ::core::option::Option<f32>,
260 #[prost(float, optional, tag = "11")]
261 pub subpos_z: ::core::option::Option<f32>,
262 #[prost(bool, optional, tag = "12")]
263 pub projectile: ::core::option::Option<bool>,
264 #[prost(float, optional, tag = "13")]
265 pub velocity_x: ::core::option::Option<f32>,
266 #[prost(float, optional, tag = "14")]
267 pub velocity_y: ::core::option::Option<f32>,
268 #[prost(float, optional, tag = "15")]
269 pub velocity_z: ::core::option::Option<f32>,
270 #[prost(int32, optional, tag = "16")]
271 pub volume: ::core::option::Option<i32>,
272 #[prost(message, repeated, tag = "17")]
273 pub improvements: ::prost::alloc::vec::Vec<ItemImprovement>,
274 #[prost(message, optional, tag = "18")]
275 pub image: ::core::option::Option<ArtImage>,
276}
277impl ::prost::Name for Item {
278 const NAME: &'static str = "Item";
279 const PACKAGE: &'static str = "RemoteFortressReader";
280 fn full_name() -> ::prost::alloc::string::String {
281 "RemoteFortressReader.Item".into()
282 }
283 fn type_url() -> ::prost::alloc::string::String {
284 "/RemoteFortressReader.Item".into()
285 }
286}
287#[derive(serde::Serialize)]
288#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
289pub struct PlantTile {
290 #[prost(bool, optional, tag = "1")]
291 pub trunk: ::core::option::Option<bool>,
292 #[prost(bool, optional, tag = "2")]
293 pub connection_east: ::core::option::Option<bool>,
294 #[prost(bool, optional, tag = "3")]
295 pub connection_south: ::core::option::Option<bool>,
296 #[prost(bool, optional, tag = "4")]
297 pub connection_west: ::core::option::Option<bool>,
298 #[prost(bool, optional, tag = "5")]
299 pub connection_north: ::core::option::Option<bool>,
300 #[prost(bool, optional, tag = "6")]
301 pub branches: ::core::option::Option<bool>,
302 #[prost(bool, optional, tag = "7")]
303 pub twigs: ::core::option::Option<bool>,
304 #[prost(enumeration = "TiletypeSpecial", optional, tag = "8")]
305 pub tile_type: ::core::option::Option<i32>,
306}
307impl ::prost::Name for PlantTile {
308 const NAME: &'static str = "PlantTile";
309 const PACKAGE: &'static str = "RemoteFortressReader";
310 fn full_name() -> ::prost::alloc::string::String {
311 "RemoteFortressReader.PlantTile".into()
312 }
313 fn type_url() -> ::prost::alloc::string::String {
314 "/RemoteFortressReader.PlantTile".into()
315 }
316}
317#[derive(serde::Serialize)]
318#[derive(Clone, PartialEq, ::prost::Message)]
319pub struct TreeInfo {
320 #[prost(message, optional, tag = "1")]
321 pub size: ::core::option::Option<Coord>,
322 #[prost(message, repeated, tag = "2")]
323 pub tiles: ::prost::alloc::vec::Vec<PlantTile>,
324}
325impl ::prost::Name for TreeInfo {
326 const NAME: &'static str = "TreeInfo";
327 const PACKAGE: &'static str = "RemoteFortressReader";
328 fn full_name() -> ::prost::alloc::string::String {
329 "RemoteFortressReader.TreeInfo".into()
330 }
331 fn type_url() -> ::prost::alloc::string::String {
332 "/RemoteFortressReader.TreeInfo".into()
333 }
334}
335#[derive(serde::Serialize)]
336#[derive(Clone, PartialEq, ::prost::Message)]
337pub struct PlantInstance {
338 #[prost(int32, optional, tag = "1")]
339 pub plant_type: ::core::option::Option<i32>,
340 #[prost(message, optional, tag = "2")]
341 pub pos: ::core::option::Option<Coord>,
342 #[prost(message, optional, tag = "3")]
343 pub tree_info: ::core::option::Option<TreeInfo>,
344}
345impl ::prost::Name for PlantInstance {
346 const NAME: &'static str = "PlantInstance";
347 const PACKAGE: &'static str = "RemoteFortressReader";
348 fn full_name() -> ::prost::alloc::string::String {
349 "RemoteFortressReader.PlantInstance".into()
350 }
351 fn type_url() -> ::prost::alloc::string::String {
352 "/RemoteFortressReader.PlantInstance".into()
353 }
354}
355#[derive(serde::Serialize)]
356#[derive(Clone, PartialEq, ::prost::Message)]
357pub struct MapBlock {
358 #[prost(int32, required, tag = "1")]
359 pub map_x: i32,
360 #[prost(int32, required, tag = "2")]
361 pub map_y: i32,
362 #[prost(int32, required, tag = "3")]
363 pub map_z: i32,
364 #[prost(int32, repeated, packed = "false", tag = "4")]
365 pub tiles: ::prost::alloc::vec::Vec<i32>,
366 #[prost(message, repeated, tag = "5")]
367 pub materials: ::prost::alloc::vec::Vec<MatPair>,
368 #[prost(message, repeated, tag = "6")]
369 pub layer_materials: ::prost::alloc::vec::Vec<MatPair>,
370 #[prost(message, repeated, tag = "7")]
371 pub vein_materials: ::prost::alloc::vec::Vec<MatPair>,
372 #[prost(message, repeated, tag = "8")]
373 pub base_materials: ::prost::alloc::vec::Vec<MatPair>,
374 #[prost(int32, repeated, packed = "false", tag = "9")]
375 pub magma: ::prost::alloc::vec::Vec<i32>,
376 #[prost(int32, repeated, packed = "false", tag = "10")]
377 pub water: ::prost::alloc::vec::Vec<i32>,
378 #[prost(bool, repeated, packed = "false", tag = "11")]
379 pub hidden: ::prost::alloc::vec::Vec<bool>,
380 #[prost(bool, repeated, packed = "false", tag = "12")]
381 pub light: ::prost::alloc::vec::Vec<bool>,
382 #[prost(bool, repeated, packed = "false", tag = "13")]
383 pub subterranean: ::prost::alloc::vec::Vec<bool>,
384 #[prost(bool, repeated, packed = "false", tag = "14")]
385 pub outside: ::prost::alloc::vec::Vec<bool>,
386 #[prost(bool, repeated, packed = "false", tag = "15")]
387 pub aquifer: ::prost::alloc::vec::Vec<bool>,
388 #[prost(bool, repeated, packed = "false", tag = "16")]
389 pub water_stagnant: ::prost::alloc::vec::Vec<bool>,
390 #[prost(bool, repeated, packed = "false", tag = "17")]
391 pub water_salt: ::prost::alloc::vec::Vec<bool>,
392 #[prost(message, repeated, tag = "18")]
393 pub construction_items: ::prost::alloc::vec::Vec<MatPair>,
394 #[prost(message, repeated, tag = "19")]
395 pub buildings: ::prost::alloc::vec::Vec<BuildingInstance>,
396 #[prost(int32, repeated, packed = "false", tag = "20")]
397 pub tree_percent: ::prost::alloc::vec::Vec<i32>,
398 #[prost(int32, repeated, packed = "false", tag = "21")]
399 pub tree_x: ::prost::alloc::vec::Vec<i32>,
400 #[prost(int32, repeated, packed = "false", tag = "22")]
401 pub tree_y: ::prost::alloc::vec::Vec<i32>,
402 #[prost(int32, repeated, packed = "false", tag = "23")]
403 pub tree_z: ::prost::alloc::vec::Vec<i32>,
404 #[prost(enumeration = "TileDigDesignation", repeated, packed = "false", tag = "24")]
405 pub tile_dig_designation: ::prost::alloc::vec::Vec<i32>,
406 #[prost(message, repeated, tag = "25")]
407 pub spatter_pile: ::prost::alloc::vec::Vec<SpatterPile>,
408 #[prost(message, repeated, tag = "26")]
409 pub items: ::prost::alloc::vec::Vec<Item>,
410 #[prost(bool, repeated, packed = "false", tag = "27")]
411 pub tile_dig_designation_marker: ::prost::alloc::vec::Vec<bool>,
412 #[prost(bool, repeated, packed = "false", tag = "28")]
413 pub tile_dig_designation_auto: ::prost::alloc::vec::Vec<bool>,
414 #[prost(int32, repeated, packed = "false", tag = "29")]
415 pub grass_percent: ::prost::alloc::vec::Vec<i32>,
416 #[prost(message, repeated, tag = "30")]
417 pub flows: ::prost::alloc::vec::Vec<FlowInfo>,
418}
419impl ::prost::Name for MapBlock {
420 const NAME: &'static str = "MapBlock";
421 const PACKAGE: &'static str = "RemoteFortressReader";
422 fn full_name() -> ::prost::alloc::string::String {
423 "RemoteFortressReader.MapBlock".into()
424 }
425 fn type_url() -> ::prost::alloc::string::String {
426 "/RemoteFortressReader.MapBlock".into()
427 }
428}
429#[derive(serde::Serialize)]
430#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
431pub struct MatPair {
432 #[prost(int32, required, tag = "1")]
433 pub mat_type: i32,
434 #[prost(int32, required, tag = "2")]
435 pub mat_index: i32,
436}
437impl ::prost::Name for MatPair {
438 const NAME: &'static str = "MatPair";
439 const PACKAGE: &'static str = "RemoteFortressReader";
440 fn full_name() -> ::prost::alloc::string::String {
441 "RemoteFortressReader.MatPair".into()
442 }
443 fn type_url() -> ::prost::alloc::string::String {
444 "/RemoteFortressReader.MatPair".into()
445 }
446}
447#[derive(serde::Serialize)]
448#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
449pub struct ColorDefinition {
450 #[prost(int32, required, tag = "1")]
451 pub red: i32,
452 #[prost(int32, required, tag = "2")]
453 pub green: i32,
454 #[prost(int32, required, tag = "3")]
455 pub blue: i32,
456}
457impl ::prost::Name for ColorDefinition {
458 const NAME: &'static str = "ColorDefinition";
459 const PACKAGE: &'static str = "RemoteFortressReader";
460 fn full_name() -> ::prost::alloc::string::String {
461 "RemoteFortressReader.ColorDefinition".into()
462 }
463 fn type_url() -> ::prost::alloc::string::String {
464 "/RemoteFortressReader.ColorDefinition".into()
465 }
466}
467#[derive(serde::Serialize)]
468#[derive(Clone, PartialEq, ::prost::Message)]
469pub struct MaterialDefinition {
470 #[prost(message, required, tag = "1")]
471 pub mat_pair: MatPair,
472 #[prost(string, optional, tag = "2")]
473 pub id: ::core::option::Option<::prost::alloc::string::String>,
474 #[prost(bytes = "vec", optional, tag = "3")]
475 pub name: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
476 #[prost(message, optional, tag = "4")]
478 pub state_color: ::core::option::Option<ColorDefinition>,
479 #[prost(message, optional, tag = "5")]
480 pub instrument: ::core::option::Option<super::itemdef_instrument::InstrumentDef>,
481 #[prost(int32, optional, tag = "6")]
482 pub up_step: ::core::option::Option<i32>,
483 #[prost(int32, optional, tag = "7")]
484 pub down_step: ::core::option::Option<i32>,
485 #[prost(enumeration = "ArmorLayer", optional, tag = "8")]
486 pub layer: ::core::option::Option<i32>,
487}
488impl ::prost::Name for MaterialDefinition {
489 const NAME: &'static str = "MaterialDefinition";
490 const PACKAGE: &'static str = "RemoteFortressReader";
491 fn full_name() -> ::prost::alloc::string::String {
492 "RemoteFortressReader.MaterialDefinition".into()
493 }
494 fn type_url() -> ::prost::alloc::string::String {
495 "/RemoteFortressReader.MaterialDefinition".into()
496 }
497}
498#[derive(serde::Serialize)]
499#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
500pub struct BuildingType {
501 #[prost(int32, required, tag = "1")]
502 pub building_type: i32,
503 #[prost(int32, required, tag = "2")]
504 pub building_subtype: i32,
505 #[prost(int32, required, tag = "3")]
506 pub building_custom: i32,
507}
508impl ::prost::Name for BuildingType {
509 const NAME: &'static str = "BuildingType";
510 const PACKAGE: &'static str = "RemoteFortressReader";
511 fn full_name() -> ::prost::alloc::string::String {
512 "RemoteFortressReader.BuildingType".into()
513 }
514 fn type_url() -> ::prost::alloc::string::String {
515 "/RemoteFortressReader.BuildingType".into()
516 }
517}
518#[derive(serde::Serialize)]
519#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
520pub struct BuildingDefinition {
521 #[prost(message, required, tag = "1")]
522 pub building_type: BuildingType,
523 #[prost(string, optional, tag = "2")]
524 pub id: ::core::option::Option<::prost::alloc::string::String>,
525 #[prost(string, optional, tag = "3")]
526 pub name: ::core::option::Option<::prost::alloc::string::String>,
527}
528impl ::prost::Name for BuildingDefinition {
529 const NAME: &'static str = "BuildingDefinition";
530 const PACKAGE: &'static str = "RemoteFortressReader";
531 fn full_name() -> ::prost::alloc::string::String {
532 "RemoteFortressReader.BuildingDefinition".into()
533 }
534 fn type_url() -> ::prost::alloc::string::String {
535 "/RemoteFortressReader.BuildingDefinition".into()
536 }
537}
538#[derive(serde::Serialize)]
539#[derive(Clone, PartialEq, ::prost::Message)]
540pub struct BuildingList {
541 #[prost(message, repeated, tag = "1")]
542 pub building_list: ::prost::alloc::vec::Vec<BuildingDefinition>,
543}
544impl ::prost::Name for BuildingList {
545 const NAME: &'static str = "BuildingList";
546 const PACKAGE: &'static str = "RemoteFortressReader";
547 fn full_name() -> ::prost::alloc::string::String {
548 "RemoteFortressReader.BuildingList".into()
549 }
550 fn type_url() -> ::prost::alloc::string::String {
551 "/RemoteFortressReader.BuildingList".into()
552 }
553}
554#[derive(serde::Serialize)]
555#[derive(Clone, PartialEq, ::prost::Message)]
556pub struct MaterialList {
557 #[prost(message, repeated, tag = "1")]
558 pub material_list: ::prost::alloc::vec::Vec<MaterialDefinition>,
559}
560impl ::prost::Name for MaterialList {
561 const NAME: &'static str = "MaterialList";
562 const PACKAGE: &'static str = "RemoteFortressReader";
563 fn full_name() -> ::prost::alloc::string::String {
564 "RemoteFortressReader.MaterialList".into()
565 }
566 fn type_url() -> ::prost::alloc::string::String {
567 "/RemoteFortressReader.MaterialList".into()
568 }
569}
570#[derive(serde::Serialize)]
571#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
572pub struct Hair {
573 #[prost(int32, optional, tag = "1")]
574 pub length: ::core::option::Option<i32>,
575 #[prost(enumeration = "HairStyle", optional, tag = "2")]
576 pub style: ::core::option::Option<i32>,
577}
578impl ::prost::Name for Hair {
579 const NAME: &'static str = "Hair";
580 const PACKAGE: &'static str = "RemoteFortressReader";
581 fn full_name() -> ::prost::alloc::string::String {
582 "RemoteFortressReader.Hair".into()
583 }
584 fn type_url() -> ::prost::alloc::string::String {
585 "/RemoteFortressReader.Hair".into()
586 }
587}
588#[derive(serde::Serialize)]
589#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
590pub struct BodySizeInfo {
591 #[prost(int32, optional, tag = "1")]
592 pub size_cur: ::core::option::Option<i32>,
593 #[prost(int32, optional, tag = "2")]
594 pub size_base: ::core::option::Option<i32>,
595 #[prost(int32, optional, tag = "3")]
597 pub area_cur: ::core::option::Option<i32>,
598 #[prost(int32, optional, tag = "4")]
600 pub area_base: ::core::option::Option<i32>,
601 #[prost(int32, optional, tag = "5")]
603 pub length_cur: ::core::option::Option<i32>,
604 #[prost(int32, optional, tag = "6")]
606 pub length_base: ::core::option::Option<i32>,
607}
608impl ::prost::Name for BodySizeInfo {
609 const NAME: &'static str = "BodySizeInfo";
610 const PACKAGE: &'static str = "RemoteFortressReader";
611 fn full_name() -> ::prost::alloc::string::String {
612 "RemoteFortressReader.BodySizeInfo".into()
613 }
614 fn type_url() -> ::prost::alloc::string::String {
615 "/RemoteFortressReader.BodySizeInfo".into()
616 }
617}
618#[derive(serde::Serialize)]
619#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
620pub struct UnitAppearance {
621 #[prost(int32, repeated, packed = "false", tag = "1")]
622 pub body_modifiers: ::prost::alloc::vec::Vec<i32>,
623 #[prost(int32, repeated, packed = "false", tag = "2")]
624 pub bp_modifiers: ::prost::alloc::vec::Vec<i32>,
625 #[prost(int32, optional, tag = "3")]
626 pub size_modifier: ::core::option::Option<i32>,
627 #[prost(int32, repeated, packed = "false", tag = "4")]
628 pub colors: ::prost::alloc::vec::Vec<i32>,
629 #[prost(message, optional, tag = "5")]
630 pub hair: ::core::option::Option<Hair>,
631 #[prost(message, optional, tag = "6")]
632 pub beard: ::core::option::Option<Hair>,
633 #[prost(message, optional, tag = "7")]
634 pub moustache: ::core::option::Option<Hair>,
635 #[prost(message, optional, tag = "8")]
636 pub sideburns: ::core::option::Option<Hair>,
637 #[prost(string, optional, tag = "9")]
638 pub physical_description: ::core::option::Option<::prost::alloc::string::String>,
639}
640impl ::prost::Name for UnitAppearance {
641 const NAME: &'static str = "UnitAppearance";
642 const PACKAGE: &'static str = "RemoteFortressReader";
643 fn full_name() -> ::prost::alloc::string::String {
644 "RemoteFortressReader.UnitAppearance".into()
645 }
646 fn type_url() -> ::prost::alloc::string::String {
647 "/RemoteFortressReader.UnitAppearance".into()
648 }
649}
650#[derive(serde::Serialize)]
651#[derive(Clone, PartialEq, ::prost::Message)]
652pub struct InventoryItem {
653 #[prost(enumeration = "InventoryMode", optional, tag = "1")]
654 pub mode: ::core::option::Option<i32>,
655 #[prost(message, optional, tag = "2")]
656 pub item: ::core::option::Option<Item>,
657 #[prost(int32, optional, tag = "3")]
658 pub body_part_id: ::core::option::Option<i32>,
659}
660impl ::prost::Name for InventoryItem {
661 const NAME: &'static str = "InventoryItem";
662 const PACKAGE: &'static str = "RemoteFortressReader";
663 fn full_name() -> ::prost::alloc::string::String {
664 "RemoteFortressReader.InventoryItem".into()
665 }
666 fn type_url() -> ::prost::alloc::string::String {
667 "/RemoteFortressReader.InventoryItem".into()
668 }
669}
670#[derive(serde::Serialize)]
671#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
672pub struct WoundPart {
673 #[prost(int32, optional, tag = "1")]
674 pub global_layer_idx: ::core::option::Option<i32>,
675 #[prost(int32, optional, tag = "2")]
676 pub body_part_id: ::core::option::Option<i32>,
677 #[prost(int32, optional, tag = "3")]
678 pub layer_idx: ::core::option::Option<i32>,
679}
680impl ::prost::Name for WoundPart {
681 const NAME: &'static str = "WoundPart";
682 const PACKAGE: &'static str = "RemoteFortressReader";
683 fn full_name() -> ::prost::alloc::string::String {
684 "RemoteFortressReader.WoundPart".into()
685 }
686 fn type_url() -> ::prost::alloc::string::String {
687 "/RemoteFortressReader.WoundPart".into()
688 }
689}
690#[derive(serde::Serialize)]
691#[derive(Clone, PartialEq, ::prost::Message)]
692pub struct UnitWound {
693 #[prost(message, repeated, tag = "1")]
694 pub parts: ::prost::alloc::vec::Vec<WoundPart>,
695 #[prost(bool, optional, tag = "2")]
696 pub severed_part: ::core::option::Option<bool>,
697}
698impl ::prost::Name for UnitWound {
699 const NAME: &'static str = "UnitWound";
700 const PACKAGE: &'static str = "RemoteFortressReader";
701 fn full_name() -> ::prost::alloc::string::String {
702 "RemoteFortressReader.UnitWound".into()
703 }
704 fn type_url() -> ::prost::alloc::string::String {
705 "/RemoteFortressReader.UnitWound".into()
706 }
707}
708#[derive(serde::Serialize)]
709#[derive(Clone, PartialEq, ::prost::Message)]
710pub struct UnitDefinition {
711 #[prost(int32, required, tag = "1")]
712 pub id: i32,
713 #[prost(bool, optional, tag = "2")]
714 pub is_valid: ::core::option::Option<bool>,
715 #[prost(int32, optional, tag = "3")]
716 pub pos_x: ::core::option::Option<i32>,
717 #[prost(int32, optional, tag = "4")]
718 pub pos_y: ::core::option::Option<i32>,
719 #[prost(int32, optional, tag = "5")]
720 pub pos_z: ::core::option::Option<i32>,
721 #[prost(message, optional, tag = "6")]
722 pub race: ::core::option::Option<MatPair>,
723 #[prost(message, optional, tag = "7")]
724 pub profession_color: ::core::option::Option<ColorDefinition>,
725 #[prost(uint32, optional, tag = "8")]
726 pub flags1: ::core::option::Option<u32>,
727 #[prost(uint32, optional, tag = "9")]
728 pub flags2: ::core::option::Option<u32>,
729 #[prost(uint32, optional, tag = "10")]
730 pub flags3: ::core::option::Option<u32>,
731 #[prost(bool, optional, tag = "11")]
732 pub is_soldier: ::core::option::Option<bool>,
733 #[prost(message, optional, tag = "12")]
734 pub size_info: ::core::option::Option<BodySizeInfo>,
735 #[prost(string, optional, tag = "13")]
736 pub name: ::core::option::Option<::prost::alloc::string::String>,
737 #[prost(int32, optional, tag = "14")]
738 pub blood_max: ::core::option::Option<i32>,
739 #[prost(int32, optional, tag = "15")]
740 pub blood_count: ::core::option::Option<i32>,
741 #[prost(message, optional, tag = "16")]
742 pub appearance: ::core::option::Option<UnitAppearance>,
743 #[prost(int32, optional, tag = "17")]
744 pub profession_id: ::core::option::Option<i32>,
745 #[prost(string, repeated, tag = "18")]
746 pub noble_positions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
747 #[prost(int32, optional, tag = "19")]
748 pub rider_id: ::core::option::Option<i32>,
749 #[prost(message, repeated, tag = "20")]
750 pub inventory: ::prost::alloc::vec::Vec<InventoryItem>,
751 #[prost(float, optional, tag = "21")]
752 pub subpos_x: ::core::option::Option<f32>,
753 #[prost(float, optional, tag = "22")]
754 pub subpos_y: ::core::option::Option<f32>,
755 #[prost(float, optional, tag = "23")]
756 pub subpos_z: ::core::option::Option<f32>,
757 #[prost(message, optional, tag = "24")]
758 pub facing: ::core::option::Option<Coord>,
759 #[prost(int32, optional, tag = "25")]
760 pub age: ::core::option::Option<i32>,
761 #[prost(message, repeated, tag = "26")]
762 pub wounds: ::prost::alloc::vec::Vec<UnitWound>,
763}
764impl ::prost::Name for UnitDefinition {
765 const NAME: &'static str = "UnitDefinition";
766 const PACKAGE: &'static str = "RemoteFortressReader";
767 fn full_name() -> ::prost::alloc::string::String {
768 "RemoteFortressReader.UnitDefinition".into()
769 }
770 fn type_url() -> ::prost::alloc::string::String {
771 "/RemoteFortressReader.UnitDefinition".into()
772 }
773}
774#[derive(serde::Serialize)]
775#[derive(Clone, PartialEq, ::prost::Message)]
776pub struct UnitList {
777 #[prost(message, repeated, tag = "1")]
778 pub creature_list: ::prost::alloc::vec::Vec<UnitDefinition>,
779}
780impl ::prost::Name for UnitList {
781 const NAME: &'static str = "UnitList";
782 const PACKAGE: &'static str = "RemoteFortressReader";
783 fn full_name() -> ::prost::alloc::string::String {
784 "RemoteFortressReader.UnitList".into()
785 }
786 fn type_url() -> ::prost::alloc::string::String {
787 "/RemoteFortressReader.UnitList".into()
788 }
789}
790#[derive(serde::Serialize)]
791#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
792pub struct BlockRequest {
793 #[prost(int32, optional, tag = "1")]
794 pub blocks_needed: ::core::option::Option<i32>,
795 #[prost(int32, optional, tag = "2")]
796 pub min_x: ::core::option::Option<i32>,
797 #[prost(int32, optional, tag = "3")]
798 pub max_x: ::core::option::Option<i32>,
799 #[prost(int32, optional, tag = "4")]
800 pub min_y: ::core::option::Option<i32>,
801 #[prost(int32, optional, tag = "5")]
802 pub max_y: ::core::option::Option<i32>,
803 #[prost(int32, optional, tag = "6")]
804 pub min_z: ::core::option::Option<i32>,
805 #[prost(int32, optional, tag = "7")]
806 pub max_z: ::core::option::Option<i32>,
807 #[prost(bool, optional, tag = "8")]
808 pub force_reload: ::core::option::Option<bool>,
809}
810impl ::prost::Name for BlockRequest {
811 const NAME: &'static str = "BlockRequest";
812 const PACKAGE: &'static str = "RemoteFortressReader";
813 fn full_name() -> ::prost::alloc::string::String {
814 "RemoteFortressReader.BlockRequest".into()
815 }
816 fn type_url() -> ::prost::alloc::string::String {
817 "/RemoteFortressReader.BlockRequest".into()
818 }
819}
820#[derive(serde::Serialize)]
821#[derive(Clone, PartialEq, ::prost::Message)]
822pub struct BlockList {
823 #[prost(message, repeated, tag = "1")]
824 pub map_blocks: ::prost::alloc::vec::Vec<MapBlock>,
825 #[prost(int32, optional, tag = "2")]
826 pub map_x: ::core::option::Option<i32>,
827 #[prost(int32, optional, tag = "3")]
828 pub map_y: ::core::option::Option<i32>,
829 #[prost(message, repeated, tag = "4")]
830 pub engravings: ::prost::alloc::vec::Vec<Engraving>,
831 #[prost(message, repeated, tag = "5")]
832 pub ocean_waves: ::prost::alloc::vec::Vec<Wave>,
833}
834impl ::prost::Name for BlockList {
835 const NAME: &'static str = "BlockList";
836 const PACKAGE: &'static str = "RemoteFortressReader";
837 fn full_name() -> ::prost::alloc::string::String {
838 "RemoteFortressReader.BlockList".into()
839 }
840 fn type_url() -> ::prost::alloc::string::String {
841 "/RemoteFortressReader.BlockList".into()
842 }
843}
844#[derive(serde::Serialize)]
845#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
846pub struct PlantDef {
847 #[prost(int32, required, tag = "1")]
848 pub pos_x: i32,
849 #[prost(int32, required, tag = "2")]
850 pub pos_y: i32,
851 #[prost(int32, required, tag = "3")]
852 pub pos_z: i32,
853 #[prost(int32, required, tag = "4")]
854 pub index: i32,
855}
856impl ::prost::Name for PlantDef {
857 const NAME: &'static str = "PlantDef";
858 const PACKAGE: &'static str = "RemoteFortressReader";
859 fn full_name() -> ::prost::alloc::string::String {
860 "RemoteFortressReader.PlantDef".into()
861 }
862 fn type_url() -> ::prost::alloc::string::String {
863 "/RemoteFortressReader.PlantDef".into()
864 }
865}
866#[derive(serde::Serialize)]
867#[derive(Clone, PartialEq, ::prost::Message)]
868pub struct PlantList {
869 #[prost(message, repeated, tag = "1")]
870 pub plant_list: ::prost::alloc::vec::Vec<PlantDef>,
871}
872impl ::prost::Name for PlantList {
873 const NAME: &'static str = "PlantList";
874 const PACKAGE: &'static str = "RemoteFortressReader";
875 fn full_name() -> ::prost::alloc::string::String {
876 "RemoteFortressReader.PlantList".into()
877 }
878 fn type_url() -> ::prost::alloc::string::String {
879 "/RemoteFortressReader.PlantList".into()
880 }
881}
882#[derive(serde::Serialize)]
883#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
884pub struct ViewInfo {
885 #[prost(int32, optional, tag = "1")]
886 pub view_pos_x: ::core::option::Option<i32>,
887 #[prost(int32, optional, tag = "2")]
888 pub view_pos_y: ::core::option::Option<i32>,
889 #[prost(int32, optional, tag = "3")]
890 pub view_pos_z: ::core::option::Option<i32>,
891 #[prost(int32, optional, tag = "4")]
892 pub view_size_x: ::core::option::Option<i32>,
893 #[prost(int32, optional, tag = "5")]
894 pub view_size_y: ::core::option::Option<i32>,
895 #[prost(int32, optional, tag = "6")]
896 pub cursor_pos_x: ::core::option::Option<i32>,
897 #[prost(int32, optional, tag = "7")]
898 pub cursor_pos_y: ::core::option::Option<i32>,
899 #[prost(int32, optional, tag = "8")]
900 pub cursor_pos_z: ::core::option::Option<i32>,
901 #[prost(int32, optional, tag = "9", default = "-1")]
902 pub follow_unit_id: ::core::option::Option<i32>,
903 #[prost(int32, optional, tag = "10", default = "-1")]
904 pub follow_item_id: ::core::option::Option<i32>,
905}
906impl ::prost::Name for ViewInfo {
907 const NAME: &'static str = "ViewInfo";
908 const PACKAGE: &'static str = "RemoteFortressReader";
909 fn full_name() -> ::prost::alloc::string::String {
910 "RemoteFortressReader.ViewInfo".into()
911 }
912 fn type_url() -> ::prost::alloc::string::String {
913 "/RemoteFortressReader.ViewInfo".into()
914 }
915}
916#[derive(serde::Serialize)]
917#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
918pub struct MapInfo {
919 #[prost(int32, optional, tag = "1")]
920 pub block_size_x: ::core::option::Option<i32>,
921 #[prost(int32, optional, tag = "2")]
922 pub block_size_y: ::core::option::Option<i32>,
923 #[prost(int32, optional, tag = "3")]
924 pub block_size_z: ::core::option::Option<i32>,
925 #[prost(int32, optional, tag = "4")]
926 pub block_pos_x: ::core::option::Option<i32>,
927 #[prost(int32, optional, tag = "5")]
928 pub block_pos_y: ::core::option::Option<i32>,
929 #[prost(int32, optional, tag = "6")]
930 pub block_pos_z: ::core::option::Option<i32>,
931 #[prost(string, optional, tag = "7")]
932 pub world_name: ::core::option::Option<::prost::alloc::string::String>,
933 #[prost(string, optional, tag = "8")]
934 pub world_name_english: ::core::option::Option<::prost::alloc::string::String>,
935 #[prost(string, optional, tag = "9")]
936 pub save_name: ::core::option::Option<::prost::alloc::string::String>,
937}
938impl ::prost::Name for MapInfo {
939 const NAME: &'static str = "MapInfo";
940 const PACKAGE: &'static str = "RemoteFortressReader";
941 fn full_name() -> ::prost::alloc::string::String {
942 "RemoteFortressReader.MapInfo".into()
943 }
944 fn type_url() -> ::prost::alloc::string::String {
945 "/RemoteFortressReader.MapInfo".into()
946 }
947}
948#[derive(serde::Serialize)]
949#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
950pub struct Cloud {
951 #[prost(enumeration = "FrontType", optional, tag = "1")]
952 pub front: ::core::option::Option<i32>,
953 #[prost(enumeration = "CumulusType", optional, tag = "2")]
954 pub cumulus: ::core::option::Option<i32>,
955 #[prost(bool, optional, tag = "3")]
956 pub cirrus: ::core::option::Option<bool>,
957 #[prost(enumeration = "StratusType", optional, tag = "4")]
958 pub stratus: ::core::option::Option<i32>,
959 #[prost(enumeration = "FogType", optional, tag = "5")]
960 pub fog: ::core::option::Option<i32>,
961}
962impl ::prost::Name for Cloud {
963 const NAME: &'static str = "Cloud";
964 const PACKAGE: &'static str = "RemoteFortressReader";
965 fn full_name() -> ::prost::alloc::string::String {
966 "RemoteFortressReader.Cloud".into()
967 }
968 fn type_url() -> ::prost::alloc::string::String {
969 "/RemoteFortressReader.Cloud".into()
970 }
971}
972#[derive(serde::Serialize)]
973#[derive(Clone, PartialEq, ::prost::Message)]
974pub struct WorldMap {
975 #[prost(int32, required, tag = "1")]
976 pub world_width: i32,
977 #[prost(int32, required, tag = "2")]
978 pub world_height: i32,
979 #[prost(bytes = "vec", optional, tag = "3")]
980 pub name: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
981 #[prost(string, optional, tag = "4")]
982 pub name_english: ::core::option::Option<::prost::alloc::string::String>,
983 #[prost(int32, repeated, packed = "false", tag = "5")]
984 pub elevation: ::prost::alloc::vec::Vec<i32>,
985 #[prost(int32, repeated, packed = "false", tag = "6")]
986 pub rainfall: ::prost::alloc::vec::Vec<i32>,
987 #[prost(int32, repeated, packed = "false", tag = "7")]
988 pub vegetation: ::prost::alloc::vec::Vec<i32>,
989 #[prost(int32, repeated, packed = "false", tag = "8")]
990 pub temperature: ::prost::alloc::vec::Vec<i32>,
991 #[prost(int32, repeated, packed = "false", tag = "9")]
992 pub evilness: ::prost::alloc::vec::Vec<i32>,
993 #[prost(int32, repeated, packed = "false", tag = "10")]
994 pub drainage: ::prost::alloc::vec::Vec<i32>,
995 #[prost(int32, repeated, packed = "false", tag = "11")]
996 pub volcanism: ::prost::alloc::vec::Vec<i32>,
997 #[prost(int32, repeated, packed = "false", tag = "12")]
998 pub savagery: ::prost::alloc::vec::Vec<i32>,
999 #[prost(message, repeated, tag = "13")]
1000 pub clouds: ::prost::alloc::vec::Vec<Cloud>,
1001 #[prost(int32, repeated, packed = "false", tag = "14")]
1002 pub salinity: ::prost::alloc::vec::Vec<i32>,
1003 #[prost(int32, optional, tag = "15")]
1004 pub map_x: ::core::option::Option<i32>,
1005 #[prost(int32, optional, tag = "16")]
1006 pub map_y: ::core::option::Option<i32>,
1007 #[prost(int32, optional, tag = "17")]
1008 pub center_x: ::core::option::Option<i32>,
1009 #[prost(int32, optional, tag = "18")]
1010 pub center_y: ::core::option::Option<i32>,
1011 #[prost(int32, optional, tag = "19")]
1012 pub center_z: ::core::option::Option<i32>,
1013 #[prost(int32, optional, tag = "20")]
1014 pub cur_year: ::core::option::Option<i32>,
1015 #[prost(int32, optional, tag = "21")]
1016 pub cur_year_tick: ::core::option::Option<i32>,
1017 #[prost(enumeration = "WorldPoles", optional, tag = "22")]
1018 pub world_poles: ::core::option::Option<i32>,
1019 #[prost(message, repeated, tag = "23")]
1020 pub river_tiles: ::prost::alloc::vec::Vec<RiverTile>,
1021 #[prost(int32, repeated, packed = "false", tag = "24")]
1022 pub water_elevation: ::prost::alloc::vec::Vec<i32>,
1023 #[prost(message, repeated, tag = "25")]
1024 pub region_tiles: ::prost::alloc::vec::Vec<RegionTile>,
1025}
1026impl ::prost::Name for WorldMap {
1027 const NAME: &'static str = "WorldMap";
1028 const PACKAGE: &'static str = "RemoteFortressReader";
1029 fn full_name() -> ::prost::alloc::string::String {
1030 "RemoteFortressReader.WorldMap".into()
1031 }
1032 fn type_url() -> ::prost::alloc::string::String {
1033 "/RemoteFortressReader.WorldMap".into()
1034 }
1035}
1036#[derive(serde::Serialize)]
1037#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1038pub struct SiteRealizationBuildingWall {
1039 #[prost(int32, optional, tag = "1")]
1040 pub start_x: ::core::option::Option<i32>,
1041 #[prost(int32, optional, tag = "2")]
1042 pub start_y: ::core::option::Option<i32>,
1043 #[prost(int32, optional, tag = "3")]
1044 pub start_z: ::core::option::Option<i32>,
1045 #[prost(int32, optional, tag = "4")]
1046 pub end_x: ::core::option::Option<i32>,
1047 #[prost(int32, optional, tag = "5")]
1048 pub end_y: ::core::option::Option<i32>,
1049 #[prost(int32, optional, tag = "6")]
1050 pub end_z: ::core::option::Option<i32>,
1051}
1052impl ::prost::Name for SiteRealizationBuildingWall {
1053 const NAME: &'static str = "SiteRealizationBuildingWall";
1054 const PACKAGE: &'static str = "RemoteFortressReader";
1055 fn full_name() -> ::prost::alloc::string::String {
1056 "RemoteFortressReader.SiteRealizationBuildingWall".into()
1057 }
1058 fn type_url() -> ::prost::alloc::string::String {
1059 "/RemoteFortressReader.SiteRealizationBuildingWall".into()
1060 }
1061}
1062#[derive(serde::Serialize)]
1063#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1064pub struct SiteRealizationBuildingTower {
1065 #[prost(int32, optional, tag = "1")]
1066 pub roof_z: ::core::option::Option<i32>,
1067 #[prost(bool, optional, tag = "2")]
1068 pub round: ::core::option::Option<bool>,
1069 #[prost(bool, optional, tag = "3")]
1070 pub goblin: ::core::option::Option<bool>,
1071}
1072impl ::prost::Name for SiteRealizationBuildingTower {
1073 const NAME: &'static str = "SiteRealizationBuildingTower";
1074 const PACKAGE: &'static str = "RemoteFortressReader";
1075 fn full_name() -> ::prost::alloc::string::String {
1076 "RemoteFortressReader.SiteRealizationBuildingTower".into()
1077 }
1078 fn type_url() -> ::prost::alloc::string::String {
1079 "/RemoteFortressReader.SiteRealizationBuildingTower".into()
1080 }
1081}
1082#[derive(serde::Serialize)]
1083#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1084pub struct TrenchSpoke {
1085 #[prost(int32, optional, tag = "1")]
1086 pub mound_start: ::core::option::Option<i32>,
1087 #[prost(int32, optional, tag = "2")]
1088 pub trench_start: ::core::option::Option<i32>,
1089 #[prost(int32, optional, tag = "3")]
1090 pub trench_end: ::core::option::Option<i32>,
1091 #[prost(int32, optional, tag = "4")]
1092 pub mound_end: ::core::option::Option<i32>,
1093}
1094impl ::prost::Name for TrenchSpoke {
1095 const NAME: &'static str = "TrenchSpoke";
1096 const PACKAGE: &'static str = "RemoteFortressReader";
1097 fn full_name() -> ::prost::alloc::string::String {
1098 "RemoteFortressReader.TrenchSpoke".into()
1099 }
1100 fn type_url() -> ::prost::alloc::string::String {
1101 "/RemoteFortressReader.TrenchSpoke".into()
1102 }
1103}
1104#[derive(serde::Serialize)]
1105#[derive(Clone, PartialEq, ::prost::Message)]
1106pub struct SiteRealizationBuildingTrenches {
1107 #[prost(message, repeated, tag = "1")]
1108 pub spokes: ::prost::alloc::vec::Vec<TrenchSpoke>,
1109}
1110impl ::prost::Name for SiteRealizationBuildingTrenches {
1111 const NAME: &'static str = "SiteRealizationBuildingTrenches";
1112 const PACKAGE: &'static str = "RemoteFortressReader";
1113 fn full_name() -> ::prost::alloc::string::String {
1114 "RemoteFortressReader.SiteRealizationBuildingTrenches".into()
1115 }
1116 fn type_url() -> ::prost::alloc::string::String {
1117 "/RemoteFortressReader.SiteRealizationBuildingTrenches".into()
1118 }
1119}
1120#[derive(serde::Serialize)]
1121#[derive(Clone, PartialEq, ::prost::Message)]
1122pub struct SiteRealizationBuilding {
1123 #[prost(int32, optional, tag = "1")]
1124 pub id: ::core::option::Option<i32>,
1125 #[prost(int32, optional, tag = "3")]
1126 pub min_x: ::core::option::Option<i32>,
1127 #[prost(int32, optional, tag = "4")]
1128 pub min_y: ::core::option::Option<i32>,
1129 #[prost(int32, optional, tag = "5")]
1130 pub max_x: ::core::option::Option<i32>,
1131 #[prost(int32, optional, tag = "6")]
1132 pub max_y: ::core::option::Option<i32>,
1133 #[prost(message, optional, tag = "7")]
1134 pub material: ::core::option::Option<MatPair>,
1135 #[prost(message, optional, tag = "8")]
1136 pub wall_info: ::core::option::Option<SiteRealizationBuildingWall>,
1137 #[prost(message, optional, tag = "9")]
1138 pub tower_info: ::core::option::Option<SiteRealizationBuildingTower>,
1139 #[prost(message, optional, tag = "10")]
1140 pub trench_info: ::core::option::Option<SiteRealizationBuildingTrenches>,
1141 #[prost(int32, optional, tag = "11")]
1142 pub r#type: ::core::option::Option<i32>,
1143}
1144impl ::prost::Name for SiteRealizationBuilding {
1145 const NAME: &'static str = "SiteRealizationBuilding";
1146 const PACKAGE: &'static str = "RemoteFortressReader";
1147 fn full_name() -> ::prost::alloc::string::String {
1148 "RemoteFortressReader.SiteRealizationBuilding".into()
1149 }
1150 fn type_url() -> ::prost::alloc::string::String {
1151 "/RemoteFortressReader.SiteRealizationBuilding".into()
1152 }
1153}
1154#[derive(serde::Serialize)]
1155#[derive(Clone, PartialEq, ::prost::Message)]
1156pub struct RegionTile {
1157 #[prost(int32, optional, tag = "1")]
1158 pub elevation: ::core::option::Option<i32>,
1159 #[prost(int32, optional, tag = "2")]
1160 pub rainfall: ::core::option::Option<i32>,
1161 #[prost(int32, optional, tag = "3")]
1162 pub vegetation: ::core::option::Option<i32>,
1163 #[prost(int32, optional, tag = "4")]
1164 pub temperature: ::core::option::Option<i32>,
1165 #[prost(int32, optional, tag = "5")]
1166 pub evilness: ::core::option::Option<i32>,
1167 #[prost(int32, optional, tag = "6")]
1168 pub drainage: ::core::option::Option<i32>,
1169 #[prost(int32, optional, tag = "7")]
1170 pub volcanism: ::core::option::Option<i32>,
1171 #[prost(int32, optional, tag = "8")]
1172 pub savagery: ::core::option::Option<i32>,
1173 #[prost(int32, optional, tag = "9")]
1174 pub salinity: ::core::option::Option<i32>,
1175 #[prost(message, optional, tag = "10")]
1176 pub river_tiles: ::core::option::Option<RiverTile>,
1177 #[prost(int32, optional, tag = "11")]
1178 pub water_elevation: ::core::option::Option<i32>,
1179 #[prost(message, optional, tag = "12")]
1180 pub surface_material: ::core::option::Option<MatPair>,
1181 #[prost(message, repeated, tag = "13")]
1182 pub plant_materials: ::prost::alloc::vec::Vec<MatPair>,
1183 #[prost(message, repeated, tag = "14")]
1184 pub buildings: ::prost::alloc::vec::Vec<SiteRealizationBuilding>,
1185 #[prost(message, repeated, tag = "15")]
1186 pub stone_materials: ::prost::alloc::vec::Vec<MatPair>,
1187 #[prost(message, repeated, tag = "16")]
1188 pub tree_materials: ::prost::alloc::vec::Vec<MatPair>,
1189 #[prost(int32, optional, tag = "17")]
1190 pub snow: ::core::option::Option<i32>,
1191}
1192impl ::prost::Name for RegionTile {
1193 const NAME: &'static str = "RegionTile";
1194 const PACKAGE: &'static str = "RemoteFortressReader";
1195 fn full_name() -> ::prost::alloc::string::String {
1196 "RemoteFortressReader.RegionTile".into()
1197 }
1198 fn type_url() -> ::prost::alloc::string::String {
1199 "/RemoteFortressReader.RegionTile".into()
1200 }
1201}
1202#[derive(serde::Serialize)]
1203#[derive(Clone, PartialEq, ::prost::Message)]
1204pub struct RegionMap {
1205 #[prost(int32, optional, tag = "1")]
1206 pub map_x: ::core::option::Option<i32>,
1207 #[prost(int32, optional, tag = "2")]
1208 pub map_y: ::core::option::Option<i32>,
1209 #[prost(string, optional, tag = "3")]
1210 pub name: ::core::option::Option<::prost::alloc::string::String>,
1211 #[prost(string, optional, tag = "4")]
1212 pub name_english: ::core::option::Option<::prost::alloc::string::String>,
1213 #[prost(message, repeated, tag = "5")]
1214 pub tiles: ::prost::alloc::vec::Vec<RegionTile>,
1215}
1216impl ::prost::Name for RegionMap {
1217 const NAME: &'static str = "RegionMap";
1218 const PACKAGE: &'static str = "RemoteFortressReader";
1219 fn full_name() -> ::prost::alloc::string::String {
1220 "RemoteFortressReader.RegionMap".into()
1221 }
1222 fn type_url() -> ::prost::alloc::string::String {
1223 "/RemoteFortressReader.RegionMap".into()
1224 }
1225}
1226#[derive(serde::Serialize)]
1227#[derive(Clone, PartialEq, ::prost::Message)]
1228pub struct RegionMaps {
1229 #[prost(message, repeated, tag = "1")]
1230 pub world_maps: ::prost::alloc::vec::Vec<WorldMap>,
1231 #[prost(message, repeated, tag = "2")]
1232 pub region_maps: ::prost::alloc::vec::Vec<RegionMap>,
1233}
1234impl ::prost::Name for RegionMaps {
1235 const NAME: &'static str = "RegionMaps";
1236 const PACKAGE: &'static str = "RemoteFortressReader";
1237 fn full_name() -> ::prost::alloc::string::String {
1238 "RemoteFortressReader.RegionMaps".into()
1239 }
1240 fn type_url() -> ::prost::alloc::string::String {
1241 "/RemoteFortressReader.RegionMaps".into()
1242 }
1243}
1244#[derive(serde::Serialize)]
1245#[derive(Clone, PartialEq, ::prost::Message)]
1246pub struct PatternDescriptor {
1247 #[prost(string, optional, tag = "1")]
1248 pub id: ::core::option::Option<::prost::alloc::string::String>,
1249 #[prost(message, repeated, tag = "2")]
1250 pub colors: ::prost::alloc::vec::Vec<ColorDefinition>,
1251 #[prost(enumeration = "PatternType", optional, tag = "3")]
1252 pub pattern: ::core::option::Option<i32>,
1253}
1254impl ::prost::Name for PatternDescriptor {
1255 const NAME: &'static str = "PatternDescriptor";
1256 const PACKAGE: &'static str = "RemoteFortressReader";
1257 fn full_name() -> ::prost::alloc::string::String {
1258 "RemoteFortressReader.PatternDescriptor".into()
1259 }
1260 fn type_url() -> ::prost::alloc::string::String {
1261 "/RemoteFortressReader.PatternDescriptor".into()
1262 }
1263}
1264#[derive(serde::Serialize)]
1265#[derive(Clone, PartialEq, ::prost::Message)]
1266pub struct ColorModifierRaw {
1267 #[prost(message, repeated, tag = "1")]
1268 pub patterns: ::prost::alloc::vec::Vec<PatternDescriptor>,
1269 #[prost(int32, repeated, packed = "false", tag = "2")]
1270 pub body_part_id: ::prost::alloc::vec::Vec<i32>,
1271 #[prost(int32, repeated, packed = "false", tag = "3")]
1272 pub tissue_layer_id: ::prost::alloc::vec::Vec<i32>,
1273 #[prost(int32, optional, tag = "4")]
1274 pub start_date: ::core::option::Option<i32>,
1275 #[prost(int32, optional, tag = "5")]
1276 pub end_date: ::core::option::Option<i32>,
1277 #[prost(string, optional, tag = "6")]
1278 pub part: ::core::option::Option<::prost::alloc::string::String>,
1279}
1280impl ::prost::Name for ColorModifierRaw {
1281 const NAME: &'static str = "ColorModifierRaw";
1282 const PACKAGE: &'static str = "RemoteFortressReader";
1283 fn full_name() -> ::prost::alloc::string::String {
1284 "RemoteFortressReader.ColorModifierRaw".into()
1285 }
1286 fn type_url() -> ::prost::alloc::string::String {
1287 "/RemoteFortressReader.ColorModifierRaw".into()
1288 }
1289}
1290#[derive(serde::Serialize)]
1291#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1292pub struct BodyPartLayerRaw {
1293 #[prost(string, optional, tag = "1")]
1294 pub layer_name: ::core::option::Option<::prost::alloc::string::String>,
1295 #[prost(int32, optional, tag = "2")]
1296 pub tissue_id: ::core::option::Option<i32>,
1297 #[prost(int32, optional, tag = "3")]
1298 pub layer_depth: ::core::option::Option<i32>,
1299 #[prost(int32, repeated, packed = "false", tag = "4")]
1300 pub bp_modifiers: ::prost::alloc::vec::Vec<i32>,
1301}
1302impl ::prost::Name for BodyPartLayerRaw {
1303 const NAME: &'static str = "BodyPartLayerRaw";
1304 const PACKAGE: &'static str = "RemoteFortressReader";
1305 fn full_name() -> ::prost::alloc::string::String {
1306 "RemoteFortressReader.BodyPartLayerRaw".into()
1307 }
1308 fn type_url() -> ::prost::alloc::string::String {
1309 "/RemoteFortressReader.BodyPartLayerRaw".into()
1310 }
1311}
1312#[derive(serde::Serialize)]
1313#[derive(Clone, PartialEq, ::prost::Message)]
1314pub struct BodyPartRaw {
1315 #[prost(string, optional, tag = "1")]
1316 pub token: ::core::option::Option<::prost::alloc::string::String>,
1317 #[prost(string, optional, tag = "2")]
1318 pub category: ::core::option::Option<::prost::alloc::string::String>,
1319 #[prost(int32, optional, tag = "3")]
1320 pub parent: ::core::option::Option<i32>,
1321 #[prost(bool, repeated, packed = "false", tag = "4")]
1322 pub flags: ::prost::alloc::vec::Vec<bool>,
1323 #[prost(message, repeated, tag = "5")]
1324 pub layers: ::prost::alloc::vec::Vec<BodyPartLayerRaw>,
1325 #[prost(int32, optional, tag = "6")]
1326 pub relsize: ::core::option::Option<i32>,
1327}
1328impl ::prost::Name for BodyPartRaw {
1329 const NAME: &'static str = "BodyPartRaw";
1330 const PACKAGE: &'static str = "RemoteFortressReader";
1331 fn full_name() -> ::prost::alloc::string::String {
1332 "RemoteFortressReader.BodyPartRaw".into()
1333 }
1334 fn type_url() -> ::prost::alloc::string::String {
1335 "/RemoteFortressReader.BodyPartRaw".into()
1336 }
1337}
1338#[derive(serde::Serialize)]
1339#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1340pub struct BpAppearanceModifier {
1341 #[prost(string, optional, tag = "1")]
1342 pub r#type: ::core::option::Option<::prost::alloc::string::String>,
1343 #[prost(int32, optional, tag = "2")]
1344 pub mod_min: ::core::option::Option<i32>,
1345 #[prost(int32, optional, tag = "3")]
1346 pub mod_max: ::core::option::Option<i32>,
1347}
1348impl ::prost::Name for BpAppearanceModifier {
1349 const NAME: &'static str = "BpAppearanceModifier";
1350 const PACKAGE: &'static str = "RemoteFortressReader";
1351 fn full_name() -> ::prost::alloc::string::String {
1352 "RemoteFortressReader.BpAppearanceModifier".into()
1353 }
1354 fn type_url() -> ::prost::alloc::string::String {
1355 "/RemoteFortressReader.BpAppearanceModifier".into()
1356 }
1357}
1358#[derive(serde::Serialize)]
1359#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1360pub struct TissueRaw {
1361 #[prost(string, optional, tag = "1")]
1362 pub id: ::core::option::Option<::prost::alloc::string::String>,
1363 #[prost(string, optional, tag = "2")]
1364 pub name: ::core::option::Option<::prost::alloc::string::String>,
1365 #[prost(message, optional, tag = "3")]
1366 pub material: ::core::option::Option<MatPair>,
1367 #[prost(string, optional, tag = "4")]
1368 pub subordinate_to_tissue: ::core::option::Option<::prost::alloc::string::String>,
1369}
1370impl ::prost::Name for TissueRaw {
1371 const NAME: &'static str = "TissueRaw";
1372 const PACKAGE: &'static str = "RemoteFortressReader";
1373 fn full_name() -> ::prost::alloc::string::String {
1374 "RemoteFortressReader.TissueRaw".into()
1375 }
1376 fn type_url() -> ::prost::alloc::string::String {
1377 "/RemoteFortressReader.TissueRaw".into()
1378 }
1379}
1380#[derive(serde::Serialize)]
1381#[derive(Clone, PartialEq, ::prost::Message)]
1382pub struct CasteRaw {
1383 #[prost(int32, optional, tag = "1")]
1384 pub index: ::core::option::Option<i32>,
1385 #[prost(string, optional, tag = "2")]
1386 pub caste_id: ::core::option::Option<::prost::alloc::string::String>,
1387 #[prost(string, repeated, tag = "3")]
1388 pub caste_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1389 #[prost(string, repeated, tag = "4")]
1390 pub baby_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1391 #[prost(string, repeated, tag = "5")]
1392 pub child_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1393 #[prost(int32, optional, tag = "6")]
1394 pub gender: ::core::option::Option<i32>,
1395 #[prost(message, repeated, tag = "7")]
1396 pub body_parts: ::prost::alloc::vec::Vec<BodyPartRaw>,
1397 #[prost(int32, optional, tag = "8")]
1398 pub total_relsize: ::core::option::Option<i32>,
1399 #[prost(message, repeated, tag = "9")]
1400 pub modifiers: ::prost::alloc::vec::Vec<BpAppearanceModifier>,
1401 #[prost(int32, repeated, packed = "false", tag = "10")]
1402 pub modifier_idx: ::prost::alloc::vec::Vec<i32>,
1403 #[prost(int32, repeated, packed = "false", tag = "11")]
1404 pub part_idx: ::prost::alloc::vec::Vec<i32>,
1405 #[prost(int32, repeated, packed = "false", tag = "12")]
1406 pub layer_idx: ::prost::alloc::vec::Vec<i32>,
1407 #[prost(message, repeated, tag = "13")]
1408 pub body_appearance_modifiers: ::prost::alloc::vec::Vec<BpAppearanceModifier>,
1409 #[prost(message, repeated, tag = "14")]
1410 pub color_modifiers: ::prost::alloc::vec::Vec<ColorModifierRaw>,
1411 #[prost(string, optional, tag = "15")]
1412 pub description: ::core::option::Option<::prost::alloc::string::String>,
1413 #[prost(int32, optional, tag = "16")]
1414 pub adult_size: ::core::option::Option<i32>,
1415}
1416impl ::prost::Name for CasteRaw {
1417 const NAME: &'static str = "CasteRaw";
1418 const PACKAGE: &'static str = "RemoteFortressReader";
1419 fn full_name() -> ::prost::alloc::string::String {
1420 "RemoteFortressReader.CasteRaw".into()
1421 }
1422 fn type_url() -> ::prost::alloc::string::String {
1423 "/RemoteFortressReader.CasteRaw".into()
1424 }
1425}
1426#[derive(serde::Serialize)]
1427#[derive(Clone, PartialEq, ::prost::Message)]
1428pub struct CreatureRaw {
1429 #[prost(int32, optional, tag = "1")]
1430 pub index: ::core::option::Option<i32>,
1431 #[prost(string, optional, tag = "2")]
1432 pub creature_id: ::core::option::Option<::prost::alloc::string::String>,
1433 #[prost(string, repeated, tag = "3")]
1434 pub name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1435 #[prost(string, repeated, tag = "4")]
1436 pub general_baby_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1437 #[prost(string, repeated, tag = "5")]
1438 pub general_child_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1439 #[prost(int32, optional, tag = "6")]
1440 pub creature_tile: ::core::option::Option<i32>,
1441 #[prost(int32, optional, tag = "7")]
1442 pub creature_soldier_tile: ::core::option::Option<i32>,
1443 #[prost(message, optional, tag = "8")]
1444 pub color: ::core::option::Option<ColorDefinition>,
1445 #[prost(int32, optional, tag = "9")]
1446 pub adultsize: ::core::option::Option<i32>,
1447 #[prost(message, repeated, tag = "10")]
1448 pub caste: ::prost::alloc::vec::Vec<CasteRaw>,
1449 #[prost(message, repeated, tag = "11")]
1450 pub tissues: ::prost::alloc::vec::Vec<TissueRaw>,
1451 #[prost(bool, repeated, packed = "false", tag = "12")]
1452 pub flags: ::prost::alloc::vec::Vec<bool>,
1453}
1454impl ::prost::Name for CreatureRaw {
1455 const NAME: &'static str = "CreatureRaw";
1456 const PACKAGE: &'static str = "RemoteFortressReader";
1457 fn full_name() -> ::prost::alloc::string::String {
1458 "RemoteFortressReader.CreatureRaw".into()
1459 }
1460 fn type_url() -> ::prost::alloc::string::String {
1461 "/RemoteFortressReader.CreatureRaw".into()
1462 }
1463}
1464#[derive(serde::Serialize)]
1465#[derive(Clone, PartialEq, ::prost::Message)]
1466pub struct CreatureRawList {
1467 #[prost(message, repeated, tag = "1")]
1468 pub creature_raws: ::prost::alloc::vec::Vec<CreatureRaw>,
1469}
1470impl ::prost::Name for CreatureRawList {
1471 const NAME: &'static str = "CreatureRawList";
1472 const PACKAGE: &'static str = "RemoteFortressReader";
1473 fn full_name() -> ::prost::alloc::string::String {
1474 "RemoteFortressReader.CreatureRawList".into()
1475 }
1476 fn type_url() -> ::prost::alloc::string::String {
1477 "/RemoteFortressReader.CreatureRawList".into()
1478 }
1479}
1480#[derive(serde::Serialize)]
1481#[derive(Clone, PartialEq, ::prost::Message)]
1482pub struct Army {
1483 #[prost(int32, optional, tag = "1")]
1484 pub id: ::core::option::Option<i32>,
1485 #[prost(int32, optional, tag = "2")]
1486 pub pos_x: ::core::option::Option<i32>,
1487 #[prost(int32, optional, tag = "3")]
1488 pub pos_y: ::core::option::Option<i32>,
1489 #[prost(int32, optional, tag = "4")]
1490 pub pos_z: ::core::option::Option<i32>,
1491 #[prost(message, optional, tag = "5")]
1492 pub leader: ::core::option::Option<UnitDefinition>,
1493 #[prost(message, repeated, tag = "6")]
1494 pub members: ::prost::alloc::vec::Vec<UnitDefinition>,
1495 #[prost(uint32, optional, tag = "7")]
1496 pub flags: ::core::option::Option<u32>,
1497}
1498impl ::prost::Name for Army {
1499 const NAME: &'static str = "Army";
1500 const PACKAGE: &'static str = "RemoteFortressReader";
1501 fn full_name() -> ::prost::alloc::string::String {
1502 "RemoteFortressReader.Army".into()
1503 }
1504 fn type_url() -> ::prost::alloc::string::String {
1505 "/RemoteFortressReader.Army".into()
1506 }
1507}
1508#[derive(serde::Serialize)]
1509#[derive(Clone, PartialEq, ::prost::Message)]
1510pub struct ArmyList {
1511 #[prost(message, repeated, tag = "1")]
1512 pub armies: ::prost::alloc::vec::Vec<Army>,
1513}
1514impl ::prost::Name for ArmyList {
1515 const NAME: &'static str = "ArmyList";
1516 const PACKAGE: &'static str = "RemoteFortressReader";
1517 fn full_name() -> ::prost::alloc::string::String {
1518 "RemoteFortressReader.ArmyList".into()
1519 }
1520 fn type_url() -> ::prost::alloc::string::String {
1521 "/RemoteFortressReader.ArmyList".into()
1522 }
1523}
1524#[derive(serde::Serialize)]
1525#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1526pub struct GrowthPrint {
1527 #[prost(int32, optional, tag = "1")]
1528 pub priority: ::core::option::Option<i32>,
1529 #[prost(int32, optional, tag = "2")]
1530 pub color: ::core::option::Option<i32>,
1531 #[prost(int32, optional, tag = "3")]
1532 pub timing_start: ::core::option::Option<i32>,
1533 #[prost(int32, optional, tag = "4")]
1534 pub timing_end: ::core::option::Option<i32>,
1535 #[prost(int32, optional, tag = "5")]
1536 pub tile: ::core::option::Option<i32>,
1537}
1538impl ::prost::Name for GrowthPrint {
1539 const NAME: &'static str = "GrowthPrint";
1540 const PACKAGE: &'static str = "RemoteFortressReader";
1541 fn full_name() -> ::prost::alloc::string::String {
1542 "RemoteFortressReader.GrowthPrint".into()
1543 }
1544 fn type_url() -> ::prost::alloc::string::String {
1545 "/RemoteFortressReader.GrowthPrint".into()
1546 }
1547}
1548#[derive(serde::Serialize)]
1549#[derive(Clone, PartialEq, ::prost::Message)]
1550pub struct TreeGrowth {
1551 #[prost(int32, optional, tag = "1")]
1552 pub index: ::core::option::Option<i32>,
1553 #[prost(string, optional, tag = "2")]
1554 pub id: ::core::option::Option<::prost::alloc::string::String>,
1555 #[prost(string, optional, tag = "3")]
1556 pub name: ::core::option::Option<::prost::alloc::string::String>,
1557 #[prost(message, optional, tag = "4")]
1558 pub mat: ::core::option::Option<MatPair>,
1559 #[prost(message, repeated, tag = "5")]
1560 pub prints: ::prost::alloc::vec::Vec<GrowthPrint>,
1561 #[prost(int32, optional, tag = "6")]
1562 pub timing_start: ::core::option::Option<i32>,
1563 #[prost(int32, optional, tag = "7")]
1564 pub timing_end: ::core::option::Option<i32>,
1565 #[prost(bool, optional, tag = "8")]
1566 pub twigs: ::core::option::Option<bool>,
1567 #[prost(bool, optional, tag = "9")]
1568 pub light_branches: ::core::option::Option<bool>,
1569 #[prost(bool, optional, tag = "10")]
1570 pub heavy_branches: ::core::option::Option<bool>,
1571 #[prost(bool, optional, tag = "11")]
1572 pub trunk: ::core::option::Option<bool>,
1573 #[prost(bool, optional, tag = "12")]
1574 pub roots: ::core::option::Option<bool>,
1575 #[prost(bool, optional, tag = "13")]
1576 pub cap: ::core::option::Option<bool>,
1577 #[prost(bool, optional, tag = "14")]
1578 pub sapling: ::core::option::Option<bool>,
1579 #[prost(int32, optional, tag = "15")]
1580 pub trunk_height_start: ::core::option::Option<i32>,
1581 #[prost(int32, optional, tag = "16")]
1582 pub trunk_height_end: ::core::option::Option<i32>,
1583}
1584impl ::prost::Name for TreeGrowth {
1585 const NAME: &'static str = "TreeGrowth";
1586 const PACKAGE: &'static str = "RemoteFortressReader";
1587 fn full_name() -> ::prost::alloc::string::String {
1588 "RemoteFortressReader.TreeGrowth".into()
1589 }
1590 fn type_url() -> ::prost::alloc::string::String {
1591 "/RemoteFortressReader.TreeGrowth".into()
1592 }
1593}
1594#[derive(serde::Serialize)]
1595#[derive(Clone, PartialEq, ::prost::Message)]
1596pub struct PlantRaw {
1597 #[prost(int32, optional, tag = "1")]
1598 pub index: ::core::option::Option<i32>,
1599 #[prost(string, optional, tag = "2")]
1600 pub id: ::core::option::Option<::prost::alloc::string::String>,
1601 #[prost(string, optional, tag = "3")]
1602 pub name: ::core::option::Option<::prost::alloc::string::String>,
1603 #[prost(message, repeated, tag = "4")]
1604 pub growths: ::prost::alloc::vec::Vec<TreeGrowth>,
1605 #[prost(int32, optional, tag = "5")]
1606 pub tile: ::core::option::Option<i32>,
1607}
1608impl ::prost::Name for PlantRaw {
1609 const NAME: &'static str = "PlantRaw";
1610 const PACKAGE: &'static str = "RemoteFortressReader";
1611 fn full_name() -> ::prost::alloc::string::String {
1612 "RemoteFortressReader.PlantRaw".into()
1613 }
1614 fn type_url() -> ::prost::alloc::string::String {
1615 "/RemoteFortressReader.PlantRaw".into()
1616 }
1617}
1618#[derive(serde::Serialize)]
1619#[derive(Clone, PartialEq, ::prost::Message)]
1620pub struct PlantRawList {
1621 #[prost(message, repeated, tag = "1")]
1622 pub plant_raws: ::prost::alloc::vec::Vec<PlantRaw>,
1623}
1624impl ::prost::Name for PlantRawList {
1625 const NAME: &'static str = "PlantRawList";
1626 const PACKAGE: &'static str = "RemoteFortressReader";
1627 fn full_name() -> ::prost::alloc::string::String {
1628 "RemoteFortressReader.PlantRawList".into()
1629 }
1630 fn type_url() -> ::prost::alloc::string::String {
1631 "/RemoteFortressReader.PlantRawList".into()
1632 }
1633}
1634#[derive(serde::Serialize)]
1635#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1636pub struct ScreenTile {
1637 #[prost(uint32, optional, tag = "1")]
1638 pub character: ::core::option::Option<u32>,
1639 #[prost(uint32, optional, tag = "2")]
1640 pub foreground: ::core::option::Option<u32>,
1641 #[prost(uint32, optional, tag = "3")]
1642 pub background: ::core::option::Option<u32>,
1643}
1644impl ::prost::Name for ScreenTile {
1645 const NAME: &'static str = "ScreenTile";
1646 const PACKAGE: &'static str = "RemoteFortressReader";
1647 fn full_name() -> ::prost::alloc::string::String {
1648 "RemoteFortressReader.ScreenTile".into()
1649 }
1650 fn type_url() -> ::prost::alloc::string::String {
1651 "/RemoteFortressReader.ScreenTile".into()
1652 }
1653}
1654#[derive(serde::Serialize)]
1655#[derive(Clone, PartialEq, ::prost::Message)]
1656pub struct ScreenCapture {
1657 #[prost(uint32, optional, tag = "1")]
1658 pub width: ::core::option::Option<u32>,
1659 #[prost(uint32, optional, tag = "2")]
1660 pub height: ::core::option::Option<u32>,
1661 #[prost(message, repeated, tag = "3")]
1662 pub tiles: ::prost::alloc::vec::Vec<ScreenTile>,
1663}
1664impl ::prost::Name for ScreenCapture {
1665 const NAME: &'static str = "ScreenCapture";
1666 const PACKAGE: &'static str = "RemoteFortressReader";
1667 fn full_name() -> ::prost::alloc::string::String {
1668 "RemoteFortressReader.ScreenCapture".into()
1669 }
1670 fn type_url() -> ::prost::alloc::string::String {
1671 "/RemoteFortressReader.ScreenCapture".into()
1672 }
1673}
1674#[derive(serde::Serialize)]
1675#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1676pub struct KeyboardEvent {
1677 #[prost(uint32, optional, tag = "1")]
1678 pub r#type: ::core::option::Option<u32>,
1679 #[prost(uint32, optional, tag = "2")]
1680 pub which: ::core::option::Option<u32>,
1681 #[prost(uint32, optional, tag = "3")]
1682 pub state: ::core::option::Option<u32>,
1683 #[prost(uint32, optional, tag = "4")]
1684 pub scancode: ::core::option::Option<u32>,
1685 #[prost(uint32, optional, tag = "5")]
1686 pub sym: ::core::option::Option<u32>,
1687 #[prost(uint32, optional, tag = "6")]
1688 pub r#mod: ::core::option::Option<u32>,
1689 #[prost(uint32, optional, tag = "7")]
1690 pub unicode: ::core::option::Option<u32>,
1691}
1692impl ::prost::Name for KeyboardEvent {
1693 const NAME: &'static str = "KeyboardEvent";
1694 const PACKAGE: &'static str = "RemoteFortressReader";
1695 fn full_name() -> ::prost::alloc::string::String {
1696 "RemoteFortressReader.KeyboardEvent".into()
1697 }
1698 fn type_url() -> ::prost::alloc::string::String {
1699 "/RemoteFortressReader.KeyboardEvent".into()
1700 }
1701}
1702#[derive(serde::Serialize)]
1703#[derive(Clone, PartialEq, ::prost::Message)]
1704pub struct DigCommand {
1705 #[prost(enumeration = "TileDigDesignation", optional, tag = "1")]
1706 pub designation: ::core::option::Option<i32>,
1707 #[prost(message, repeated, tag = "2")]
1708 pub locations: ::prost::alloc::vec::Vec<Coord>,
1709}
1710impl ::prost::Name for DigCommand {
1711 const NAME: &'static str = "DigCommand";
1712 const PACKAGE: &'static str = "RemoteFortressReader";
1713 fn full_name() -> ::prost::alloc::string::String {
1714 "RemoteFortressReader.DigCommand".into()
1715 }
1716 fn type_url() -> ::prost::alloc::string::String {
1717 "/RemoteFortressReader.DigCommand".into()
1718 }
1719}
1720#[derive(serde::Serialize)]
1721#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1722pub struct SingleBool {
1723 #[prost(bool, optional, tag = "1")]
1724 pub value: ::core::option::Option<bool>,
1725}
1726impl ::prost::Name for SingleBool {
1727 const NAME: &'static str = "SingleBool";
1728 const PACKAGE: &'static str = "RemoteFortressReader";
1729 fn full_name() -> ::prost::alloc::string::String {
1730 "RemoteFortressReader.SingleBool".into()
1731 }
1732 fn type_url() -> ::prost::alloc::string::String {
1733 "/RemoteFortressReader.SingleBool".into()
1734 }
1735}
1736#[derive(serde::Serialize)]
1737#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1738pub struct VersionInfo {
1739 #[prost(string, optional, tag = "1")]
1740 pub dwarf_fortress_version: ::core::option::Option<::prost::alloc::string::String>,
1741 #[prost(string, optional, tag = "2")]
1742 pub dfhack_version: ::core::option::Option<::prost::alloc::string::String>,
1743 #[prost(string, optional, tag = "3")]
1744 pub remote_fortress_reader_version: ::core::option::Option<
1745 ::prost::alloc::string::String,
1746 >,
1747}
1748impl ::prost::Name for VersionInfo {
1749 const NAME: &'static str = "VersionInfo";
1750 const PACKAGE: &'static str = "RemoteFortressReader";
1751 fn full_name() -> ::prost::alloc::string::String {
1752 "RemoteFortressReader.VersionInfo".into()
1753 }
1754 fn type_url() -> ::prost::alloc::string::String {
1755 "/RemoteFortressReader.VersionInfo".into()
1756 }
1757}
1758#[derive(serde::Serialize)]
1759#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1760pub struct ListRequest {
1761 #[prost(int32, optional, tag = "1")]
1762 pub list_start: ::core::option::Option<i32>,
1763 #[prost(int32, optional, tag = "2")]
1764 pub list_end: ::core::option::Option<i32>,
1765}
1766impl ::prost::Name for ListRequest {
1767 const NAME: &'static str = "ListRequest";
1768 const PACKAGE: &'static str = "RemoteFortressReader";
1769 fn full_name() -> ::prost::alloc::string::String {
1770 "RemoteFortressReader.ListRequest".into()
1771 }
1772 fn type_url() -> ::prost::alloc::string::String {
1773 "/RemoteFortressReader.ListRequest".into()
1774 }
1775}
1776#[derive(serde::Serialize)]
1777#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1778pub struct Report {
1779 #[prost(int32, optional, tag = "1")]
1780 pub r#type: ::core::option::Option<i32>,
1781 #[prost(string, optional, tag = "2")]
1782 pub text: ::core::option::Option<::prost::alloc::string::String>,
1783 #[prost(message, optional, tag = "3")]
1784 pub color: ::core::option::Option<ColorDefinition>,
1785 #[prost(int32, optional, tag = "4")]
1786 pub duration: ::core::option::Option<i32>,
1787 #[prost(bool, optional, tag = "5")]
1788 pub continuation: ::core::option::Option<bool>,
1789 #[prost(bool, optional, tag = "6")]
1790 pub unconscious: ::core::option::Option<bool>,
1791 #[prost(bool, optional, tag = "7")]
1792 pub announcement: ::core::option::Option<bool>,
1793 #[prost(int32, optional, tag = "8")]
1794 pub repeat_count: ::core::option::Option<i32>,
1795 #[prost(message, optional, tag = "9")]
1796 pub pos: ::core::option::Option<Coord>,
1797 #[prost(int32, optional, tag = "10")]
1798 pub id: ::core::option::Option<i32>,
1799 #[prost(int32, optional, tag = "11")]
1800 pub year: ::core::option::Option<i32>,
1801 #[prost(int32, optional, tag = "12")]
1802 pub time: ::core::option::Option<i32>,
1803}
1804impl ::prost::Name for Report {
1805 const NAME: &'static str = "Report";
1806 const PACKAGE: &'static str = "RemoteFortressReader";
1807 fn full_name() -> ::prost::alloc::string::String {
1808 "RemoteFortressReader.Report".into()
1809 }
1810 fn type_url() -> ::prost::alloc::string::String {
1811 "/RemoteFortressReader.Report".into()
1812 }
1813}
1814#[derive(serde::Serialize)]
1815#[derive(Clone, PartialEq, ::prost::Message)]
1816pub struct Status {
1817 #[prost(message, repeated, tag = "1")]
1818 pub reports: ::prost::alloc::vec::Vec<Report>,
1819}
1820impl ::prost::Name for Status {
1821 const NAME: &'static str = "Status";
1822 const PACKAGE: &'static str = "RemoteFortressReader";
1823 fn full_name() -> ::prost::alloc::string::String {
1824 "RemoteFortressReader.Status".into()
1825 }
1826 fn type_url() -> ::prost::alloc::string::String {
1827 "/RemoteFortressReader.Status".into()
1828 }
1829}
1830#[derive(serde::Serialize)]
1831#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1832pub struct ShapeDescriptior {
1833 #[prost(string, optional, tag = "1")]
1834 pub id: ::core::option::Option<::prost::alloc::string::String>,
1835 #[prost(int32, optional, tag = "2")]
1836 pub tile: ::core::option::Option<i32>,
1837}
1838impl ::prost::Name for ShapeDescriptior {
1839 const NAME: &'static str = "ShapeDescriptior";
1840 const PACKAGE: &'static str = "RemoteFortressReader";
1841 fn full_name() -> ::prost::alloc::string::String {
1842 "RemoteFortressReader.ShapeDescriptior".into()
1843 }
1844 fn type_url() -> ::prost::alloc::string::String {
1845 "/RemoteFortressReader.ShapeDescriptior".into()
1846 }
1847}
1848#[derive(serde::Serialize)]
1849#[derive(Clone, PartialEq, ::prost::Message)]
1850pub struct Language {
1851 #[prost(message, repeated, tag = "1")]
1852 pub shapes: ::prost::alloc::vec::Vec<ShapeDescriptior>,
1853}
1854impl ::prost::Name for Language {
1855 const NAME: &'static str = "Language";
1856 const PACKAGE: &'static str = "RemoteFortressReader";
1857 fn full_name() -> ::prost::alloc::string::String {
1858 "RemoteFortressReader.Language".into()
1859 }
1860 fn type_url() -> ::prost::alloc::string::String {
1861 "/RemoteFortressReader.Language".into()
1862 }
1863}
1864#[derive(serde::Serialize)]
1865#[derive(Clone, PartialEq, ::prost::Message)]
1866pub struct ItemImprovement {
1867 #[prost(message, optional, tag = "1")]
1868 pub material: ::core::option::Option<MatPair>,
1869 #[prost(int32, optional, tag = "3")]
1870 pub shape: ::core::option::Option<i32>,
1871 #[prost(int32, optional, tag = "4")]
1872 pub specific_type: ::core::option::Option<i32>,
1873 #[prost(message, optional, tag = "5")]
1874 pub image: ::core::option::Option<ArtImage>,
1875 #[prost(int32, optional, tag = "6")]
1876 pub r#type: ::core::option::Option<i32>,
1877}
1878impl ::prost::Name for ItemImprovement {
1879 const NAME: &'static str = "ItemImprovement";
1880 const PACKAGE: &'static str = "RemoteFortressReader";
1881 fn full_name() -> ::prost::alloc::string::String {
1882 "RemoteFortressReader.ItemImprovement".into()
1883 }
1884 fn type_url() -> ::prost::alloc::string::String {
1885 "/RemoteFortressReader.ItemImprovement".into()
1886 }
1887}
1888#[derive(serde::Serialize)]
1889#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1890pub struct ArtImageElement {
1891 #[prost(int32, optional, tag = "1")]
1892 pub count: ::core::option::Option<i32>,
1893 #[prost(enumeration = "ArtImageElementType", optional, tag = "2")]
1894 pub r#type: ::core::option::Option<i32>,
1895 #[prost(message, optional, tag = "3")]
1896 pub creature_item: ::core::option::Option<MatPair>,
1897 #[prost(message, optional, tag = "5")]
1898 pub material: ::core::option::Option<MatPair>,
1899 #[prost(int32, optional, tag = "6")]
1900 pub id: ::core::option::Option<i32>,
1901}
1902impl ::prost::Name for ArtImageElement {
1903 const NAME: &'static str = "ArtImageElement";
1904 const PACKAGE: &'static str = "RemoteFortressReader";
1905 fn full_name() -> ::prost::alloc::string::String {
1906 "RemoteFortressReader.ArtImageElement".into()
1907 }
1908 fn type_url() -> ::prost::alloc::string::String {
1909 "/RemoteFortressReader.ArtImageElement".into()
1910 }
1911}
1912#[derive(serde::Serialize)]
1913#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1914pub struct ArtImageProperty {
1915 #[prost(int32, optional, tag = "1")]
1916 pub subject: ::core::option::Option<i32>,
1917 #[prost(int32, optional, tag = "2")]
1918 pub object: ::core::option::Option<i32>,
1919 #[prost(enumeration = "ArtImageVerb", optional, tag = "3")]
1920 pub verb: ::core::option::Option<i32>,
1921 #[prost(enumeration = "ArtImagePropertyType", optional, tag = "4")]
1922 pub r#type: ::core::option::Option<i32>,
1923}
1924impl ::prost::Name for ArtImageProperty {
1925 const NAME: &'static str = "ArtImageProperty";
1926 const PACKAGE: &'static str = "RemoteFortressReader";
1927 fn full_name() -> ::prost::alloc::string::String {
1928 "RemoteFortressReader.ArtImageProperty".into()
1929 }
1930 fn type_url() -> ::prost::alloc::string::String {
1931 "/RemoteFortressReader.ArtImageProperty".into()
1932 }
1933}
1934#[derive(serde::Serialize)]
1935#[derive(Clone, PartialEq, ::prost::Message)]
1936pub struct ArtImage {
1937 #[prost(message, repeated, tag = "1")]
1938 pub elements: ::prost::alloc::vec::Vec<ArtImageElement>,
1939 #[prost(message, optional, tag = "2")]
1940 pub id: ::core::option::Option<MatPair>,
1941 #[prost(message, repeated, tag = "3")]
1942 pub properties: ::prost::alloc::vec::Vec<ArtImageProperty>,
1943}
1944impl ::prost::Name for ArtImage {
1945 const NAME: &'static str = "ArtImage";
1946 const PACKAGE: &'static str = "RemoteFortressReader";
1947 fn full_name() -> ::prost::alloc::string::String {
1948 "RemoteFortressReader.ArtImage".into()
1949 }
1950 fn type_url() -> ::prost::alloc::string::String {
1951 "/RemoteFortressReader.ArtImage".into()
1952 }
1953}
1954#[derive(serde::Serialize)]
1955#[derive(Clone, PartialEq, ::prost::Message)]
1956pub struct Engraving {
1957 #[prost(message, optional, tag = "1")]
1958 pub pos: ::core::option::Option<Coord>,
1959 #[prost(int32, optional, tag = "2")]
1960 pub quality: ::core::option::Option<i32>,
1961 #[prost(int32, optional, tag = "3")]
1962 pub tile: ::core::option::Option<i32>,
1963 #[prost(message, optional, tag = "4")]
1964 pub image: ::core::option::Option<ArtImage>,
1965 #[prost(bool, optional, tag = "5")]
1966 pub floor: ::core::option::Option<bool>,
1967 #[prost(bool, optional, tag = "6")]
1968 pub west: ::core::option::Option<bool>,
1969 #[prost(bool, optional, tag = "7")]
1970 pub east: ::core::option::Option<bool>,
1971 #[prost(bool, optional, tag = "8")]
1972 pub north: ::core::option::Option<bool>,
1973 #[prost(bool, optional, tag = "9")]
1974 pub south: ::core::option::Option<bool>,
1975 #[prost(bool, optional, tag = "10")]
1976 pub hidden: ::core::option::Option<bool>,
1977 #[prost(bool, optional, tag = "11")]
1978 pub northwest: ::core::option::Option<bool>,
1979 #[prost(bool, optional, tag = "12")]
1980 pub northeast: ::core::option::Option<bool>,
1981 #[prost(bool, optional, tag = "13")]
1982 pub southwest: ::core::option::Option<bool>,
1983 #[prost(bool, optional, tag = "14")]
1984 pub southeast: ::core::option::Option<bool>,
1985}
1986impl ::prost::Name for Engraving {
1987 const NAME: &'static str = "Engraving";
1988 const PACKAGE: &'static str = "RemoteFortressReader";
1989 fn full_name() -> ::prost::alloc::string::String {
1990 "RemoteFortressReader.Engraving".into()
1991 }
1992 fn type_url() -> ::prost::alloc::string::String {
1993 "/RemoteFortressReader.Engraving".into()
1994 }
1995}
1996#[derive(serde::Serialize)]
1997#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1998pub struct FlowInfo {
1999 #[prost(int32, optional, tag = "1")]
2000 pub index: ::core::option::Option<i32>,
2001 #[prost(enumeration = "FlowType", optional, tag = "2")]
2002 pub r#type: ::core::option::Option<i32>,
2003 #[prost(int32, optional, tag = "3")]
2004 pub density: ::core::option::Option<i32>,
2005 #[prost(message, optional, tag = "4")]
2006 pub pos: ::core::option::Option<Coord>,
2007 #[prost(message, optional, tag = "5")]
2008 pub dest: ::core::option::Option<Coord>,
2009 #[prost(bool, optional, tag = "6")]
2010 pub expanding: ::core::option::Option<bool>,
2011 #[deprecated]
2012 #[prost(bool, optional, tag = "7")]
2013 pub reuse: ::core::option::Option<bool>,
2014 #[prost(int32, optional, tag = "8")]
2015 pub guide_id: ::core::option::Option<i32>,
2016 #[prost(message, optional, tag = "9")]
2017 pub material: ::core::option::Option<MatPair>,
2018 #[prost(message, optional, tag = "10")]
2019 pub item: ::core::option::Option<MatPair>,
2020 #[prost(bool, optional, tag = "11")]
2021 pub dead: ::core::option::Option<bool>,
2022 #[prost(bool, optional, tag = "12")]
2023 pub fast: ::core::option::Option<bool>,
2024 #[prost(bool, optional, tag = "13")]
2025 pub creeping: ::core::option::Option<bool>,
2026}
2027impl ::prost::Name for FlowInfo {
2028 const NAME: &'static str = "FlowInfo";
2029 const PACKAGE: &'static str = "RemoteFortressReader";
2030 fn full_name() -> ::prost::alloc::string::String {
2031 "RemoteFortressReader.FlowInfo".into()
2032 }
2033 fn type_url() -> ::prost::alloc::string::String {
2034 "/RemoteFortressReader.FlowInfo".into()
2035 }
2036}
2037#[derive(serde::Serialize)]
2038#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
2039pub struct Wave {
2040 #[prost(message, optional, tag = "1")]
2041 pub dest: ::core::option::Option<Coord>,
2042 #[prost(message, optional, tag = "2")]
2043 pub pos: ::core::option::Option<Coord>,
2044}
2045impl ::prost::Name for Wave {
2046 const NAME: &'static str = "Wave";
2047 const PACKAGE: &'static str = "RemoteFortressReader";
2048 fn full_name() -> ::prost::alloc::string::String {
2049 "RemoteFortressReader.Wave".into()
2050 }
2051 fn type_url() -> ::prost::alloc::string::String {
2052 "/RemoteFortressReader.Wave".into()
2053 }
2054}
2055#[derive(serde::Serialize)]
2057#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2058#[repr(i32)]
2059pub enum TiletypeShape {
2060 NoShape = -1,
2061 Empty = 0,
2062 Floor = 1,
2063 Boulder = 2,
2064 Pebbles = 3,
2065 Wall = 4,
2066 Fortification = 5,
2067 StairUp = 6,
2068 StairDown = 7,
2069 StairUpdown = 8,
2070 Ramp = 9,
2071 RampTop = 10,
2072 BrookBed = 11,
2073 BrookTop = 12,
2074 TreeShape = 13,
2075 Sapling = 14,
2076 Shrub = 15,
2077 EndlessPit = 16,
2078 Branch = 17,
2079 TrunkBranch = 18,
2080 Twig = 19,
2081}
2082impl TiletypeShape {
2083 pub fn as_str_name(&self) -> &'static str {
2088 match self {
2089 Self::NoShape => "NO_SHAPE",
2090 Self::Empty => "EMPTY",
2091 Self::Floor => "FLOOR",
2092 Self::Boulder => "BOULDER",
2093 Self::Pebbles => "PEBBLES",
2094 Self::Wall => "WALL",
2095 Self::Fortification => "FORTIFICATION",
2096 Self::StairUp => "STAIR_UP",
2097 Self::StairDown => "STAIR_DOWN",
2098 Self::StairUpdown => "STAIR_UPDOWN",
2099 Self::Ramp => "RAMP",
2100 Self::RampTop => "RAMP_TOP",
2101 Self::BrookBed => "BROOK_BED",
2102 Self::BrookTop => "BROOK_TOP",
2103 Self::TreeShape => "TREE_SHAPE",
2104 Self::Sapling => "SAPLING",
2105 Self::Shrub => "SHRUB",
2106 Self::EndlessPit => "ENDLESS_PIT",
2107 Self::Branch => "BRANCH",
2108 Self::TrunkBranch => "TRUNK_BRANCH",
2109 Self::Twig => "TWIG",
2110 }
2111 }
2112 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2114 match value {
2115 "NO_SHAPE" => Some(Self::NoShape),
2116 "EMPTY" => Some(Self::Empty),
2117 "FLOOR" => Some(Self::Floor),
2118 "BOULDER" => Some(Self::Boulder),
2119 "PEBBLES" => Some(Self::Pebbles),
2120 "WALL" => Some(Self::Wall),
2121 "FORTIFICATION" => Some(Self::Fortification),
2122 "STAIR_UP" => Some(Self::StairUp),
2123 "STAIR_DOWN" => Some(Self::StairDown),
2124 "STAIR_UPDOWN" => Some(Self::StairUpdown),
2125 "RAMP" => Some(Self::Ramp),
2126 "RAMP_TOP" => Some(Self::RampTop),
2127 "BROOK_BED" => Some(Self::BrookBed),
2128 "BROOK_TOP" => Some(Self::BrookTop),
2129 "TREE_SHAPE" => Some(Self::TreeShape),
2130 "SAPLING" => Some(Self::Sapling),
2131 "SHRUB" => Some(Self::Shrub),
2132 "ENDLESS_PIT" => Some(Self::EndlessPit),
2133 "BRANCH" => Some(Self::Branch),
2134 "TRUNK_BRANCH" => Some(Self::TrunkBranch),
2135 "TWIG" => Some(Self::Twig),
2136 _ => None,
2137 }
2138 }
2139}
2140#[derive(serde::Serialize)]
2141#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2142#[repr(i32)]
2143pub enum TiletypeSpecial {
2144 NoSpecial = -1,
2145 Normal = 0,
2146 RiverSource = 1,
2147 Waterfall = 2,
2148 Smooth = 3,
2149 Furrowed = 4,
2150 Wet = 5,
2151 Dead = 6,
2152 Worn1 = 7,
2153 Worn2 = 8,
2154 Worn3 = 9,
2155 Track = 10,
2156 SmoothDead = 11,
2157}
2158impl TiletypeSpecial {
2159 pub fn as_str_name(&self) -> &'static str {
2164 match self {
2165 Self::NoSpecial => "NO_SPECIAL",
2166 Self::Normal => "NORMAL",
2167 Self::RiverSource => "RIVER_SOURCE",
2168 Self::Waterfall => "WATERFALL",
2169 Self::Smooth => "SMOOTH",
2170 Self::Furrowed => "FURROWED",
2171 Self::Wet => "WET",
2172 Self::Dead => "DEAD",
2173 Self::Worn1 => "WORN_1",
2174 Self::Worn2 => "WORN_2",
2175 Self::Worn3 => "WORN_3",
2176 Self::Track => "TRACK",
2177 Self::SmoothDead => "SMOOTH_DEAD",
2178 }
2179 }
2180 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2182 match value {
2183 "NO_SPECIAL" => Some(Self::NoSpecial),
2184 "NORMAL" => Some(Self::Normal),
2185 "RIVER_SOURCE" => Some(Self::RiverSource),
2186 "WATERFALL" => Some(Self::Waterfall),
2187 "SMOOTH" => Some(Self::Smooth),
2188 "FURROWED" => Some(Self::Furrowed),
2189 "WET" => Some(Self::Wet),
2190 "DEAD" => Some(Self::Dead),
2191 "WORN_1" => Some(Self::Worn1),
2192 "WORN_2" => Some(Self::Worn2),
2193 "WORN_3" => Some(Self::Worn3),
2194 "TRACK" => Some(Self::Track),
2195 "SMOOTH_DEAD" => Some(Self::SmoothDead),
2196 _ => None,
2197 }
2198 }
2199}
2200#[derive(serde::Serialize)]
2201#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2202#[repr(i32)]
2203pub enum TiletypeMaterial {
2204 NoMaterial = -1,
2205 Air = 0,
2206 Soil = 1,
2207 Stone = 2,
2208 Feature = 3,
2209 LavaStone = 4,
2210 Mineral = 5,
2211 FrozenLiquid = 6,
2212 Construction = 7,
2213 GrassLight = 8,
2214 GrassDark = 9,
2215 GrassDry = 10,
2216 GrassDead = 11,
2217 Plant = 12,
2218 Hfs = 13,
2219 Campfire = 14,
2220 Fire = 15,
2221 Ashes = 16,
2222 Magma = 17,
2223 Driftwood = 18,
2224 Pool = 19,
2225 Brook = 20,
2226 River = 21,
2227 Root = 22,
2228 TreeMaterial = 23,
2229 Mushroom = 24,
2230 UnderworldGate = 25,
2231}
2232impl TiletypeMaterial {
2233 pub fn as_str_name(&self) -> &'static str {
2238 match self {
2239 Self::NoMaterial => "NO_MATERIAL",
2240 Self::Air => "AIR",
2241 Self::Soil => "SOIL",
2242 Self::Stone => "STONE",
2243 Self::Feature => "FEATURE",
2244 Self::LavaStone => "LAVA_STONE",
2245 Self::Mineral => "MINERAL",
2246 Self::FrozenLiquid => "FROZEN_LIQUID",
2247 Self::Construction => "CONSTRUCTION",
2248 Self::GrassLight => "GRASS_LIGHT",
2249 Self::GrassDark => "GRASS_DARK",
2250 Self::GrassDry => "GRASS_DRY",
2251 Self::GrassDead => "GRASS_DEAD",
2252 Self::Plant => "PLANT",
2253 Self::Hfs => "HFS",
2254 Self::Campfire => "CAMPFIRE",
2255 Self::Fire => "FIRE",
2256 Self::Ashes => "ASHES",
2257 Self::Magma => "MAGMA",
2258 Self::Driftwood => "DRIFTWOOD",
2259 Self::Pool => "POOL",
2260 Self::Brook => "BROOK",
2261 Self::River => "RIVER",
2262 Self::Root => "ROOT",
2263 Self::TreeMaterial => "TREE_MATERIAL",
2264 Self::Mushroom => "MUSHROOM",
2265 Self::UnderworldGate => "UNDERWORLD_GATE",
2266 }
2267 }
2268 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2270 match value {
2271 "NO_MATERIAL" => Some(Self::NoMaterial),
2272 "AIR" => Some(Self::Air),
2273 "SOIL" => Some(Self::Soil),
2274 "STONE" => Some(Self::Stone),
2275 "FEATURE" => Some(Self::Feature),
2276 "LAVA_STONE" => Some(Self::LavaStone),
2277 "MINERAL" => Some(Self::Mineral),
2278 "FROZEN_LIQUID" => Some(Self::FrozenLiquid),
2279 "CONSTRUCTION" => Some(Self::Construction),
2280 "GRASS_LIGHT" => Some(Self::GrassLight),
2281 "GRASS_DARK" => Some(Self::GrassDark),
2282 "GRASS_DRY" => Some(Self::GrassDry),
2283 "GRASS_DEAD" => Some(Self::GrassDead),
2284 "PLANT" => Some(Self::Plant),
2285 "HFS" => Some(Self::Hfs),
2286 "CAMPFIRE" => Some(Self::Campfire),
2287 "FIRE" => Some(Self::Fire),
2288 "ASHES" => Some(Self::Ashes),
2289 "MAGMA" => Some(Self::Magma),
2290 "DRIFTWOOD" => Some(Self::Driftwood),
2291 "POOL" => Some(Self::Pool),
2292 "BROOK" => Some(Self::Brook),
2293 "RIVER" => Some(Self::River),
2294 "ROOT" => Some(Self::Root),
2295 "TREE_MATERIAL" => Some(Self::TreeMaterial),
2296 "MUSHROOM" => Some(Self::Mushroom),
2297 "UNDERWORLD_GATE" => Some(Self::UnderworldGate),
2298 _ => None,
2299 }
2300 }
2301}
2302#[derive(serde::Serialize)]
2303#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2304#[repr(i32)]
2305pub enum TiletypeVariant {
2306 NoVariant = -1,
2307 Var1 = 0,
2308 Var2 = 1,
2309 Var3 = 2,
2310 Var4 = 3,
2311}
2312impl TiletypeVariant {
2313 pub fn as_str_name(&self) -> &'static str {
2318 match self {
2319 Self::NoVariant => "NO_VARIANT",
2320 Self::Var1 => "VAR_1",
2321 Self::Var2 => "VAR_2",
2322 Self::Var3 => "VAR_3",
2323 Self::Var4 => "VAR_4",
2324 }
2325 }
2326 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2328 match value {
2329 "NO_VARIANT" => Some(Self::NoVariant),
2330 "VAR_1" => Some(Self::Var1),
2331 "VAR_2" => Some(Self::Var2),
2332 "VAR_3" => Some(Self::Var3),
2333 "VAR_4" => Some(Self::Var4),
2334 _ => None,
2335 }
2336 }
2337}
2338#[derive(serde::Serialize)]
2339#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2340#[repr(i32)]
2341pub enum WorldPoles {
2342 NoPoles = 0,
2343 NorthPole = 1,
2344 SouthPole = 2,
2345 BothPoles = 3,
2346}
2347impl WorldPoles {
2348 pub fn as_str_name(&self) -> &'static str {
2353 match self {
2354 Self::NoPoles => "NO_POLES",
2355 Self::NorthPole => "NORTH_POLE",
2356 Self::SouthPole => "SOUTH_POLE",
2357 Self::BothPoles => "BOTH_POLES",
2358 }
2359 }
2360 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2362 match value {
2363 "NO_POLES" => Some(Self::NoPoles),
2364 "NORTH_POLE" => Some(Self::NorthPole),
2365 "SOUTH_POLE" => Some(Self::SouthPole),
2366 "BOTH_POLES" => Some(Self::BothPoles),
2367 _ => None,
2368 }
2369 }
2370}
2371#[derive(serde::Serialize)]
2372#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2373#[repr(i32)]
2374pub enum BuildingDirection {
2375 North = 0,
2376 East = 1,
2377 South = 2,
2378 West = 3,
2379 Northeast = 4,
2380 Southeast = 5,
2381 Southwest = 6,
2382 Northwest = 7,
2383 None = 8,
2384}
2385impl BuildingDirection {
2386 pub fn as_str_name(&self) -> &'static str {
2391 match self {
2392 Self::North => "NORTH",
2393 Self::East => "EAST",
2394 Self::South => "SOUTH",
2395 Self::West => "WEST",
2396 Self::Northeast => "NORTHEAST",
2397 Self::Southeast => "SOUTHEAST",
2398 Self::Southwest => "SOUTHWEST",
2399 Self::Northwest => "NORTHWEST",
2400 Self::None => "NONE",
2401 }
2402 }
2403 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2405 match value {
2406 "NORTH" => Some(Self::North),
2407 "EAST" => Some(Self::East),
2408 "SOUTH" => Some(Self::South),
2409 "WEST" => Some(Self::West),
2410 "NORTHEAST" => Some(Self::Northeast),
2411 "SOUTHEAST" => Some(Self::Southeast),
2412 "SOUTHWEST" => Some(Self::Southwest),
2413 "NORTHWEST" => Some(Self::Northwest),
2414 "NONE" => Some(Self::None),
2415 _ => None,
2416 }
2417 }
2418}
2419#[derive(serde::Serialize)]
2420#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2421#[repr(i32)]
2422pub enum TileDigDesignation {
2423 NoDig = 0,
2426 DefaultDig = 1,
2429 UpDownStairDig = 2,
2430 ChannelDig = 3,
2431 RampDig = 4,
2432 DownStairDig = 5,
2433 UpStairDig = 6,
2434}
2435impl TileDigDesignation {
2436 pub fn as_str_name(&self) -> &'static str {
2441 match self {
2442 Self::NoDig => "NO_DIG",
2443 Self::DefaultDig => "DEFAULT_DIG",
2444 Self::UpDownStairDig => "UP_DOWN_STAIR_DIG",
2445 Self::ChannelDig => "CHANNEL_DIG",
2446 Self::RampDig => "RAMP_DIG",
2447 Self::DownStairDig => "DOWN_STAIR_DIG",
2448 Self::UpStairDig => "UP_STAIR_DIG",
2449 }
2450 }
2451 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2453 match value {
2454 "NO_DIG" => Some(Self::NoDig),
2455 "DEFAULT_DIG" => Some(Self::DefaultDig),
2456 "UP_DOWN_STAIR_DIG" => Some(Self::UpDownStairDig),
2457 "CHANNEL_DIG" => Some(Self::ChannelDig),
2458 "RAMP_DIG" => Some(Self::RampDig),
2459 "DOWN_STAIR_DIG" => Some(Self::DownStairDig),
2460 "UP_STAIR_DIG" => Some(Self::UpStairDig),
2461 _ => None,
2462 }
2463 }
2464}
2465#[derive(serde::Serialize)]
2466#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2467#[repr(i32)]
2468pub enum HairStyle {
2469 Unkempt = -1,
2470 NeatlyCombed = 0,
2471 Braided = 1,
2472 DoubleBraid = 2,
2473 PonyTails = 3,
2474 CleanShaven = 4,
2475}
2476impl HairStyle {
2477 pub fn as_str_name(&self) -> &'static str {
2482 match self {
2483 Self::Unkempt => "UNKEMPT",
2484 Self::NeatlyCombed => "NEATLY_COMBED",
2485 Self::Braided => "BRAIDED",
2486 Self::DoubleBraid => "DOUBLE_BRAID",
2487 Self::PonyTails => "PONY_TAILS",
2488 Self::CleanShaven => "CLEAN_SHAVEN",
2489 }
2490 }
2491 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2493 match value {
2494 "UNKEMPT" => Some(Self::Unkempt),
2495 "NEATLY_COMBED" => Some(Self::NeatlyCombed),
2496 "BRAIDED" => Some(Self::Braided),
2497 "DOUBLE_BRAID" => Some(Self::DoubleBraid),
2498 "PONY_TAILS" => Some(Self::PonyTails),
2499 "CLEAN_SHAVEN" => Some(Self::CleanShaven),
2500 _ => None,
2501 }
2502 }
2503}
2504#[derive(serde::Serialize)]
2505#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2506#[repr(i32)]
2507pub enum InventoryMode {
2508 Hauled = 0,
2509 Weapon = 1,
2512 Worn = 2,
2515 Piercing = 3,
2516 Flask = 4,
2519 WrappedAround = 5,
2522 StuckIn = 6,
2523 InMouth = 7,
2526 Pet = 8,
2529 SewnInto = 9,
2530 Strapped = 10,
2531}
2532impl InventoryMode {
2533 pub fn as_str_name(&self) -> &'static str {
2538 match self {
2539 Self::Hauled => "Hauled",
2540 Self::Weapon => "Weapon",
2541 Self::Worn => "Worn",
2542 Self::Piercing => "Piercing",
2543 Self::Flask => "Flask",
2544 Self::WrappedAround => "WrappedAround",
2545 Self::StuckIn => "StuckIn",
2546 Self::InMouth => "InMouth",
2547 Self::Pet => "Pet",
2548 Self::SewnInto => "SewnInto",
2549 Self::Strapped => "Strapped",
2550 }
2551 }
2552 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2554 match value {
2555 "Hauled" => Some(Self::Hauled),
2556 "Weapon" => Some(Self::Weapon),
2557 "Worn" => Some(Self::Worn),
2558 "Piercing" => Some(Self::Piercing),
2559 "Flask" => Some(Self::Flask),
2560 "WrappedAround" => Some(Self::WrappedAround),
2561 "StuckIn" => Some(Self::StuckIn),
2562 "InMouth" => Some(Self::InMouth),
2563 "Pet" => Some(Self::Pet),
2564 "SewnInto" => Some(Self::SewnInto),
2565 "Strapped" => Some(Self::Strapped),
2566 _ => None,
2567 }
2568 }
2569}
2570#[derive(serde::Serialize)]
2571#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2572#[repr(i32)]
2573pub enum ArmorLayer {
2574 LayerUnder = 0,
2575 LayerOver = 1,
2576 LayerArmor = 2,
2577 LayerCover = 3,
2578}
2579impl ArmorLayer {
2580 pub fn as_str_name(&self) -> &'static str {
2585 match self {
2586 Self::LayerUnder => "LAYER_UNDER",
2587 Self::LayerOver => "LAYER_OVER",
2588 Self::LayerArmor => "LAYER_ARMOR",
2589 Self::LayerCover => "LAYER_COVER",
2590 }
2591 }
2592 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2594 match value {
2595 "LAYER_UNDER" => Some(Self::LayerUnder),
2596 "LAYER_OVER" => Some(Self::LayerOver),
2597 "LAYER_ARMOR" => Some(Self::LayerArmor),
2598 "LAYER_COVER" => Some(Self::LayerCover),
2599 _ => None,
2600 }
2601 }
2602}
2603#[derive(serde::Serialize)]
2604#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2605#[repr(i32)]
2606pub enum MatterState {
2607 Solid = 0,
2608 Liquid = 1,
2609 Gas = 2,
2610 Powder = 3,
2611 Paste = 4,
2612 Pressed = 5,
2613}
2614impl MatterState {
2615 pub fn as_str_name(&self) -> &'static str {
2620 match self {
2621 Self::Solid => "Solid",
2622 Self::Liquid => "Liquid",
2623 Self::Gas => "Gas",
2624 Self::Powder => "Powder",
2625 Self::Paste => "Paste",
2626 Self::Pressed => "Pressed",
2627 }
2628 }
2629 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2631 match value {
2632 "Solid" => Some(Self::Solid),
2633 "Liquid" => Some(Self::Liquid),
2634 "Gas" => Some(Self::Gas),
2635 "Powder" => Some(Self::Powder),
2636 "Paste" => Some(Self::Paste),
2637 "Pressed" => Some(Self::Pressed),
2638 _ => None,
2639 }
2640 }
2641}
2642#[derive(serde::Serialize)]
2643#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2644#[repr(i32)]
2645pub enum FrontType {
2646 FrontNone = 0,
2647 FrontWarm = 1,
2648 FrontCold = 2,
2649 FrontOccluded = 3,
2650}
2651impl FrontType {
2652 pub fn as_str_name(&self) -> &'static str {
2657 match self {
2658 Self::FrontNone => "FRONT_NONE",
2659 Self::FrontWarm => "FRONT_WARM",
2660 Self::FrontCold => "FRONT_COLD",
2661 Self::FrontOccluded => "FRONT_OCCLUDED",
2662 }
2663 }
2664 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2666 match value {
2667 "FRONT_NONE" => Some(Self::FrontNone),
2668 "FRONT_WARM" => Some(Self::FrontWarm),
2669 "FRONT_COLD" => Some(Self::FrontCold),
2670 "FRONT_OCCLUDED" => Some(Self::FrontOccluded),
2671 _ => None,
2672 }
2673 }
2674}
2675#[derive(serde::Serialize)]
2676#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2677#[repr(i32)]
2678pub enum CumulusType {
2679 CumulusNone = 0,
2680 CumulusMedium = 1,
2681 CumulusMulti = 2,
2682 CumulusNimbus = 3,
2683}
2684impl CumulusType {
2685 pub fn as_str_name(&self) -> &'static str {
2690 match self {
2691 Self::CumulusNone => "CUMULUS_NONE",
2692 Self::CumulusMedium => "CUMULUS_MEDIUM",
2693 Self::CumulusMulti => "CUMULUS_MULTI",
2694 Self::CumulusNimbus => "CUMULUS_NIMBUS",
2695 }
2696 }
2697 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2699 match value {
2700 "CUMULUS_NONE" => Some(Self::CumulusNone),
2701 "CUMULUS_MEDIUM" => Some(Self::CumulusMedium),
2702 "CUMULUS_MULTI" => Some(Self::CumulusMulti),
2703 "CUMULUS_NIMBUS" => Some(Self::CumulusNimbus),
2704 _ => None,
2705 }
2706 }
2707}
2708#[derive(serde::Serialize)]
2709#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2710#[repr(i32)]
2711pub enum StratusType {
2712 StratusNone = 0,
2713 StratusAlto = 1,
2714 StratusProper = 2,
2715 StratusNimbus = 3,
2716}
2717impl StratusType {
2718 pub fn as_str_name(&self) -> &'static str {
2723 match self {
2724 Self::StratusNone => "STRATUS_NONE",
2725 Self::StratusAlto => "STRATUS_ALTO",
2726 Self::StratusProper => "STRATUS_PROPER",
2727 Self::StratusNimbus => "STRATUS_NIMBUS",
2728 }
2729 }
2730 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2732 match value {
2733 "STRATUS_NONE" => Some(Self::StratusNone),
2734 "STRATUS_ALTO" => Some(Self::StratusAlto),
2735 "STRATUS_PROPER" => Some(Self::StratusProper),
2736 "STRATUS_NIMBUS" => Some(Self::StratusNimbus),
2737 _ => None,
2738 }
2739 }
2740}
2741#[derive(serde::Serialize)]
2742#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2743#[repr(i32)]
2744pub enum FogType {
2745 FogNone = 0,
2746 FogMist = 1,
2747 FogNormal = 2,
2748 F0gThick = 3,
2749}
2750impl FogType {
2751 pub fn as_str_name(&self) -> &'static str {
2756 match self {
2757 Self::FogNone => "FOG_NONE",
2758 Self::FogMist => "FOG_MIST",
2759 Self::FogNormal => "FOG_NORMAL",
2760 Self::F0gThick => "F0G_THICK",
2761 }
2762 }
2763 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2765 match value {
2766 "FOG_NONE" => Some(Self::FogNone),
2767 "FOG_MIST" => Some(Self::FogMist),
2768 "FOG_NORMAL" => Some(Self::FogNormal),
2769 "F0G_THICK" => Some(Self::F0gThick),
2770 _ => None,
2771 }
2772 }
2773}
2774#[derive(serde::Serialize)]
2775#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2776#[repr(i32)]
2777pub enum PatternType {
2778 Monotone = 0,
2779 Stripes = 1,
2780 IrisEye = 2,
2781 Spots = 3,
2782 PupilEye = 4,
2783 Mottled = 5,
2784}
2785impl PatternType {
2786 pub fn as_str_name(&self) -> &'static str {
2791 match self {
2792 Self::Monotone => "MONOTONE",
2793 Self::Stripes => "STRIPES",
2794 Self::IrisEye => "IRIS_EYE",
2795 Self::Spots => "SPOTS",
2796 Self::PupilEye => "PUPIL_EYE",
2797 Self::Mottled => "MOTTLED",
2798 }
2799 }
2800 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2802 match value {
2803 "MONOTONE" => Some(Self::Monotone),
2804 "STRIPES" => Some(Self::Stripes),
2805 "IRIS_EYE" => Some(Self::IrisEye),
2806 "SPOTS" => Some(Self::Spots),
2807 "PUPIL_EYE" => Some(Self::PupilEye),
2808 "MOTTLED" => Some(Self::Mottled),
2809 _ => None,
2810 }
2811 }
2812}
2813#[derive(serde::Serialize)]
2814#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2815#[repr(i32)]
2816pub enum ArtImageElementType {
2817 ImageCreature = 0,
2818 ImagePlant = 1,
2819 ImageTree = 2,
2820 ImageShape = 3,
2821 ImageItem = 4,
2822}
2823impl ArtImageElementType {
2824 pub fn as_str_name(&self) -> &'static str {
2829 match self {
2830 Self::ImageCreature => "IMAGE_CREATURE",
2831 Self::ImagePlant => "IMAGE_PLANT",
2832 Self::ImageTree => "IMAGE_TREE",
2833 Self::ImageShape => "IMAGE_SHAPE",
2834 Self::ImageItem => "IMAGE_ITEM",
2835 }
2836 }
2837 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2839 match value {
2840 "IMAGE_CREATURE" => Some(Self::ImageCreature),
2841 "IMAGE_PLANT" => Some(Self::ImagePlant),
2842 "IMAGE_TREE" => Some(Self::ImageTree),
2843 "IMAGE_SHAPE" => Some(Self::ImageShape),
2844 "IMAGE_ITEM" => Some(Self::ImageItem),
2845 _ => None,
2846 }
2847 }
2848}
2849#[derive(serde::Serialize)]
2850#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2851#[repr(i32)]
2852pub enum ArtImagePropertyType {
2853 TransitiveVerb = 0,
2854 IntransitiveVerb = 1,
2855}
2856impl ArtImagePropertyType {
2857 pub fn as_str_name(&self) -> &'static str {
2862 match self {
2863 Self::TransitiveVerb => "TRANSITIVE_VERB",
2864 Self::IntransitiveVerb => "INTRANSITIVE_VERB",
2865 }
2866 }
2867 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2869 match value {
2870 "TRANSITIVE_VERB" => Some(Self::TransitiveVerb),
2871 "INTRANSITIVE_VERB" => Some(Self::IntransitiveVerb),
2872 _ => None,
2873 }
2874 }
2875}
2876#[derive(serde::Serialize)]
2877#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2878#[repr(i32)]
2879pub enum ArtImageVerb {
2880 VerbWithering = 0,
2881 VerbSurroundedby = 1,
2882 VerbMassacring = 2,
2883 VerbFighting = 3,
2884 VerbLaboring = 4,
2885 VerbGreeting = 5,
2886 VerbRefusing = 6,
2887 VerbSpeaking = 7,
2888 VerbEmbracing = 8,
2889 VerbStrikingdown = 9,
2890 VerbMenacingpose = 10,
2891 VerbTraveling = 11,
2892 VerbRaising = 12,
2893 VerbHiding = 13,
2894 VerbLookingconfused = 14,
2895 VerbLookingterrified = 15,
2896 VerbDevouring = 16,
2897 VerbAdmiring = 17,
2898 VerbBurning = 18,
2899 VerbWeeping = 19,
2900 VerbLookingdejected = 20,
2901 VerbCringing = 21,
2902 VerbScreaming = 22,
2903 VerbSubmissivegesture = 23,
2904 VerbFetalposition = 24,
2905 VerbSmearedintospiral = 25,
2906 VerbFalling = 26,
2907 VerbDead = 27,
2908 VerbLaughing = 28,
2909 VerbLookingoffended = 29,
2910 VerbBeingshot = 30,
2911 VerbPlaintivegesture = 31,
2912 VerbMelting = 32,
2913 VerbShooting = 33,
2914 VerbTorturing = 34,
2915 VerbCommittingdepravedact = 35,
2916 VerbPraying = 36,
2917 VerbContemplating = 37,
2918 VerbCooking = 38,
2919 VerbEngraving = 39,
2920 VerbProstrating = 40,
2921 VerbSuffering = 41,
2922 VerbBeingimpaled = 42,
2923 VerbBeingcontorted = 43,
2924 VerbBeingflayed = 44,
2925 VerbHangingfrom = 45,
2926 VerbBeingmutilated = 46,
2927 VerbTriumphantpose = 47,
2928}
2929impl ArtImageVerb {
2930 pub fn as_str_name(&self) -> &'static str {
2935 match self {
2936 Self::VerbWithering => "VERB_WITHERING",
2937 Self::VerbSurroundedby => "VERB_SURROUNDEDBY",
2938 Self::VerbMassacring => "VERB_MASSACRING",
2939 Self::VerbFighting => "VERB_FIGHTING",
2940 Self::VerbLaboring => "VERB_LABORING",
2941 Self::VerbGreeting => "VERB_GREETING",
2942 Self::VerbRefusing => "VERB_REFUSING",
2943 Self::VerbSpeaking => "VERB_SPEAKING",
2944 Self::VerbEmbracing => "VERB_EMBRACING",
2945 Self::VerbStrikingdown => "VERB_STRIKINGDOWN",
2946 Self::VerbMenacingpose => "VERB_MENACINGPOSE",
2947 Self::VerbTraveling => "VERB_TRAVELING",
2948 Self::VerbRaising => "VERB_RAISING",
2949 Self::VerbHiding => "VERB_HIDING",
2950 Self::VerbLookingconfused => "VERB_LOOKINGCONFUSED",
2951 Self::VerbLookingterrified => "VERB_LOOKINGTERRIFIED",
2952 Self::VerbDevouring => "VERB_DEVOURING",
2953 Self::VerbAdmiring => "VERB_ADMIRING",
2954 Self::VerbBurning => "VERB_BURNING",
2955 Self::VerbWeeping => "VERB_WEEPING",
2956 Self::VerbLookingdejected => "VERB_LOOKINGDEJECTED",
2957 Self::VerbCringing => "VERB_CRINGING",
2958 Self::VerbScreaming => "VERB_SCREAMING",
2959 Self::VerbSubmissivegesture => "VERB_SUBMISSIVEGESTURE",
2960 Self::VerbFetalposition => "VERB_FETALPOSITION",
2961 Self::VerbSmearedintospiral => "VERB_SMEAREDINTOSPIRAL",
2962 Self::VerbFalling => "VERB_FALLING",
2963 Self::VerbDead => "VERB_DEAD",
2964 Self::VerbLaughing => "VERB_LAUGHING",
2965 Self::VerbLookingoffended => "VERB_LOOKINGOFFENDED",
2966 Self::VerbBeingshot => "VERB_BEINGSHOT",
2967 Self::VerbPlaintivegesture => "VERB_PLAINTIVEGESTURE",
2968 Self::VerbMelting => "VERB_MELTING",
2969 Self::VerbShooting => "VERB_SHOOTING",
2970 Self::VerbTorturing => "VERB_TORTURING",
2971 Self::VerbCommittingdepravedact => "VERB_COMMITTINGDEPRAVEDACT",
2972 Self::VerbPraying => "VERB_PRAYING",
2973 Self::VerbContemplating => "VERB_CONTEMPLATING",
2974 Self::VerbCooking => "VERB_COOKING",
2975 Self::VerbEngraving => "VERB_ENGRAVING",
2976 Self::VerbProstrating => "VERB_PROSTRATING",
2977 Self::VerbSuffering => "VERB_SUFFERING",
2978 Self::VerbBeingimpaled => "VERB_BEINGIMPALED",
2979 Self::VerbBeingcontorted => "VERB_BEINGCONTORTED",
2980 Self::VerbBeingflayed => "VERB_BEINGFLAYED",
2981 Self::VerbHangingfrom => "VERB_HANGINGFROM",
2982 Self::VerbBeingmutilated => "VERB_BEINGMUTILATED",
2983 Self::VerbTriumphantpose => "VERB_TRIUMPHANTPOSE",
2984 }
2985 }
2986 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2988 match value {
2989 "VERB_WITHERING" => Some(Self::VerbWithering),
2990 "VERB_SURROUNDEDBY" => Some(Self::VerbSurroundedby),
2991 "VERB_MASSACRING" => Some(Self::VerbMassacring),
2992 "VERB_FIGHTING" => Some(Self::VerbFighting),
2993 "VERB_LABORING" => Some(Self::VerbLaboring),
2994 "VERB_GREETING" => Some(Self::VerbGreeting),
2995 "VERB_REFUSING" => Some(Self::VerbRefusing),
2996 "VERB_SPEAKING" => Some(Self::VerbSpeaking),
2997 "VERB_EMBRACING" => Some(Self::VerbEmbracing),
2998 "VERB_STRIKINGDOWN" => Some(Self::VerbStrikingdown),
2999 "VERB_MENACINGPOSE" => Some(Self::VerbMenacingpose),
3000 "VERB_TRAVELING" => Some(Self::VerbTraveling),
3001 "VERB_RAISING" => Some(Self::VerbRaising),
3002 "VERB_HIDING" => Some(Self::VerbHiding),
3003 "VERB_LOOKINGCONFUSED" => Some(Self::VerbLookingconfused),
3004 "VERB_LOOKINGTERRIFIED" => Some(Self::VerbLookingterrified),
3005 "VERB_DEVOURING" => Some(Self::VerbDevouring),
3006 "VERB_ADMIRING" => Some(Self::VerbAdmiring),
3007 "VERB_BURNING" => Some(Self::VerbBurning),
3008 "VERB_WEEPING" => Some(Self::VerbWeeping),
3009 "VERB_LOOKINGDEJECTED" => Some(Self::VerbLookingdejected),
3010 "VERB_CRINGING" => Some(Self::VerbCringing),
3011 "VERB_SCREAMING" => Some(Self::VerbScreaming),
3012 "VERB_SUBMISSIVEGESTURE" => Some(Self::VerbSubmissivegesture),
3013 "VERB_FETALPOSITION" => Some(Self::VerbFetalposition),
3014 "VERB_SMEAREDINTOSPIRAL" => Some(Self::VerbSmearedintospiral),
3015 "VERB_FALLING" => Some(Self::VerbFalling),
3016 "VERB_DEAD" => Some(Self::VerbDead),
3017 "VERB_LAUGHING" => Some(Self::VerbLaughing),
3018 "VERB_LOOKINGOFFENDED" => Some(Self::VerbLookingoffended),
3019 "VERB_BEINGSHOT" => Some(Self::VerbBeingshot),
3020 "VERB_PLAINTIVEGESTURE" => Some(Self::VerbPlaintivegesture),
3021 "VERB_MELTING" => Some(Self::VerbMelting),
3022 "VERB_SHOOTING" => Some(Self::VerbShooting),
3023 "VERB_TORTURING" => Some(Self::VerbTorturing),
3024 "VERB_COMMITTINGDEPRAVEDACT" => Some(Self::VerbCommittingdepravedact),
3025 "VERB_PRAYING" => Some(Self::VerbPraying),
3026 "VERB_CONTEMPLATING" => Some(Self::VerbContemplating),
3027 "VERB_COOKING" => Some(Self::VerbCooking),
3028 "VERB_ENGRAVING" => Some(Self::VerbEngraving),
3029 "VERB_PROSTRATING" => Some(Self::VerbProstrating),
3030 "VERB_SUFFERING" => Some(Self::VerbSuffering),
3031 "VERB_BEINGIMPALED" => Some(Self::VerbBeingimpaled),
3032 "VERB_BEINGCONTORTED" => Some(Self::VerbBeingcontorted),
3033 "VERB_BEINGFLAYED" => Some(Self::VerbBeingflayed),
3034 "VERB_HANGINGFROM" => Some(Self::VerbHangingfrom),
3035 "VERB_BEINGMUTILATED" => Some(Self::VerbBeingmutilated),
3036 "VERB_TRIUMPHANTPOSE" => Some(Self::VerbTriumphantpose),
3037 _ => None,
3038 }
3039 }
3040}
3041#[derive(serde::Serialize)]
3042#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3043#[repr(i32)]
3044pub enum FlowType {
3045 Miasma = 0,
3046 Steam = 1,
3047 Mist = 2,
3048 MaterialDust = 3,
3049 MagmaMist = 4,
3050 Smoke = 5,
3051 Dragonfire = 6,
3052 Fire = 7,
3053 Web = 8,
3054 MaterialGas = 9,
3055 MaterialVapor = 10,
3056 OceanWave = 11,
3057 SeaFoam = 12,
3058 ItemCloud = 13,
3059 CampFire = -1,
3060}
3061impl FlowType {
3062 pub fn as_str_name(&self) -> &'static str {
3067 match self {
3068 Self::Miasma => "Miasma",
3069 Self::Steam => "Steam",
3070 Self::Mist => "Mist",
3071 Self::MaterialDust => "MaterialDust",
3072 Self::MagmaMist => "MagmaMist",
3073 Self::Smoke => "Smoke",
3074 Self::Dragonfire => "Dragonfire",
3075 Self::Fire => "Fire",
3076 Self::Web => "Web",
3077 Self::MaterialGas => "MaterialGas",
3078 Self::MaterialVapor => "MaterialVapor",
3079 Self::OceanWave => "OceanWave",
3080 Self::SeaFoam => "SeaFoam",
3081 Self::ItemCloud => "ItemCloud",
3082 Self::CampFire => "CampFire",
3083 }
3084 }
3085 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3087 match value {
3088 "Miasma" => Some(Self::Miasma),
3089 "Steam" => Some(Self::Steam),
3090 "Mist" => Some(Self::Mist),
3091 "MaterialDust" => Some(Self::MaterialDust),
3092 "MagmaMist" => Some(Self::MagmaMist),
3093 "Smoke" => Some(Self::Smoke),
3094 "Dragonfire" => Some(Self::Dragonfire),
3095 "Fire" => Some(Self::Fire),
3096 "Web" => Some(Self::Web),
3097 "MaterialGas" => Some(Self::MaterialGas),
3098 "MaterialVapor" => Some(Self::MaterialVapor),
3099 "OceanWave" => Some(Self::OceanWave),
3100 "SeaFoam" => Some(Self::SeaFoam),
3101 "ItemCloud" => Some(Self::ItemCloud),
3102 "CampFire" => Some(Self::CampFire),
3103 _ => None,
3104 }
3105 }
3106}