package dfproto; option optimize_for = LITE_RUNTIME; import "Basic.proto"; message GetWorldInfoOut { enum Mode { MODE_DWARF = 1; MODE_ADVENTURE = 2; MODE_LEGENDS = 3; }; required Mode mode = 1; required string save_dir = 2; optional NameInfo world_name = 3; // Dwarf mode optional int32 civ_id = 4; optional int32 site_id = 5; optional int32 group_id = 6; optional int32 race_id = 7; // Adventure mode optional int32 player_unit_id = 8; optional int32 player_histfig_id = 9; repeated int32 companion_histfig_ids = 10; }; message ListEnumsOut { repeated EnumItemName material_flags = 1; repeated EnumItemName inorganic_flags = 2; repeated EnumItemName unit_flags1 = 3; repeated EnumItemName unit_flags2 = 4; repeated EnumItemName unit_flags3 = 5; repeated EnumItemName unit_labor = 6; repeated EnumItemName job_skill = 7; }; message ListMaterialsIn { optional BasicMaterialInfoMask mask = 1; // Specific materials: repeated BasicMaterialId id_list = 2; // Complete list by type: optional bool builtin = 3; optional bool inorganic = 4; optional bool creatures = 5; optional bool plants = 6; }; message ListMaterialsOut { repeated BasicMaterialInfo value = 1; }; message ListUnitsIn { optional BasicUnitInfoMask mask = 1; // Specific units: repeated int32 id_list = 2; // All units matching: optional int32 race = 3; optional int32 civ_id = 4; }; message ListUnitsOut { repeated BasicUnitInfo value = 1; }; message ListSquadsIn {} message ListSquadsOut { repeated BasicSquadInfo value = 1; }