108 lines
2.7 KiB
Protocol Buffer
108 lines
2.7 KiB
Protocol Buffer
package dfproto;
|
|
|
|
option optimize_for = LITE_RUNTIME;
|
|
|
|
import "Basic.proto";
|
|
|
|
// RPC GetVersion : EmptyMessage -> StringMessage
|
|
// RPC GetDFVersion : EmptyMessage -> StringMessage
|
|
|
|
// RPC GetWorldInfo : EmptyMessage -> GetWorldInfoOut
|
|
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;
|
|
};
|
|
|
|
// RPC ListEnums : EmptyMessage -> ListEnumsOut
|
|
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;
|
|
|
|
repeated EnumItemName cie_add_tag_mask1 = 8;
|
|
repeated EnumItemName cie_add_tag_mask2 = 9;
|
|
|
|
repeated EnumItemName death_info_flags = 10;
|
|
|
|
repeated EnumItemName profession = 11;
|
|
};
|
|
|
|
// RPC ListJobSkills : EmptyMessage -> ListJobSkillsOut
|
|
message ListJobSkillsOut {
|
|
repeated JobSkillAttr skill = 1;
|
|
repeated ProfessionAttr profession = 2;
|
|
repeated UnitLaborAttr labor = 3;
|
|
};
|
|
|
|
// RPC ListMaterials : ListMaterialsIn -> ListMaterialsOut
|
|
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;
|
|
};
|
|
|
|
// RPC ListUnits : ListUnitsIn -> ListUnitsOut
|
|
message ListUnitsIn {
|
|
optional BasicUnitInfoMask mask = 1;
|
|
|
|
// Specific units:
|
|
repeated int32 id_list = 2;
|
|
|
|
// All units matching:
|
|
optional bool scan_all = 5;
|
|
|
|
optional int32 race = 3;
|
|
optional int32 civ_id = 4;
|
|
optional bool dead = 6; // i.e. passive corpse
|
|
optional bool alive = 7; // i.e. not dead or undead
|
|
optional bool sane = 8; // not dead, ghost, zombie, or insane
|
|
};
|
|
message ListUnitsOut {
|
|
repeated BasicUnitInfo value = 1;
|
|
};
|
|
|
|
// RPC ListSquads : ListSquadsIn -> ListSquadsOut
|
|
message ListSquadsIn {}
|
|
message ListSquadsOut {
|
|
repeated BasicSquadInfo value = 1;
|
|
};
|
|
|
|
// RPC SetUnitLabors : SetUnitLaborsIn -> EmptyMessage
|
|
message SetUnitLaborsIn {
|
|
repeated UnitLaborState change = 1;
|
|
};
|