1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4#[serde(rename_all = "camelCase")]
5pub struct AccessibilitySettings {
6 pub enabled: bool,
7 pub plugin_enabled: bool,
8}
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
11#[serde(rename_all = "camelCase")]
12pub struct AdditiveSceneSettings {
13 pub enabled: bool,
14}
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
17#[serde(rename_all = "camelCase")]
18pub struct AddressablePokemonSettings {
19 pub addressable_pokemon_ids: [String; 9],
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize)]
23#[serde(rename_all = "camelCase")]
24pub struct AddressBookImportSettings {
25 pub is_enabled: bool,
26 pub onboarding_screen_level: u64,
27 pub reprompt_onboarding_for_v1: bool,
28 pub show_opt_out_checkbox: bool,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
32#[serde(rename_all = "camelCase")]
33pub struct AdvancedSettings {
34 pub download_all_assets_enabled: bool,
35}
36
37#[derive(Debug, Clone, Serialize, Deserialize)]
38#[serde(rename_all = "camelCase")]
39pub struct CaptureSettings {
40 pub contextual_check_interval_seconds: f64,
41 pub countdown_seconds: u64,
42}
43
44#[derive(Debug, Clone, Serialize, Deserialize)]
45#[serde(rename_all = "camelCase")]
46pub struct ErrorReportingSettings {
47 pub is_enabled: bool,
48 pub max_events_per_sliding_window: u64,
49 pub max_total_events_before_shutdown: String,
50 pub percent_chance_player_sends: f64,
51 pub sliding_window_length_s: u64,
52}
53
54#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(rename_all = "camelCase")]
56pub struct Incentives {
57 pub incentive_icon_name: String,
58 pub incentive_string_key: String,
59}
60
61#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(rename_all = "camelCase")]
63pub struct PokemonWithExcludedForms {
64 pub excluded_forms: [String; 1],
65 pub pokemon_id: String,
66}
67
68#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(rename_all = "camelCase")]
70pub struct PokemonWithExcludedFormsV2 {
71 pub excluded_forms: [String; 19],
72 pub pokemon_id: String,
73}
74
75#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(rename_all = "camelCase")]
77pub struct PokemonWithExcludedFormsV3 {
78 pub excluded_forms: [String; 18],
79 pub pokemon_id: String,
80}
81
82#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(rename_all = "camelCase")]
84pub struct PokemonWithExcludedFormsV4 {
85 pub excluded_forms: [String; 2],
86 pub pokemon_id: String,
87}
88
89#[derive(Debug, Clone, Serialize, Deserialize)]
90#[serde(rename_all = "camelCase")]
91pub struct PokemonWithExcludedFormsV5 {
92 pub excluded_forms: [String; 5],
93 pub pokemon_id: String,
94}
95
96#[derive(Debug, Clone, Serialize, Deserialize)]
97#[serde(rename_all = "camelCase")]
98pub struct PokemonWithExcludedFormsV6 {
99 pub excluded_forms: [String; 4],
100 pub pokemon_id: String,
101}
102
103#[derive(Debug, Clone, Serialize, Deserialize)]
104#[serde(rename_all = "camelCase")]
105pub struct PokemonWithExcludedFormsV7 {
106 pub excluded_forms: [String; 9],
107 pub pokemon_id: String,
108}
109
110#[derive(Debug, Clone, Serialize, Deserialize)]
111#[serde(rename_all = "camelCase")]
112pub struct PokemonWithExcludedFormsV8 {
113 pub excluded_forms: [String; 3],
114 pub pokemon_id: String,
115}
116
117#[derive(Debug, Clone, Serialize, Deserialize)]
118#[serde(rename_all = "camelCase")]
119pub struct PokemonWithExcludedFormsV9 {
120 pub excluded_forms: Vec<String>,
121 pub pokemon_id: String,
122}
123
124#[derive(Debug, Clone, Serialize, Deserialize)]
125#[serde(rename_all = "camelCase")]
126pub struct ArPhotoFeatureFlags {
127 pub ar_menu_entry_enabled: i64,
128 pub capture_settings: CaptureSettings,
129 pub download_message_enabled: bool,
130 pub error_reporting_settings: ErrorReportingSettings,
131 pub excluded_pokemon_ids: Vec<String>,
132 pub incentives: [Incentives; 2],
133 pub incentives_enabled: bool,
134 pub is_feature_enabled: bool,
135 pub lapsed_days_cutoff: u64,
136 pub main_menu_entry_enabled: i64,
137 pub new_days_cutoff: u64,
138 pub pokemon_with_excluded_forms: Vec<PokemonWithExcludedFormsV9>,
139 pub pre_login_device_allow_list: [String; 6],
140 pub pre_login_metrics_enabled: i64,
141 pub pre_login_roll_out_ratio: f64,
142 pub reorder_summary: bool,
143 pub share_functionality_enabled: u64,
144 pub share_message_enabled: bool,
145 pub show_sticker: String,
146 pub sign_in_button_enabled: bool,
147}
148
149#[derive(Debug, Clone, Serialize, Deserialize)]
150#[serde(rename_all = "camelCase")]
151pub struct ArTelemetrySettings {
152 pub battery_sampling_interval_ms: u64,
153 pub enable_ardk_telemetry: bool,
154 pub framerate_sampling_interval_ms: u64,
155 pub measure_battery: bool,
156 pub measure_framerate: bool,
157 pub percentage_sessions_to_sample: f64,
158}
159
160#[derive(Debug, Clone, Serialize, Deserialize)]
161#[serde(rename_all = "camelCase")]
162pub struct AssetRefreshProto {
163 pub string_refresh_seconds: u64,
164}
165
166#[derive(Debug, Clone, Serialize, Deserialize)]
167#[serde(rename_all = "camelCase")]
168pub struct AvatarFeatureFlags {
169 pub corndog_enabled: bool,
170}
171
172#[derive(Debug, Clone, Serialize, Deserialize)]
173#[serde(rename_all = "camelCase")]
174pub struct AvatarStoreFooterFlags {
175 pub enabled: bool,
176}
177
178#[derive(Debug, Clone, Serialize, Deserialize)]
179#[serde(rename_all = "camelCase")]
180pub struct AvatarStoreSubcategoryFilteringFlags {
181 pub enabled: bool,
182}
183
184#[derive(Debug, Clone, Serialize, Deserialize)]
185#[serde(rename_all = "camelCase")]
186pub struct BackgroundModeSettings {
187 pub weekly_fitness_goal_level1_distance_km: f64,
188 pub weekly_fitness_goal_level2_distance_km: f64,
189 pub weekly_fitness_goal_level3_distance_km: f64,
190 pub weekly_fitness_goal_level4_distance_km: f64,
191 pub weekly_fitness_goal_reminder_km: f64,
192}
193
194#[derive(Debug, Clone, Serialize, Deserialize)]
195#[serde(rename_all = "camelCase")]
196pub struct FastAttackSettings {}
197
198#[derive(Debug, Clone, Serialize, Deserialize)]
199#[serde(rename_all = "camelCase")]
200pub struct UiCameraAnimationSettings {
201 pub transition_in_duration_seconds: f64,
202 pub transition_interim_delay_seconds: f64,
203 pub transition_out_duration_seconds: f64,
204}
205
206#[derive(Debug, Clone, Serialize, Deserialize)]
207#[serde(rename_all = "camelCase")]
208pub struct CombatAnimationConfiguration {
209 pub fast_attack_settings: FastAttackSettings,
210 pub projected_health_animation_duration_seconds: f64,
211 pub ui_camera_animation_settings: UiCameraAnimationSettings,
212}
213
214#[derive(Debug, Clone, Serialize, Deserialize)]
215#[serde(rename_all = "camelCase")]
216pub struct FastAttackSettingsV2 {
217 pub cross_fade_duration_seconds: f64,
218 pub normalized_start_offset: f64,
219}
220
221#[derive(Debug, Clone, Serialize, Deserialize)]
222#[serde(rename_all = "camelCase")]
223pub struct MaxBattleAnimationConfiguration {
224 pub fast_attack_settings: FastAttackSettingsV2,
225}
226
227#[derive(Debug, Clone, Serialize, Deserialize)]
228#[serde(rename_all = "camelCase")]
229pub struct BattleAnimationSettings {
230 pub combat_animation_configuration: CombatAnimationConfiguration,
231 pub max_battle_animation_configuration: MaxBattleAnimationConfiguration,
232 pub raids_animation_configuration: MaxBattleAnimationConfiguration,
233}
234
235#[derive(Debug, Clone, Serialize, Deserialize)]
236#[serde(rename_all = "camelCase")]
237pub struct BattleHubBadgeSettings {
238 pub combat_hub_displayed_badges: [String; 5],
239}
240
241#[derive(Debug, Clone, Serialize, Deserialize)]
242#[serde(rename_all = "camelCase")]
243pub struct Section {
244 pub main_section: String,
245 pub subsection: [String; 3],
246}
247
248#[derive(Debug, Clone, Serialize, Deserialize)]
249#[serde(rename_all = "camelCase")]
250pub struct SectionGroup {
251 pub section: [String; 3],
252}
253
254#[derive(Debug, Clone, Serialize, Deserialize)]
255#[serde(rename_all = "camelCase")]
256pub struct SectionGroupV2 {
257 pub section: [String; 1],
258}
259
260#[derive(Debug, Clone, Serialize, Deserialize)]
261#[serde(rename_all = "camelCase")]
262pub struct BattleHubOrderSettings {
263 pub section: [Section; 1],
264 pub section_group: (SectionGroup, SectionGroupV2, SectionGroupV2),
265}
266
267#[derive(Debug, Clone, Serialize, Deserialize)]
268#[serde(rename_all = "camelCase")]
269pub struct InputBlockExceptionList {
270 pub allowed_buffered_actions: [String; 1],
271 pub current_action: String,
272}
273
274#[derive(Debug, Clone, Serialize, Deserialize)]
275#[serde(rename_all = "camelCase")]
276pub struct BreadInputBufferPriorityList {
277 pub buffer_blocking_event_type_list: [String; 2],
278 pub event_priority: [String; 2],
279 pub input_block_exception_list: [InputBlockExceptionList; 1],
280 pub priority_event_type_list: [String; 3],
281}
282
283#[derive(Debug, Clone, Serialize, Deserialize)]
284#[serde(rename_all = "camelCase")]
285pub struct CombatInputBufferPriorityList {
286 pub buffer_blocking_event_type_list: [String; 2],
287 pub event_priority: [String; 1],
288 pub priority_event_type_list: [String; 2],
289}
290
291#[derive(Debug, Clone, Serialize, Deserialize)]
292#[serde(rename_all = "camelCase")]
293pub struct InputBlockExceptionListV2 {
294 pub allowed_buffered_actions: [String; 2],
295 pub current_action: String,
296}
297
298#[derive(Debug, Clone, Serialize, Deserialize)]
299#[serde(rename_all = "camelCase")]
300pub struct RaidsInputBufferPriorityList {
301 pub buffer_blocking_event_type_list: [String; 1],
302 pub event_priority: [String; 4],
303 pub input_block_exception_list: [InputBlockExceptionListV2; 1],
304 pub priority_event_type_list: [String; 5],
305}
306
307#[derive(Debug, Clone, Serialize, Deserialize)]
308#[serde(rename_all = "camelCase")]
309pub struct BattleInputBufferSettings {
310 pub bread_input_buffer_priority_list: BreadInputBufferPriorityList,
311 pub combat_input_buffer_priority_list: CombatInputBufferPriorityList,
312 pub raids_input_buffer_priority_list: RaidsInputBufferPriorityList,
313}
314
315#[derive(Debug, Clone, Serialize, Deserialize)]
316#[serde(rename_all = "camelCase")]
317pub struct BattlePartySettings {
318 pub enable_battle_party_saving: bool,
319 pub max_battle_parties: u64,
320 pub overall_parties_cap: u64,
321}
322
323#[derive(Debug, Clone, Serialize, Deserialize)]
324#[serde(rename_all = "camelCase")]
325pub struct BattleSettings {
326 pub attack_server_interval: f64,
327 pub bonus_time_per_ally_seconds: f64,
328 pub boss_energy_regeneration_per_health_lost: f64,
329 pub dodge_damage_reduction_percent: f64,
330 pub dodge_duration_ms: u64,
331 pub enemy_attack_interval: f64,
332 pub energy_delta_per_health_lost: f64,
333 pub maximum_attackers_per_battle: u64,
334 pub maximum_energy: u64,
335 pub minimum_player_level: u64,
336 pub minimum_raid_player_level: u64,
337 pub purified_pokemon_attack_multiplier_vs_shadow: f64,
338 pub retarget_seconds: f64,
339 pub round_duration_seconds: f64,
340 pub same_type_attack_bonus_multiplier: f64,
341 pub shadow_pokemon_attack_bonus_multiplier: f64,
342 pub shadow_pokemon_defense_bonus_multiplier: f64,
343 pub swap_duration_ms: u64,
344}
345
346#[derive(Debug, Clone, Serialize, Deserialize)]
347#[serde(rename_all = "camelCase")]
348pub struct BattleVisualSettings {
349 pub banner_texture_asset: String,
350 pub crowd_texture_asset: String,
351 pub enhancements_enabled: bool,
352}
353
354#[derive(Debug, Clone, Serialize, Deserialize)]
355#[serde(rename_all = "camelCase")]
356pub struct BelugaPokemonWhitelist {
357 pub additional_pokemon_allowed: [String; 2],
358 pub costumes_allowed: [String; 1],
359 pub max_allowed_pokemon_pokedex_number: u64,
360}
361
362#[derive(Debug, Clone, Serialize, Deserialize)]
363#[serde(rename_all = "camelCase")]
364pub struct BestFriendsPlusSettings {
365 pub enabled: bool,
366 pub tutorial_time_cutoff: String,
367}
368
369#[derive(Debug, Clone, Serialize, Deserialize)]
370#[serde(rename_all = "camelCase")]
371pub struct BreadBattleClientSettings {
372 pub bread_battle_min_player_level: u64,
373 pub can_invite_friends_in_person: bool,
374 pub can_invite_friends_remotely: bool,
375 pub fetch_profile_from_social_enabled: bool,
376 pub friend_invite_cutoff_time_sec: u64,
377 pub invite_cooldown_duration_millis: String,
378 pub max_num_friend_invites: u64,
379 pub max_num_friend_invites_per_action: u64,
380 pub max_num_friend_invites_to_bread_dough_lobby_per_action: u64,
381 pub max_players_per_bread_dough_lobby: u64,
382 pub max_players_per_bread_lobby: u64,
383 pub max_players_to_prepare_bread_dough_lobby: u64,
384 pub max_remote_bread_battle_passes_allowed: u64,
385 pub max_remote_players_per_bread_dough_lobby: u64,
386 pub max_remote_players_per_bread_lobby: u64,
387 pub min_players_to_prepare_bread_lobby: u64,
388 pub prepare_bread_lobby_cutoff_ms: u64,
389 pub prepare_bread_lobby_enabled: bool,
390 pub prepare_bread_lobby_solo_ms: u64,
391 pub remote_bread_battle_enabled: bool,
392 pub remote_bread_battle_min_player_level: u64,
393 pub rvn_version: u64,
394}
395
396#[derive(Debug, Clone, Serialize, Deserialize)]
397#[serde(rename_all = "camelCase")]
398pub struct BreadFeatureFlags {
399 pub battle_enabled: bool,
400 pub battle_spawn_mode: String,
401 pub boost_item_enabled: bool,
402 pub bread_post_battle_recovery_enabled: bool,
403 pub can_use_master_ball_post_battle: bool,
404 pub debug_rpc_enabled: bool,
405 pub discovery_enabled: bool,
406 pub enabled: bool,
407 pub minimum_player_level: u64,
408 pub mp_enabled: bool,
409 pub nearby_lobby_counter_enabled: bool,
410 pub power_spot_edits_enabled: bool,
411 pub station_discovery_mode: String,
412}
413
414#[derive(Debug, Clone, Serialize, Deserialize)]
415#[serde(rename_all = "camelCase")]
416pub struct BreadLobbyCounterSettings {
417 pub bread_dough_lobby_max_count_to_update: u64,
418 pub publish_cutoff_time_ms: String,
419 pub show_counter_radius_meters: f64,
420 pub subscribe_s2_level: u64,
421 pub subscription_namespace: String,
422}
423
424#[derive(Debug, Clone, Serialize, Deserialize)]
425#[serde(rename_all = "camelCase")]
426pub struct BreadLobbyUpdateSettings {
427 pub join_publish_cutoff_time_ms: String,
428 pub server_publish_rate_limit_interval_ms: String,
429}
430
431#[derive(Debug, Clone, Serialize, Deserialize)]
432#[serde(rename_all = "camelCase")]
433pub struct Mappings {
434 pub r#move: String,
435 pub r#type: String,
436}
437
438#[derive(Debug, Clone, Serialize, Deserialize)]
439#[serde(rename_all = "camelCase")]
440pub struct BreadMoveMappings {
441 pub mappings: [Mappings; 18],
442}
443
444#[derive(Debug, Clone, Serialize, Deserialize)]
445#[serde(rename_all = "camelCase")]
446pub struct BreadBattleTrainerVisualData {
447 pub x_offset: f64,
448}
449
450#[derive(Debug, Clone, Serialize, Deserialize)]
451#[serde(rename_all = "camelCase")]
452pub struct BreadBattleVisualData {
453 pub scale: f64,
454}
455
456#[derive(Debug, Clone, Serialize, Deserialize)]
457#[serde(rename_all = "camelCase")]
458pub struct BreadEncounterVisiualData {
459 pub camera_distance: f64,
460 pub max_reticle_size: f64,
461 pub scale: f64,
462}
463
464#[derive(Debug, Clone, Serialize, Deserialize)]
465#[serde(rename_all = "camelCase")]
466pub struct VisualData {
467 pub bread_battle_trainer_visual_data: BreadBattleTrainerVisualData,
468 pub bread_battle_visual_data: BreadBattleVisualData,
469 pub bread_encounter_visiual_data: BreadEncounterVisiualData,
470 pub bread_mode: String,
471 pub bread_station_visual_data: BreadBattleVisualData,
472}
473
474#[derive(Debug, Clone, Serialize, Deserialize)]
475#[serde(rename_all = "camelCase")]
476pub struct PokemonFormData {
477 pub pokemon_form: String,
478 pub visual_data: [VisualData; 1],
479}
480
481#[derive(Debug, Clone, Serialize, Deserialize)]
482#[serde(rename_all = "camelCase")]
483pub struct VisualSettings {
484 pub pokemon_form_data: [PokemonFormData; 1],
485 pub pokemon_id: String,
486}
487
488#[derive(Debug, Clone, Serialize, Deserialize)]
489#[serde(rename_all = "camelCase")]
490pub struct BreadBattleTrainerVisualDataV2 {
491 pub x_offset: f64,
492 pub y_offset: f64,
493}
494
495#[derive(Debug, Clone, Serialize, Deserialize)]
496#[serde(rename_all = "camelCase")]
497pub struct VisualDataV2 {
498 pub bread_battle_trainer_visual_data: BreadBattleTrainerVisualDataV2,
499 pub bread_battle_visual_data: BreadBattleVisualData,
500 pub bread_encounter_visiual_data: BreadEncounterVisiualData,
501 pub bread_mode: String,
502 pub bread_station_visual_data: BreadBattleVisualData,
503}
504
505#[derive(Debug, Clone, Serialize, Deserialize)]
506#[serde(rename_all = "camelCase")]
507pub struct BreadBattleVisualDataV2 {
508 pub scale: f64,
509 pub y_offset: f64,
510}
511
512#[derive(Debug, Clone, Serialize, Deserialize)]
513#[serde(rename_all = "camelCase")]
514pub struct VisualDataV3 {
515 pub bread_battle_trainer_visual_data: BreadBattleTrainerVisualDataV2,
516 pub bread_battle_visual_data: BreadBattleVisualDataV2,
517 pub bread_encounter_visiual_data: BreadEncounterVisiualData,
518 pub bread_mode: String,
519 pub bread_station_visual_data: BreadBattleVisualData,
520}
521
522#[derive(Debug, Clone, Serialize, Deserialize)]
523#[serde(rename_all = "camelCase")]
524pub struct PokemonFormDataV2 {
525 pub pokemon_form: String,
526 pub visual_data: (VisualDataV2, VisualDataV3),
527}
528
529#[derive(Debug, Clone, Serialize, Deserialize)]
530#[serde(rename_all = "camelCase")]
531pub struct VisualSettingsV2 {
532 pub pokemon_form_data: [PokemonFormDataV2; 1],
533 pub pokemon_id: String,
534}
535
536#[derive(Debug, Clone, Serialize, Deserialize)]
537#[serde(rename_all = "camelCase")]
538pub struct VisualDataV4 {
539 pub bread_battle_visual_data: BreadBattleVisualData,
540 pub bread_encounter_visiual_data: BreadEncounterVisiualData,
541 pub bread_mode: String,
542 pub bread_station_visual_data: BreadBattleVisualData,
543}
544
545#[derive(Debug, Clone, Serialize, Deserialize)]
546#[serde(rename_all = "camelCase")]
547pub struct PokemonFormDataV3 {
548 pub pokemon_form: String,
549 pub visual_data: (VisualDataV4, VisualData),
550}
551
552#[derive(Debug, Clone, Serialize, Deserialize)]
553#[serde(rename_all = "camelCase")]
554pub struct VisualSettingsV3 {
555 pub pokemon_form_data: [PokemonFormDataV3; 1],
556 pub pokemon_id: String,
557}
558
559#[derive(Debug, Clone, Serialize, Deserialize)]
560#[serde(rename_all = "camelCase")]
561pub struct BreadBattleVisualDataV3 {
562 pub scale: f64,
563 pub x_offset: f64,
564}
565
566#[derive(Debug, Clone, Serialize, Deserialize)]
567#[serde(rename_all = "camelCase")]
568pub struct VisualDataV5 {
569 pub bread_battle_trainer_visual_data: BreadBattleTrainerVisualData,
570 pub bread_battle_visual_data: BreadBattleVisualDataV3,
571 pub bread_encounter_visiual_data: BreadEncounterVisiualData,
572 pub bread_mode: String,
573 pub bread_station_visual_data: BreadBattleVisualDataV3,
574}
575
576#[derive(Debug, Clone, Serialize, Deserialize)]
577#[serde(rename_all = "camelCase")]
578pub struct PokemonFormDataV4 {
579 pub pokemon_form: String,
580 pub visual_data: (VisualDataV4, VisualDataV5),
581}
582
583#[derive(Debug, Clone, Serialize, Deserialize)]
584#[serde(rename_all = "camelCase")]
585pub struct VisualSettingsV4 {
586 pub pokemon_form_data: [PokemonFormDataV4; 1],
587 pub pokemon_id: String,
588}
589
590#[derive(Debug, Clone, Serialize, Deserialize)]
591#[serde(rename_all = "camelCase")]
592pub struct PokemonFormDataV5 {
593 pub pokemon_form: String,
594 pub visual_data: [VisualDataV4; 1],
595}
596
597#[derive(Debug, Clone, Serialize, Deserialize)]
598#[serde(rename_all = "camelCase")]
599pub struct VisualSettingsV5 {
600 pub pokemon_form_data: [PokemonFormDataV5; 1],
601 pub pokemon_id: String,
602}
603
604#[derive(Debug, Clone, Serialize, Deserialize)]
605#[serde(rename_all = "camelCase")]
606pub struct PokemonFormDataV6 {
607 pub visual_data: [VisualDataV4; 1],
608}
609
610#[derive(Debug, Clone, Serialize, Deserialize)]
611#[serde(rename_all = "camelCase")]
612pub struct VisualSettingsV6 {
613 pub pokemon_form_data: [PokemonFormDataV6; 1],
614 pub pokemon_id: String,
615}
616
617#[derive(Debug, Clone, Serialize, Deserialize)]
618#[serde(rename_all = "camelCase")]
619pub struct PokemonFormDataV7 {
620 pub visual_data: [VisualData; 1],
621}
622
623#[derive(Debug, Clone, Serialize, Deserialize)]
624#[serde(rename_all = "camelCase")]
625pub struct VisualSettingsV7 {
626 pub pokemon_form_data: [PokemonFormDataV7; 1],
627 pub pokemon_id: String,
628}
629
630#[derive(Debug, Clone, Serialize, Deserialize)]
631#[serde(rename_all = "camelCase")]
632pub struct VisualDataV6 {
633 pub bread_battle_visual_data: BreadBattleVisualDataV2,
634 pub bread_encounter_visiual_data: BreadEncounterVisiualData,
635 pub bread_mode: String,
636 pub bread_station_visual_data: BreadBattleVisualData,
637}
638
639#[derive(Debug, Clone, Serialize, Deserialize)]
640#[serde(rename_all = "camelCase")]
641pub struct PokemonFormDataV8 {
642 pub visual_data: [VisualDataV6; 1],
643}
644
645#[derive(Debug, Clone, Serialize, Deserialize)]
646#[serde(rename_all = "camelCase")]
647pub struct VisualSettingsV8 {
648 pub pokemon_form_data: [PokemonFormDataV8; 1],
649 pub pokemon_id: String,
650}
651
652#[derive(Debug, Clone, Serialize, Deserialize)]
653#[serde(rename_all = "camelCase")]
654pub struct VisualDataV7 {
655 pub bread_battle_trainer_visual_data: BreadBattleTrainerVisualData,
656 pub bread_battle_visual_data: BreadBattleVisualDataV2,
657 pub bread_encounter_visiual_data: BreadEncounterVisiualData,
658 pub bread_mode: String,
659 pub bread_station_visual_data: BreadBattleVisualData,
660}
661
662#[derive(Debug, Clone, Serialize, Deserialize)]
663#[serde(rename_all = "camelCase")]
664pub struct PokemonFormDataV9 {
665 pub pokemon_form: String,
666 pub visual_data: [VisualDataV7; 1],
667}
668
669#[derive(Debug, Clone, Serialize, Deserialize)]
670#[serde(rename_all = "camelCase")]
671pub struct VisualSettingsV9 {
672 pub pokemon_form_data: [PokemonFormDataV9; 1],
673 pub pokemon_id: String,
674}
675
676#[derive(Debug, Clone, Serialize, Deserialize)]
677#[serde(rename_all = "camelCase")]
678pub struct BreadEncounterVisiualDataV2 {
679 pub camera_distance: f64,
680 pub scale: f64,
681}
682
683#[derive(Debug, Clone, Serialize, Deserialize)]
684#[serde(rename_all = "camelCase")]
685pub struct VisualDataV8 {
686 pub bread_battle_visual_data: BreadBattleVisualData,
687 pub bread_encounter_visiual_data: BreadEncounterVisiualDataV2,
688 pub bread_mode: String,
689 pub bread_station_visual_data: BreadBattleVisualData,
690}
691
692#[derive(Debug, Clone, Serialize, Deserialize)]
693#[serde(rename_all = "camelCase")]
694pub struct PokemonFormDataV10 {
695 pub visual_data: [VisualDataV8; 1],
696}
697
698#[derive(Debug, Clone, Serialize, Deserialize)]
699#[serde(rename_all = "camelCase")]
700pub struct VisualSettingsV10 {
701 pub pokemon_form_data: [PokemonFormDataV10; 1],
702 pub pokemon_id: String,
703}
704
705#[derive(Debug, Clone, Serialize, Deserialize)]
706#[serde(rename_all = "camelCase")]
707pub struct BreadBattleBossVisualData {
708 pub scale: f64,
709 pub x_offset: f64,
710 pub y_offset: f64,
711}
712
713#[derive(Debug, Clone, Serialize, Deserialize)]
714#[serde(rename_all = "camelCase")]
715pub struct VisualDataV9 {
716 pub bread_battle_boss_visual_data: BreadBattleBossVisualData,
717 pub bread_mode: u64,
718}
719
720#[derive(Debug, Clone, Serialize, Deserialize)]
721#[serde(rename_all = "camelCase")]
722pub struct PokemonFormDataV11 {
723 pub pokemon_form: String,
724 pub visual_data: [VisualDataV9; 1],
725}
726
727#[derive(Debug, Clone, Serialize, Deserialize)]
728#[serde(rename_all = "camelCase")]
729pub struct VisualSettingsV11 {
730 pub pokemon_form_data: [PokemonFormDataV11; 1],
731 pub pokemon_id: String,
732}
733
734#[derive(Debug, Clone, Serialize, Deserialize)]
735#[serde(rename_all = "camelCase")]
736pub struct BreadBattleTrainerVisualDataV3 {
737 pub x_offset: f64,
738 pub y_offset: Option<f64>,
739}
740
741#[derive(Debug, Clone, Serialize, Deserialize)]
742#[serde(rename_all = "camelCase")]
743pub struct BreadBattleVisualDataV4 {
744 pub scale: f64,
745 pub x_offset: Option<f64>,
746 pub y_offset: Option<f64>,
747}
748
749#[derive(Debug, Clone, Serialize, Deserialize)]
750#[serde(rename_all = "camelCase")]
751pub struct BreadEncounterVisiualDataV3 {
752 pub camera_distance: f64,
753 pub max_reticle_size: Option<f64>,
754 pub scale: f64,
755}
756
757#[derive(Debug, Clone, Serialize, Deserialize)]
758#[serde(untagged)]
759pub enum BreadModeValue {
760 String(String),
761 StringV2(String),
762 StringV3(String),
763 StringV4(String),
764 StringV5(String),
765 StringV6(String),
766 StringV7(String),
767 StringV8(String),
768 StringV9(String),
769 StringV10(String),
770 StringV11(String),
771 StringV12(String),
772 StringV13(String),
773 StringV14(String),
774 StringV15(String),
775 StringV16(String),
776 StringV17(String),
777 StringV18(String),
778 StringV19(String),
779 StringV20(String),
780 StringV21(String),
781 StringV22(String),
782 StringV23(String),
783 StringV24(String),
784 StringV25(String),
785 StringV26(String),
786 StringV27(String),
787 StringV28(String),
788 StringV29(String),
789 StringV30(String),
790 StringV31(String),
791 StringV32(String),
792 StringV33(String),
793 StringV34(String),
794 StringV35(String),
795 StringV36(String),
796 StringV37(String),
797 StringV38(String),
798 StringV39(String),
799 StringV40(String),
800 StringV41(String),
801 StringV42(String),
802 StringV43(String),
803 StringV44(String),
804 StringV45(String),
805 StringV46(String),
806 StringV47(String),
807 StringV48(String),
808 StringV49(String),
809 StringV50(String),
810 StringV51(String),
811 StringV52(String),
812 StringV53(String),
813 StringV54(String),
814 StringV55(String),
815 StringV56(String),
816 StringV57(String),
817 StringV58(String),
818 StringV59(String),
819 StringV60(String),
820 StringV61(String),
821 StringV62(String),
822 StringV63(String),
823 StringV64(String),
824 StringV65(String),
825 StringV66(String),
826 StringV67(String),
827 StringV68(String),
828 StringV69(String),
829 StringV70(String),
830 StringV71(String),
831 StringV72(String),
832 Uint(u64),
833}
834
835#[derive(Debug, Clone, Serialize, Deserialize)]
836#[serde(rename_all = "camelCase")]
837pub struct BreadStationVisualData {
838 pub scale: f64,
839 pub x_offset: Option<f64>,
840}
841
842#[derive(Debug, Clone, Serialize, Deserialize)]
843#[serde(rename_all = "camelCase")]
844pub struct VisualDataV10 {
845 pub bread_battle_boss_visual_data: Option<BreadBattleBossVisualData>,
846 pub bread_battle_trainer_visual_data: Option<BreadBattleTrainerVisualDataV3>,
847 pub bread_battle_visual_data: Option<BreadBattleVisualDataV4>,
848 pub bread_encounter_visiual_data: Option<BreadEncounterVisiualDataV3>,
849 pub bread_mode: BreadModeValue,
850 pub bread_station_visual_data: Option<BreadStationVisualData>,
851}
852
853#[derive(Debug, Clone, Serialize, Deserialize)]
854#[serde(rename_all = "camelCase")]
855pub struct PokemonFormDataV12 {
856 pub pokemon_form: Option<String>,
857 pub visual_data: Vec<VisualDataV10>,
858}
859
860#[derive(Debug, Clone, Serialize, Deserialize)]
861#[serde(rename_all = "camelCase")]
862pub struct VisualSettingsV12 {
863 pub pokemon_form_data: [PokemonFormDataV12; 1],
864 pub pokemon_id: String,
865}
866
867#[derive(Debug, Clone, Serialize, Deserialize)]
868#[serde(rename_all = "camelCase")]
869pub struct BreadPokemonScalingSettings {
870 pub visual_settings: Vec<VisualSettingsV12>,
871}
872
873#[derive(Debug, Clone, Serialize, Deserialize)]
874#[serde(rename_all = "camelCase")]
875pub struct AllowedSourdoughPokemon {
876 pub bread_mode: String,
877 pub form: [String; 1],
878 pub pokemon_id: String,
879}
880
881#[derive(Debug, Clone, Serialize, Deserialize)]
882#[serde(rename_all = "camelCase")]
883pub struct AllowedSourdoughPokemonV2 {
884 pub bread_mode: String,
885 pub form: [String; 2],
886 pub pokemon_id: String,
887}
888
889#[derive(Debug, Clone, Serialize, Deserialize)]
890#[serde(rename_all = "camelCase")]
891pub struct AllowedSourdoughPokemonV3 {
892 pub bread_mode: String,
893 pub form: Vec<String>,
894 pub pokemon_id: String,
895}
896
897#[derive(Debug, Clone, Serialize, Deserialize)]
898#[serde(rename_all = "camelCase")]
899pub struct BreadBattleAvailability {
900 pub bread_battle_availability_end_minute: u64,
901 pub bread_battle_availability_start_minute: u64,
902}
903
904#[derive(Debug, Clone, Serialize, Deserialize)]
905#[serde(rename_all = "camelCase")]
906pub struct BreadSettings {
907 pub allowed_sourdough_pokemon: Vec<AllowedSourdoughPokemonV3>,
908 pub bread_battle_availability: BreadBattleAvailability,
909 pub max_range_for_nearby_state_meters: u64,
910 pub max_stationed_pokemon: u64,
911 pub max_stationed_pokemon_display_count: u64,
912 pub max_stationed_pokemon_per_player: u64,
913 pub min_ms_to_receive_release_station_rewards: String,
914 pub num_stationed_pokemon_to_return: u64,
915 pub show_timer_when_far: bool,
916 pub start_of_day_offset_duration_ms: String,
917 pub tutorial_max_boost_item_duration_s: f64,
918}
919
920#[derive(Debug, Clone, Serialize, Deserialize)]
921#[serde(rename_all = "camelCase")]
922pub struct BuddyEncounterCameoSettings {
923 pub buddy_invasion_encounter_cameo_chance_percent: f64,
924 pub buddy_quest_encounter_cameo_chance_percent: f64,
925 pub buddy_raid_encounter_cameo_chance_percent: f64,
926 pub buddy_wild_encounter_cameo_chance_percent: f64,
927}
928
929#[derive(Debug, Clone, Serialize, Deserialize)]
930#[serde(rename_all = "camelCase")]
931pub struct BuddyHungerSettings {
932 pub cooldown_duration_ms: String,
933 pub decay_duration_after_full_ms: String,
934 pub decay_points_per_bucket: u64,
935 pub milliseconds_per_bucket: String,
936 pub num_hunger_points_required_for_full: u64,
937}
938
939#[derive(Debug, Clone, Serialize, Deserialize)]
940#[serde(rename_all = "camelCase")]
941pub struct BuddyInteractionSettings {
942 pub feed_item_whitelist: [String; 6],
943}
944
945#[derive(Debug, Clone, Serialize, Deserialize)]
946#[serde(rename_all = "camelCase")]
947pub struct BuddySwapSettings {
948 pub enable_quick_swap: bool,
949 pub enable_swap_free_evolution: bool,
950 pub max_swaps_per_day: u64,
951}
952
953#[derive(Debug, Clone, Serialize, Deserialize)]
954#[serde(rename_all = "camelCase")]
955pub struct BuddyWalkSettings {
956 pub km_required_per_affection_point: f64,
957}
958
959#[derive(Debug, Clone, Serialize, Deserialize)]
960#[serde(rename_all = "camelCase")]
961pub struct BulkHealingSettings {
962 pub enabled: bool,
963 pub max_pokemons_per_heal: u64,
964}
965
966#[derive(Debug, Clone, Serialize, Deserialize)]
967#[serde(rename_all = "camelCase")]
968pub struct ButterflyCollectorSettings {
969 pub daily_progress_from_inventory: u64,
970 pub enabled: bool,
971 pub region: [String; 18],
972 pub version: u64,
973}
974
975#[derive(Debug, Clone, Serialize, Deserialize)]
976#[serde(rename_all = "camelCase")]
977pub struct CampfireSettings {
978 pub ar_catch_card_enabled: bool,
979 pub ar_catch_card_share_campfire_enabled: bool,
980 pub campfire_enabled: bool,
981 pub catch_card_available_seconds: u64,
982 pub catch_card_enabled: bool,
983 pub catch_card_share_campfire_enabled: bool,
984 pub map_buttons_enabled: bool,
985 pub meetup_query_timer_ms: String,
986 pub passwordless_login_enabled: bool,
987}
988
989#[derive(Debug, Clone, Serialize, Deserialize)]
990#[serde(rename_all = "camelCase")]
991pub struct CatchRadiusMultiplierSettings {
992 pub catch_radius_multiplier_settings_enabled: bool,
993}
994
995#[derive(Debug, Clone, Serialize, Deserialize)]
996#[serde(rename_all = "camelCase")]
997pub struct CombatCompetitiveSeasonSettings {
998 pub ranking_adjustment_percentage: f64,
999 pub rating_adjustment_percentage: f64,
1000 pub season_end_time_timestamp: [String; 31],
1001}
1002
1003#[derive(Debug, Clone, Serialize, Deserialize)]
1004#[serde(rename_all = "camelCase")]
1005pub struct CombatLeagueSettings {
1006 pub combat_league_template_id: [String; 3],
1007}
1008
1009#[derive(Debug, Clone, Serialize, Deserialize)]
1010#[serde(rename_all = "camelCase")]
1011pub struct ClockSyncSettings {
1012 pub enabled: bool,
1013 pub sync_attempt_count: u64,
1014}
1015
1016#[derive(Debug, Clone, Serialize, Deserialize)]
1017#[serde(rename_all = "camelCase")]
1018pub struct CombatFeatureFlags {
1019 pub real_device_time_enabled: bool,
1020}
1021
1022#[derive(Debug, Clone, Serialize, Deserialize)]
1023#[serde(rename_all = "camelCase")]
1024pub struct CombatSettings {
1025 pub blocked_flyout_duration_turns: u64,
1026 pub change_pokemon_duration_seconds: f64,
1027 pub charge_attack_bonus_multiplier: f64,
1028 pub charge_score_base: f64,
1029 pub charge_score_excellent: f64,
1030 pub charge_score_great: f64,
1031 pub charge_score_nice: f64,
1032 pub clock_sync_settings: ClockSyncSettings,
1033 pub combat_experiment: Vec<serde_json::Value>,
1034 pub combat_feature_flags: CombatFeatureFlags,
1035 pub defender_minigame_multiplier: f64,
1036 pub defense_bonus_multiplier: f64,
1037 pub fast_attack_bonus_multiplier: f64,
1038 pub flyin_duration_turns: u64,
1039 pub max_energy: u64,
1040 pub minigame_bonus_base_multiplier: f64,
1041 pub minigame_bonus_variable_multiplier: f64,
1042 pub minigame_duration_seconds: f64,
1043 pub minigame_submit_score_duration_seconds: f64,
1044 pub normal_effective_flyout_duration_turns: u64,
1045 pub not_very_effective_flyout_duration_turns: u64,
1046 pub ob_combat_settings_not_pushed_bool2: bool,
1047 pub purified_pokemon_attack_multiplier_vs_shadow: f64,
1048 pub quick_swap_cooldown_duration_seconds: f64,
1049 pub round_duration_seconds: f64,
1050 pub same_type_attack_bonus_multiplier: f64,
1051 pub shadow_pokemon_attack_bonus_multiplier: f64,
1052 pub shadow_pokemon_defense_bonus_multiplier: f64,
1053 pub show_quick_swap_buttons_during_countdown: bool,
1054 pub super_effective_flyout_duration_turns: u64,
1055 pub turn_duration_seconds: f64,
1056}
1057
1058#[derive(Debug, Clone, Serialize, Deserialize)]
1059#[serde(rename_all = "camelCase")]
1060pub struct CombatStatStageSettings {
1061 pub attack_buff_multiplier: [f64; 9],
1062 pub defense_buff_multiplier: [f64; 9],
1063 pub maximum_stat_stage: u64,
1064 pub minimum_stat_stage: i64,
1065}
1066
1067#[derive(Debug, Clone, Serialize, Deserialize)]
1068#[serde(rename_all = "camelCase")]
1069pub struct ContestLengthThresholds {
1070 pub length: String,
1071 pub max_duration_ms: String,
1072 pub min_duration_ms: String,
1073}
1074
1075#[derive(Debug, Clone, Serialize, Deserialize)]
1076#[serde(rename_all = "camelCase")]
1077pub struct ContestMetric {
1078 pub pokemon_metric: String,
1079 pub ranking_standard: String,
1080}
1081
1082#[derive(Debug, Clone, Serialize, Deserialize)]
1083#[serde(rename_all = "camelCase")]
1084pub struct ContestLimits {
1085 pub contest_metric: ContestMetric,
1086 pub contest_occurrence: String,
1087 pub per_contest_max_entries: u64,
1088}
1089
1090#[derive(Debug, Clone, Serialize, Deserialize)]
1091#[serde(rename_all = "camelCase")]
1092pub struct PokemonSize {
1093 pub height_coefficient: f64,
1094 pub iv_coefficient: f64,
1095 pub weight_coefficient: f64,
1096 pub xxl_adjustment_factor: f64,
1097}
1098
1099#[derive(Debug, Clone, Serialize, Deserialize)]
1100#[serde(rename_all = "camelCase")]
1101pub struct ContestScoreCoefficient {
1102 pub pokemon_size: PokemonSize,
1103}
1104
1105#[derive(Debug, Clone, Serialize, Deserialize)]
1106#[serde(rename_all = "camelCase")]
1107pub struct ContestWarmupAndCooldownDurationsMs {
1108 pub contest_occurrence: String,
1109 pub cycle_cooldown_duration_ms: String,
1110 pub cycle_warmup_duration_ms: String,
1111}
1112
1113#[derive(Debug, Clone, Serialize, Deserialize)]
1114#[serde(rename_all = "camelCase")]
1115pub struct ContestSettings {
1116 pub catch_prompt_timeout_ms: f64,
1117 pub contest_length_thresholds: [ContestLengthThresholds; 3],
1118 pub contest_limits: [ContestLimits; 1],
1119 pub contest_score_coefficient: [ContestScoreCoefficient; 1],
1120 pub contest_warmup_and_cooldown_durations_ms: [ContestWarmupAndCooldownDurationsMs; 2],
1121 pub default_contest_max_entries: u64,
1122 pub default_cycle_cooldown_duration_ms: String,
1123 pub default_cycle_warmup_duration_ms: String,
1124 pub is_anticheat_removal_enabled: bool,
1125 pub is_contest_in_nearby_menu: bool,
1126 pub is_feature_enabled: bool,
1127 pub is_friends_display_enabled: bool,
1128 pub is_normalized_score_to_species: bool,
1129 pub is_pokemon_scalar_enabled: bool,
1130 pub is_v2_feature_enabled: bool,
1131 pub is_v2_focuses_enabled: bool,
1132 pub max_catch_prompt_range: f64,
1133 pub min_cooldown_before_season_end_ms: String,
1134 pub player_contest_max_entries: u64,
1135}
1136
1137#[derive(Debug, Clone, Serialize, Deserialize)]
1138#[serde(rename_all = "camelCase")]
1139pub struct PokemonFormAppraisalOverrides {
1140 pub add_to_start: bool,
1141 pub appraisal_key: String,
1142 pub form: String,
1143 pub id: String,
1144}
1145
1146#[derive(Debug, Clone, Serialize, Deserialize)]
1147#[serde(rename_all = "camelCase")]
1148pub struct ConversationSettings {
1149 pub pokemon_form_appraisal_overrides: [PokemonFormAppraisalOverrides; 8],
1150}
1151
1152#[derive(Debug, Clone, Serialize, Deserialize)]
1153#[serde(rename_all = "camelCase")]
1154pub struct CrossGameSocialSettings {
1155 pub niantic_profile_enabled_override_level: bool,
1156 pub online_status_enabled_override_level: bool,
1157}
1158
1159#[derive(Debug, Clone, Serialize, Deserialize)]
1160#[serde(rename_all = "camelCase")]
1161pub struct LootItem {
1162 pub count: u64,
1163 pub item: String,
1164}
1165
1166#[derive(Debug, Clone, Serialize, Deserialize)]
1167#[serde(rename_all = "camelCase")]
1168pub struct PokeballGrant {
1169 pub loot_item: [LootItem; 1],
1170}
1171
1172#[derive(Debug, Clone, Serialize, Deserialize)]
1173#[serde(rename_all = "camelCase")]
1174pub struct DailyAdventureIncenseSettings {
1175 pub enabled: bool,
1176 pub enable_push_notification: bool,
1177 pub local_delivery_time: String,
1178 pub pokeball_grant: PokeballGrant,
1179 pub pokeball_grant_threshold: u64,
1180 pub push_notification_hour_of_day: u64,
1181}
1182
1183#[derive(Debug, Clone, Serialize, Deserialize)]
1184#[serde(rename_all = "camelCase")]
1185pub struct DeepLinkingSettings {
1186 pub actions_that_execute_before_map_loads: (String, u64),
1187 pub actions_that_ignore_min_level: (String, u64),
1188 pub ios_action_button_enabled: bool,
1189 pub min_player_level_for_external_link: u64,
1190 pub min_player_level_for_notification_link: u64,
1191}
1192
1193#[derive(Debug, Clone, Serialize, Deserialize)]
1194#[serde(rename_all = "camelCase")]
1195pub struct EggHatchImprovementsSettings {
1196 pub boot_delay_ms: u64,
1197 pub feature_enabled: bool,
1198 pub raid_invite_hard_cap_ms: u64,
1199}
1200
1201#[derive(Debug, Clone, Serialize, Deserialize)]
1202#[serde(rename_all = "camelCase")]
1203pub struct EncounterSettings {
1204 pub ar_close_proximity_threshold: f64,
1205 pub ar_low_awareness_threshold: f64,
1206 pub ar_plus_mode_enabled: bool,
1207 pub enable_item_selection_slider_v2: bool,
1208 pub excellent_throw_threshold: f64,
1209 pub great_throw_threshold: f64,
1210 pub milestone_threshold: u64,
1211 pub nice_throw_threshold: f64,
1212 pub spin_bonus_threshold: f64,
1213}
1214
1215#[derive(Debug, Clone, Serialize, Deserialize)]
1216#[serde(rename_all = "camelCase")]
1217pub struct ErrorReportingSettingsV2 {
1218 pub event_sample_rate: f64,
1219 pub is_enabled: bool,
1220 pub max_events_per_sliding_window: u64,
1221 pub max_total_events_before_shutdown: String,
1222 pub percent_chance_player_sends: f64,
1223 pub sliding_window_length_s: u64,
1224}
1225
1226#[derive(Debug, Clone, Serialize, Deserialize)]
1227#[serde(rename_all = "camelCase")]
1228pub struct EventPlannerPopularNotificationSettings {
1229 pub battle_levels: [u64; 9],
1230 pub first_scan_offset_seconds: String,
1231 pub max_notif_per_day: u64,
1232 pub nearby_poi_threshold: u64,
1233 pub notif_delay_intervals_seconds: String,
1234 pub rural_threshold: u64,
1235 pub scan_interval_seconds: String,
1236 pub timeslot_buffer_window_seconds: String,
1237 pub urban_threshold: u64,
1238}
1239
1240#[derive(Debug, Clone, Serialize, Deserialize)]
1241#[serde(rename_all = "camelCase")]
1242pub struct ExternalAddressableAssetsSettings {}
1243
1244#[derive(Debug, Clone, Serialize, Deserialize)]
1245#[serde(rename_all = "camelCase")]
1246pub struct FeatureUnlockLevelSettings {
1247 pub lures_unlock_level: u64,
1248 pub rare_candy_conversion_unlock_level: u64,
1249}
1250
1251#[derive(Debug, Clone, Serialize, Deserialize)]
1252#[serde(rename_all = "camelCase")]
1253pub struct GeotargetedQuestSettings {
1254 pub enable_geotargeted_quests: bool,
1255}
1256
1257#[derive(Debug, Clone, Serialize, Deserialize)]
1258#[serde(rename_all = "camelCase")]
1259pub struct StardustMultiplier {
1260 pub multiplier: f64,
1261 pub random_weight: f64,
1262}
1263
1264#[derive(Debug, Clone, Serialize, Deserialize)]
1265#[serde(rename_all = "camelCase")]
1266pub struct GiftingSettings {
1267 pub enable_gift_to_stardust: bool,
1268 pub flow_polish_enabled: bool,
1269 pub multi_major_reward_ui_enabled: bool,
1270 pub stardust_multiplier: [StardustMultiplier; 3],
1271 pub stardust_per_gift: u64,
1272}
1273
1274#[derive(Debug, Clone, Serialize, Deserialize)]
1275#[serde(rename_all = "camelCase")]
1276pub struct GuiSearchSettings {
1277 pub complete_start_letter_count_per_language: [String; 15],
1278 pub gui_search_enabled: bool,
1279 pub max_number_favorite_searches: u64,
1280 pub max_number_recent_searches: u64,
1281 pub max_query_length: u64,
1282 pub search_help_url: String,
1283}
1284
1285#[derive(Debug, Clone, Serialize, Deserialize)]
1286#[serde(rename_all = "camelCase")]
1287pub struct GymBadgeSettings {
1288 pub battle_winning_score_per_defender_cp: f64,
1289 pub berry_feeding_score: u64,
1290 pub gym_defending_score_per_minute: f64,
1291 pub lose_all_battles_score: u64,
1292 pub pokemon_deploy_score: u64,
1293 pub raid_battle_winning_score: u64,
1294 pub target: [u64; 3],
1295}
1296
1297#[derive(Debug, Clone, Serialize, Deserialize)]
1298#[serde(rename_all = "camelCase")]
1299pub struct HapticsSettings {
1300 pub advanced_haptics_enabled: bool,
1301}
1302
1303#[derive(Debug, Clone, Serialize, Deserialize)]
1304#[serde(rename_all = "camelCase")]
1305pub struct IapSettings {
1306 pub daily_defender_bonus_currency: [String; 2],
1307 pub daily_defender_bonus_max_defenders: u64,
1308 pub daily_defender_bonus_per_pokemon: [u64; 2],
1309 pub min_time_between_claims_ms: String,
1310 pub prohibit_purchase_in_test_envirnment: bool,
1311}
1312
1313#[derive(Debug, Clone, Serialize, Deserialize)]
1314#[serde(rename_all = "camelCase")]
1315pub struct IbfcLightweightSettings {
1316 pub default_defense_multiplier: f64,
1317 pub default_defense_override: f64,
1318 pub default_energy_charge_override: f64,
1319 pub default_stamina_override: f64,
1320}
1321
1322#[derive(Debug, Clone, Serialize, Deserialize)]
1323#[serde(rename_all = "camelCase")]
1324pub struct ImpressionTrackingSettings {
1325 pub approach_gym_tracking_enabled: bool,
1326 pub approach_raid_tracking_enabled: bool,
1327 pub full_screen_ad_view_tracking_enabled: bool,
1328 pub impression_tracking_enabled: bool,
1329 pub pokestop_spinner_interaction_tracking_enabled: bool,
1330}
1331
1332#[derive(Debug, Clone, Serialize, Deserialize)]
1333#[serde(rename_all = "camelCase")]
1334pub struct InAppSurveySettings {
1335 pub survey_poll_frequency_s: u64,
1336}
1337
1338#[derive(Debug, Clone, Serialize, Deserialize)]
1339#[serde(rename_all = "camelCase")]
1340pub struct IncidentPriority {
1341 pub display_type: String,
1342 pub priority: u64,
1343}
1344
1345#[derive(Debug, Clone, Serialize, Deserialize)]
1346#[serde(rename_all = "camelCase")]
1347pub struct IncidentPrioritySettings {
1348 pub incident_priority: [IncidentPriority; 7],
1349}
1350
1351#[derive(Debug, Clone, Serialize, Deserialize)]
1352#[serde(rename_all = "camelCase")]
1353pub struct IncidentVisibilitySettings {
1354 pub hide_incident_for_character: [String; 11],
1355}
1356
1357#[derive(Debug, Clone, Serialize, Deserialize)]
1358#[serde(rename_all = "camelCase")]
1359pub struct BagUpgradeTimerStages {
1360 pub dismiss_stage_secs: f64,
1361}
1362
1363#[derive(Debug, Clone, Serialize, Deserialize)]
1364#[serde(rename_all = "camelCase")]
1365pub struct InventorySettings {
1366 pub bag_upgrade_banner_contexts: [String; 5],
1367 pub bag_upgrade_banner_enabled: bool,
1368 pub bag_upgrade_timer_stages: [BagUpgradeTimerStages; 4],
1369 pub base_bag_items: u64,
1370 pub base_daily_adventure_eggs: u64,
1371 pub base_eggs: u64,
1372 pub base_pokemon: u64,
1373 pub base_postcards: u64,
1374 pub can_raid_pass_overflow_bag_space: bool,
1375 pub easy_incubator_buy_enabled: bool,
1376 pub enable_eggs_not_inventory: bool,
1377 pub lucky_friend_applicator_settings_toggle_enabled: bool,
1378 pub max_bag_items: u64,
1379 pub max_item_boost_duration_ms: String,
1380 pub max_pokemon: u64,
1381 pub max_postcards: u64,
1382 pub max_stone_a_count: u64,
1383 pub max_team_changes: u64,
1384 pub special_egg_overflow_spots: u64,
1385 pub team_change_item_reset_period_in_days: String,
1386}
1387
1388#[derive(Debug, Clone, Serialize, Deserialize)]
1389#[serde(rename_all = "camelCase")]
1390pub struct IrisSocialSettings {
1391 pub add_pokemon_modal_delay_ms: f64,
1392 pub banned_pokedex_ids: [String; 21],
1393 pub combined_shadows_enabled: bool,
1394 pub enable_sqc_guidance: bool,
1395 pub expression_update_broadcast_method: String,
1396 pub ftue_version: String,
1397 pub gameplay_reports_active: bool,
1398 pub ground_focus_guardrail_enabled: bool,
1399 pub ground_focus_guardrail_enter_angle: f64,
1400 pub ground_focus_guardrail_exit_angle: f64,
1401 pub guidance_in_car_threshold: f64,
1402 pub guidance_path_nearby_finish_delay_ms: f64,
1403 pub guidance_path_nearby_finish_distance_meters: f64,
1404 pub iris_social_enabled: bool,
1405 pub iris_social_poi_deactivation_cooldown_ms: String,
1406 pub limited_localization_timeout_duration_ms: String,
1407 pub limited_pokedex_ids: Vec<String>,
1408 pub localization_guidance_path_enabled: bool,
1409 pub localization_timeout_duration_ms: String,
1410 pub location_manager_jpeg_compression_quality: u64,
1411 pub max_boundary_area_sq_meters: f64,
1412 pub max_distance_allow_localization_meters: String,
1413 pub max_num_pokemon_per_player: u64,
1414 pub max_num_pokemon_per_scene: u64,
1415 pub max_time_bg_mode_before_expulsion_ms: String,
1416 pub max_time_no_activity_player_inactive_ms: String,
1417 pub min_boundary_area_sq_meters: f64,
1418 pub pokeball_ping_time_delay_ms: f64,
1419 pub pokemon_expire_after_ms: String,
1420 pub pokemon_spawn_stagger_duration_ms: String,
1421 pub push_gateway_enabled: bool,
1422 pub sunrise_threshold_offset_ms: String,
1423 pub sunset_threshold_offset_ms: String,
1424 pub sun_threshold_check_enabled: bool,
1425 pub use_boundary_vertices_from_data_flow: bool,
1426 pub use_vps_enabled_status: bool,
1427}
1428
1429#[derive(Debug, Clone, Serialize, Deserialize)]
1430#[serde(rename_all = "camelCase")]
1431pub struct EventStep {
1432 pub event: String,
1433 pub step_number: u64,
1434}
1435
1436#[derive(Debug, Clone, Serialize, Deserialize)]
1437#[serde(rename_all = "camelCase")]
1438pub struct EventStepV2 {
1439 pub event: u64,
1440 pub step_number: u64,
1441}
1442
1443#[derive(Debug, Clone, Serialize, Deserialize)]
1444#[serde(untagged)]
1445pub enum EventValue {
1446 String(String),
1447 StringV2(String),
1448 StringV3(String),
1449 StringV4(String),
1450 StringV5(String),
1451 StringV6(String),
1452 StringV7(String),
1453 StringV8(String),
1454 StringV9(String),
1455 StringV10(String),
1456 StringV11(String),
1457 StringV12(String),
1458 StringV13(String),
1459 StringV14(String),
1460 StringV15(String),
1461 StringV16(String),
1462 StringV17(String),
1463 StringV18(String),
1464 StringV19(String),
1465 StringV20(String),
1466 StringV21(String),
1467 StringV22(String),
1468 StringV23(String),
1469 StringV24(String),
1470 Uint(u64),
1471 UintV2(u64),
1472 UintV3(u64),
1473 UintV4(u64),
1474 UintV5(u64),
1475 UintV6(u64),
1476 UintV7(u64),
1477 UintV8(u64),
1478 UintV9(u64),
1479 UintV10(u64),
1480 UintV11(u64),
1481 UintV12(u64),
1482 UintV13(u64),
1483 UintV14(u64),
1484 UintV15(u64),
1485 UintV16(u64),
1486 UintV17(u64),
1487 UintV18(u64),
1488 UintV19(u64),
1489 UintV20(u64),
1490 UintV21(u64),
1491}
1492
1493#[derive(Debug, Clone, Serialize, Deserialize)]
1494#[serde(rename_all = "camelCase")]
1495pub struct EventStepV3 {
1496 pub event: EventValue,
1497 pub step_number: u64,
1498}
1499
1500#[derive(Debug, Clone, Serialize, Deserialize)]
1501#[serde(rename_all = "camelCase")]
1502pub struct IrisSocialUxFunnelSettings {
1503 pub event_step: Vec<EventStepV3>,
1504 pub ux_funnel_version: u64,
1505}
1506
1507#[derive(Debug, Clone, Serialize, Deserialize)]
1508#[serde(rename_all = "camelCase")]
1509pub struct ItemCoinValues {
1510 pub coin_value: f64,
1511 pub item: String,
1512}
1513
1514#[derive(Debug, Clone, Serialize, Deserialize)]
1515#[serde(rename_all = "camelCase")]
1516pub struct ItemCurrencyValues {
1517 pub item_coin_values: [ItemCoinValues; 23],
1518}
1519
1520#[derive(Debug, Clone, Serialize, Deserialize)]
1521#[serde(rename_all = "camelCase")]
1522pub struct CategoryProto {
1523 pub category: [String; 1],
1524 pub category_name: String,
1525}
1526
1527#[derive(Debug, Clone, Serialize, Deserialize)]
1528#[serde(rename_all = "camelCase")]
1529pub struct CategoryProtoV2 {
1530 pub category: [String; 1],
1531 pub category_name: String,
1532 pub sort_order: u64,
1533}
1534
1535#[derive(Debug, Clone, Serialize, Deserialize)]
1536#[serde(rename_all = "camelCase")]
1537pub struct CategoryProtoV3 {
1538 pub category: [String; 3],
1539 pub category_name: String,
1540 pub sort_order: u64,
1541}
1542
1543#[derive(Debug, Clone, Serialize, Deserialize)]
1544#[serde(rename_all = "camelCase")]
1545pub struct CategoryProtoV4 {
1546 pub category: [String; 4],
1547 pub category_name: String,
1548 pub sort_order: u64,
1549}
1550
1551#[derive(Debug, Clone, Serialize, Deserialize)]
1552#[serde(rename_all = "camelCase")]
1553pub struct CategoryProtoV5 {
1554 pub category: [String; 7],
1555 pub category_name: String,
1556 pub sort_order: u64,
1557}
1558
1559#[derive(Debug, Clone, Serialize, Deserialize)]
1560#[serde(rename_all = "camelCase")]
1561pub struct ItemInventoryUpdateSettings {
1562 pub category_proto: (
1563 CategoryProto,
1564 CategoryProtoV2,
1565 CategoryProtoV2,
1566 CategoryProtoV2,
1567 CategoryProtoV3,
1568 CategoryProtoV4,
1569 CategoryProtoV5,
1570 CategoryProtoV3,
1571 CategoryProtoV2,
1572 CategoryProtoV4,
1573 CategoryProtoV2,
1574 CategoryProtoV2,
1575 ),
1576}
1577
1578#[derive(Debug, Clone, Serialize, Deserialize)]
1579#[serde(rename_all = "camelCase")]
1580pub struct JoinRaidViaFriendListSettings {
1581 pub enabled: bool,
1582 pub friend_activities_background_update_period_ms: String,
1583 pub max_battle_enabled: bool,
1584 pub max_battle_min_friendship_score: u64,
1585 pub max_battle_min_player_level: u64,
1586 pub min_friendship_score: u64,
1587 pub min_player_level: u64,
1588}
1589
1590#[derive(Debug, Clone, Serialize, Deserialize)]
1591#[serde(rename_all = "camelCase")]
1592pub struct LanguageSelectorSettings {
1593 pub language_selector_enabled: bool,
1594}
1595
1596#[derive(Debug, Clone, Serialize, Deserialize)]
1597#[serde(rename_all = "camelCase")]
1598pub struct LuckyPokemonSettings {
1599 pub power_up_stardust_discount_percent: f64,
1600}
1601
1602#[derive(Debug, Clone, Serialize, Deserialize)]
1603#[serde(rename_all = "camelCase")]
1604pub struct MainMenuChanges {
1605 pub enabled: bool,
1606}
1607
1608#[derive(Debug, Clone, Serialize, Deserialize)]
1609#[serde(rename_all = "camelCase")]
1610pub struct MapDisplaySettings {
1611 pub show_enhanced_sky: bool,
1612}
1613
1614#[derive(Debug, Clone, Serialize, Deserialize)]
1615#[serde(rename_all = "camelCase")]
1616pub struct MapObjectsInteractionRangeSettings {
1617 pub far_interaction_range_meters: f64,
1618 pub interaction_range_meters: f64,
1619 pub remote_interaction_range_meters: f64,
1620 pub white_pulse_radius_meters: f64,
1621}
1622
1623#[derive(Debug, Clone, Serialize, Deserialize)]
1624#[serde(rename_all = "camelCase")]
1625pub struct MegaEvoSettings {
1626 pub active_mega_bonus_catch_candy: u64,
1627 pub attack_boost_from_mega_different_type: f64,
1628 pub attack_boost_from_mega_same_type: f64,
1629 pub client_mega_cooldown_buffer_ms: u64,
1630 pub enable_buddy_walking_mega_energy_award: bool,
1631 pub enable_mega_evolve_in_lobby: bool,
1632 pub enable_mega_level: bool,
1633 pub enable_mega_level_legacy_award: bool,
1634 pub evolution_length_ms: String,
1635 pub max_candy_hoard_size: u64,
1636 pub num_mega_levels: u64,
1637}
1638
1639#[derive(Debug, Clone, Serialize, Deserialize)]
1640#[serde(rename_all = "camelCase")]
1641pub struct MonodepthSettings {
1642 pub enable_ground_suppression: bool,
1643 pub enable_occlusions: bool,
1644 pub min_ground_suppression_thresh: f64,
1645 pub occlusions_toggle_visible: bool,
1646 pub suppression_channel_id: u64,
1647}
1648
1649#[derive(Debug, Clone, Serialize, Deserialize)]
1650#[serde(rename_all = "camelCase")]
1651pub struct BattleMpCostPerTier {
1652 pub battle_level: String,
1653 pub bread_battle_catch_mp_cost: u64,
1654 pub bread_battle_remote_catch_mp_cost: u64,
1655}
1656
1657#[derive(Debug, Clone, Serialize, Deserialize)]
1658#[serde(rename_all = "camelCase")]
1659pub struct BattleMpCostPerTierV2 {
1660 pub battle_level: u64,
1661 pub bread_battle_catch_mp_cost: u64,
1662 pub bread_battle_remote_catch_mp_cost: u64,
1663}
1664
1665#[derive(Debug, Clone, Serialize, Deserialize)]
1666#[serde(rename_all = "camelCase")]
1667pub struct MpSettings {
1668 pub battle_mp_cost_per_tier: (
1669 BattleMpCostPerTier,
1670 BattleMpCostPerTier,
1671 BattleMpCostPerTier,
1672 BattleMpCostPerTier,
1673 BattleMpCostPerTier,
1674 BattleMpCostPerTier,
1675 BattleMpCostPerTierV2,
1676 ),
1677 pub debug_allow_remove_walk_quest: bool,
1678 pub ftue_mp_capacity: u64,
1679 pub mp_base_daily_limit: u64,
1680 pub mp_capacity: u64,
1681 pub mp_claim_particle_speed_multiplier: f64,
1682 pub num_extra_mp_from_first_loot_station: u64,
1683 pub num_meters_goal: u64,
1684 pub num_mp_from_loot_station: u64,
1685 pub num_mp_from_walk_quest: u64,
1686}
1687
1688#[derive(Debug, Clone, Serialize, Deserialize)]
1689#[serde(rename_all = "camelCase")]
1690pub struct NaturalArtDayNightFeatureSettings {
1691 pub day_end_time: String,
1692 pub day_start_time: String,
1693 pub dbs_spawn_radius_meters: f64,
1694 pub night_end_time: String,
1695}
1696
1697#[derive(Debug, Clone, Serialize, Deserialize)]
1698#[serde(rename_all = "camelCase")]
1699pub struct NearbyPokemonSettings {
1700 pub ob_enabled: bool,
1701 pub ob_nearby_pokemon_settings_bool1: bool,
1702}
1703
1704#[derive(Debug, Clone, Serialize, Deserialize)]
1705#[serde(rename_all = "camelCase")]
1706pub struct BustSlider {
1707 pub max_bounds: f64,
1708}
1709
1710#[derive(Debug, Clone, Serialize, Deserialize)]
1711#[serde(rename_all = "camelCase")]
1712pub struct SizeSlider {
1713 pub max_bounds: f64,
1714 pub min_bounds: f64,
1715}
1716
1717#[derive(Debug, Clone, Serialize, Deserialize)]
1718#[serde(rename_all = "camelCase")]
1719pub struct BodySliderSettings {
1720 pub bust_slider: BustSlider,
1721 pub hips_slider: BustSlider,
1722 pub muscle_slider: BustSlider,
1723 pub shoulder_slider: BustSlider,
1724 pub size_slider: SizeSlider,
1725}
1726
1727#[derive(Debug, Clone, Serialize, Deserialize)]
1728#[serde(rename_all = "camelCase")]
1729pub struct Backpack {
1730 pub article_id: String,
1731}
1732
1733#[derive(Debug, Clone, Serialize, Deserialize)]
1734#[serde(rename_all = "camelCase")]
1735pub struct Articles {
1736 pub backpack: Backpack,
1737 pub body_preset: Backpack,
1738 pub eyebrow: Backpack,
1739 pub eyelash: Backpack,
1740 pub face_preset: Backpack,
1741 pub gloves: Backpack,
1742 pub hair: Backpack,
1743 pub pants: Backpack,
1744 pub pose: Backpack,
1745 pub shirt: Backpack,
1746 pub shoes: Backpack,
1747 pub socks: Backpack,
1748}
1749
1750#[derive(Debug, Clone, Serialize, Deserialize)]
1751#[serde(rename_all = "camelCase")]
1752pub struct BodyBlend {
1753 pub hips: f64,
1754 pub musculature: f64,
1755 pub shoulders: f64,
1756 pub size: f64,
1757}
1758
1759#[derive(Debug, Clone, Serialize, Deserialize)]
1760#[serde(rename_all = "camelCase")]
1761pub struct EarSelection {
1762 pub selection: String,
1763}
1764
1765#[derive(Debug, Clone, Serialize, Deserialize)]
1766#[serde(rename_all = "camelCase")]
1767pub struct ColorKeys {
1768 pub key_position: f64,
1769}
1770
1771#[derive(Debug, Clone, Serialize, Deserialize)]
1772#[serde(rename_all = "camelCase")]
1773pub struct ColorKeysV2 {
1774 pub blue: f64,
1775 pub green: f64,
1776 pub key_position: f64,
1777 pub red: f64,
1778}
1779
1780#[derive(Debug, Clone, Serialize, Deserialize)]
1781#[serde(rename_all = "camelCase")]
1782pub struct EyeGradient {
1783 pub color_keys: (ColorKeys, ColorKeysV2, ColorKeysV2, ColorKeysV2),
1784}
1785
1786#[derive(Debug, Clone, Serialize, Deserialize)]
1787#[serde(rename_all = "camelCase")]
1788pub struct FacePositions {
1789 pub brow_depth: f64,
1790 pub brow_vertical: f64,
1791 pub eye_depth: f64,
1792 pub eye_horizontal: f64,
1793 pub eye_vertical: f64,
1794 pub mouth_depth: f64,
1795 pub mouth_horizontal: f64,
1796 pub mouth_vertical: f64,
1797 pub nose_depth: f64,
1798 pub nose_vertical: f64,
1799}
1800
1801#[derive(Debug, Clone, Serialize, Deserialize)]
1802#[serde(rename_all = "camelCase")]
1803pub struct ColorKeysV3 {
1804 pub blue: f64,
1805 pub green: f64,
1806 pub red: f64,
1807}
1808
1809#[derive(Debug, Clone, Serialize, Deserialize)]
1810#[serde(rename_all = "camelCase")]
1811pub struct HairGradient {
1812 pub color_keys: (
1813 ColorKeysV3,
1814 ColorKeysV2,
1815 ColorKeysV2,
1816 ColorKeysV2,
1817 ColorKeysV2,
1818 ),
1819}
1820
1821#[derive(Debug, Clone, Serialize, Deserialize)]
1822#[serde(rename_all = "camelCase")]
1823pub struct SkinGradient {
1824 pub color_keys: [ColorKeysV2; 5],
1825}
1826
1827#[derive(Debug, Clone, Serialize, Deserialize)]
1828#[serde(rename_all = "camelCase")]
1829pub struct DefaultNeutralAvatar {
1830 pub articles: Articles,
1831 pub body_blend: BodyBlend,
1832 pub ear_selection: EarSelection,
1833 pub eye_gradient: EyeGradient,
1834 pub eye_selection: EarSelection,
1835 pub face_positions: FacePositions,
1836 pub hair_gradient: HairGradient,
1837 pub head_selection: EarSelection,
1838 pub mouth_selection: EarSelection,
1839 pub nose_selection: EarSelection,
1840 pub skin_gradient: SkinGradient,
1841}
1842
1843#[derive(Debug, Clone, Serialize, Deserialize)]
1844#[serde(rename_all = "camelCase")]
1845pub struct ArticlesV2 {
1846 pub backpack: Backpack,
1847 pub belt: Backpack,
1848 pub body_preset: Backpack,
1849 pub eyebrow: Backpack,
1850 pub eyelash: Backpack,
1851 pub face_preset: Backpack,
1852 pub gloves: Backpack,
1853 pub hair: Backpack,
1854 pub hat: Backpack,
1855 pub necklace: Backpack,
1856 pub pants: Backpack,
1857 pub pose: Backpack,
1858 pub shirt: Backpack,
1859 pub shoes: Backpack,
1860 pub socks: Backpack,
1861}
1862
1863#[derive(Debug, Clone, Serialize, Deserialize)]
1864#[serde(rename_all = "camelCase")]
1865pub struct BodyBlendV2 {
1866 pub bust: f64,
1867 pub hips: f64,
1868}
1869
1870#[derive(Debug, Clone, Serialize, Deserialize)]
1871#[serde(rename_all = "camelCase")]
1872pub struct FacePositionsV2 {
1873 pub brow_depth: f64,
1874 pub brow_horizontal: f64,
1875 pub brow_vertical: f64,
1876 pub eye_depth: f64,
1877 pub eye_horizontal: f64,
1878 pub eye_vertical: f64,
1879 pub mouth_depth: f64,
1880 pub mouth_horizontal: f64,
1881 pub mouth_vertical: f64,
1882 pub nose_depth: f64,
1883 pub nose_vertical: f64,
1884}
1885
1886#[derive(Debug, Clone, Serialize, Deserialize)]
1887#[serde(rename_all = "camelCase")]
1888pub struct SkinGradientV2 {
1889 pub color_keys: [ColorKeysV2; 6],
1890}
1891
1892#[derive(Debug, Clone, Serialize, Deserialize)]
1893#[serde(rename_all = "camelCase")]
1894pub struct FemaleNeutralAvatar {
1895 pub articles: ArticlesV2,
1896 pub body_blend: BodyBlendV2,
1897 pub ear_selection: EarSelection,
1898 pub eye_gradient: EyeGradient,
1899 pub eye_selection: EarSelection,
1900 pub face_positions: FacePositionsV2,
1901 pub hair_gradient: HairGradient,
1902 pub head_selection: EarSelection,
1903 pub mouth_selection: EarSelection,
1904 pub nose_selection: EarSelection,
1905 pub skin_gradient: SkinGradientV2,
1906}
1907
1908#[derive(Debug, Clone, Serialize, Deserialize)]
1909#[serde(rename_all = "camelCase")]
1910pub struct ArticlesV3 {
1911 pub backpack: Backpack,
1912 pub body_preset: Backpack,
1913 pub eyebrow: Backpack,
1914 pub eyelash: Backpack,
1915 pub face_preset: Backpack,
1916 pub gloves: Backpack,
1917 pub hair: Backpack,
1918 pub hat: Backpack,
1919 pub pants: Backpack,
1920 pub pose: Backpack,
1921 pub shirt: Backpack,
1922 pub shoes: Backpack,
1923 pub socks: Backpack,
1924}
1925
1926#[derive(Debug, Clone, Serialize, Deserialize)]
1927#[serde(rename_all = "camelCase")]
1928pub struct MaleNeutralAvatar {
1929 pub articles: ArticlesV3,
1930 pub body_blend: BodyBlend,
1931 pub ear_selection: EarSelection,
1932 pub eye_gradient: EyeGradient,
1933 pub eye_selection: EarSelection,
1934 pub face_positions: FacePositionsV2,
1935 pub hair_gradient: HairGradient,
1936 pub head_selection: EarSelection,
1937 pub mouth_selection: EarSelection,
1938 pub nose_selection: EarSelection,
1939 pub skin_gradient: SkinGradientV2,
1940}
1941
1942#[derive(Debug, Clone, Serialize, Deserialize)]
1943#[serde(rename_all = "camelCase")]
1944pub struct NeutralAvatarSettings {
1945 pub body_slider_settings: BodySliderSettings,
1946 pub default_neutral_avatar: DefaultNeutralAvatar,
1947 pub female_neutral_avatar: FemaleNeutralAvatar,
1948 pub male_neutral_avatar: MaleNeutralAvatar,
1949 pub neutral_avatar_legacy_mapping_version: u64,
1950 pub neutral_avatar_settings_enabled: bool,
1951 pub neutral_avatar_settings_sentinel_value: u64,
1952 pub ob_move_settings_number101: bool,
1953 pub ob_move_settings_number120: bool,
1954 pub ob_move_settings_number123: bool,
1955 pub ob_move_settings_number124: bool,
1956}
1957
1958#[derive(Debug, Clone, Serialize, Deserialize)]
1959#[serde(rename_all = "camelCase")]
1960pub struct OnboardingSettings {
1961 pub adventure_sync_prompt_step: u64,
1962 pub ar_prompt_player_level: u64,
1963 pub disable_initial_ar_prompt: bool,
1964}
1965
1966#[derive(Debug, Clone, Serialize, Deserialize)]
1967#[serde(rename_all = "camelCase")]
1968pub struct OptimizationsProto {
1969 pub adaptive_performance_min_resolution_scale: f64,
1970 pub adaptive_performance_update_interval: f64,
1971 pub optimization_physics_toggle_enabled: bool,
1972}
1973
1974#[derive(Debug, Clone, Serialize, Deserialize)]
1975#[serde(rename_all = "camelCase")]
1976pub struct CreateOrJoinWaitProbability {
1977 pub wait_time_ms: u64,
1978 pub weight: u64,
1979}
1980
1981#[derive(Debug, Clone, Serialize, Deserialize)]
1982#[serde(rename_all = "camelCase")]
1983pub struct LeavePartyProbablity {
1984 pub max_duration_ms: u64,
1985 pub weight: u64,
1986}
1987
1988#[derive(Debug, Clone, Serialize, Deserialize)]
1989#[serde(rename_all = "camelCase")]
1990pub struct PartyDarkLaunchSettings {
1991 pub create_or_join_wait_probability: [CreateOrJoinWaitProbability; 4],
1992 pub leave_party_probablity: [LeavePartyProbablity; 4],
1993 pub probability_to_create_percent: u64,
1994 pub rollout_players_per_billion: u64,
1995 pub update_location_enabled: bool,
1996 pub update_location_override_period_ms: u64,
1997}
1998
1999#[derive(Debug, Clone, Serialize, Deserialize)]
2000#[serde(rename_all = "camelCase")]
2001pub struct Boost {
2002 pub daily_contribution_limit: u64,
2003 pub duration_multiplier: f64,
2004 pub supported_item_types: String,
2005}
2006
2007#[derive(Debug, Clone, Serialize, Deserialize)]
2008#[serde(rename_all = "camelCase")]
2009pub struct PartyIapBoostsSettings {
2010 pub boost: [Boost; 3],
2011}
2012
2013#[derive(Debug, Clone, Serialize, Deserialize)]
2014#[serde(rename_all = "camelCase")]
2015pub struct PartyRecommendationSettings {
2016 pub mega_evo_combat_rating_scale: f64,
2017 pub mode: String,
2018 pub third_move_weight: f64,
2019 pub variance: f64,
2020}
2021
2022#[derive(Debug, Clone, Serialize, Deserialize)]
2023#[serde(rename_all = "camelCase")]
2024pub struct PhotoSettings {
2025 pub banner_image_url: [String; 3],
2026 pub iris_flags: u64,
2027 pub is_iris_enabled: bool,
2028 pub screen_capture_size: f64,
2029}
2030
2031#[derive(Debug, Clone, Serialize, Deserialize)]
2032#[serde(rename_all = "camelCase")]
2033pub struct MessageTiming {
2034 pub message_send_time: String,
2035}
2036
2037#[derive(Debug, Clone, Serialize, Deserialize)]
2038#[serde(rename_all = "camelCase")]
2039pub struct MessageTimingV2 {
2040 pub message_send_before_event_seconds: u64,
2041 pub message_send_time: String,
2042}
2043
2044#[derive(Debug, Clone, Serialize, Deserialize)]
2045#[serde(rename_all = "camelCase")]
2046pub struct EventSettings {
2047 pub max_rsvps_per_slot: u64,
2048 pub max_timeslots: u64,
2049 pub message_timing: (MessageTiming, MessageTimingV2),
2050 pub rsvp_bonus_time_window_minutes: u64,
2051 pub rsvp_clear_inventory_minutes: u64,
2052 pub rsvp_invite_enabled: bool,
2053 pub rsvp_timeslot_duration_seconds: u64,
2054 pub timeslot_gap_seconds: u64,
2055}
2056
2057#[derive(Debug, Clone, Serialize, Deserialize)]
2058#[serde(rename_all = "camelCase")]
2059pub struct EventSettingsV2 {
2060 pub event_type: String,
2061 pub max_rsvps_per_slot: u64,
2062 pub max_timeslots: u64,
2063 pub message_timing: (MessageTiming, MessageTimingV2),
2064 pub rsvp_bonus_time_window_minutes: u64,
2065 pub rsvp_clear_inventory_minutes: u64,
2066 pub rsvp_invite_enabled: bool,
2067 pub rsvp_timeslot_duration_seconds: u64,
2068 pub timeslot_gap_seconds: u64,
2069}
2070
2071#[derive(Debug, Clone, Serialize, Deserialize)]
2072#[serde(rename_all = "camelCase")]
2073pub struct PlannerSettings {
2074 pub active_reminder_time_seconds: u64,
2075 pub enabled: bool,
2076 pub event_settings: (EventSettings, EventSettingsV2),
2077 pub max_pending_rsvp_invites: u64,
2078 pub max_rsvp_display_distance_m: u64,
2079 pub max_rsvp_invites: u64,
2080 pub max_rsvps_per_trainer: u64,
2081 pub nearby_rsvp_tab_enabled: bool,
2082 pub rsvp_count_geo_push_gateway_namespace: String,
2083 pub rsvp_count_push_gateway_namespace: String,
2084 pub rsvp_count_topper_polling_time_seconds: u64,
2085 pub rsvp_count_update_time_seconds: u64,
2086 pub send_rsvp_invite_enabled: bool,
2087}
2088
2089#[derive(Debug, Clone, Serialize, Deserialize)]
2090#[serde(rename_all = "camelCase")]
2091pub struct PlayerBonusSystemSettings {
2092 pub day_night_evo_enabled: bool,
2093 pub max_bonus_duration_ms: String,
2094}
2095
2096#[derive(Debug, Clone, Serialize, Deserialize)]
2097#[serde(rename_all = "camelCase")]
2098pub struct XpRewardV2thresholds {
2099 pub source: String,
2100 pub threshold: u64,
2101}
2102
2103#[derive(Debug, Clone, Serialize, Deserialize)]
2104#[serde(rename_all = "camelCase")]
2105pub struct PlayerLevel {
2106 pub cp_multiplier: Vec<f64>,
2107 pub extended_player_level_threshold: u64,
2108 pub level_requirements_v2_enabled: bool,
2109 pub level_up_screen_v3_enabled: bool,
2110 pub max_egg_player_level: u64,
2111 pub max_encounter_player_level: u64,
2112 pub max_quest_encounter_player_level: u64,
2113 pub milestone_levels: [u64; 8],
2114 pub rank_num: Vec<u64>,
2115 pub required_experience: Vec<u64>,
2116 pub smore_ftue_image_url: String,
2117 pub xp_reward_v2_enabled: bool,
2118 pub xp_reward_v2_thresholds: XpRewardV2thresholds,
2119}
2120
2121#[derive(Debug, Clone, Serialize, Deserialize)]
2122#[serde(rename_all = "camelCase")]
2123pub struct CurveballModifier {
2124 pub x: f64,
2125 pub y: f64,
2126 pub z: f64,
2127}
2128
2129#[derive(Debug, Clone, Serialize, Deserialize)]
2130#[serde(rename_all = "camelCase")]
2131pub struct LaunchVelocityMultiplier {
2132 pub x: f64,
2133 pub y: f64,
2134}
2135
2136#[derive(Debug, Clone, Serialize, Deserialize)]
2137#[serde(rename_all = "camelCase")]
2138pub struct ThrowProperties {
2139 pub below_ground_fly_timeout_seconds: f64,
2140 pub curveball_modifier: CurveballModifier,
2141 pub drag_snap_speed: f64,
2142 pub fly_timeout_duration: f64,
2143 pub launch_speed_threshold: f64,
2144 pub launch_velocity_multiplier: LaunchVelocityMultiplier,
2145 pub max_angular_velocity: f64,
2146 pub max_launch_angle: f64,
2147 pub max_launch_angle_height: f64,
2148 pub max_launch_speed: f64,
2149 pub min_launch_angle: f64,
2150 pub min_spin_particle_amount: f64,
2151 pub overshoot_correction: f64,
2152 pub throw_proerties_category: String,
2153 pub undershoot_correction: f64,
2154}
2155
2156#[derive(Debug, Clone, Serialize, Deserialize)]
2157#[serde(rename_all = "camelCase")]
2158pub struct PokeballThrowPropertySettings {
2159 pub throw_properties: [ThrowProperties; 1],
2160}
2161
2162#[derive(Debug, Clone, Serialize, Deserialize)]
2163#[serde(rename_all = "camelCase")]
2164pub struct PokecoinPurchaseDisplayGmt {
2165 pub feature_enabled: bool,
2166}
2167
2168#[derive(Debug, Clone, Serialize, Deserialize)]
2169#[serde(rename_all = "camelCase")]
2170pub struct PokedexCategorySettingsInOrder {
2171 pub milestone_goal: u64,
2172 pub pokedex_category: String,
2173}
2174
2175#[derive(Debug, Clone, Serialize, Deserialize)]
2176#[serde(rename_all = "camelCase")]
2177pub struct PokedexCategorySettingsInOrderV2 {
2178 pub milestone_goal: u64,
2179 pub pokedex_category: u64,
2180}
2181
2182#[derive(Debug, Clone, Serialize, Deserialize)]
2183#[serde(rename_all = "camelCase")]
2184pub struct PokedexCategorySettingsInOrderV3 {
2185 pub milestone_goal: u64,
2186 pub pokedex_category: String,
2187 pub visually_hidden: bool,
2188}
2189
2190#[derive(Debug, Clone, Serialize, Deserialize)]
2191#[serde(rename_all = "camelCase")]
2192pub struct PokedexCategoriesSettings {
2193 pub client_shiny_form_check: bool,
2194 pub feature_enabled: bool,
2195 pub pokedex_category_settings_in_order: (
2196 PokedexCategorySettingsInOrder,
2197 PokedexCategorySettingsInOrder,
2198 PokedexCategorySettingsInOrderV2,
2199 PokedexCategorySettingsInOrderV2,
2200 PokedexCategorySettingsInOrderV3,
2201 PokedexCategorySettingsInOrderV3,
2202 PokedexCategorySettingsInOrderV3,
2203 PokedexCategorySettingsInOrderV3,
2204 PokedexCategorySettingsInOrderV3,
2205 PokedexCategorySettingsInOrder,
2206 PokedexCategorySettingsInOrder,
2207 PokedexCategorySettingsInOrder,
2208 ),
2209 pub search_enabled: bool,
2210 pub show_dex_after_new_form_enabled: bool,
2211 pub show_shiny_dex_celebration_enabled: bool,
2212}
2213
2214#[derive(Debug, Clone, Serialize, Deserialize)]
2215#[serde(rename_all = "camelCase")]
2216pub struct PokedexSizeStatsSystemSettings {
2217 pub display_enabled: bool,
2218 pub enable_randomized_height_and_weight_for_wild_pokemon: bool,
2219 pub num_days_new_bubble_track: f64,
2220 pub pokedex_display_pokemon_tracked_threshold: u64,
2221 pub record_display_pokemon_tracked_threshold: u64,
2222}
2223
2224#[derive(Debug, Clone, Serialize, Deserialize)]
2225#[serde(rename_all = "camelCase")]
2226pub struct Pokedexv2featureFlags {
2227 pub celeb_v1_flag: i64,
2228 pub detail_battle_flag: i64,
2229 pub detail_v1_flag: i64,
2230 pub is_feature_enabled: bool,
2231 pub navigation_flag: u64,
2232 pub notification_flag: i64,
2233}
2234
2235#[derive(Debug, Clone, Serialize, Deserialize)]
2236#[serde(rename_all = "camelCase")]
2237pub struct PokedexV2settings {
2238 pub max_tracked_pokemon: u64,
2239 pub pokemon_alert_excluded: [String; 5],
2240}
2241
2242#[derive(Debug, Clone, Serialize, Deserialize)]
2243#[serde(rename_all = "camelCase")]
2244pub struct PokemonFxSettings {
2245 pub hiding_in_photo: bool,
2246}
2247
2248#[derive(Debug, Clone, Serialize, Deserialize)]
2249#[serde(rename_all = "camelCase")]
2250pub struct PokemonHomeSettings {
2251 pub energy_sku_id: String,
2252 pub player_min_level: u64,
2253 pub transporter_energy_gain_per_hour: u64,
2254 pub transporter_max_energy: u64,
2255}
2256
2257#[derive(Debug, Clone, Serialize, Deserialize)]
2258#[serde(rename_all = "camelCase")]
2259pub struct ColorBinding {
2260 pub color: String,
2261 pub hex_code: String,
2262}
2263
2264#[derive(Debug, Clone, Serialize, Deserialize)]
2265#[serde(rename_all = "camelCase")]
2266pub struct PokemonTagSettings {
2267 pub color_binding: [ColorBinding; 8],
2268 pub max_num_tags_allowed: u64,
2269 pub min_player_level_for_pokemon_tagging: u64,
2270}
2271
2272#[derive(Debug, Clone, Serialize, Deserialize)]
2273#[serde(rename_all = "camelCase")]
2274pub struct PopupControlSettings {
2275 pub hide_aware_of_your_surroundings_popup: bool,
2276 pub hide_medal_earned_popup_unit_after_first_pokemon: bool,
2277 pub hide_weather_warning_popup: bool,
2278}
2279
2280#[derive(Debug, Clone, Serialize, Deserialize)]
2281#[serde(rename_all = "camelCase")]
2282pub struct PostcardCollectionSettings {
2283 pub enabled: bool,
2284}
2285
2286#[derive(Debug, Clone, Serialize, Deserialize)]
2287#[serde(rename_all = "camelCase")]
2288pub struct PowerUpPokestopsSettings {
2289 pub power_up_pokestops_min_player_level: u64,
2290 pub validate_pokestop_on_fort_search_percent: f64,
2291}
2292
2293#[derive(Debug, Clone, Serialize, Deserialize)]
2294#[serde(rename_all = "camelCase")]
2295pub struct CommonTempSettings {
2296 pub enable_buddy_walking_temp_evo_energy_award: bool,
2297 pub evolution_length_ms: String,
2298 pub num_temp_evo_levels: u64,
2299}
2300
2301#[derive(Debug, Clone, Serialize, Deserialize)]
2302#[serde(rename_all = "camelCase")]
2303pub struct TypeBoosts {
2304 pub boost_type: [String; 3],
2305 pub pokemon_id: String,
2306}
2307
2308#[derive(Debug, Clone, Serialize, Deserialize)]
2309#[serde(rename_all = "camelCase")]
2310pub struct PrimalEvoSettings {
2311 pub common_temp_settings: CommonTempSettings,
2312 pub max_candy_hoard_size: u64,
2313 pub type_boosts: [TypeBoosts; 3],
2314}
2315
2316#[derive(Debug, Clone, Serialize, Deserialize)]
2317#[serde(rename_all = "camelCase")]
2318pub struct PtcOauthSettings {
2319 pub end_time_ms: String,
2320 pub linking_reward_item: String,
2321 pub ptc_account_linking_enabled: bool,
2322}
2323
2324#[derive(Debug, Clone, Serialize, Deserialize)]
2325#[serde(rename_all = "camelCase")]
2326pub struct QuickInviteSettings {
2327 pub enabled: bool,
2328 pub suggested_players_variation: String,
2329}
2330
2331#[derive(Debug, Clone, Serialize, Deserialize)]
2332#[serde(rename_all = "camelCase")]
2333pub struct RaidLobbyCounterSettings {
2334 pub map_display_enabled: bool,
2335 pub max_count_to_update: u64,
2336 pub nearby_display_enabled: bool,
2337 pub polling_enabled: bool,
2338 pub polling_interval_ms: u64,
2339 pub polling_radius_meters: f64,
2340 pub publish_cutoff_time_ms: u64,
2341 pub publish_enabled: bool,
2342 pub show_counter_radius_meters: f64,
2343 pub subscribe_enabled: bool,
2344 pub subscribe_s2_level: u64,
2345 pub subscription_namespace: String,
2346}
2347
2348#[derive(Debug, Clone, Serialize, Deserialize)]
2349#[serde(rename_all = "camelCase")]
2350pub struct PokemonMusicOverrides {
2351 pub battle_music_key: String,
2352 pub forms: [String; 2],
2353 pub pokemon: String,
2354}
2355
2356#[derive(Debug, Clone, Serialize, Deserialize)]
2357#[serde(rename_all = "camelCase")]
2358pub struct PokemonMusicOverridesV2 {
2359 pub battle_music_key: String,
2360 pub forms: [String; 3],
2361 pub pokemon: String,
2362}
2363
2364#[derive(Debug, Clone, Serialize, Deserialize)]
2365#[serde(rename_all = "camelCase")]
2366pub struct PokemonMusicOverridesV3 {
2367 pub battle_music_key: String,
2368 pub pokemon: String,
2369}
2370
2371#[derive(Debug, Clone, Serialize, Deserialize)]
2372#[serde(rename_all = "camelCase")]
2373pub struct PokemonMusicOverridesV4 {
2374 pub battle_music_key: String,
2375 pub forms: [String; 4],
2376 pub pokemon: String,
2377}
2378
2379#[derive(Debug, Clone, Serialize, Deserialize)]
2380#[serde(rename_all = "camelCase")]
2381pub struct PokemonMusicOverridesV5 {
2382 pub battle_music_key: String,
2383 pub forms: Option<Vec<String>>,
2384 pub pokemon: String,
2385}
2386
2387#[derive(Debug, Clone, Serialize, Deserialize)]
2388#[serde(rename_all = "camelCase")]
2389pub struct RaidFeatureFlags {
2390 pub use_cached_raid_boss_pokemon: bool,
2391}
2392
2393#[derive(Debug, Clone, Serialize, Deserialize)]
2394#[serde(rename_all = "camelCase")]
2395pub struct RaidLevelMusicOverrides {
2396 pub battle_music_key: String,
2397 pub raid_level: String,
2398}
2399
2400#[derive(Debug, Clone, Serialize, Deserialize)]
2401#[serde(rename_all = "camelCase")]
2402pub struct RaidSettings {
2403 pub ablcemdnbkc: bool,
2404 pub boot_cutoff_ms: u64,
2405 pub boot_raid_enabled: bool,
2406 pub boot_solo_ms: u64,
2407 pub can_invite_friends_in_person: bool,
2408 pub can_invite_friends_remotely: bool,
2409 pub failed_friend_invite_info_enabled: bool,
2410 pub fetch_profile_from_social_enabled: bool,
2411 pub friend_invite_cutoff_time_sec: u64,
2412 pub friend_requests_enabled: bool,
2413 pub invite_cooldown_duration_millis: String,
2414 pub max_num_friend_invites: u64,
2415 pub max_num_friend_invites_per_action: u64,
2416 pub max_players_per_lobby: u64,
2417 pub max_remote_players_per_lobby: u64,
2418 pub max_remote_raid_passes: u64,
2419 pub min_players_to_boot: u64,
2420 pub ob_raid_client_settings_number1: u64,
2421 pub ob_raid_client_settings_number29: u64,
2422 pub pokemon_music_overrides: Vec<PokemonMusicOverridesV5>,
2423 pub popup_time_ms: u64,
2424 pub raid_feature_flags: RaidFeatureFlags,
2425 pub raid_level_music_overrides: [RaidLevelMusicOverrides; 5],
2426 pub remote_damage_modifier: f64,
2427 pub remote_raid_distance_validation: bool,
2428 pub remote_raid_enabled: bool,
2429 pub remote_raids_min_player_level: u64,
2430 pub unsupported_raid_levels_for_friend_invites: (String, String, u64, u64),
2431 pub unsupported_remote_raid_levels: (String, String, u64, u64),
2432}
2433
2434#[derive(Debug, Clone, Serialize, Deserialize)]
2435#[serde(rename_all = "camelCase")]
2436pub struct RecentFeatures {
2437 pub description: String,
2438 pub feature_name: String,
2439 pub icon_type: String,
2440}
2441
2442#[derive(Debug, Clone, Serialize, Deserialize)]
2443#[serde(rename_all = "camelCase")]
2444pub struct RecentFeaturesV2 {
2445 pub description: String,
2446 pub feature_name: String,
2447 pub icon_type: u64,
2448}
2449
2450#[derive(Debug, Clone, Serialize, Deserialize)]
2451#[serde(rename_all = "camelCase")]
2452pub struct ReferralSettings {
2453 pub add_referrer_grace_period_ms: String,
2454 pub deep_link_url: String,
2455 pub feature_enabled: bool,
2456 pub image_share_referral_enabled: bool,
2457 pub min_num_days_without_session_for_lapsed_player: u64,
2458 pub recent_features: (RecentFeatures, RecentFeaturesV2, RecentFeatures),
2459}
2460
2461#[derive(Debug, Clone, Serialize, Deserialize)]
2462#[serde(rename_all = "camelCase")]
2463pub struct RemoteTradeSettings {
2464 pub enabled: bool,
2465 pub max_remote_trades_per_day: u64,
2466 pub pokemon_untradable_days: u64,
2467 pub requested_pokemon_count: u64,
2468 pub tagging_unlock_point_threshold: u64,
2469 pub time_limit_minutes: u64,
2470 pub trade_expiry_reminder_minutes: u64,
2471}
2472
2473#[derive(Debug, Clone, Serialize, Deserialize)]
2474#[serde(rename_all = "camelCase")]
2475pub struct RouteBadgeSettings {
2476 pub target: [u64; 4],
2477}
2478
2479#[derive(Debug, Clone, Serialize, Deserialize)]
2480#[serde(rename_all = "camelCase")]
2481pub struct ClientBreadcrumbSettings {
2482 pub as_fallback_foreground_reporting_inverval_s: f64,
2483 pub session_duration_m: f64,
2484 pub update_interval_s: f64,
2485}
2486
2487#[derive(Debug, Clone, Serialize, Deserialize)]
2488#[serde(rename_all = "camelCase")]
2489pub struct RouteCreationSettings {
2490 pub allowable_gps_drift_meters: u64,
2491 pub allow_appeals: bool,
2492 pub client_breadcrumb_settings: ClientBreadcrumbSettings,
2493 pub creation_limit_per_window: u64,
2494 pub creation_limit_window_days: u64,
2495 pub disabled_tags: [String; 9],
2496 pub duration_buffer_s: u64,
2497 pub duration_distance_to_speed_multiplier: f64,
2498 pub enabled: bool,
2499 pub enable_immediate_route_ingestion: bool,
2500 pub interaction_range_meters: f64,
2501 pub max_client_map_panning_distance_m: f64,
2502 pub max_description_length: u64,
2503 pub max_distance_from_anchor_pots_m: f64,
2504 pub max_distance_warning_distance_meters: u64,
2505 pub max_name_length: u64,
2506 pub max_open_routes: u64,
2507 pub max_post_punishment_ban_time_ms: String,
2508 pub max_recall_count_threshold: u64,
2509 pub max_recording_speed_meters_per_second: u64,
2510 pub max_submission_count_threshold: u64,
2511 pub max_total_distance_m: f64,
2512 pub min_breadcrumb_distance_delta_meters: u64,
2513 pub min_player_level: u64,
2514 pub min_total_distance_m: f64,
2515 pub moderation_enabled: bool,
2516 pub resume_range_meters: u64,
2517 pub show_submission_status_history: bool,
2518}
2519
2520#[derive(Debug, Clone, Serialize, Deserialize)]
2521#[serde(rename_all = "camelCase")]
2522pub struct RouteDiscoverySettings {
2523 pub enable_badge_routes_discovery: bool,
2524 pub max_badge_routes_discovery_spanner_txns: u64,
2525 pub max_client_map_panning_distance_meters: f64,
2526 pub max_favorite_routes: u64,
2527 pub max_routes_viewable: u64,
2528 pub nearby_visible_radius_meters: f64,
2529 pub new_route_threshold: u64,
2530 pub popular_routes_fraction: f64,
2531}
2532
2533#[derive(Debug, Clone, Serialize, Deserialize)]
2534#[serde(rename_all = "camelCase")]
2535pub struct PinMessage {
2536 pub category: [String; 2],
2537 pub key: String,
2538 pub level_required: u64,
2539}
2540
2541#[derive(Debug, Clone, Serialize, Deserialize)]
2542#[serde(rename_all = "camelCase")]
2543pub struct PinMessageV2 {
2544 pub category: [String; 1],
2545 pub key: String,
2546 pub level_required: u64,
2547}
2548
2549#[derive(Debug, Clone, Serialize, Deserialize)]
2550#[serde(rename_all = "camelCase")]
2551pub struct RoutePinSettings {
2552 pub creator_max: u64,
2553 pub max_distance_from_route_m: f64,
2554 pub max_named_stickers_per_pin: u64,
2555 pub max_pins_for_client_display: u64,
2556 pub max_pins_per_route: u64,
2557 pub pin_message: (PinMessage, PinMessageV2, PinMessageV2, PinMessageV2),
2558 pub player_max: u64,
2559}
2560
2561#[derive(Debug, Clone, Serialize, Deserialize)]
2562#[serde(rename_all = "camelCase")]
2563pub struct RoutePlaySettings {
2564 pub bonus_active_distance_threshold_meters: u64,
2565 pub enable_route_rating_details: bool,
2566 pub margin_minimum_meters: u64,
2567 pub margin_percentage: f64,
2568 pub min_player_level: u64,
2569 pub ob_route_play_settings_number29: u64,
2570 pub ob_route_play_settings_number30: f64,
2571 pub ob_route_play_settings_number33: f64,
2572 pub ob_route_play_settings_number45: u64,
2573 pub resume_range_meters: u64,
2574 pub route_engagement_stats_shard_count: u64,
2575 pub route_expiration_minutes: u64,
2576 pub route_pause_distance_m: u64,
2577}
2578
2579#[derive(Debug, Clone, Serialize, Deserialize)]
2580#[serde(rename_all = "camelCase")]
2581pub struct RoutesNearbyNotifSettings {
2582 pub max_notifs: u64,
2583 pub time_between_notifs_ms: String,
2584}
2585
2586#[derive(Debug, Clone, Serialize, Deserialize)]
2587#[serde(rename_all = "camelCase")]
2588pub struct RoutesPartyPlayInteropSettings {
2589 pub consumption_interoperable: bool,
2590}
2591
2592#[derive(Debug, Clone, Serialize, Deserialize)]
2593#[serde(rename_all = "camelCase")]
2594pub struct RouteStampCategorySettings {
2595 pub active: bool,
2596 pub category: String,
2597 pub collection_size: u64,
2598 pub sort_order: u64,
2599}
2600
2601#[derive(Debug, Clone, Serialize, Deserialize)]
2602#[serde(rename_all = "camelCase")]
2603pub struct SharedFusionSettings {
2604 pub fusion_enabled: bool,
2605}
2606
2607#[derive(Debug, Clone, Serialize, Deserialize)]
2608#[serde(rename_all = "camelCase")]
2609pub struct SharedMoveSettings {
2610 pub purified_third_move_unlock_candy_multiplier: f64,
2611 pub purified_third_move_unlock_stardust_multiplier: f64,
2612 pub shadow_third_move_unlock_candy_multiplier: f64,
2613 pub shadow_third_move_unlock_stardust_multiplier: f64,
2614 pub shared_move_settings_bool1: bool,
2615}
2616
2617#[derive(Debug, Clone, Serialize, Deserialize)]
2618#[serde(rename_all = "camelCase")]
2619pub struct MappingsV2 {
2620 pub form: String,
2621 pub r#move: String,
2622 pub pokemon_id: String,
2623}
2624
2625#[derive(Debug, Clone, Serialize, Deserialize)]
2626#[serde(rename_all = "camelCase")]
2627pub struct MappingsV3 {
2628 pub r#move: String,
2629 pub pokemon_id: String,
2630}
2631
2632#[derive(Debug, Clone, Serialize, Deserialize)]
2633#[serde(rename_all = "camelCase")]
2634pub struct OptionalBmoveOverride {
2635 pub r#move: String,
2636 pub r#override: bool,
2637}
2638
2639#[derive(Debug, Clone, Serialize, Deserialize)]
2640#[serde(rename_all = "camelCase")]
2641pub struct MappingsV4 {
2642 pub form: String,
2643 pub r#move: String,
2644 pub optional_b_move_override: OptionalBmoveOverride,
2645 pub optional_c_move_override: OptionalBmoveOverride,
2646 pub pokemon_id: String,
2647}
2648
2649#[derive(Debug, Clone, Serialize, Deserialize)]
2650#[serde(rename_all = "camelCase")]
2651pub struct MappingsV5 {
2652 pub form: Option<String>,
2653 pub r#move: String,
2654 pub optional_b_move_override: Option<OptionalBmoveOverride>,
2655 pub optional_c_move_override: Option<OptionalBmoveOverride>,
2656 pub pokemon_id: String,
2657}
2658
2659#[derive(Debug, Clone, Serialize, Deserialize)]
2660#[serde(rename_all = "camelCase")]
2661pub struct SourdoughMoveMappingSettings {
2662 pub mappings: Vec<MappingsV5>,
2663}
2664
2665#[derive(Debug, Clone, Serialize, Deserialize)]
2666#[serde(rename_all = "camelCase")]
2667pub struct SpecialEggSettings {
2668 pub enabled: bool,
2669 pub map_icon_enabled: bool,
2670 pub min_level: u64,
2671 pub xp_reward: u64,
2672}
2673
2674#[derive(Debug, Clone, Serialize, Deserialize)]
2675#[serde(rename_all = "camelCase")]
2676pub struct BalloonGiftSettings {
2677 pub balloon_auto_dismiss_time_ms: u64,
2678 pub enable_balloon_gift: bool,
2679 pub enable_balloon_web_view: bool,
2680 pub get_wasabi_ad_rpc_interval_ms: u64,
2681}
2682
2683#[derive(Debug, Clone, Serialize, Deserialize)]
2684#[serde(rename_all = "camelCase")]
2685pub struct SponsoredGeofenceGiftSettings {
2686 pub balloon_gift_settings: BalloonGiftSettings,
2687 pub enable_sponsored_geofence_gift: bool,
2688 pub fullscreen_disable_exit_button_time_ms: u64,
2689 pub gift_persistence_time_ms: u64,
2690 pub map_presentation_time_ms: u64,
2691}
2692
2693#[derive(Debug, Clone, Serialize, Deserialize)]
2694#[serde(rename_all = "camelCase")]
2695pub struct SquashSettings {
2696 pub daily_squash_limit: u64,
2697 pub enabled: bool,
2698}
2699
2700#[derive(Debug, Clone, Serialize, Deserialize)]
2701#[serde(rename_all = "camelCase")]
2702pub struct StampCollectionSettings {
2703 pub default_color_pool: [String; 4],
2704 pub gifting_min_friendship_level: u64,
2705 pub min_player_level: u64,
2706 pub version: i64,
2707}
2708
2709#[derive(Debug, Clone, Serialize, Deserialize)]
2710#[serde(rename_all = "camelCase")]
2711pub struct TierBoosts {
2712 pub num_boost_icons: u64,
2713 pub num_stationed: u64,
2714}
2715
2716#[derive(Debug, Clone, Serialize, Deserialize)]
2717#[serde(rename_all = "camelCase")]
2718pub struct StationedPokemonTableSettings {
2719 pub stationed_pokemon_table_enum: String,
2720 pub tier_boosts: [TierBoosts; 20],
2721}
2722
2723#[derive(Debug, Clone, Serialize, Deserialize)]
2724#[serde(rename_all = "camelCase")]
2725pub struct StickerCategory {
2726 pub active: bool,
2727 pub category: String,
2728 pub preferred_category_icon: String,
2729 pub sort_order: u64,
2730}
2731
2732#[derive(Debug, Clone, Serialize, Deserialize)]
2733#[serde(rename_all = "camelCase")]
2734pub struct StickerCategoryV2 {
2735 pub active: bool,
2736 pub category: String,
2737 pub sort_order: u64,
2738}
2739
2740#[derive(Debug, Clone, Serialize, Deserialize)]
2741#[serde(rename_all = "camelCase")]
2742pub struct StickerCategorySettings {
2743 pub enabled: bool,
2744 pub sticker_category: (
2745 StickerCategory,
2746 StickerCategoryV2,
2747 StickerCategory,
2748 StickerCategory,
2749 StickerCategory,
2750 StickerCategory,
2751 StickerCategory,
2752 ),
2753}
2754
2755#[derive(Debug, Clone, Serialize, Deserialize)]
2756#[serde(rename_all = "camelCase")]
2757pub struct StyleShopSettings {
2758 pub cart_disabled: bool,
2759 pub recommended_item_icon_names: [String; 5],
2760 pub sets_enabled: bool,
2761 pub v2_enabled: bool,
2762}
2763
2764#[derive(Debug, Clone, Serialize, Deserialize)]
2765#[serde(rename_all = "camelCase")]
2766pub struct TicketGiftingSettings {
2767 pub daily_player_gifting_limit: u64,
2768 pub min_player_level: u64,
2769 pub min_required_friendship_level: String,
2770}
2771
2772#[derive(Debug, Clone, Serialize, Deserialize)]
2773#[serde(rename_all = "camelCase")]
2774pub struct TodayViewSettings {
2775 pub favorite_quest_enabled: bool,
2776 pub notification_server_authoritative: bool,
2777 pub pin_claimable_quest_enabled: bool,
2778}
2779
2780#[derive(Debug, Clone, Serialize, Deserialize)]
2781#[serde(rename_all = "camelCase")]
2782pub struct Item {
2783 pub count: u64,
2784 pub item_id: String,
2785}
2786
2787#[derive(Debug, Clone, Serialize, Deserialize)]
2788#[serde(rename_all = "camelCase")]
2789pub struct TutorialItemRewards {
2790 pub item: [Item; 2],
2791 pub tutorial: String,
2792}
2793
2794#[derive(Debug, Clone, Serialize, Deserialize)]
2795#[serde(rename_all = "camelCase")]
2796pub struct TutorialItemRewardsV2 {
2797 pub tutorial: u64,
2798}
2799
2800#[derive(Debug, Clone, Serialize, Deserialize)]
2801#[serde(rename_all = "camelCase")]
2802pub struct TutorialSettings {
2803 pub friends_tutorial_enabled: bool,
2804 pub gifts_tutorial_enabled: bool,
2805 pub lucky_friend_tutorial_enabled: bool,
2806 pub lucky_trade_tutorial_enabled: bool,
2807 pub lures_tutorial_enabled: bool,
2808 pub pokemon_tagging_tutorial_enabled: bool,
2809 pub razzberry_catch_tutorial_enabled: bool,
2810 pub revives_and_potions_tutorial_enabled: bool,
2811 pub task_help_tutorials_enabled: bool,
2812 pub trading_tutorial_enabled: bool,
2813 pub tutorial_item_rewards: (TutorialItemRewards, TutorialItemRewardsV2),
2814 pub type_effectiveness_tips_enabled: bool,
2815}
2816
2817#[derive(Debug, Clone, Serialize, Deserialize)]
2818#[serde(rename_all = "camelCase")]
2819pub struct UsernameSuggestionSettings {
2820 pub feature_enabled: bool,
2821 pub num_suggestions_displayed: u64,
2822 pub num_suggestions_generated: u64,
2823}
2824
2825#[derive(Debug, Clone, Serialize, Deserialize)]
2826#[serde(rename_all = "camelCase")]
2827pub struct VerboseLogCombatSettings {
2828 pub client_log_decay_time_in_hours: u64,
2829 pub enable_combat_challenge_setup: bool,
2830 pub enable_combat_vs_seeker_setup: bool,
2831 pub enable_core_combat: bool,
2832 pub enabled: bool,
2833 pub enable_exception_caught: bool,
2834 pub enable_on_application_focus: bool,
2835 pub enable_on_application_pause: bool,
2836 pub enable_on_application_quit: bool,
2837 pub enable_rpc_error_data: bool,
2838 pub enable_web_socket: bool,
2839 pub progress_token_priority: u64,
2840}
2841
2842#[derive(Debug, Clone, Serialize, Deserialize)]
2843#[serde(rename_all = "camelCase")]
2844pub struct VerboseLogRaidSettings {
2845 pub enable_attack_raid: bool,
2846 pub enable_client_prediction_inconsistency_data: bool,
2847 pub enable_exception_caught: bool,
2848 pub enable_get_raid_details: bool,
2849 pub enable_join_lobby: bool,
2850 pub enable_leave_lobby: bool,
2851 pub enable_on_application_focus: bool,
2852 pub enable_on_application_pause: bool,
2853 pub enable_on_application_quit: bool,
2854 pub enable_progress_token: bool,
2855 pub enable_rpc_error_data: bool,
2856 pub enable_send_raid_invitation: bool,
2857 pub enable_start_raid_battle: bool,
2858}
2859
2860#[derive(Debug, Clone, Serialize, Deserialize)]
2861#[serde(rename_all = "camelCase")]
2862pub struct VistaGeneralSettings {
2863 pub is_feature_enabled: bool,
2864 pub is_vista_battle_enabled: bool,
2865 pub is_vista_encounter_enabled: bool,
2866 pub is_vista_map_enabled: bool,
2867 pub is_vista_spawns_enabled: bool,
2868}
2869
2870#[derive(Debug, Clone, Serialize, Deserialize)]
2871#[serde(rename_all = "camelCase")]
2872pub struct MaxBattleConfig {
2873 pub bad_network_warning_threshold_turns: String,
2874 pub battle_end_timeout_threshold_ms: String,
2875 pub dead_network_disconnect_threshold_turns: String,
2876 pub no_opponent_connection_disconnect_threshold_turns: String,
2877}
2878
2879#[derive(Debug, Clone, Serialize, Deserialize)]
2880#[serde(rename_all = "camelCase")]
2881pub struct PvpBattleConfig {
2882 pub bad_network_warning_threshold_turns: String,
2883 pub battle_end_timeout_threshold_ms: String,
2884 pub dead_network_disconnect_threshold_turns: String,
2885 pub no_opponent_connection_disconnect_threshold_turns: String,
2886 pub pre_response_input_block_duration_ms: String,
2887 pub submit_turn_number_with_player_action: bool,
2888}
2889
2890#[derive(Debug, Clone, Serialize, Deserialize)]
2891#[serde(rename_all = "camelCase")]
2892pub struct VnextBattleConfig {
2893 pub max_battle_config: MaxBattleConfig,
2894 pub pvp_battle_config: PvpBattleConfig,
2895 pub raids_battle_config: MaxBattleConfig,
2896}
2897
2898#[derive(Debug, Clone, Serialize, Deserialize)]
2899#[serde(rename_all = "camelCase")]
2900pub struct VsSeekerClientSettings {
2901 pub allowed_vs_seeker_league_template_id: [String; 3],
2902}
2903
2904#[derive(Debug, Clone, Serialize, Deserialize)]
2905#[serde(rename_all = "camelCase")]
2906pub struct VsSeekerSchedules {
2907 pub end_time_ms: String,
2908 pub start_time_ms: String,
2909 pub vs_seeker_league_tempalte_id: [String; 2],
2910}
2911
2912#[derive(Debug, Clone, Serialize, Deserialize)]
2913#[serde(rename_all = "camelCase")]
2914pub struct VsSeekerSchedulesV2 {
2915 pub end_time_ms: String,
2916 pub start_time_ms: String,
2917 pub vs_seeker_league_tempalte_id: [String; 3],
2918}
2919
2920#[derive(Debug, Clone, Serialize, Deserialize)]
2921#[serde(rename_all = "camelCase")]
2922pub struct VsSeekerSchedulesV3 {
2923 pub end_time_ms: String,
2924 pub start_time_ms: String,
2925 pub vs_seeker_league_tempalte_id: Vec<String>,
2926}
2927
2928#[derive(Debug, Clone, Serialize, Deserialize)]
2929#[serde(rename_all = "camelCase")]
2930pub struct SeasonSchedules {
2931 pub blog_url: String,
2932 pub description_key: String,
2933 pub season_title: String,
2934 pub vs_seeker_schedules: Vec<VsSeekerSchedulesV3>,
2935}
2936
2937#[derive(Debug, Clone, Serialize, Deserialize)]
2938#[serde(rename_all = "camelCase")]
2939pub struct VsSeekerScheduleSettings {
2940 pub enable_combat_hub_main: bool,
2941 pub enable_combat_league_view: bool,
2942 pub enable_today_view: bool,
2943 pub season_schedules: [SeasonSchedules; 1],
2944}
2945
2946#[derive(Debug, Clone, Serialize, Deserialize)]
2947#[serde(rename_all = "camelCase")]
2948pub struct WeatherBonusSettings {
2949 pub attack_bonus_multiplier: f64,
2950 pub cp_base_level_bonus: u64,
2951 pub guaranteed_individual_values: u64,
2952 pub raid_encounter_cp_base_level_bonus: u64,
2953 pub raid_encounter_guaranteed_individual_values: u64,
2954 pub stardust_bonus_multiplier: f64,
2955}
2956
2957crate::masterfile_entry!(AccessibilitySettingsEntry, AccessibilitySettingsEntryData, accessibility_settings: AccessibilitySettings);
2958
2959crate::masterfile_entry!(AdditiveSceneSettingsEntry, AdditiveSceneSettingsEntryData, additive_scene_settings: AdditiveSceneSettings);
2960
2961crate::masterfile_entry!(AddressablePokemonSettingsEntry, AddressablePokemonSettingsEntryData, addressable_pokemon_settings: AddressablePokemonSettings);
2962
2963crate::masterfile_entry!(AddressBookImportSettingsEntry, AddressBookImportSettingsEntryData, address_book_import_settings: AddressBookImportSettings);
2964
2965crate::masterfile_entry!(AdvancedSettingsEntry, AdvancedSettingsEntryData, advanced_settings: AdvancedSettings);
2966
2967crate::masterfile_stub_entry!(
2968 AmuseBoucheWelcomeBackRewardsEntry,
2969 AmuseBoucheWelcomeBackRewardsEntryData
2970);
2971
2972crate::masterfile_entry!(ArPhotoFeatureFlagsEntry, ArPhotoFeatureFlagsEntryData, ar_photo_feature_flags: ArPhotoFeatureFlags);
2973
2974crate::masterfile_entry!(ArTelemetrySettingsEntry, ArTelemetrySettingsEntryData, ar_telemetry_settings: ArTelemetrySettings);
2975
2976crate::masterfile_entry!(AssetRefreshProtoEntry, AssetRefreshProtoEntryData, asset_refresh_proto: AssetRefreshProto);
2977
2978crate::masterfile_entry!(AvatarFeatureFlagsEntry, AvatarFeatureFlagsEntryData, avatar_feature_flags: AvatarFeatureFlags);
2979
2980crate::masterfile_entry!(AvatarStoreFooterFlagsEntry, AvatarStoreFooterFlagsEntryData, avatar_store_footer_flags: AvatarStoreFooterFlags);
2981
2982crate::masterfile_entry!(AvatarStoreSubcategoryFilteringFlagsEntry, AvatarStoreSubcategoryFilteringFlagsEntryData, avatar_store_subcategory_filtering_flags: AvatarStoreSubcategoryFilteringFlags);
2983
2984crate::masterfile_entry!(BackgroundModeSettingsEntry, BackgroundModeSettingsEntryData, background_mode_settings: BackgroundModeSettings);
2985
2986crate::masterfile_entry!(BattleAnimationSettingsEntry, BattleAnimationSettingsEntryData, battle_animation_settings: BattleAnimationSettings);
2987
2988crate::masterfile_entry!(BattleHubBadgeSettingsEntry, BattleHubBadgeSettingsEntryData, battle_hub_badge_settings: BattleHubBadgeSettings);
2989
2990crate::masterfile_entry!(BattleHubOrderSettingsEntry, BattleHubOrderSettingsEntryData, battle_hub_order_settings: BattleHubOrderSettings);
2991
2992crate::masterfile_entry!(BattleInputBufferSettingsEntry, BattleInputBufferSettingsEntryData, battle_input_buffer_settings: BattleInputBufferSettings);
2993
2994crate::masterfile_entry!(BattlePartySettingsEntry, BattlePartySettingsEntryData, battle_party_settings: BattlePartySettings);
2995
2996crate::masterfile_entry!(BattleSettingsEntry, BattleSettingsEntryData, battle_settings: BattleSettings);
2997
2998crate::masterfile_entry!(BattleVisualSettingsEntry, BattleVisualSettingsEntryData, battle_visual_settings: BattleVisualSettings);
2999
3000crate::masterfile_entry!(BelugaPokemonWhitelistEntry, BelugaPokemonWhitelistEntryData, beluga_pokemon_whitelist: BelugaPokemonWhitelist);
3001
3002crate::masterfile_entry!(BestFriendsPlusSettingsEntry, BestFriendsPlusSettingsEntryData, best_friends_plus_settings: BestFriendsPlusSettings);
3003
3004crate::masterfile_entry!(BreadBattleClientSettingsEntry, BreadBattleClientSettingsEntryData, bread_battle_client_settings: BreadBattleClientSettings);
3005
3006crate::masterfile_entry!(BreadFeatureFlagsEntry, BreadFeatureFlagsEntryData, bread_feature_flags: BreadFeatureFlags);
3007
3008crate::masterfile_entry!(BreadLobbyCounterSettingsEntry, BreadLobbyCounterSettingsEntryData, bread_lobby_counter_settings: BreadLobbyCounterSettings);
3009
3010crate::masterfile_entry!(BreadLobbyUpdateSettingsEntry, BreadLobbyUpdateSettingsEntryData, bread_lobby_update_settings: BreadLobbyUpdateSettings);
3011
3012crate::masterfile_entry!(BreadMoveMappingsEntry, BreadMoveMappingsEntryData, bread_move_mappings: BreadMoveMappings);
3013
3014crate::masterfile_entry!(BreadPokemonScalingSettingsEntry, BreadPokemonScalingSettingsEntryData, bread_pokemon_scaling_settings: BreadPokemonScalingSettings);
3015
3016crate::masterfile_entry!(BreadSettingsEntry, BreadSettingsEntryData, bread_settings: BreadSettings);
3017
3018crate::masterfile_entry!(BuddyEncounterCameoSettingsEntry, BuddyEncounterCameoSettingsEntryData, buddy_encounter_cameo_settings: BuddyEncounterCameoSettings);
3019
3020crate::masterfile_entry!(BuddyHungerSettingsEntry, BuddyHungerSettingsEntryData, buddy_hunger_settings: BuddyHungerSettings);
3021
3022crate::masterfile_entry!(BuddyInteractionSettingsEntry, BuddyInteractionSettingsEntryData, buddy_interaction_settings: BuddyInteractionSettings);
3023
3024crate::masterfile_entry!(BuddySwapSettingsEntry, BuddySwapSettingsEntryData, buddy_swap_settings: BuddySwapSettings);
3025
3026crate::masterfile_entry!(BuddyWalkSettingsEntry, BuddyWalkSettingsEntryData, buddy_walk_settings: BuddyWalkSettings);
3027
3028crate::masterfile_entry!(BulkHealingSettingsEntry, BulkHealingSettingsEntryData, bulk_healing_settings: BulkHealingSettings);
3029
3030crate::masterfile_entry!(ButterflyCollectorSettingsEntry, ButterflyCollectorSettingsEntryData, butterfly_collector_settings: ButterflyCollectorSettings);
3031
3032crate::masterfile_entry!(CampfireSettingsEntry, CampfireSettingsEntryData, campfire_settings: CampfireSettings);
3033
3034crate::masterfile_entry!(CatchRadiusMultiplierSettingsEntry, CatchRadiusMultiplierSettingsEntryData, catch_radius_multiplier_settings: CatchRadiusMultiplierSettings);
3035
3036crate::masterfile_entry!(CombatCompetitiveSeasonSettingsEntry, CombatCompetitiveSeasonSettingsEntryData, combat_competitive_season_settings: CombatCompetitiveSeasonSettings);
3037
3038crate::masterfile_entry!(CombatLeagueSettingsEntry, CombatLeagueSettingsEntryData, combat_league_settings: CombatLeagueSettings);
3039
3040crate::masterfile_entry!(CombatSettingsEntry, CombatSettingsEntryData, combat_settings: CombatSettings);
3041
3042crate::masterfile_entry!(CombatStatStageSettingsEntry, CombatStatStageSettingsEntryData, combat_stat_stage_settings: CombatStatStageSettings);
3043
3044crate::masterfile_entry!(ContestSettingsEntry, ContestSettingsEntryData, contest_settings: ContestSettings);
3045
3046crate::masterfile_entry!(ConversationSettingsEntry, ConversationSettingsEntryData, conversation_settings: ConversationSettings);
3047
3048crate::masterfile_entry!(CrossGameSocialSettingsEntry, CrossGameSocialSettingsEntryData, cross_game_social_settings: CrossGameSocialSettings);
3049
3050crate::masterfile_entry!(DailyAdventureIncenseSettingsEntry, DailyAdventureIncenseSettingsEntryData, daily_adventure_incense_settings: DailyAdventureIncenseSettings);
3051
3052crate::masterfile_entry!(DeepLinkingSettingsEntry, DeepLinkingSettingsEntryData, deep_linking_settings: DeepLinkingSettings);
3053
3054crate::masterfile_entry!(EggHatchImprovementsSettingsEntry, EggHatchImprovementsSettingsEntryData, egg_hatch_improvements_settings: EggHatchImprovementsSettings);
3055
3056crate::masterfile_entry!(EncounterSettingsEntry, EncounterSettingsEntryData, encounter_settings: EncounterSettings);
3057
3058crate::masterfile_entry!(ErrorReportingSettingsEntry, ErrorReportingSettingsEntryData, error_reporting_settings: ErrorReportingSettings);
3059
3060crate::masterfile_entry!(EventPlannerPopularNotificationSettingsEntry, EventPlannerPopularNotificationSettingsEntryData, event_planner_popular_notification_settings: EventPlannerPopularNotificationSettings);
3061
3062crate::masterfile_stub_entry!(EventServerSettingsEntry, EventServerSettingsEntryData);
3063
3064crate::masterfile_entry!(ExternalAddressableAssetsSettingsEntry, ExternalAddressableAssetsSettingsEntryData, external_addressable_assets_settings: ExternalAddressableAssetsSettings);
3065
3066crate::masterfile_entry!(FeatureUnlockLevelSettingsEntry, FeatureUnlockLevelSettingsEntryData, feature_unlock_level_settings: FeatureUnlockLevelSettings);
3067
3068crate::masterfile_entry!(GeotargetedQuestSettingsEntry, GeotargetedQuestSettingsEntryData, geotargeted_quest_settings: GeotargetedQuestSettings);
3069
3070crate::masterfile_entry!(GiftingSettingsEntry, GiftingSettingsEntryData, gifting_settings: GiftingSettings);
3071
3072crate::masterfile_entry!(GuiSearchSettingsEntry, GuiSearchSettingsEntryData, gui_search_settings: GuiSearchSettings);
3073
3074crate::masterfile_entry!(GymBadgeSettingsEntry, GymBadgeSettingsEntryData, gym_badge_settings: GymBadgeSettings);
3075
3076crate::masterfile_entry!(HapticsSettingsEntry, HapticsSettingsEntryData, haptics_settings: HapticsSettings);
3077
3078crate::masterfile_entry!(IapSettingsEntry, IapSettingsEntryData, iap_settings: IapSettings);
3079
3080crate::masterfile_entry!(IbfcLightweightSettingsEntry, IbfcLightweightSettingsEntryData, ibfc_lightweight_settings: IbfcLightweightSettings);
3081
3082crate::masterfile_entry!(ImpressionTrackingSettingsEntry, ImpressionTrackingSettingsEntryData, impression_tracking_settings: ImpressionTrackingSettings);
3083
3084crate::masterfile_entry!(InAppSurveySettingsEntry, InAppSurveySettingsEntryData, in_app_survey_settings: InAppSurveySettings);
3085
3086crate::masterfile_entry!(IncidentPrioritySettingsEntry, IncidentPrioritySettingsEntryData, incident_priority_settings: IncidentPrioritySettings);
3087
3088crate::masterfile_entry!(IncidentVisibilitySettingsEntry, IncidentVisibilitySettingsEntryData, incident_visibility_settings: IncidentVisibilitySettings);
3089
3090crate::masterfile_entry!(InventorySettingsEntry, InventorySettingsEntryData, inventory_settings: InventorySettings);
3091
3092crate::masterfile_entry!(IrisSocialSettingsEntry, IrisSocialSettingsEntryData, iris_social_settings: IrisSocialSettings);
3093
3094crate::masterfile_entry!(IrisSocialUxFunnelSettingsEntry, IrisSocialUxFunnelSettingsEntryData, iris_social_ux_funnel_settings: IrisSocialUxFunnelSettings);
3095
3096crate::masterfile_entry!(ItemCurrencyValuesEntry, ItemCurrencyValuesEntryData, item_currency_values: ItemCurrencyValues);
3097
3098crate::masterfile_entry!(ItemInventoryUpdateSettingsEntry, ItemInventoryUpdateSettingsEntryData, item_inventory_update_settings: ItemInventoryUpdateSettings);
3099
3100crate::masterfile_entry!(JoinRaidViaFriendListSettingsEntry, JoinRaidViaFriendListSettingsEntryData, join_raid_via_friend_list_settings: JoinRaidViaFriendListSettings);
3101
3102crate::masterfile_entry!(LanguageSelectorSettingsEntry, LanguageSelectorSettingsEntryData, language_selector_settings: LanguageSelectorSettings);
3103
3104crate::masterfile_entry!(LuckyPokemonSettingsEntry, LuckyPokemonSettingsEntryData, lucky_pokemon_settings: LuckyPokemonSettings);
3105
3106crate::masterfile_entry!(MainMenuChangesEntry, MainMenuChangesEntryData, main_menu_changes: MainMenuChanges);
3107
3108crate::masterfile_entry!(MapDisplaySettingsEntry, MapDisplaySettingsEntryData, map_display_settings: MapDisplaySettings);
3109
3110crate::masterfile_entry!(MapObjectsInteractionRangeSettingsEntry, MapObjectsInteractionRangeSettingsEntryData, map_objects_interaction_range_settings: MapObjectsInteractionRangeSettings);
3111
3112crate::masterfile_entry!(MegaEvoSettingsEntry, MegaEvoSettingsEntryData, mega_evo_settings: MegaEvoSettings);
3113
3114crate::masterfile_entry!(MonodepthSettingsEntry, MonodepthSettingsEntryData, monodepth_settings: MonodepthSettings);
3115
3116crate::masterfile_entry!(MpSettingsEntry, MpSettingsEntryData, mp_settings: MpSettings);
3117
3118crate::masterfile_entry!(NaturalArtDayNightFeatureSettingsEntry, NaturalArtDayNightFeatureSettingsEntryData, natural_art_day_night_feature_settings: NaturalArtDayNightFeatureSettings);
3119
3120crate::masterfile_entry!(NearbyPokemonSettingsEntry, NearbyPokemonSettingsEntryData, nearby_pokemon_settings: NearbyPokemonSettings);
3121
3122crate::masterfile_entry!(NeutralAvatarSettingsEntry, NeutralAvatarSettingsEntryData, neutral_avatar_settings: NeutralAvatarSettings);
3123
3124crate::masterfile_entry!(OnboardingSettingsEntry, OnboardingSettingsEntryData, onboarding_settings: OnboardingSettings);
3125
3126crate::masterfile_entry!(OptimizationsProtoEntry, OptimizationsProtoEntryData, optimizations_proto: OptimizationsProto);
3127
3128crate::masterfile_entry!(PartyDarkLaunchSettingsEntry, PartyDarkLaunchSettingsEntryData, party_dark_launch_settings: PartyDarkLaunchSettings);
3129
3130crate::masterfile_entry!(PartyIapBoostsSettingsEntry, PartyIapBoostsSettingsEntryData, party_iap_boosts_settings: PartyIapBoostsSettings);
3131
3132crate::masterfile_entry!(PartyRecommendationSettingsEntry, PartyRecommendationSettingsEntryData, party_recommendation_settings: PartyRecommendationSettings);
3133
3134crate::masterfile_entry!(PhotoSettingsEntry, PhotoSettingsEntryData, photo_settings: PhotoSettings);
3135
3136crate::masterfile_entry!(PlannerSettingsEntry, PlannerSettingsEntryData, planner_settings: PlannerSettings);
3137
3138crate::masterfile_entry!(PlayerBonusSystemSettingsEntry, PlayerBonusSystemSettingsEntryData, player_bonus_system_settings: PlayerBonusSystemSettings);
3139
3140crate::masterfile_entry!(PlayerLevelEntry, PlayerLevelEntryData, player_level: PlayerLevel);
3141
3142crate::masterfile_entry!(PokeballThrowPropertySettingsEntry, PokeballThrowPropertySettingsEntryData, pokeball_throw_property_settings: PokeballThrowPropertySettings);
3143
3144crate::masterfile_entry!(PokecoinPurchaseDisplayGmtEntry, PokecoinPurchaseDisplayGmtEntryData, pokecoin_purchase_display_gmt: PokecoinPurchaseDisplayGmt);
3145
3146crate::masterfile_entry!(PokedexCategoriesSettingsEntry, PokedexCategoriesSettingsEntryData, pokedex_categories_settings: PokedexCategoriesSettings);
3147
3148crate::masterfile_entry!(PokedexSizeStatsSystemSettingsEntry, PokedexSizeStatsSystemSettingsEntryData, pokedex_size_stats_system_settings: PokedexSizeStatsSystemSettings);
3149
3150crate::masterfile_entry!(Pokedexv2featureFlagsEntry, Pokedexv2featureFlagsEntryData, pokedexv2_feature_flags: Pokedexv2featureFlags);
3151
3152crate::masterfile_entry!(PokedexV2settingsEntry, PokedexV2settingsEntryData, pokedex_v2_settings: PokedexV2settings);
3153
3154crate::masterfile_entry!(PokemonFxSettingsEntry, PokemonFxSettingsEntryData, pokemon_fx_settings: PokemonFxSettings);
3155
3156crate::masterfile_entry!(PokemonHomeSettingsEntry, PokemonHomeSettingsEntryData, pokemon_home_settings: PokemonHomeSettings);
3157
3158crate::masterfile_entry!(PokemonTagSettingsEntry, PokemonTagSettingsEntryData, pokemon_tag_settings: PokemonTagSettings);
3159
3160crate::masterfile_entry!(PopupControlSettingsEntry, PopupControlSettingsEntryData, popup_control_settings: PopupControlSettings);
3161
3162crate::masterfile_entry!(PostcardCollectionSettingsEntry, PostcardCollectionSettingsEntryData, postcard_collection_settings: PostcardCollectionSettings);
3163
3164crate::masterfile_entry!(PowerUpPokestopsSettingsEntry, PowerUpPokestopsSettingsEntryData, power_up_pokestops_settings: PowerUpPokestopsSettings);
3165
3166crate::masterfile_entry!(PrimalEvoSettingsEntry, PrimalEvoSettingsEntryData, primal_evo_settings: PrimalEvoSettings);
3167
3168crate::masterfile_entry!(PtcOauthSettingsEntry, PtcOauthSettingsEntryData, ptc_oauth_settings: PtcOauthSettings);
3169
3170crate::masterfile_stub_entry!(
3171 QuestDialogueInboxSettingsEntry,
3172 QuestDialogueInboxSettingsEntryData
3173);
3174
3175crate::masterfile_entry!(QuickInviteSettingsEntry, QuickInviteSettingsEntryData, quick_invite_settings: QuickInviteSettings);
3176
3177crate::masterfile_stub_entry!(RaidEntryCostSettingsEntry, RaidEntryCostSettingsEntryData);
3178
3179crate::masterfile_entry!(RaidLobbyCounterSettingsEntry, RaidLobbyCounterSettingsEntryData, raid_lobby_counter_settings: RaidLobbyCounterSettings);
3180
3181crate::masterfile_entry!(RaidSettingsEntry, RaidSettingsEntryData, raid_settings: RaidSettings);
3182
3183crate::masterfile_entry!(ReferralSettingsEntry, ReferralSettingsEntryData, referral_settings: ReferralSettings);
3184
3185crate::masterfile_entry!(RemoteTradeSettingsEntry, RemoteTradeSettingsEntryData, remote_trade_settings: RemoteTradeSettings);
3186
3187crate::masterfile_entry!(RouteBadgeSettingsEntry, RouteBadgeSettingsEntryData, route_badge_settings: RouteBadgeSettings);
3188
3189crate::masterfile_entry!(RouteCreationSettingsEntry, RouteCreationSettingsEntryData, route_creation_settings: RouteCreationSettings);
3190
3191crate::masterfile_entry!(RouteDiscoverySettingsEntry, RouteDiscoverySettingsEntryData, route_discovery_settings: RouteDiscoverySettings);
3192
3193crate::masterfile_entry!(RoutePinSettingsEntry, RoutePinSettingsEntryData, route_pin_settings: RoutePinSettings);
3194
3195crate::masterfile_entry!(RoutePlaySettingsEntry, RoutePlaySettingsEntryData, route_play_settings: RoutePlaySettings);
3196
3197crate::masterfile_entry!(RoutesNearbyNotifSettingsEntry, RoutesNearbyNotifSettingsEntryData, routes_nearby_notif_settings: RoutesNearbyNotifSettings);
3198
3199crate::masterfile_entry!(RoutesPartyPlayInteropSettingsEntry, RoutesPartyPlayInteropSettingsEntryData, routes_party_play_interop_settings: RoutesPartyPlayInteropSettings);
3200
3201crate::masterfile_entry!(RouteStampCategorySettingsEntry, RouteStampCategorySettingsEntryData, route_stamp_category_settings: RouteStampCategorySettings);
3202
3203crate::masterfile_entry!(SharedFusionSettingsEntry, SharedFusionSettingsEntryData, shared_fusion_settings: SharedFusionSettings);
3204
3205crate::masterfile_entry!(SharedMoveSettingsEntry, SharedMoveSettingsEntryData, shared_move_settings: SharedMoveSettings);
3206
3207crate::masterfile_stub_entry!(SoftSfidaSettingsEntry, SoftSfidaSettingsEntryData);
3208
3209crate::masterfile_entry!(SourdoughMoveMappingSettingsEntry, SourdoughMoveMappingSettingsEntryData, sourdough_move_mapping_settings: SourdoughMoveMappingSettings);
3210
3211crate::masterfile_entry!(SpecialEggSettingsEntry, SpecialEggSettingsEntryData, special_egg_settings: SpecialEggSettings);
3212
3213crate::masterfile_entry!(SponsoredGeofenceGiftSettingsEntry, SponsoredGeofenceGiftSettingsEntryData, sponsored_geofence_gift_settings: SponsoredGeofenceGiftSettings);
3214
3215crate::masterfile_entry!(SquashSettingsEntry, SquashSettingsEntryData, squash_settings: SquashSettings);
3216
3217crate::masterfile_entry!(StampCollectionSettingsEntry, StampCollectionSettingsEntryData, stamp_collection_settings: StampCollectionSettings);
3218
3219crate::masterfile_entry!(StationedPokemonTableSettingsEntry, StationedPokemonTableSettingsEntryData, stationed_pokemon_table_settings: StationedPokemonTableSettings);
3220
3221crate::masterfile_entry!(StickerCategorySettingsEntry, StickerCategorySettingsEntryData, sticker_category_settings: StickerCategorySettings);
3222
3223crate::masterfile_entry!(StyleShopSettingsEntry, StyleShopSettingsEntryData, style_shop_settings: StyleShopSettings);
3224
3225crate::masterfile_entry!(TicketGiftingSettingsEntry, TicketGiftingSettingsEntryData, ticket_gifting_settings: TicketGiftingSettings);
3226
3227crate::masterfile_entry!(TodayViewSettingsEntry, TodayViewSettingsEntryData, today_view_settings: TodayViewSettings);
3228
3229crate::masterfile_entry!(TutorialSettingsEntry, TutorialSettingsEntryData, tutorial_settings: TutorialSettings);
3230
3231crate::masterfile_entry!(UsernameSuggestionSettingsEntry, UsernameSuggestionSettingsEntryData, username_suggestion_settings: UsernameSuggestionSettings);
3232
3233crate::masterfile_entry!(VerboseLogCombatSettingsEntry, VerboseLogCombatSettingsEntryData, verbose_log_combat_settings: VerboseLogCombatSettings);
3234
3235crate::masterfile_entry!(VerboseLogRaidSettingsEntry, VerboseLogRaidSettingsEntryData, verbose_log_raid_settings: VerboseLogRaidSettings);
3236
3237crate::masterfile_entry!(VistaGeneralSettingsEntry, VistaGeneralSettingsEntryData, vista_general_settings: VistaGeneralSettings);
3238
3239crate::masterfile_entry!(VnextBattleConfigEntry, VnextBattleConfigEntryData, vnext_battle_config: VnextBattleConfig);
3240
3241crate::masterfile_entry!(VsSeekerClientSettingsEntry, VsSeekerClientSettingsEntryData, vs_seeker_client_settings: VsSeekerClientSettings);
3242
3243crate::masterfile_entry!(VsSeekerScheduleSettingsEntry, VsSeekerScheduleSettingsEntryData, vs_seeker_schedule_settings: VsSeekerScheduleSettings);
3244
3245crate::masterfile_entry!(WeatherBonusSettingsEntry, WeatherBonusSettingsEntryData, weather_bonus_settings: WeatherBonusSettings);