1377 lines
40 KiB
Protocol Buffer
1377 lines
40 KiB
Protocol Buffer
import "steammessages.proto";
|
|
import "dac_gcmessages_common.proto";
|
|
import "usermessages.proto";
|
|
|
|
option optimize_for = SPEED;
|
|
option cc_generic_services = false;
|
|
|
|
enum EDACGameMessages {
|
|
k_EMsgNetBufferContents = 2;
|
|
k_EMsgClientConnectionStarted = 3;
|
|
k_EMsgClientConnectionComplete = 4;
|
|
k_EMsgClientSetDebugNetBuffer = 5;
|
|
k_EMsgPlayerOrder = 6;
|
|
k_EMsgGameReplayActionMarker = 7;
|
|
k_EMsgPlayerCombinedHero = 8;
|
|
k_EMsgPlayerCombatResult = 9;
|
|
k_EMsgPlayerWinStreak = 10;
|
|
k_EMsgNetBufferRemoved = 11;
|
|
k_EMsgClientToServerChatMsg = 12;
|
|
k_EMsgServerToClientChatMsg = 13;
|
|
k_EMsgPlayerEliminated = 14;
|
|
k_EMsgRecordLocalBotStats = 15;
|
|
k_EMsgPlayerOrderProcessed = 16;
|
|
k_EMsgPlayerAcquiredItem = 18;
|
|
k_EMsgPlayerLevelUp = 19;
|
|
k_EMsgClientToServerUpvoteNotification = 20;
|
|
k_EMsgServerToClientNotificationChanged = 21;
|
|
k_EMsgItemChangedOwner = 22;
|
|
k_EMsgLocalPlayerInventory = 23;
|
|
k_eMsgIndividualPostMatchStats = 24;
|
|
k_EMsgPlayerPreferences = 25;
|
|
k_EMsgPlayerStateUpdatesComplete = 26;
|
|
k_EMsgClientToServerTeammateDuosMessage = 27;
|
|
k_EMsgServerToClientTeammateDuosMessage = 28;
|
|
k_EMsgPlayerSelectedTalent = 29;
|
|
k_EMsgPlayerRecievedUnitFromDuosPartner = 30;
|
|
k_EMsgClientToServerLoadShareCode = 31;
|
|
k_EMsgPlayerBoardBuddyCommand = 33;
|
|
k_EMsgPlayerMapPropCommand = 34;
|
|
k_EMsgPlayerLoadPuzzleLeaderboardCommand = 35;
|
|
k_EMsgClientToServerClickMsg = 36;
|
|
k_EMsgServerToClientClickMsg = 37;
|
|
k_EMsgPlayerChallengeCompletePrediction = 38;
|
|
}
|
|
|
|
enum EDACDisconnectReason {
|
|
k_EDACDisconnectReason_UserLeaveMatch = 1001;
|
|
k_EDACDisconnectReason_UserQuitApp = 1002;
|
|
k_EDACDisconnectReason_UserCancel = 1003;
|
|
k_EDACDisconnectReason_Goodbye = 1004;
|
|
k_EDACDisconnectReason_BadMessage = 2001;
|
|
k_EDACDisconnectReason_GameDestroyedUnexpectedly = 2002;
|
|
k_EDACDisconnectReason_ChangingServer = 2003;
|
|
k_EDACDisconnectReason_OldConnection = 2004;
|
|
k_EDACDisconnectReason_GoodbyeUnrecognizedGame = 2005;
|
|
}
|
|
|
|
enum EGameState {
|
|
EGameState_Intro = 0;
|
|
EGameState_Playing = 1;
|
|
EGameState_GameOver = 2;
|
|
}
|
|
|
|
enum ERoundState {
|
|
ERoundState_Preparing = 0;
|
|
ERoundState_Ready = 1;
|
|
ERoundState_Combat = 2;
|
|
ERoundState_RoundOver = 3;
|
|
}
|
|
|
|
enum EUnitKeyword {
|
|
EUnitKeyword_Invalid = 0;
|
|
EUnitKeyword_Beast = 1;
|
|
EUnitKeyword_Demon = 2;
|
|
EUnitKeyword_Dragon = 3;
|
|
EUnitKeyword_Dwarf = 4;
|
|
EUnitKeyword_Element = 5;
|
|
EUnitKeyword_Elf = 6;
|
|
EUnitKeyword_Goblin = 7;
|
|
EUnitKeyword_Human = 8;
|
|
EUnitKeyword_Naga = 9;
|
|
EUnitKeyword_Ogre = 10;
|
|
EUnitKeyword_Orc = 11;
|
|
EUnitKeyword_Troll = 12;
|
|
EUnitKeyword_Undead = 13;
|
|
EUnitKeyword_Satyr = 14;
|
|
EUnitKeyword_Assassin = 15;
|
|
EUnitKeyword_DemonHunter = 16;
|
|
EUnitKeyword_Druid = 17;
|
|
EUnitKeyword_Hunter = 18;
|
|
EUnitKeyword_Knight = 19;
|
|
EUnitKeyword_Mage = 20;
|
|
EUnitKeyword_Mech = 21;
|
|
EUnitKeyword_Shaman = 22;
|
|
EUnitKeyword_Warlock = 23;
|
|
EUnitKeyword_Warrior = 24;
|
|
EUnitKEyword_MegaWarrior = 25;
|
|
EUnitKeyword_MegaAssassin = 26;
|
|
EUnitKeyword_MegaBloodbound = 27;
|
|
EUnitKeyword_MegaElusive = 28;
|
|
EUnitKeyword_MegaWarlock = 29;
|
|
EUnitKeyword_MegaScaled = 30;
|
|
EUnitKeyword_MegaTroll = 31;
|
|
EUnitKeyword_MegaDemon = 32;
|
|
EUnitKeyword_Primordial = 33;
|
|
EUnitKeyword_Brawny = 34;
|
|
EUnitKeyword_Savage = 35;
|
|
EUnitKeyword_Inventor = 36;
|
|
EUnitKeyword_Insect = 37;
|
|
EUnitKeyword_Spectral = 38;
|
|
EUnitKeyword_Summoner = 39;
|
|
EUnitKeyword_SpiritBrother = 40;
|
|
EUnitKeyword_Meepo = 41;
|
|
EUnitKeyword_Brawler = 43;
|
|
EUnitKeyword_Guardian = 46;
|
|
EUnitKeyword_Champion = 50;
|
|
EUnitKeyword_Wisp = 51;
|
|
EUnitKeyword_Brutal = 52;
|
|
EUnitKeyword_Healer = 53;
|
|
EUnitKeyword_Vigilant = 54;
|
|
EUnitKeyword_Void = 55;
|
|
EUnitKeyword_Fallen = 42;
|
|
EUnitKeyword_Wild = 44;
|
|
EUnitKeyword_Swordsman = 45;
|
|
EUnitKeyword_Rogue = 47;
|
|
EUnitKeyword_Poisoner = 48;
|
|
EUnitKeyword_Magus = 49;
|
|
}
|
|
|
|
enum ESynergyType {
|
|
ESynergyType_Class = 1;
|
|
ESynergyType_Race = 2;
|
|
}
|
|
|
|
enum EDACItemType {
|
|
EDACItemType_Invalid = -1;
|
|
EDACItemType_Global = 0;
|
|
EDACItemType_Equipment_Offensive = 1;
|
|
EDACItemType_Equipment_Defensive = 2;
|
|
EDACItemType_Equipment_Support = 3;
|
|
EDACItemType_Placeable = 5;
|
|
EDACItemType_Equipment_Hat = 9;
|
|
}
|
|
|
|
enum EPlayerConnectionState {
|
|
EPlayerConnectionState_Connecting = 0;
|
|
EPlayerConnectionState_Connected = 1;
|
|
EPlayerConnectionState_Disconnected = 2;
|
|
}
|
|
|
|
enum ESendDestination {
|
|
ESendDestination_Duos_Partner = 0;
|
|
}
|
|
|
|
enum EPlayerOrder {
|
|
EPlayerOrder_SellUnit = 2;
|
|
EPlayerOrder_MoveUnit = 3;
|
|
EPlayerOrder_BuyXP = 4;
|
|
EPlayerOrder_ReRoll = 5;
|
|
EPlayerOrder_LockShop = 6;
|
|
EPlayerOrder_AssignEquipmentItem = 7;
|
|
EPlayerOrder_SelectItemRewardChoice = 8;
|
|
EPlayerOrder_DevGold = 9;
|
|
EPlayerOrder_DevItem = 10;
|
|
EPlayerOrder_DevHero = 12;
|
|
EPlayerOrder_BuyAndCombine = 15;
|
|
EPlayerOrder_PauseGame = 16;
|
|
EPlayerOrder_ResumeGame = 17;
|
|
EPlayerOrder_SpectatePlayer = 18;
|
|
EPlayerOrder_RequestPlayerStats = 19;
|
|
EPlayerOrder_StepForward = 20;
|
|
EPlayerOrder_MutePlayer = 21;
|
|
EPlayerOrder_SelectTalent = 22;
|
|
EPlayerOrder_Send = 23;
|
|
EPlayerOrder_CombineItem = 24;
|
|
EPlayerOrder_BuyCombineMove = 25;
|
|
EPlayerOrder_BuyAndSend = 26;
|
|
EPlayerOrder_SendGold = 27;
|
|
EPlayerOrder_DevTalent = 28;
|
|
EPlayerOrder_SellItem = 29;
|
|
EPlayerOrder_DevSetPlayerLevel = 30;
|
|
EPlayerOrder_DevGiveUnderlord = 32;
|
|
EPlayerOrder_DevSetAutosavingEnabled = 33;
|
|
EPlayerOrder_DevRemoveAllUnits = 34;
|
|
EPlayerOrder_DevSetUnitRank = 35;
|
|
EPlayerOrder_DevRemoveAllItems = 36;
|
|
EPlayerOrder_ClearBoard = 37;
|
|
EPlayerOrder_GoToTutorialState = 38;
|
|
EPlayerOrder_SelectTurboBucket = 39;
|
|
EPlayerOrder_TurboBucketReroll = 40;
|
|
EPlayerOrder_SelectUnderlord = 41;
|
|
EPlayerOrder_DevMakeTestBot = 42;
|
|
EPlayerOrder_ItemRewardChoiceReroll = 43;
|
|
EPlayerOrder_BuyPuzzleUnit = 44;
|
|
EPlayerOrder_Dungeon_AdvancePhase = 45;
|
|
}
|
|
|
|
enum ERoundCombatResult {
|
|
ERoundCombatResult_Draw = 0;
|
|
ERoundCombatResult_HomeWin = 1;
|
|
ERoundCombatResult_AwayWin = 2;
|
|
}
|
|
|
|
enum EDamageSourceType {
|
|
k_EDamageSourceType_Round = 0;
|
|
k_EDamageSourceType_Unit = 1;
|
|
k_EDamageSourceType_Item = 2;
|
|
k_EDamageSourceType_DuosNetDamage = 3;
|
|
}
|
|
|
|
enum ERoundVictoryLevel {
|
|
ERoundVictoryLevel_HomeDecisive = 0;
|
|
ERoundVictoryLevel_HomeNarrow = 1;
|
|
ERoundVictoryLevel_HomeFlawless = 2;
|
|
ERoundVictoryLevel_HomeNormal = 3;
|
|
ERoundVictoryLevel_AwayDecisive = 4;
|
|
ERoundVictoryLevel_AwayNarrow = 5;
|
|
ERoundVictoryLevel_AwayFlawless = 6;
|
|
ERoundVictoryLevel_AwayNormal = 7;
|
|
ERoundVictoryLevel_Draw = 8;
|
|
}
|
|
|
|
enum EDACPuzzleRule {
|
|
k_EDACPuzzleRule_None = 0;
|
|
k_EDACPuzzleRule_UnitCountLimit = 1;
|
|
k_EDACPuzzleRule_UnitStarLimit = 2;
|
|
k_EDACPuzzleRule_BoardCostLimit = 3;
|
|
k_EDACPuzzleRule_ItemCountLimit = 4;
|
|
k_EDACPuzzleRule_ValidBoardPositions = 5;
|
|
k_EDACPuzzleRule_MaxCombatDuration = 6;
|
|
k_EDACPuzzleRule_UnitCopyLimit = 7;
|
|
k_EDACPuzzleRule_Custom1 = 100;
|
|
k_EDACPuzzleRule_Custom2 = 101;
|
|
k_EDACPuzzleRule_Custom3 = 102;
|
|
k_EDACPuzzleRule_Custom4 = 103;
|
|
k_EDACPuzzleRule_AllianceAllowed1 = 110;
|
|
k_EDACPuzzleRule_AllianceAllowed2 = 111;
|
|
k_EDACPuzzleRule_AllianceAllowed3 = 112;
|
|
k_EDACPuzzleRule_AllianceAllowed4 = 113;
|
|
k_EDACPuzzleRule_AllianceDisllowed1 = 120;
|
|
k_EDACPuzzleRule_AllianceDisllowed2 = 121;
|
|
k_EDACPuzzleRule_AllianceDisllowed3 = 122;
|
|
k_EDACPuzzleRule_AllianceDisllowed4 = 123;
|
|
k_EDACPuzzleRule_UnitAllowed1 = 130;
|
|
k_EDACPuzzleRule_UnitAllowed2 = 131;
|
|
k_EDACPuzzleRule_UnitAllowed3 = 132;
|
|
k_EDACPuzzleRule_UnitAllowed4 = 133;
|
|
k_EDACPuzzleRule_UnitDisallowed1 = 140;
|
|
k_EDACPuzzleRule_UnitDisallowed2 = 141;
|
|
k_EDACPuzzleRule_UnitDisallowed3 = 142;
|
|
k_EDACPuzzleRule_UnitDisallowed4 = 143;
|
|
}
|
|
|
|
enum EDACDungeonRoomType {
|
|
k_EDACDungeonRoomType_None = 0;
|
|
k_EDACDungeonRoomType_Shop = 1;
|
|
k_EDACDungeonRoomType_Mystery = 2;
|
|
k_EDACDungeonRoomType_MiniGame = 3;
|
|
k_EDACDungeonRoomType_StandardCombat = 4;
|
|
k_EDACDungeonRoomType_MiniBoss = 5;
|
|
k_EDACDungeonRoomType_Boss = 6;
|
|
}
|
|
|
|
enum EDACDungeonPhase {
|
|
k_EDACDungeonPhase_None = 0;
|
|
k_EDACDungeonPhase_Intro_ChoosingUnderlord = 1;
|
|
k_EDACDungeonPhase_Intro_ChoosingFirstUnit = 2;
|
|
k_EDACDungeonPhase_Room_Setup = 3;
|
|
k_EDACDungeonPhase_Room_Main = 4;
|
|
k_EDACDungeonPhase_Room_Post_Rewards = 5;
|
|
k_EDACDungeonPhase_Room_Post_ChooseNextRoom = 6;
|
|
k_EDACDungeonPhase_Victory = 7;
|
|
k_EDACDungeonPhase_Defeat = 8;
|
|
}
|
|
|
|
enum EUnitAIState {
|
|
EUnitAIState_Idle = 0;
|
|
EUnitAIState_MoveToAttack = 1;
|
|
EUnitAIState_MoveToLocation = 2;
|
|
EUnitAIState_Attack = 3;
|
|
EUnitAIState_CastAbility = 4;
|
|
EUnitAIState_Dead = 5;
|
|
EUnitAIState_Portrait = 6;
|
|
EUnitAIState_WalkBack = 7;
|
|
EUnitAIState_Celebrate = 8;
|
|
EUnitAIState_RoundEndTeleport = 9;
|
|
EUnitAIState_Resurrecting = 10;
|
|
EUnitAIState_WalkThroughGate = 11;
|
|
EUnitAIState_MoveInFear = 12;
|
|
}
|
|
|
|
enum EDACIncidentType {
|
|
EDACIncidentType_None = 0;
|
|
EDACIncidentType_DamagePhysical = 1;
|
|
EDACIncidentType_DamageMagical = 2;
|
|
EDACIncidentType_DamagePure = 3;
|
|
EDACIncidentType_Died = 4;
|
|
EDACIncidentType_Heal = 5;
|
|
}
|
|
|
|
enum EDACNetBuffer {
|
|
k_eDACNetBuffer_MatchState = 0;
|
|
k_eDACNetBuffer_RoundCombat = 1;
|
|
k_eDACNetBuffer_PublicPlayerState = 2;
|
|
k_eDACNetBuffer_PrivatePlayerState = 3;
|
|
k_eDACNetBuffer_Debug = 4;
|
|
k_eDACNetBuffer_ModifierName = 5;
|
|
k_eDACNetBuffer_IndividualPostMatchStats = 6;
|
|
k_eDACNetBuffer_PublicPostMatchStats = 7;
|
|
k_eDACNetBuffer_GameModeState = 8;
|
|
k_eDACNetBuffer_RoundCombatGlobal = 9;
|
|
}
|
|
|
|
enum EInGameChatType {
|
|
k_eInGameChatType_Global = 0;
|
|
k_eInGameChatType_Combat = 1;
|
|
}
|
|
|
|
enum EClickType {
|
|
k_eClickType_Left = 0;
|
|
k_eClickType_Right = 1;
|
|
}
|
|
|
|
enum EMapPropCommand {
|
|
k_eMapPropCommand_None = 0;
|
|
k_eMapPropCommand_Click = 1;
|
|
}
|
|
|
|
enum EDuosMessageType {
|
|
k_eDuosMessageType_None = 0;
|
|
k_eDuosMessageType_IWant = 1001;
|
|
k_eDuosMessageType_DoYouWant = 1002;
|
|
k_eDuosMessageType_YesWant = 1003;
|
|
k_eDuosMessageType_NoWant = 1004;
|
|
k_eDuosMessageType_FreeYourBenchFor = 1005;
|
|
k_eDuosMessageType_Thanks = 1006;
|
|
k_eDuosMessageType_Sent1Gold = 1007;
|
|
k_eDuosMessageType_Sent5Gold = 1008;
|
|
k_eDuosMessageType_INoLongerWant = 1009;
|
|
k_eDuosMessageType_WantGold = 1010;
|
|
k_eDuosMessageType_LevelUpQuestion = 1011;
|
|
k_eDuosMessageType_SpendRerollQuestion = 1012;
|
|
}
|
|
|
|
enum EDuosMessageTargetType {
|
|
k_eDuosMessageTargetType_None = 0;
|
|
k_eDuosMessageTargetType_Unit = 1;
|
|
k_eDuosMessageTargetType_Synergy = 2;
|
|
k_eDuosMessageTargetType_Gold = 3;
|
|
}
|
|
|
|
enum EBoardBuddyCommand {
|
|
k_eBoardBuddyCommand_None = 0;
|
|
k_eBoardBuddyCommand_Move = 1;
|
|
}
|
|
|
|
message CClientReconnectInfo {
|
|
optional fixed64 server_steam_id = 1;
|
|
optional uint64 lobby_id = 2;
|
|
optional uint32 time_updated = 3;
|
|
optional uint32 udp_connect_ip = 4;
|
|
optional uint32 udp_connect_port = 5;
|
|
optional uint32 compatibility_version = 7;
|
|
}
|
|
|
|
message CMsgPlayerStateUpdatesComplete {
|
|
}
|
|
|
|
message CMsgClientUnderlordLoadout {
|
|
repeated uint32 item_defs = 1;
|
|
optional string loadout_name = 2;
|
|
optional bool selected = 3;
|
|
optional uint32 underlord_id = 4;
|
|
}
|
|
|
|
message CMsgClientUnderlordLoadoutList {
|
|
optional uint32 version = 1;
|
|
repeated .CMsgClientUnderlordLoadout loadouts = 2;
|
|
}
|
|
|
|
message CMsgPlayerOrder {
|
|
required .EPlayerOrder order = 1 [default = EPlayerOrder_SellUnit];
|
|
optional int32 param1 = 2;
|
|
optional int32 param2 = 3;
|
|
optional int32 param3 = 4;
|
|
optional uint32 spoof_player_slot = 5;
|
|
optional uint32 command_id = 6;
|
|
optional int32 param4 = 7;
|
|
optional int32 param5 = 8;
|
|
optional int32 param6 = 9;
|
|
optional string string_param1 = 10;
|
|
}
|
|
|
|
message CMsgPlayerOrderProcessed {
|
|
optional uint32 command_id = 1;
|
|
}
|
|
|
|
message CMsgPlayerCombinedHero {
|
|
optional uint32 player_slot = 1;
|
|
optional int32 unit_id = 2;
|
|
optional uint32 new_rank = 3;
|
|
optional uint32 entindex = 4;
|
|
optional uint32 notification_id = 5;
|
|
optional bool duos_combine = 6;
|
|
}
|
|
|
|
message CMsgPlayerAcquiredItem {
|
|
optional uint32 player_slot = 1;
|
|
optional int32 item_id = 2;
|
|
optional uint32 notification_id = 3;
|
|
}
|
|
|
|
message CMsgPlayerRecievedUnitFromDuosPartner {
|
|
optional int32 unit_id = 1;
|
|
}
|
|
|
|
message CMsgPlayerSelectedTalent {
|
|
optional uint32 player_slot = 1;
|
|
optional int32 talent_itemdef_index = 2;
|
|
optional uint32 notification_id = 3;
|
|
}
|
|
|
|
message CMsgPlayerCombatResult {
|
|
message DamageSource {
|
|
required .EDamageSourceType type = 1 [default = k_EDamageSourceType_Round];
|
|
optional int32 entity_id = 2;
|
|
optional int32 rank = 3;
|
|
optional int32 damage_dealt = 4;
|
|
}
|
|
|
|
optional uint32 player_slot = 1;
|
|
optional .ERoundCombatResult result = 4 [default = ERoundCombatResult_Draw];
|
|
optional uint32 damage_taken = 5;
|
|
repeated .CMsgPlayerCombatResult.DamageSource damage_sources = 6;
|
|
optional bool aegis_used = 7;
|
|
optional .ERoundVictoryLevel victory_level = 8 [default = ERoundVictoryLevel_HomeDecisive];
|
|
optional uint32 notification_id = 9;
|
|
optional uint32 total_gold = 11;
|
|
optional uint32 gold_from_interest = 12;
|
|
optional uint32 gold_from_streak = 13;
|
|
optional uint32 gold_from_items = 14;
|
|
optional uint32 gold_from_round_bonus = 15;
|
|
optional uint32 gold_from_victory = 16;
|
|
optional bool free_reroll = 17;
|
|
|
|
oneof opponent {
|
|
uint32 opponent_player_slot = 2;
|
|
uint32 opponent_neutral_wave = 3;
|
|
}
|
|
}
|
|
|
|
message CMsgPlayerWinStreak {
|
|
optional uint32 player_slot = 1;
|
|
optional uint32 streak_length = 2;
|
|
optional uint32 notification_id = 3;
|
|
}
|
|
|
|
message CMsgPlayerLevelUp {
|
|
optional uint32 player_slot = 1;
|
|
optional uint32 level = 2;
|
|
optional uint32 notification_id = 3;
|
|
}
|
|
|
|
message CMsgItemChangedOwner {
|
|
optional uint32 old_player_slot = 1;
|
|
optional uint32 new_player_slot = 2;
|
|
optional uint32 item_id = 3;
|
|
optional uint32 notification_id = 4;
|
|
}
|
|
|
|
message CMsgPlayerEliminated {
|
|
optional uint32 player_slot = 1;
|
|
optional uint32 final_position = 2;
|
|
optional uint32 notification_id = 3;
|
|
optional uint32 opponent_player_slot = 4;
|
|
optional bool was_head_to_head = 5;
|
|
}
|
|
|
|
message CMsgPosition {
|
|
required int32 x = 1;
|
|
required int32 y = 2;
|
|
}
|
|
|
|
message CMsgUnit {
|
|
required int32 entindex = 1;
|
|
optional int32 unit_id = 2;
|
|
optional .CMsgPosition position = 3;
|
|
optional int32 rank = 4;
|
|
optional int32 gold_value = 6;
|
|
optional uint32 kill_count = 8;
|
|
optional uint32 kill_streak = 9;
|
|
repeated .EUnitKeyword keywords = 10;
|
|
optional bool is_summoned = 11;
|
|
optional uint32 duel_bonus_damage = 12;
|
|
optional int32 unit_cap_cost = 13;
|
|
optional bool is_placeable_item = 14;
|
|
optional bool bot_ignore = 15;
|
|
optional bool can_move_to_bench = 16;
|
|
optional bool can_be_sold = 17;
|
|
optional bool recommended_for_placement = 18;
|
|
optional float float_kill_count = 38;
|
|
}
|
|
|
|
message CMsgShopItem {
|
|
optional int32 unit_id = 1;
|
|
optional bool will_combine_two_stars = 2;
|
|
optional int32 gold_cost = 3;
|
|
optional bool wanted_legendary = 4;
|
|
optional bool will_combine_three_stars = 5;
|
|
repeated .EUnitKeyword keywords = 6;
|
|
}
|
|
|
|
message CMsgTurboBucket {
|
|
repeated .EUnitKeyword keywords = 1;
|
|
repeated int32 unit_ids = 2;
|
|
}
|
|
|
|
message CMsgUnderlordPickerOffering {
|
|
optional uint32 underlord_id = 1;
|
|
optional uint32 build_id = 2;
|
|
}
|
|
|
|
message CMsgSynergy {
|
|
optional .EUnitKeyword keyword = 1 [default = EUnitKeyword_Invalid];
|
|
optional int32 unique_unit_count = 2;
|
|
optional int32 bench_additional_unique_unit_count = 3;
|
|
}
|
|
|
|
message CMsgItemSlot {
|
|
optional uint32 slot_index = 1;
|
|
required uint32 item_id = 2;
|
|
optional int32 assigned_unit_entindex = 3;
|
|
}
|
|
|
|
message CMsgBoardBuddy {
|
|
optional float desired_pos_x = 1;
|
|
optional float desired_pos_y = 2;
|
|
}
|
|
|
|
message CMsgMapProp {
|
|
optional uint32 prop_idx = 1;
|
|
optional uint32 prop_state = 2;
|
|
optional uint32 num_clicks = 3;
|
|
}
|
|
|
|
message CMsgPublicPlayerState {
|
|
message LoadoutItem {
|
|
optional uint32 slot = 1;
|
|
optional uint32 sub_slot = 2;
|
|
optional uint32 def_index = 3;
|
|
}
|
|
|
|
required uint32 player_slot = 1;
|
|
optional uint32 account_id = 2;
|
|
optional .EPlayerConnectionState connection_status = 3 [default = EPlayerConnectionState_Connecting];
|
|
optional bool is_human_player = 4;
|
|
optional int32 health = 5;
|
|
optional int32 gold = 6;
|
|
optional int32 level = 7;
|
|
optional int32 xp = 8;
|
|
repeated .CMsgItemSlot item_slots = 9;
|
|
repeated .CMsgUnit units = 10;
|
|
optional uint32 final_place = 14;
|
|
optional int32 next_level_xp = 15;
|
|
repeated .CMsgSynergy synergies = 16;
|
|
optional string bot_persona_name = 17;
|
|
optional uint64 sequence_number = 18;
|
|
optional int32 shop_cost_modifier = 20;
|
|
optional float combat_duration = 21;
|
|
optional int32 reroll_cost_modifier = 22;
|
|
optional int32 win_streak = 26;
|
|
optional int32 lose_streak = 27;
|
|
optional uint32 rank_tier = 28;
|
|
optional float disconnected_time = 29;
|
|
optional uint32 vs_opponent_wins = 30;
|
|
optional uint32 vs_opponent_losses = 31;
|
|
optional uint32 vs_opponent_draws = 32;
|
|
optional .EDACPlatform platform = 33 [default = k_eDACPlatform_None];
|
|
optional uint32 event_tier = 34;
|
|
optional string persona_name = 36;
|
|
optional uint32 wins = 37;
|
|
optional uint32 losses = 38;
|
|
optional uint32 global_leaderboard_rank = 39;
|
|
repeated .CMsgPublicPlayerState.LoadoutItem player_loadout = 40;
|
|
optional uint32 net_worth = 41;
|
|
optional uint32 combat_result = 43;
|
|
optional .EDACLobbyTeam lobby_team = 44 [default = k_EDACLobbyTeam_Team0];
|
|
repeated uint32 underlord_selected_talents = 45;
|
|
optional bool is_mirrored_match = 46;
|
|
optional uint32 underlord = 47;
|
|
optional uint32 party_index = 48;
|
|
optional uint32 next_combat_opponent_neutral_wave = 49;
|
|
optional int32 board_unit_limit = 52;
|
|
repeated uint32 underlord_available_talents = 53;
|
|
optional uint32 combat_type = 54;
|
|
optional .CMsgBoardBuddy board_buddy = 55;
|
|
repeated .CMsgMapProp prop_state = 56;
|
|
optional float brawny_kills_float = 57;
|
|
optional bool owns_event = 58;
|
|
optional uint32 city_prestige_level = 59;
|
|
optional uint32 stat_best_victory_duration = 1000;
|
|
optional uint32 stat_best_victory_net_worth = 1001;
|
|
optional uint32 stat_best_victory_remaining_health_percent = 1002;
|
|
optional uint32 stat_best_victory_units = 1006;
|
|
optional uint32 stat_prev_victory_duration = 1003;
|
|
optional uint32 stat_prev_victory_net_worth = 1004;
|
|
optional uint32 stat_prev_victory_remaining_health_percent = 1005;
|
|
optional uint32 stat_prev_victory_units = 1007;
|
|
|
|
oneof opponent {
|
|
uint32 opponent_player_slot = 24;
|
|
uint32 opponent_neutral_wave = 25;
|
|
}
|
|
}
|
|
|
|
message CMsgPublicPostMatchStats {
|
|
message PlayerPerRoundInfo {
|
|
optional uint32 gold = 1;
|
|
optional uint32 health = 2;
|
|
optional uint32 level = 3;
|
|
optional uint32 wins = 4;
|
|
optional uint32 losses = 5;
|
|
optional uint32 net_worth = 6;
|
|
repeated .CMsgUnit units = 7;
|
|
repeated uint32 synergies = 8;
|
|
repeated .CMsgItemSlot item_slots = 9;
|
|
repeated uint32 underlord_selected_talents = 10;
|
|
}
|
|
|
|
message PlayerInfo {
|
|
repeated .CMsgPublicPostMatchStats.PlayerPerRoundInfo rounds = 1;
|
|
optional uint32 player_slot = 2;
|
|
optional uint32 account_id = 3;
|
|
optional bool is_human_player = 4;
|
|
optional string persona_name = 5;
|
|
optional uint32 mmr_level = 6;
|
|
optional uint32 global_leaderboard_rank = 7;
|
|
optional uint32 final_position = 8;
|
|
optional .EDACLobbyTeam lobby_team = 9 [default = k_EDACLobbyTeam_Team0];
|
|
}
|
|
|
|
repeated .CMsgPublicPostMatchStats.PlayerInfo players = 1;
|
|
optional uint32 game_mode = 2;
|
|
optional uint64 match_id = 3;
|
|
}
|
|
|
|
message CMsgIndividualPostMatchStats {
|
|
message Round {
|
|
repeated .CMsgUnit units = 1;
|
|
repeated uint32 synergies = 2;
|
|
repeated .CMsgItemSlot items = 3;
|
|
optional uint32 gold_spent_on_rerolls = 4;
|
|
optional uint32 gold_earned = 5;
|
|
optional uint32 interest_gold_earned = 6;
|
|
optional uint32 streak_gold_earned = 7;
|
|
optional uint32 victory = 8;
|
|
optional uint32 xp_earned = 9;
|
|
optional uint32 health = 10;
|
|
optional uint32 gold = 11;
|
|
optional uint32 round_ranking = 12;
|
|
optional uint32 level = 13;
|
|
optional uint32 enemy_player_slot = 14;
|
|
optional uint32 gold_spent_on_levels = 15;
|
|
optional uint32 gold_spent_on_units = 16;
|
|
optional uint32 damage_dealt_to_units = 17;
|
|
optional uint32 victory_level = 18;
|
|
optional uint32 damage_dealt_to_player = 19;
|
|
optional uint32 enemy_underlord = 20;
|
|
repeated uint32 underlord_selected_talents = 21;
|
|
}
|
|
|
|
message Challenge {
|
|
optional uint32 slot_id = 1;
|
|
optional uint32 sequence_id = 2;
|
|
optional uint32 progress = 3;
|
|
optional uint32 initial_progress = 4;
|
|
optional uint32 claimed = 5;
|
|
}
|
|
|
|
message Currency {
|
|
optional uint32 currency_id = 1;
|
|
optional uint32 initial_amount = 2;
|
|
optional uint32 amount_gained = 3;
|
|
}
|
|
|
|
message Event {
|
|
optional uint32 event_id = 1;
|
|
optional bool event_owned = 2;
|
|
optional uint32 event_tier = 3;
|
|
repeated .CMsgIndividualPostMatchStats.Challenge challenges = 4;
|
|
repeated .CMsgIndividualPostMatchStats.Currency currencies = 5;
|
|
}
|
|
|
|
message RankUpdate {
|
|
optional uint32 initial_level_score = 1;
|
|
optional uint32 initial_level = 2;
|
|
optional float initial_level_partial_progress = 3;
|
|
optional uint32 final_level_score = 4;
|
|
optional uint32 final_level = 5;
|
|
optional float final_level_partial_progress = 6;
|
|
optional uint32 initial_leaderboard_place = 7;
|
|
}
|
|
|
|
repeated .CMsgIndividualPostMatchStats.Round rounds = 1;
|
|
optional uint32 player_slot = 2;
|
|
optional uint32 position = 3;
|
|
repeated .CMsgIndividualPostMatchStats.Event events = 4;
|
|
optional .CMsgIndividualPostMatchStats.RankUpdate individual_rank_update = 5;
|
|
optional .CMsgIndividualPostMatchStats.RankUpdate duos_rank_update = 6;
|
|
optional .EDACGameMode game_mode = 7 [default = k_EDACGameMode_Invalid];
|
|
optional .EDACMatchMode match_mode = 8 [default = k_EDACMatchMode_Invalid];
|
|
optional .EDACBotDifficulty bot_difficulty = 9 [default = k_EDACBotDifficulty_None];
|
|
optional uint32 underlord_id = 10;
|
|
optional uint32 underlord_build_id = 11;
|
|
optional .CMsgGameModeSettings game_mode_settings = 12;
|
|
}
|
|
|
|
message CMsgPlayerPreferences {
|
|
optional bool auto_deploy_units = 1;
|
|
}
|
|
|
|
message CMsgPrivatePlayerState {
|
|
message ItemChoiceReward {
|
|
message Choice {
|
|
required uint32 item_id = 1;
|
|
optional bool available = 2;
|
|
}
|
|
|
|
required int32 reward_id = 1;
|
|
repeated .CMsgPrivatePlayerState.ItemChoiceReward.Choice choices = 2;
|
|
}
|
|
|
|
message Challenge {
|
|
optional uint32 slot_id = 1;
|
|
optional uint32 sequence_id = 2;
|
|
optional uint32 progress = 3;
|
|
optional uint32 initial_progress = 4;
|
|
optional uint32 claimed = 5;
|
|
}
|
|
|
|
enum EGrantRewards {
|
|
EGrantRewards_No = 0;
|
|
EGrantRewards_Yes = 1;
|
|
EGrantRewards_NoLongerEligible = 2;
|
|
}
|
|
|
|
required uint32 player_slot = 1;
|
|
optional int32 unclaimed_reward_count = 2;
|
|
optional .CMsgPrivatePlayerState.ItemChoiceReward oldest_unclaimed_reward = 3;
|
|
optional bool shop_locked = 4;
|
|
repeated .CMsgShopItem shop_units = 5;
|
|
optional uint32 gold_earned_this_round = 6;
|
|
optional uint32 shop_generation_id = 7;
|
|
repeated .CMsgPrivatePlayerState.Challenge challenges = 8;
|
|
optional .CMsgPrivatePlayerState.EGrantRewards grants_rewards = 9 [default = EGrantRewards_No];
|
|
optional uint32 sequence_number = 10;
|
|
optional int32 reroll_cost = 11;
|
|
optional bool used_turbo_bucket_reroll = 20;
|
|
repeated .CMsgTurboBucket turbo_buckets = 21;
|
|
optional bool can_select_underlord = 22;
|
|
repeated .CMsgUnderlordPickerOffering underlord_picker_offering = 23;
|
|
optional bool used_item_reward_reroll_this_round = 24;
|
|
}
|
|
|
|
message CMsgMatchState {
|
|
message TeamInfo {
|
|
optional .EDACLobbyTeam lobby_team = 1 [default = k_EDACLobbyTeam_Team0];
|
|
optional string team_name = 2;
|
|
optional uint32 team_mmr_level = 3;
|
|
optional uint32 team_leaderboard_place = 4;
|
|
}
|
|
|
|
optional .EGameState game_state = 1 [default = EGameState_Intro];
|
|
optional .ERoundState round_state = 2 [default = ERoundState_Preparing];
|
|
optional int32 round_number = 3;
|
|
optional float state_change_time = 4;
|
|
optional float state_duration = 5;
|
|
optional float paused_state_time_remaining = 6;
|
|
optional uint64 match_id = 8;
|
|
optional .CMsgGameModifiers game_modifiers = 9;
|
|
repeated .CMsgMatchState.TeamInfo team_info = 10;
|
|
optional string feature_controls = 11;
|
|
}
|
|
|
|
message CMsgGameModeState_Normal {
|
|
}
|
|
|
|
message CMsgGameModeState_Turbo {
|
|
optional .CMsgGameModeState_Normal base_normal = 1;
|
|
}
|
|
|
|
message CMsgDuos_TeamCombatResult {
|
|
optional uint32 player_slot = 1;
|
|
optional uint32 opponent_slot = 2;
|
|
optional int32 damage_result = 3;
|
|
optional uint32 teammate_slot = 4;
|
|
optional uint32 teammate_opponent_slot = 5;
|
|
optional int32 teammate_damage_result = 6;
|
|
}
|
|
|
|
message CMsgGameModeState_Duos {
|
|
optional .CMsgGameModeState_Normal base_normal = 1;
|
|
repeated .CMsgDuos_TeamCombatResult combat_results = 2;
|
|
}
|
|
|
|
message CMsgGameModeState_TechPrototypeA {
|
|
optional int32 rounds_remaining = 1;
|
|
}
|
|
|
|
message CMsgGameModeState_Sandbox {
|
|
optional int32 opponent_player_slot = 1;
|
|
}
|
|
|
|
message CMsgGameModeState_Puzzle {
|
|
message ActiveRule {
|
|
optional .EDACPuzzleRule rule = 1 [default = k_EDACPuzzleRule_None];
|
|
optional bool satisfied = 2;
|
|
repeated int32 constraints = 3 [packed = true];
|
|
optional int32 current_value = 4;
|
|
}
|
|
|
|
optional int32 opponent_player_slot = 1;
|
|
repeated .CMsgGameModeState_Puzzle.ActiveRule active_rules = 2;
|
|
optional bool active_rules_satisfied = 3;
|
|
optional int32 puzzle_id = 4;
|
|
repeated uint32 allowed_unit_def_indices = 5;
|
|
}
|
|
|
|
message CMsgGameModeState_Tutorial {
|
|
optional string tutorial_state_name = 1;
|
|
optional int32 opponent_player_slot = 2;
|
|
}
|
|
|
|
message CMsgGameModeState_Streetfight {
|
|
optional uint32 streetfight_id = 1;
|
|
optional int32 opponent_player_slot = 2;
|
|
}
|
|
|
|
message DungeonActionCard {
|
|
optional int32 card_id = 1;
|
|
}
|
|
|
|
message CMsgGameModeState_Dungeon {
|
|
optional .EDACDungeonPhase dungeon_phase = 1 [default = k_EDACDungeonPhase_None];
|
|
optional .EDACDungeonRoomType current_room_type = 2 [default = k_EDACDungeonRoomType_None];
|
|
repeated .EDACDungeonRoomType next_room_types = 3;
|
|
repeated .DungeonActionCard available_cards = 4;
|
|
}
|
|
|
|
message CMsgGameModeState {
|
|
oneof details {
|
|
.CMsgGameModeState_Normal details_normal = 1;
|
|
.CMsgGameModeState_Turbo details_turbo = 2;
|
|
.CMsgGameModeState_Duos details_duos = 3;
|
|
.CMsgGameModeState_TechPrototypeA details_tech_prototype_a = 4;
|
|
.CMsgGameModeState_Sandbox details_sandbox = 5;
|
|
.CMsgGameModeState_Puzzle details_puzzle = 6;
|
|
.CMsgGameModeState_Tutorial details_tutorial = 7;
|
|
.CMsgGameModeState_Streetfight details_streetfight = 8;
|
|
.CMsgGameModeState_Dungeon details_dungeon = 9;
|
|
}
|
|
}
|
|
|
|
message CMsgUnitPosition {
|
|
required float x = 1;
|
|
required float y = 2;
|
|
required float z = 3;
|
|
}
|
|
|
|
message CMsgUnitPositionAndFacing {
|
|
required float x = 1;
|
|
required float y = 2;
|
|
required float z = 3;
|
|
required float yaw = 4;
|
|
}
|
|
|
|
message CMsgUnitAbilityCooldown {
|
|
required uint32 ability_id = 1;
|
|
required float cooldown_ratio = 2;
|
|
}
|
|
|
|
message CMsgUnitSnapshot {
|
|
optional int32 entindex = 1;
|
|
optional int32 unit_id = 2;
|
|
optional int32 team_number = 3;
|
|
optional .CMsgUnitPositionAndFacing position = 4;
|
|
optional int32 health = 5;
|
|
optional int32 mana = 6;
|
|
repeated string particle_attachment_names = 7;
|
|
optional int32 rank = 8;
|
|
optional .EUnitAIState ai_state = 9 [default = EUnitAIState_Idle];
|
|
optional float cooldown_ratio = 10;
|
|
optional uint32 kill_count = 12;
|
|
optional uint32 kill_streak = 13;
|
|
optional int32 max_health = 14;
|
|
repeated .EUnitKeyword keywords = 15;
|
|
optional .CMsgUnitPositionAndFacing starting_position = 16;
|
|
optional bool is_summoned = 17;
|
|
optional int32 summon_owner_entindex = 18;
|
|
optional uint32 duel_bonus_damage = 19;
|
|
optional int32 armor = 20;
|
|
optional uint32 underlord_power = 21;
|
|
optional uint32 status_label = 22;
|
|
optional uint32 status_effect_index = 23;
|
|
optional float attacks_per_second = 24;
|
|
optional int32 damage_min = 25;
|
|
optional int32 damage_max = 26;
|
|
optional int32 damage_bonus = 27;
|
|
optional bool full_update = 28;
|
|
repeated .CMsgUnitAbilityCooldown ability_cooldowns = 29;
|
|
repeated uint32 abilities_enabled = 30;
|
|
repeated uint32 buff_status = 31;
|
|
optional bool force_big_healthbar = 32;
|
|
optional uint32 override_item_slot = 33;
|
|
optional int32 range_bonus = 34;
|
|
optional bool can_move_to_bench = 35;
|
|
optional bool can_be_sold = 36;
|
|
optional bool recommended_for_placement = 37;
|
|
optional float float_kill_count = 38;
|
|
optional float cooldown_multiplier = 39;
|
|
optional bool client_synthesized_for_setup = 1001;
|
|
optional bool client_is_on_bench = 1002;
|
|
}
|
|
|
|
message CMsgUnitMeterDamageDealt {
|
|
optional int32 total_damage_dealt = 1;
|
|
optional int32 spell_damage_dealt = 2;
|
|
optional int32 attack_damage_dealt = 3;
|
|
optional int32 item_damage_dealt = 4;
|
|
}
|
|
|
|
message CMsgUnitMeterDetail {
|
|
optional int32 value = 2;
|
|
optional uint32 id = 3;
|
|
}
|
|
|
|
message CMsgUnitMeterDamageTaken {
|
|
optional int32 total_damage_taken = 1;
|
|
optional int32 physical_damage_taken = 2;
|
|
optional int32 magical_damage_taken = 3;
|
|
optional int32 pure_damage_taken = 4;
|
|
}
|
|
|
|
message CMsgUnitMeterSnapshot {
|
|
optional int32 entindex = 1;
|
|
optional int32 unit_id = 2;
|
|
optional int32 team_number = 3;
|
|
optional .CMsgUnitMeterDamageDealt damage_dealt = 4;
|
|
optional .CMsgUnitMeterDamageTaken damage_taken = 5;
|
|
optional uint32 healing_done = 6;
|
|
optional uint32 kills = 7;
|
|
optional float time_of_death = 8;
|
|
optional uint32 rank = 9;
|
|
optional int32 globalindex = 10;
|
|
repeated .CMsgUnitMeterDetail damage_dealt_details = 11;
|
|
repeated .CMsgUnitMeterDetail healing_done_details = 12;
|
|
optional float disable_done = 13;
|
|
repeated .CMsgUnitMeterDetail damage_taken_details = 14;
|
|
repeated .CMsgUnitMeterDetail kills_details = 15;
|
|
repeated .CMsgUnitMeterDetail disable_done_details = 16;
|
|
}
|
|
|
|
message CMsgCombatMetersSnapshot {
|
|
required float snapshot_time = 1;
|
|
repeated .CMsgUnitMeterSnapshot units = 2;
|
|
}
|
|
|
|
message CMsgCombatDebugSnapshot {
|
|
message PathfindingCell {
|
|
required bool reserved = 1;
|
|
optional int32 owner_entindex = 2;
|
|
}
|
|
|
|
message ActivePath {
|
|
optional int32 owner_entindex = 1;
|
|
repeated .CMsgPosition path_waypoints = 2;
|
|
optional int32 path_waypoint_index = 3;
|
|
}
|
|
|
|
repeated .CMsgCombatDebugSnapshot.PathfindingCell pathfinding_cells = 1;
|
|
repeated .CMsgCombatDebugSnapshot.ActivePath active_paths = 2;
|
|
}
|
|
|
|
message CMsgCombatSnapshot {
|
|
required float snapshot_time = 1;
|
|
repeated .CMsgUnitSnapshot units = 2;
|
|
optional .CMsgCombatDebugSnapshot debug_snapshot = 3;
|
|
}
|
|
|
|
message CMsgCombatEvent_Attack {
|
|
optional int32 attack_projectile_speed = 1;
|
|
}
|
|
|
|
message CMsgCombatEvent_Damage {
|
|
optional uint32 damage_amount = 1;
|
|
optional bool is_critical = 2;
|
|
}
|
|
|
|
message CMsgCombatEvent_AttackMissed {
|
|
}
|
|
|
|
message CMsgCombatEvent_AttackEvaded {
|
|
}
|
|
|
|
message CMsgCombatEvent_AttackBlocked {
|
|
optional uint32 block_amount = 1;
|
|
}
|
|
|
|
message CMsgCombatEvent_Death {
|
|
}
|
|
|
|
message CMsgCombatEvent_StartAttack {
|
|
optional float attack_speed = 1;
|
|
}
|
|
|
|
message CMsgCombatEvent_SoundEvent {
|
|
optional uint32 soundevent_hash = 1;
|
|
optional .CMsgUnitPosition position = 2;
|
|
optional bool restrict_to_home_team = 4;
|
|
}
|
|
|
|
message CMsgCombatEvent_SpeechEvent {
|
|
optional string vcd_name = 1;
|
|
optional bool restrict_to_home_team = 2;
|
|
optional int32 priority = 3;
|
|
}
|
|
|
|
message CMsgCombatEvent_ModifierCreate {
|
|
required uint32 modifier_entindex = 1;
|
|
required uint32 modifier_id = 2;
|
|
optional float duration = 3;
|
|
optional int32 synergy_level = 4;
|
|
}
|
|
|
|
message CMsgCombatEvent_ModifierDestroy {
|
|
required uint32 modifier_entindex = 1;
|
|
}
|
|
|
|
message CMsgCombatEvent_StartGesture {
|
|
required uint32 activity = 1;
|
|
optional float fade_in = 2;
|
|
optional float fade_out = 3;
|
|
optional int32 slot = 4;
|
|
optional float duration = 5;
|
|
}
|
|
|
|
message CMsgCombatEvent_StopGesture {
|
|
required uint32 activity = 1;
|
|
}
|
|
|
|
message CMsgCombatEvent_CancelAttack {
|
|
}
|
|
|
|
message CMsgCombatEvent_CombatEnded {
|
|
optional bool ran_out_of_time = 1;
|
|
}
|
|
|
|
message CMsgCombatEvent_Resurrect {
|
|
}
|
|
|
|
message CMsgCombatEvent_CastAbility {
|
|
optional uint32 ability_id = 1;
|
|
}
|
|
|
|
message CMsgCombatEvent {
|
|
required float event_time = 1;
|
|
optional uint32 source_entindex = 2;
|
|
optional uint32 target_entindex = 3;
|
|
|
|
oneof details {
|
|
.CMsgCombatEvent_Attack details_attack = 4;
|
|
.CMsgCombatEvent_Damage details_damage = 5;
|
|
.CMsgCombatEvent_Death details_death = 6;
|
|
.CMsgCombatEvent_StartAttack details_start_attack = 7;
|
|
.CMsgCombatEvent_SoundEvent details_sound_event = 8;
|
|
.CUserMsg_ParticleManager details_particle_event = 9;
|
|
.CMsgCombatEvent_ModifierCreate details_modifier_create = 10;
|
|
.CMsgCombatEvent_ModifierDestroy details_modifier_destroy = 11;
|
|
.CMsgCombatEvent_StartGesture details_start_gesture = 12;
|
|
.CMsgCombatEvent_CancelAttack details_cancel_attack = 13;
|
|
.CMsgCombatEvent_CombatEnded details_combat_ended = 14;
|
|
.CMsgCombatEvent_AttackMissed details_attack_missed = 15;
|
|
.CMsgCombatEvent_AttackEvaded details_attack_evaded = 16;
|
|
.CMsgCombatEvent_AttackBlocked details_attack_blocked = 17;
|
|
.CMsgCombatEvent_Resurrect details_resurrect = 18;
|
|
.CMsgCombatEvent_SpeechEvent details_speech_event = 19;
|
|
.CMsgCombatEvent_CastAbility details_cast_ability = 20;
|
|
.CMsgCombatEvent_StopGesture details_stop_gesture = 21;
|
|
}
|
|
}
|
|
|
|
message CMsgCombatHighlight {
|
|
required .EDACIncidentType highlight_type = 1 [default = EDACIncidentType_None];
|
|
optional float start_time = 2;
|
|
optional float finish_time = 3;
|
|
optional int32 source_unit_idx = 4;
|
|
optional int32 target_unit_idx = 5;
|
|
optional float magnitude = 6;
|
|
}
|
|
|
|
message CMsgRoundCombat {
|
|
optional int32 round_number = 1;
|
|
optional float combat_duration = 2;
|
|
optional float combat_intro_duration = 3;
|
|
optional float added_time_before_results = 4;
|
|
repeated .CMsgCombatSnapshot snapshots = 5;
|
|
repeated .CMsgCombatEvent events = 6;
|
|
optional .ERoundCombatResult result = 7 [default = ERoundCombatResult_Draw];
|
|
optional uint32 player_player_slot = 8;
|
|
repeated .CMsgCombatMetersSnapshot meter_snapshots = 11;
|
|
repeated .CMsgCombatHighlight combat_highlights = 12;
|
|
optional bool mirrored = 14;
|
|
|
|
oneof opponent {
|
|
uint32 opponent_player_slot = 9;
|
|
uint32 opponent_neutral_wave = 10;
|
|
}
|
|
}
|
|
|
|
message CMsgBattle {
|
|
optional int32 round_number = 1;
|
|
repeated .CMsgRoundCombat combats = 2;
|
|
optional .CMsgRoundCombatGlobal global = 3;
|
|
}
|
|
|
|
message CMsgRoundCombatGlobal {
|
|
message EventList {
|
|
repeated .CMsgCombatEvent events = 1;
|
|
}
|
|
|
|
message CombatPlayerSlotToEventsEntry {
|
|
optional uint32 key = 1;
|
|
optional .CMsgRoundCombatGlobal.EventList value = 2;
|
|
}
|
|
|
|
optional int32 round_number = 1;
|
|
repeated .CMsgRoundCombatGlobal.CombatPlayerSlotToEventsEntry combat_player_slot_to_events = 2;
|
|
}
|
|
|
|
message CMsgClientServerHeader {
|
|
required .EDACGameMessages msg_id = 1 [default = k_EMsgNetBufferContents];
|
|
optional bytes payload = 2;
|
|
}
|
|
|
|
message CMsgNetBufferContents {
|
|
optional bool is_diff = 1;
|
|
optional bool is_last = 2;
|
|
optional bytes payload = 3;
|
|
optional uint32 unpacked_state_size = 4;
|
|
optional .EDACNetBuffer net_buffer_type = 5 [default = k_eDACNetBuffer_MatchState];
|
|
optional uint32 net_buffer_id = 6;
|
|
optional uint32 server_time_ms = 7;
|
|
optional bool is_result_compressed = 8;
|
|
optional bool is_update_compressed = 9;
|
|
}
|
|
|
|
message CMsgNetBufferRemoved {
|
|
optional .EDACNetBuffer net_buffer_type = 5 [default = k_eDACNetBuffer_MatchState];
|
|
optional uint32 net_buffer_id = 6;
|
|
}
|
|
|
|
message CMsgClientConnectionStarted {
|
|
message GameConstants {
|
|
message UnitChances {
|
|
repeated float chance = 1;
|
|
}
|
|
|
|
optional .CMsgGameModeSettings game_mode_settings = 1;
|
|
repeated int32 player_experience_table = 2;
|
|
optional int32 experience_purchase_gold_cost = 3;
|
|
optional int32 experience_purchase_amount = 4;
|
|
repeated .CMsgClientConnectionStarted.GameConstants.UnitChances unit_tier_chances = 5;
|
|
optional int32 max_interest_gold = 6;
|
|
optional int32 interest_gold_divisor = 7;
|
|
optional bool win_matters_for_item_rewards = 8;
|
|
repeated int32 loot_round_numbers = 9;
|
|
optional bool has_neutral_rounds = 10;
|
|
optional int32 underlord_selection_round = 11;
|
|
optional float kill_multiplier = 12;
|
|
optional uint32 prestige_level = 13;
|
|
}
|
|
|
|
message GameManager {
|
|
optional uint32 definition_set = 1;
|
|
}
|
|
|
|
optional bool in_developer_mode = 1;
|
|
optional bool in_offline_mode = 2;
|
|
optional bool is_listen_server_game = 3;
|
|
optional bool is_single_human_game = 4;
|
|
optional .EDACMatchMode match_mode = 5 [default = k_EDACMatchMode_Invalid];
|
|
optional .EDACGameMode game_mode = 6 [default = k_EDACGameMode_Invalid];
|
|
optional .CMsgClientConnectionStarted.GameConstants game_constants = 7;
|
|
optional .CMsgClientConnectionStarted.GameManager game_manager = 8;
|
|
}
|
|
|
|
message CMsgClientConnectionComplete {
|
|
}
|
|
|
|
message CMsgClientSetDebugNetBuffer {
|
|
optional uint32 net_buffer_id = 1;
|
|
optional string contents = 2;
|
|
optional uint32 repeat = 3;
|
|
optional bool force_full_send = 4;
|
|
}
|
|
|
|
message CDACNetBuffer_Debug {
|
|
optional string contents = 1;
|
|
}
|
|
|
|
message CMsgGameReplayActionMarker {
|
|
enum EActionType {
|
|
k_eActionType_Placholder = 1;
|
|
}
|
|
|
|
optional .CMsgGameReplayActionMarker.EActionType action = 1 [default = k_eActionType_Placholder];
|
|
}
|
|
|
|
message CMsgModifierName {
|
|
message Modifier {
|
|
required uint32 modifier_id = 1;
|
|
required string modifier_name = 2;
|
|
}
|
|
|
|
repeated .CMsgModifierName.Modifier modifier_list = 1;
|
|
}
|
|
|
|
message CMsgClientToServerChatMsg {
|
|
optional uint32 message_id = 1;
|
|
optional string custom_text = 2;
|
|
optional .EInGameChatType chat_type = 3 [default = k_eInGameChatType_Global];
|
|
optional uint32 board_spray_id = 4;
|
|
optional float board_spray_x = 5;
|
|
optional float board_spray_y = 6;
|
|
optional uint32 sprayed_board_player_slot = 7;
|
|
}
|
|
|
|
message CMsgServerToClientChatMsg {
|
|
optional uint32 player_slot = 1;
|
|
optional uint32 message_id = 2;
|
|
optional string custom_text = 3;
|
|
optional uint32 notification_id = 4;
|
|
optional .EInGameChatType chat_type = 5 [default = k_eInGameChatType_Global];
|
|
optional uint32 board_spray_id = 6;
|
|
optional float board_spray_x = 7;
|
|
optional float board_spray_y = 8;
|
|
optional uint32 sprayed_board_player_slot = 9;
|
|
}
|
|
|
|
message CMsgClientToServerClickMsg {
|
|
optional .EClickType click_type = 1 [default = k_eClickType_Left];
|
|
optional uint32 target_player_slot = 2;
|
|
optional float click_x = 3;
|
|
optional float click_y = 4;
|
|
optional float click_z = 5;
|
|
}
|
|
|
|
message CMsgServerToClientClickMsg {
|
|
optional .EClickType click_type = 1 [default = k_eClickType_Left];
|
|
optional uint32 source_player_slot = 2;
|
|
optional uint32 target_player_slot = 3;
|
|
optional float click_x = 4;
|
|
optional float click_y = 5;
|
|
optional float click_z = 6;
|
|
}
|
|
|
|
message CMsgPlayerMapPropCommand {
|
|
optional uint32 command = 1;
|
|
optional uint32 player_slot = 2;
|
|
optional uint32 prop_idx = 3;
|
|
}
|
|
|
|
message CMsgClientToServerTeammateDuosMessage {
|
|
optional uint32 teammate_slot = 1;
|
|
optional .EDuosMessageType message_type = 2 [default = k_eDuosMessageType_None];
|
|
optional .EDuosMessageTargetType target_type = 3 [default = k_eDuosMessageTargetType_None];
|
|
optional uint32 target_id = 4;
|
|
}
|
|
|
|
message CMsgServerToClientTeammateDuosMessage {
|
|
optional uint32 teammate_slot = 1;
|
|
optional .EDuosMessageType message_type = 2 [default = k_eDuosMessageType_None];
|
|
optional .EDuosMessageTargetType target_type = 3 [default = k_eDuosMessageTargetType_None];
|
|
optional uint32 target_id = 4;
|
|
}
|
|
|
|
message CMsgClientToServerLoadShareCode {
|
|
optional string share_code = 1;
|
|
}
|
|
|
|
message CMsgClientToServerBoardBuddyCommand {
|
|
optional uint32 command = 1;
|
|
optional float pos_x = 2;
|
|
optional float pos_y = 3;
|
|
}
|
|
|
|
message CMsgClientToServerPuzzleLeaderboardCommand {
|
|
optional uint32 leaderboard = 1;
|
|
}
|
|
|
|
message CMsgRecordLocalBotStats {
|
|
optional bytes serialized_msg = 1;
|
|
}
|
|
|
|
message CMsgClientToServerUpvoteNotification {
|
|
optional uint32 notification_id = 1;
|
|
}
|
|
|
|
message CMsgServerToClientNotificationChanged {
|
|
message UpvoteSubtype {
|
|
optional uint32 item_id = 1;
|
|
optional uint32 upvotes = 2;
|
|
}
|
|
|
|
optional uint32 notification_id = 1;
|
|
optional uint32 upvotes = 2;
|
|
repeated .CMsgServerToClientNotificationChanged.UpvoteSubtype subtypes = 3;
|
|
}
|
|
|
|
message CMsgClientToServerLocalPlayerInventory {
|
|
message LoadoutItem {
|
|
optional uint32 slot = 1;
|
|
optional uint32 sub_slot = 2;
|
|
optional uint32 def_index = 3;
|
|
}
|
|
|
|
repeated .CMsgClientToServerLocalPlayerInventory.LoadoutItem player_loadout = 1;
|
|
}
|
|
|
|
message CMsgGameStateIntegrationData {
|
|
optional uint32 id = 1;
|
|
optional .CMsgPublicPlayerState public_player_state = 2;
|
|
optional .CMsgPrivatePlayerState private_player_state = 3;
|
|
}
|
|
|
|
message CMsgGameStateIntegrationBlock {
|
|
repeated .CMsgGameStateIntegrationData data = 1;
|
|
optional uint32 id = 2;
|
|
}
|
|
|
|
message CMsgGameStateIntegrationUpdate {
|
|
repeated .CMsgGameStateIntegrationBlock block = 1;
|
|
optional string auth = 2;
|
|
}
|
|
|
|
message CMsgClientToServerInitData {
|
|
optional .CMsgGameModifiers game_modifiers = 1;
|
|
optional uint32 event_id = 2;
|
|
optional bool developer_mode = 3;
|
|
optional string load_save_file = 4;
|
|
optional int32 local_mmr_level = 5 [default = -1];
|
|
optional uint32 underlord = 6;
|
|
optional uint32 local_global_leaderboard_rank = 7;
|
|
optional bool offline_mode = 8;
|
|
optional int32 bot_difficulty = 9 [default = 0];
|
|
optional bool tutorial = 10;
|
|
optional .EDACGameMode game_mode = 11 [default = k_EDACGameMode_Normal];
|
|
optional .CMsgGameModeSettings game_mode_settings = 12;
|
|
optional string feature_controls = 13;
|
|
optional uint32 active_challenge_slot_id = 14;
|
|
}
|
|
|
|
message CMsgClientAccountSyncStorageFile {
|
|
optional uint32 version = 1;
|
|
repeated uint32 ids = 2;
|
|
repeated uint32 values = 3;
|
|
}
|
|
|
|
message CMsgPlayerChallengeCompletePrediction {
|
|
optional uint32 event_id = 1;
|
|
optional uint32 slot_id = 2;
|
|
optional uint32 challenge_id = 3;
|
|
optional uint32 config_id = 4;
|
|
optional uint32 initial_progress = 5;
|
|
optional uint32 predicted_total = 6;
|
|
}
|