hl2sdk/public/game/shared/dota/protobuf/dota_commonmessages.proto
2015-02-20 09:13:08 -05:00

243 lines
7.7 KiB
Protocol Buffer

//====== Copyright (c) 2012, Valve Corporation, All rights reserved. ========//
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
// Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
// THE POSSIBILITY OF SUCH DAMAGE.
//===========================================================================//
//
// Purpose: The file defines our Google Protocol Buffers which are used in over
// the wire messages for the Source engine.
//
//=============================================================================
// We care more about speed than code size
option optimize_for = SPEED;
// We don't use the service generation functionality
option cc_generic_services = false;
//
// STYLE NOTES:
//
// Use CamelCase CMsgMyMessageName style names for messages.
//
// Use lowercase _ delimited names like my_steam_id for field names, this is non-standard for Steam,
// but plays nice with the Google formatted code generation.
//
// Try not to use required fields ever. Only do so if you are really really sure you'll never want them removed.
// Optional should be preffered as it will make versioning easier and cleaner in the future if someone refactors
// your message and wants to remove or rename fields.
//
// Use fixed64 for JobId_t, GID_t, or SteamID. This is appropriate for any field that is normally
// going to be larger than 2^56. Otherwise use int64 for 64 bit values that are frequently smaller
// than 2^56 as it will safe space on the wire in those cases.
//
// Similar to fixed64, use fixed32 for RTime32 or other 32 bit values that are frequently larger than
// 2^28. It will safe space in those cases, otherwise use int32 which will safe space for smaller values.
// An exception to this rule for RTime32 is if the value will frequently be zero rather than set to an actual
// time.
//
//=============================================================================
// Dota Common Messages
//=============================================================================
enum EDOTAChatWheelMessage
{
k_EDOTA_CW_Ok = 0;
k_EDOTA_CW_Care = 1;
k_EDOTA_CW_GetBack = 2;
k_EDOTA_CW_NeedWards = 3;
k_EDOTA_CW_Stun = 4;
k_EDOTA_CW_Help = 5;
k_EDOTA_CW_Push = 6;
k_EDOTA_CW_GoodJob = 7;
k_EDOTA_CW_Missing = 8;
k_EDOTA_CW_Missing_Top = 9;
k_EDOTA_CW_Missing_Mid = 10;
k_EDOTA_CW_Missing_Bottom = 11;
k_EDOTA_CW_Go = 12;
k_EDOTA_CW_Initiate = 13;
k_EDOTA_CW_Follow = 14;
k_EDOTA_CW_Group_Up = 15;
k_EDOTA_CW_Spread_Out = 16;
k_EDOTA_CW_Split_Farm = 17;
k_EDOTA_CW_Attack = 18;
k_EDOTA_CW_BRB = 19;
k_EDOTA_CW_Dive = 20;
k_EDOTA_CW_OMW = 21;
k_EDOTA_CW_Get_Ready = 22;
k_EDOTA_CW_Bait = 23;
k_EDOTA_CW_Heal = 24;
k_EDOTA_CW_Mana = 25;
k_EDOTA_CW_OOM = 26;
k_EDOTA_CW_Skill_Cooldown = 27;
k_EDOTA_CW_Ulti_Ready = 28;
k_EDOTA_CW_Enemy_Returned = 29;
k_EDOTA_CW_All_Missing = 30;
k_EDOTA_CW_Enemy_Incoming = 31;
k_EDOTA_CW_Invis_Enemy = 32;
k_EDOTA_CW_Enemy_Had_Rune = 33;
k_EDOTA_CW_Split_Push = 34;
k_EDOTA_CW_Coming_To_Gank = 35;
k_EDOTA_CW_Request_Gank = 36;
k_EDOTA_CW_Fight_Under_Tower = 37;
k_EDOTA_CW_Deny_Tower = 38;
k_EDOTA_CW_Buy_Courier = 39;
k_EDOTA_CW_Upgrade_Courier = 40;
k_EDOTA_CW_Need_Detection = 41;
k_EDOTA_CW_They_Have_Detection = 42;
k_EDOTA_CW_Buy_TP = 43;
k_EDOTA_CW_Reuse_Courier = 44;
k_EDOTA_CW_Deward = 45;
k_EDOTA_CW_Building_Mek = 46;
k_EDOTA_CW_Building_Pipe = 47;
k_EDOTA_CW_Stack_And_Pull = 48;
k_EDOTA_CW_Pull = 49;
k_EDOTA_CW_Pulling = 50;
k_EDOTA_CW_Stack = 51;
k_EDOTA_CW_Jungling = 52;
k_EDOTA_CW_Roshan = 53;
k_EDOTA_CW_Affirmative = 54;
k_EDOTA_CW_Wait = 55;
k_EDOTA_CW_Pause = 56;
k_EDOTA_CW_Current_Time = 57;
k_EDOTA_CW_Check_Runes = 58;
k_EDOTA_CW_Smoke_Gank = 59;
k_EDOTA_CW_GLHF = 60;
k_EDOTA_CW_Nice = 61;
k_EDOTA_CW_Thanks = 62;
k_EDOTA_CW_Sorry = 63;
k_EDOTA_CW_No_Give_Up = 64;
k_EDOTA_CW_Just_Happened = 65;
k_EDOTA_CW_Game_Is_Hard = 66;
k_EDOTA_CW_New_Meta = 67;
k_EDOTA_CW_My_Bad = 68;
k_EDOTA_CW_Regret = 69;
k_EDOTA_CW_Relax = 70;
k_EDOTA_CW_MissingHero = 71;
k_EDOTA_CW_ReturnedHero = 72;
k_EDOTA_CW_GG = 73;
k_EDOTA_CW_GGWP = 74;
k_EDOTA_CW_All_GG = 75;
k_EDOTA_CW_All_GGWP = 76;
k_EDOTA_CW_What_To_Buy = 77;
k_EDOTA_CW_Im_Retreating = 78;
k_EDOTA_CW_Space_Created = 79;
k_EDOTA_CW_Whoops = 80;
k_EDOTA_CW_Tower_then_Back = 81;
k_EDOTA_CW_Barracks_then_Back = 82;
k_EDOTA_CW_Ward_Bottom_Rune = 83;
k_EDOTA_CW_Ward_Top_Rune = 84;
k_EDOTA_CW_Zeus_Ult = 85;
}
enum EDOTAStatPopupTypes
{
k_EDOTA_SPT_Textline = 0;
k_EDOTA_SPT_Basic = 1;
k_EDOTA_SPT_Poll = 2;
k_EDOTA_SPT_Grid = 3;
}
enum dotaunitorder_t
{
DOTA_UNIT_ORDER_NONE = 0;
DOTA_UNIT_ORDER_MOVE_TO_POSITION = 1;
DOTA_UNIT_ORDER_MOVE_TO_TARGET = 2;
DOTA_UNIT_ORDER_ATTACK_MOVE = 3;
DOTA_UNIT_ORDER_ATTACK_TARGET = 4;
DOTA_UNIT_ORDER_CAST_POSITION = 5;
DOTA_UNIT_ORDER_CAST_TARGET = 6;
DOTA_UNIT_ORDER_CAST_TARGET_TREE = 7;
DOTA_UNIT_ORDER_CAST_NO_TARGET = 8;
DOTA_UNIT_ORDER_CAST_TOGGLE = 9;
DOTA_UNIT_ORDER_HOLD_POSITION = 10;
DOTA_UNIT_ORDER_TRAIN_ABILITY = 11;
DOTA_UNIT_ORDER_DROP_ITEM = 12;
DOTA_UNIT_ORDER_GIVE_ITEM = 13;
DOTA_UNIT_ORDER_PICKUP_ITEM = 14;
DOTA_UNIT_ORDER_PICKUP_RUNE = 15;
DOTA_UNIT_ORDER_PURCHASE_ITEM = 16;
DOTA_UNIT_ORDER_SELL_ITEM = 17;
DOTA_UNIT_ORDER_DISASSEMBLE_ITEM = 18;
DOTA_UNIT_ORDER_MOVE_ITEM = 19;
DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO = 20;
DOTA_UNIT_ORDER_STOP = 21;
DOTA_UNIT_ORDER_TAUNT = 22;
DOTA_UNIT_ORDER_BUYBACK = 23;
DOTA_UNIT_ORDER_GLYPH = 24;
DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH = 25;
DOTA_UNIT_ORDER_CAST_RUNE = 26;
DOTA_UNIT_ORDER_PING_ABILITY = 27;
DOTA_UNIT_ORDER_MOVE_TO_DIRECTION = 28;
}
message CDOTAMsg_LocationPing
{
optional int32 x = 1;
optional int32 y = 2;
optional int32 target = 3;
optional bool direct_ping = 4;
optional int32 type = 5;
}
message CDOTAMsg_ItemAlert
{
optional int32 x = 1;
optional int32 y = 2;
optional int32 itemid = 3;
}
message CDOTAMsg_MapLine
{
optional int32 x = 1;
optional int32 y = 2;
optional bool initial = 3;
}
message CDOTAMsg_WorldLine
{
optional int32 x = 1;
optional int32 y = 2;
optional int32 z = 3;
optional bool initial = 4;
optional bool end = 5;
}
message CDOTAMsg_SendStatPopup
{
optional EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];
repeated string stat_strings = 2;
repeated int32 stat_images = 3;
}
message CDOTAMsg_CoachHUDPing
{
optional uint32 x = 1;
optional uint32 y = 2;
optional string tgtpath = 3;
}
//=============================================================================