Files
eagle0/src/main/protobuf/net/eagle0/eagle/api/selected_command.proto
T

304 lines
9.4 KiB
Protocol Buffer

//
// Copyright 2021 Dan Crosby
//
syntax = "proto3";
package net.eagle0.eagle.api;
import "google/protobuf/wrappers.proto";
import "src/main/protobuf/net/eagle0/eagle/api/command/util/armed_battalion.proto";
import "src/main/protobuf/net/eagle0/eagle/api/command/util/attack_decision_type.proto";
import "src/main/protobuf/net/eagle0/eagle/api/command/util/captured_hero_option.proto";
import "src/main/protobuf/net/eagle0/eagle/api/command/util/control_weather_type.proto";
import "src/main/protobuf/net/eagle0/eagle/api/command/util/diplomacy_option.proto";
import "src/main/protobuf/net/eagle0/eagle/api/command/util/prisoner_management_type.proto";
import "src/main/protobuf/net/eagle0/eagle/api/command/util/province_orders.proto";
import "src/main/protobuf/net/eagle0/eagle/common/battalion_type.proto";
import "src/main/protobuf/net/eagle0/eagle/common/combat_unit.proto";
import "src/main/protobuf/net/eagle0/eagle/common/diplomacy_offer.proto";
import "src/main/protobuf/net/eagle0/eagle/common/diplomacy_offer_status.proto";
import "src/main/protobuf/net/eagle0/eagle/common/improvement_type.proto";
option java_multiple_files = true;
option java_package = "net.eagle0.eagle.api";
option java_outer_classname = "AvailableCommand";
option objc_class_prefix = "E0G";
message SelectedCommand {
// These values must be kept in sync with the corresponding values in available_command.proto
reserved 11;
reserved "free_for_all_decision_command";
oneof sealed_value {
AlmsSelectedCommand alms_command = 1;
ApprehendOutlawSelectedCommand apprehend_outlaw_selected_command = 2;
ArmTroopsSelectedCommand arm_troops_command = 3;
AttackDecisionSelectedCommand attack_decision_command = 4;
ControlWeatherSelectedCommand control_weather_selected_command = 5;
DeclineQuestSelectedCommand decline_quest_command = 19;
DefendSelectedCommand defend_command = 6;
DiplomacySelectedCommand diplomacy_command = 7;
DivineSelectedCommand divine_command = 8;
ExileVassalSelectedCommand exile_vassal_command = 9;
FeastSelectedCommand feast_command = 10;
HandleCapturedHeroSelectedCommand handle_captured_hero_command = 12;
HandleRiotCrackDownSelectedCommand handle_riot_crack_down_selected_command = 13;
HandleRiotDoNothingSelectedCommand handle_riot_do_nothing_selected_command = 14;
HandleRiotGiveSelectedCommand handle_riot_give_selected_command = 15;
HeroGiftSelectedCommand hero_gift_command = 16;
ImproveSelectedCommand improve_command = 17;
IssueOrdersSelectedCommand issue_orders_command = 18;
ManagePrisonersSelectedCommand manage_prisoners_command = 38;
MarchSelectedCommand march_command = 20;
OrganizeTroopsSelectedCommand organize_troops_command = 21;
PleaseRecruitMeSelectedCommand please_recruit_me_command = 22;
ReconSelectedCommand recon_selected_command = 23;
RecruitHeroesSelectedCommand recruit_heroes_command = 24;
ResolveAllianceOfferSelectedCommand resolve_alliance_offer_command = 40;
ResolveBreakAllianceSelectedCommand resolve_break_command = 39;
ResolveInvitationSelectedCommand resolve_invitation_command = 25;
ResolveRansomOfferSelectedCommand resolve_ransom_offer_command = 37;
ResolveTruceOfferSelectedCommand resolve_truce_offer_command = 26;
ResolveTributeSelectedCommand resolve_tribute_command = 27;
RestSelectedCommand rest_selected_command = 28;
ReturnSelectedCommand return_selected_command = 29;
SendSuppliesSelectedCommand send_supplies_command = 30;
StartEpidemicSelectedCommand start_epidemic_selected_command = 31;
SuppressBeastsSelectedCommand suppress_beasts_command = 32;
SwearBrotherhoodSelectedCommand swear_brotherhood_command = 33;
TradeSelectedCommand trade_command = 34;
TrainSelectedCommand train_command = 35;
VisitTownSelectedCommand visit_town_command = 36;
BattleAftermathDecisionSelectedCommand battle_aftermath_decision_command = 41;
}
}
message AlmsSelectedCommand {
int32 amount = 1;
int32 acting_hero_id = 2;
}
message ApprehendOutlawSelectedCommand {
int32 hero_id_to_apprehend = 1;
.google.protobuf.Int32Value battalion_id = 2;
int32 acting_hero_id = 3;
}
message ArmTroopsSelectedCommand {
repeated .net.eagle0.eagle.api.command.util.ArmedBattalion armed_battalions = 1;
}
message AttackDecisionSelectedCommand {
.net.eagle0.eagle.api.command.util.AttackDecisionType decision = 1;
}
message ControlWeatherSelectedCommand {
.net.eagle0.eagle.api.command.util.ControlWeatherType selected_type = 1;
int32 selected_province_id = 2;
int32 acting_hero_id = 3;
}
message DefendSelectedCommand {
.google.protobuf.Int32Value flee_province_id = 1;
repeated .net.eagle0.eagle.common.CombatUnit defending_units = 2;
}
message DeclineQuestSelectedCommand {
int32 hero_id = 1;
}
message DiplomacySelectedCommand {
.net.eagle0.eagle.api.command.util.DiplomacyOption selected_option = 1;
int32 target_faction_id = 2;
int32 sent_hero_id = 3;
}
message DivineSelectedCommand {
repeated int32 hero_ids = 1;
}
message ExileVassalSelectedCommand {
int32 exiled_hero_id = 1;
}
message FeastSelectedCommand {
}
message HandleCapturedHeroSelectedCommand {
int32 hero_id = 1;
.net.eagle0.eagle.api.command.util.CapturedHeroOption selected_option = 2;
}
message HandleRiotCrackDownSelectedCommand {
int32 hero_id = 1;
.google.protobuf.Int32Value battalion_id = 2;
int32 acting_hero_id = 3;
}
message HandleRiotDoNothingSelectedCommand {
}
message HandleRiotGiveSelectedCommand {
int32 food_amount = 1;
int32 gold_amount = 2;
}
message HeroGiftSelectedCommand {
int32 recipient_hero_id = 1;
int32 amount = 2;
}
message ImproveSelectedCommand {
.net.eagle0.eagle.common.ImprovementType improvement_type = 1;
int32 acting_hero_id = 2;
bool lock_type = 3;
}
message ManagePrisonersSelectedCommand {
int32 prisoner_hero_id = 1;
.net.eagle0.eagle.api.command.util.PrisonerManagementOption chosen_option = 2;
}
message MarchSelectedCommand {
int32 gold = 1;
int32 food = 2;
int32 origin_province = 3;
int32 destination_province_id = 4;
repeated .net.eagle0.eagle.common.CombatUnit marching_units = 5;
}
message IssueOrdersSelectedCommand {
repeated .net.eagle0.eagle.api.command.util.ProvinceOrders new_orders = 1;
// Clears the focus province if not set
.google.protobuf.Int32Value new_focus_province = 2;
}
message OrganizeTroopsSelectedCommand {
message TroopsFromOtherBattalion {
int32 from_battalion_id = 1;
int32 count_moved = 2;
}
message ChangedBattalion {
int32 id = 1;
repeated TroopsFromOtherBattalion troops_from_other_battalion = 2;
int32 new_troops = 3;
int32 dismissed_troops = 4;
}
message NewBattalion {
.net.eagle0.eagle.common.BattalionTypeId type = 1;
repeated TroopsFromOtherBattalion troops_from_other_battalion = 2;
int32 new_troops = 3;
}
repeated ChangedBattalion changed_battalions = 1;
repeated NewBattalion new_battalions = 2;
}
message PleaseRecruitMeSelectedCommand {
int32 province_id = 1;
int32 hero_id = 2;
bool accept = 3;
}
message ReconSelectedCommand {
int32 acting_hero_id = 1;
int32 target_province_id = 2;
}
message RecruitHeroesSelectedCommand {
repeated int32 hero_ids = 1;
}
message ResolveInvitationSelectedCommand {
int32 originating_faction_id = 1;
net.eagle0.eagle.common.DiplomacyOfferStatus resolution = 2;
}
message ResolveRansomOfferSelectedCommand {
int32 offering_faction_id = 1;
net.eagle0.eagle.common.DiplomacyOffer ransom_offer = 2;
net.eagle0.eagle.common.DiplomacyOfferStatus resolution = 3;
}
message ResolveAllianceOfferSelectedCommand {
int32 originating_faction_id = 1;
net.eagle0.eagle.common.DiplomacyOfferStatus resolution = 2;
}
message ResolveBreakAllianceSelectedCommand {
int32 originating_faction_id = 1;
net.eagle0.eagle.common.DiplomacyOfferStatus resolution = 2;
}
message ResolveTruceOfferSelectedCommand {
int32 originating_faction_id = 1;
net.eagle0.eagle.common.DiplomacyOfferStatus resolution = 2;
}
message ResolveTributeSelectedCommand {
int32 demanding_faction_id = 1;
bool paid = 2;
}
message RestSelectedCommand {
}
message ReturnSelectedCommand {
}
message SendSuppliesSelectedCommand {
int32 gold = 1;
int32 food = 2;
int32 acting_hero_id = 3;
int32 destination_province_id = 4;
}
message StartEpidemicSelectedCommand {
int32 selected_province_id = 1;
int32 acting_hero_id = 2;
}
message SuppressBeastsSelectedCommand {
int32 hero_id = 1;
.google.protobuf.Int32Value battalion_id = 2;
}
message SwearBrotherhoodSelectedCommand {
int32 new_brother_hero_id = 1;
}
message TradeSelectedCommand {
enum TradeType {
UNKNOWN = 0;
BUY_FOOD = 1;
SELL_FOOD = 2;
}
TradeType trade_type = 1;
int32 amount = 2;
}
message TrainSelectedCommand {
int32 acting_hero_id = 1;
}
message VisitTownSelectedCommand {}
message BattleAftermathDecisionSelectedCommand {
enum BattleAftermathDecision {
UNKNOWN = 0;
KEEP_PROVINCE = 1;
WITHDRAW = 2;
}
BattleAftermathDecision decision = 1;
int32 destination_province_id = 2;
int32 gold = 3;
int32 food = 4;
}