// <auto-generated>
//   This file was generated by a tool; you should avoid making direct changes.
//   Consider using 'partial classes' to extend these types
//   Input: dac_gamemessages.proto
// </auto-generated>

#region Designer generated code
#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
namespace SteamKit2.GC.Underlords.Internal
{

    [global::ProtoBuf.ProtoContract()]
    public partial class CClientReconnectInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong server_steam_id
        {
            get => __pbn__server_steam_id.GetValueOrDefault();
            set => __pbn__server_steam_id = value;
        }
        public bool ShouldSerializeserver_steam_id() => __pbn__server_steam_id != null;
        public void Resetserver_steam_id() => __pbn__server_steam_id = null;
        private ulong? __pbn__server_steam_id;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong lobby_id
        {
            get => __pbn__lobby_id.GetValueOrDefault();
            set => __pbn__lobby_id = value;
        }
        public bool ShouldSerializelobby_id() => __pbn__lobby_id != null;
        public void Resetlobby_id() => __pbn__lobby_id = null;
        private ulong? __pbn__lobby_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint time_updated
        {
            get => __pbn__time_updated.GetValueOrDefault();
            set => __pbn__time_updated = value;
        }
        public bool ShouldSerializetime_updated() => __pbn__time_updated != null;
        public void Resettime_updated() => __pbn__time_updated = null;
        private uint? __pbn__time_updated;

        [global::ProtoBuf.ProtoMember(4)]
        public uint udp_connect_ip
        {
            get => __pbn__udp_connect_ip.GetValueOrDefault();
            set => __pbn__udp_connect_ip = value;
        }
        public bool ShouldSerializeudp_connect_ip() => __pbn__udp_connect_ip != null;
        public void Resetudp_connect_ip() => __pbn__udp_connect_ip = null;
        private uint? __pbn__udp_connect_ip;

        [global::ProtoBuf.ProtoMember(5)]
        public uint udp_connect_port
        {
            get => __pbn__udp_connect_port.GetValueOrDefault();
            set => __pbn__udp_connect_port = value;
        }
        public bool ShouldSerializeudp_connect_port() => __pbn__udp_connect_port != null;
        public void Resetudp_connect_port() => __pbn__udp_connect_port = null;
        private uint? __pbn__udp_connect_port;

        [global::ProtoBuf.ProtoMember(7)]
        public uint compatibility_version
        {
            get => __pbn__compatibility_version.GetValueOrDefault();
            set => __pbn__compatibility_version = value;
        }
        public bool ShouldSerializecompatibility_version() => __pbn__compatibility_version != null;
        public void Resetcompatibility_version() => __pbn__compatibility_version = null;
        private uint? __pbn__compatibility_version;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerStateUpdatesComplete : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientUnderlordLoadout : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<uint> item_defs { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string loadout_name
        {
            get => __pbn__loadout_name ?? "";
            set => __pbn__loadout_name = value;
        }
        public bool ShouldSerializeloadout_name() => __pbn__loadout_name != null;
        public void Resetloadout_name() => __pbn__loadout_name = null;
        private string __pbn__loadout_name;

        [global::ProtoBuf.ProtoMember(3)]
        public bool selected
        {
            get => __pbn__selected.GetValueOrDefault();
            set => __pbn__selected = value;
        }
        public bool ShouldSerializeselected() => __pbn__selected != null;
        public void Resetselected() => __pbn__selected = null;
        private bool? __pbn__selected;

        [global::ProtoBuf.ProtoMember(4)]
        public uint underlord_id
        {
            get => __pbn__underlord_id.GetValueOrDefault();
            set => __pbn__underlord_id = value;
        }
        public bool ShouldSerializeunderlord_id() => __pbn__underlord_id != null;
        public void Resetunderlord_id() => __pbn__underlord_id = null;
        private uint? __pbn__underlord_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientUnderlordLoadoutList : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private uint? __pbn__version;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgClientUnderlordLoadout> loadouts { get; } = new global::System.Collections.Generic.List<CMsgClientUnderlordLoadout>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerOrder : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public EPlayerOrder order { get; set; } = EPlayerOrder.EPlayerOrder_SellUnit;

        [global::ProtoBuf.ProtoMember(2)]
        public int param1
        {
            get => __pbn__param1.GetValueOrDefault();
            set => __pbn__param1 = value;
        }
        public bool ShouldSerializeparam1() => __pbn__param1 != null;
        public void Resetparam1() => __pbn__param1 = null;
        private int? __pbn__param1;

        [global::ProtoBuf.ProtoMember(3)]
        public int param2
        {
            get => __pbn__param2.GetValueOrDefault();
            set => __pbn__param2 = value;
        }
        public bool ShouldSerializeparam2() => __pbn__param2 != null;
        public void Resetparam2() => __pbn__param2 = null;
        private int? __pbn__param2;

        [global::ProtoBuf.ProtoMember(4)]
        public int param3
        {
            get => __pbn__param3.GetValueOrDefault();
            set => __pbn__param3 = value;
        }
        public bool ShouldSerializeparam3() => __pbn__param3 != null;
        public void Resetparam3() => __pbn__param3 = null;
        private int? __pbn__param3;

        [global::ProtoBuf.ProtoMember(5)]
        public uint spoof_player_slot
        {
            get => __pbn__spoof_player_slot.GetValueOrDefault();
            set => __pbn__spoof_player_slot = value;
        }
        public bool ShouldSerializespoof_player_slot() => __pbn__spoof_player_slot != null;
        public void Resetspoof_player_slot() => __pbn__spoof_player_slot = null;
        private uint? __pbn__spoof_player_slot;

        [global::ProtoBuf.ProtoMember(6)]
        public uint command_id
        {
            get => __pbn__command_id.GetValueOrDefault();
            set => __pbn__command_id = value;
        }
        public bool ShouldSerializecommand_id() => __pbn__command_id != null;
        public void Resetcommand_id() => __pbn__command_id = null;
        private uint? __pbn__command_id;

        [global::ProtoBuf.ProtoMember(7)]
        public int param4
        {
            get => __pbn__param4.GetValueOrDefault();
            set => __pbn__param4 = value;
        }
        public bool ShouldSerializeparam4() => __pbn__param4 != null;
        public void Resetparam4() => __pbn__param4 = null;
        private int? __pbn__param4;

        [global::ProtoBuf.ProtoMember(8)]
        public int param5
        {
            get => __pbn__param5.GetValueOrDefault();
            set => __pbn__param5 = value;
        }
        public bool ShouldSerializeparam5() => __pbn__param5 != null;
        public void Resetparam5() => __pbn__param5 = null;
        private int? __pbn__param5;

        [global::ProtoBuf.ProtoMember(9)]
        public int param6
        {
            get => __pbn__param6.GetValueOrDefault();
            set => __pbn__param6 = value;
        }
        public bool ShouldSerializeparam6() => __pbn__param6 != null;
        public void Resetparam6() => __pbn__param6 = null;
        private int? __pbn__param6;

        [global::ProtoBuf.ProtoMember(10)]
        [global::System.ComponentModel.DefaultValue("")]
        public string string_param1
        {
            get => __pbn__string_param1 ?? "";
            set => __pbn__string_param1 = value;
        }
        public bool ShouldSerializestring_param1() => __pbn__string_param1 != null;
        public void Resetstring_param1() => __pbn__string_param1 = null;
        private string __pbn__string_param1;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerOrderProcessed : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint command_id
        {
            get => __pbn__command_id.GetValueOrDefault();
            set => __pbn__command_id = value;
        }
        public bool ShouldSerializecommand_id() => __pbn__command_id != null;
        public void Resetcommand_id() => __pbn__command_id = null;
        private uint? __pbn__command_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerCombinedHero : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint player_slot
        {
            get => __pbn__player_slot.GetValueOrDefault();
            set => __pbn__player_slot = value;
        }
        public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
        public void Resetplayer_slot() => __pbn__player_slot = null;
        private uint? __pbn__player_slot;

        [global::ProtoBuf.ProtoMember(2)]
        public int unit_id
        {
            get => __pbn__unit_id.GetValueOrDefault();
            set => __pbn__unit_id = value;
        }
        public bool ShouldSerializeunit_id() => __pbn__unit_id != null;
        public void Resetunit_id() => __pbn__unit_id = null;
        private int? __pbn__unit_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint new_rank
        {
            get => __pbn__new_rank.GetValueOrDefault();
            set => __pbn__new_rank = value;
        }
        public bool ShouldSerializenew_rank() => __pbn__new_rank != null;
        public void Resetnew_rank() => __pbn__new_rank = null;
        private uint? __pbn__new_rank;

        [global::ProtoBuf.ProtoMember(4)]
        public uint entindex
        {
            get => __pbn__entindex.GetValueOrDefault();
            set => __pbn__entindex = value;
        }
        public bool ShouldSerializeentindex() => __pbn__entindex != null;
        public void Resetentindex() => __pbn__entindex = null;
        private uint? __pbn__entindex;

        [global::ProtoBuf.ProtoMember(5)]
        public uint notification_id
        {
            get => __pbn__notification_id.GetValueOrDefault();
            set => __pbn__notification_id = value;
        }
        public bool ShouldSerializenotification_id() => __pbn__notification_id != null;
        public void Resetnotification_id() => __pbn__notification_id = null;
        private uint? __pbn__notification_id;

        [global::ProtoBuf.ProtoMember(6)]
        public bool duos_combine
        {
            get => __pbn__duos_combine.GetValueOrDefault();
            set => __pbn__duos_combine = value;
        }
        public bool ShouldSerializeduos_combine() => __pbn__duos_combine != null;
        public void Resetduos_combine() => __pbn__duos_combine = null;
        private bool? __pbn__duos_combine;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerAcquiredItem : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint player_slot
        {
            get => __pbn__player_slot.GetValueOrDefault();
            set => __pbn__player_slot = value;
        }
        public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
        public void Resetplayer_slot() => __pbn__player_slot = null;
        private uint? __pbn__player_slot;

        [global::ProtoBuf.ProtoMember(2)]
        public int item_id
        {
            get => __pbn__item_id.GetValueOrDefault();
            set => __pbn__item_id = value;
        }
        public bool ShouldSerializeitem_id() => __pbn__item_id != null;
        public void Resetitem_id() => __pbn__item_id = null;
        private int? __pbn__item_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint notification_id
        {
            get => __pbn__notification_id.GetValueOrDefault();
            set => __pbn__notification_id = value;
        }
        public bool ShouldSerializenotification_id() => __pbn__notification_id != null;
        public void Resetnotification_id() => __pbn__notification_id = null;
        private uint? __pbn__notification_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerRecievedUnitFromDuosPartner : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int unit_id
        {
            get => __pbn__unit_id.GetValueOrDefault();
            set => __pbn__unit_id = value;
        }
        public bool ShouldSerializeunit_id() => __pbn__unit_id != null;
        public void Resetunit_id() => __pbn__unit_id = null;
        private int? __pbn__unit_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerSelectedTalent : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint player_slot
        {
            get => __pbn__player_slot.GetValueOrDefault();
            set => __pbn__player_slot = value;
        }
        public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
        public void Resetplayer_slot() => __pbn__player_slot = null;
        private uint? __pbn__player_slot;

        [global::ProtoBuf.ProtoMember(2)]
        public int talent_itemdef_index
        {
            get => __pbn__talent_itemdef_index.GetValueOrDefault();
            set => __pbn__talent_itemdef_index = value;
        }
        public bool ShouldSerializetalent_itemdef_index() => __pbn__talent_itemdef_index != null;
        public void Resettalent_itemdef_index() => __pbn__talent_itemdef_index = null;
        private int? __pbn__talent_itemdef_index;

        [global::ProtoBuf.ProtoMember(3)]
        public uint notification_id
        {
            get => __pbn__notification_id.GetValueOrDefault();
            set => __pbn__notification_id = value;
        }
        public bool ShouldSerializenotification_id() => __pbn__notification_id != null;
        public void Resetnotification_id() => __pbn__notification_id = null;
        private uint? __pbn__notification_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerCombatResult : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint player_slot
        {
            get => __pbn__player_slot.GetValueOrDefault();
            set => __pbn__player_slot = value;
        }
        public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
        public void Resetplayer_slot() => __pbn__player_slot = null;
        private uint? __pbn__player_slot;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(ERoundCombatResult.ERoundCombatResult_Draw)]
        public ERoundCombatResult result
        {
            get => __pbn__result ?? ERoundCombatResult.ERoundCombatResult_Draw;
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private ERoundCombatResult? __pbn__result;

        [global::ProtoBuf.ProtoMember(5)]
        public uint damage_taken
        {
            get => __pbn__damage_taken.GetValueOrDefault();
            set => __pbn__damage_taken = value;
        }
        public bool ShouldSerializedamage_taken() => __pbn__damage_taken != null;
        public void Resetdamage_taken() => __pbn__damage_taken = null;
        private uint? __pbn__damage_taken;

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<DamageSource> damage_sources { get; } = new global::System.Collections.Generic.List<DamageSource>();

        [global::ProtoBuf.ProtoMember(7)]
        public bool aegis_used
        {
            get => __pbn__aegis_used.GetValueOrDefault();
            set => __pbn__aegis_used = value;
        }
        public bool ShouldSerializeaegis_used() => __pbn__aegis_used != null;
        public void Resetaegis_used() => __pbn__aegis_used = null;
        private bool? __pbn__aegis_used;

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue(ERoundVictoryLevel.ERoundVictoryLevel_HomeDecisive)]
        public ERoundVictoryLevel victory_level
        {
            get => __pbn__victory_level ?? ERoundVictoryLevel.ERoundVictoryLevel_HomeDecisive;
            set => __pbn__victory_level = value;
        }
        public bool ShouldSerializevictory_level() => __pbn__victory_level != null;
        public void Resetvictory_level() => __pbn__victory_level = null;
        private ERoundVictoryLevel? __pbn__victory_level;

        [global::ProtoBuf.ProtoMember(9)]
        public uint notification_id
        {
            get => __pbn__notification_id.GetValueOrDefault();
            set => __pbn__notification_id = value;
        }
        public bool ShouldSerializenotification_id() => __pbn__notification_id != null;
        public void Resetnotification_id() => __pbn__notification_id = null;
        private uint? __pbn__notification_id;

        [global::ProtoBuf.ProtoMember(11)]
        public uint total_gold
        {
            get => __pbn__total_gold.GetValueOrDefault();
            set => __pbn__total_gold = value;
        }
        public bool ShouldSerializetotal_gold() => __pbn__total_gold != null;
        public void Resettotal_gold() => __pbn__total_gold = null;
        private uint? __pbn__total_gold;

        [global::ProtoBuf.ProtoMember(12)]
        public uint gold_from_interest
        {
            get => __pbn__gold_from_interest.GetValueOrDefault();
            set => __pbn__gold_from_interest = value;
        }
        public bool ShouldSerializegold_from_interest() => __pbn__gold_from_interest != null;
        public void Resetgold_from_interest() => __pbn__gold_from_interest = null;
        private uint? __pbn__gold_from_interest;

        [global::ProtoBuf.ProtoMember(13)]
        public uint gold_from_streak
        {
            get => __pbn__gold_from_streak.GetValueOrDefault();
            set => __pbn__gold_from_streak = value;
        }
        public bool ShouldSerializegold_from_streak() => __pbn__gold_from_streak != null;
        public void Resetgold_from_streak() => __pbn__gold_from_streak = null;
        private uint? __pbn__gold_from_streak;

        [global::ProtoBuf.ProtoMember(14)]
        public uint gold_from_items
        {
            get => __pbn__gold_from_items.GetValueOrDefault();
            set => __pbn__gold_from_items = value;
        }
        public bool ShouldSerializegold_from_items() => __pbn__gold_from_items != null;
        public void Resetgold_from_items() => __pbn__gold_from_items = null;
        private uint? __pbn__gold_from_items;

        [global::ProtoBuf.ProtoMember(15)]
        public uint gold_from_round_bonus
        {
            get => __pbn__gold_from_round_bonus.GetValueOrDefault();
            set => __pbn__gold_from_round_bonus = value;
        }
        public bool ShouldSerializegold_from_round_bonus() => __pbn__gold_from_round_bonus != null;
        public void Resetgold_from_round_bonus() => __pbn__gold_from_round_bonus = null;
        private uint? __pbn__gold_from_round_bonus;

        [global::ProtoBuf.ProtoMember(16)]
        public uint gold_from_victory
        {
            get => __pbn__gold_from_victory.GetValueOrDefault();
            set => __pbn__gold_from_victory = value;
        }
        public bool ShouldSerializegold_from_victory() => __pbn__gold_from_victory != null;
        public void Resetgold_from_victory() => __pbn__gold_from_victory = null;
        private uint? __pbn__gold_from_victory;

        [global::ProtoBuf.ProtoMember(2)]
        public uint opponent_player_slot
        {
            get => __pbn__opponent.Is(2) ? __pbn__opponent.UInt32 : default(uint);
            set => __pbn__opponent = new global::ProtoBuf.DiscriminatedUnion32(2, value);
        }
        public bool ShouldSerializeopponent_player_slot() => __pbn__opponent.Is(2);
        public void Resetopponent_player_slot() => global::ProtoBuf.DiscriminatedUnion32.Reset(ref __pbn__opponent, 2);

        private global::ProtoBuf.DiscriminatedUnion32 __pbn__opponent;

        [global::ProtoBuf.ProtoMember(3)]
        public uint opponent_neutral_wave
        {
            get => __pbn__opponent.Is(3) ? __pbn__opponent.UInt32 : default(uint);
            set => __pbn__opponent = new global::ProtoBuf.DiscriminatedUnion32(3, value);
        }
        public bool ShouldSerializeopponent_neutral_wave() => __pbn__opponent.Is(3);
        public void Resetopponent_neutral_wave() => global::ProtoBuf.DiscriminatedUnion32.Reset(ref __pbn__opponent, 3);

        [global::ProtoBuf.ProtoContract()]
        public partial class DamageSource : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
            public EDamageSourceType type { get; set; } = EDamageSourceType.k_EDamageSourceType_Round;

            [global::ProtoBuf.ProtoMember(2)]
            public int entity_id
            {
                get => __pbn__entity_id.GetValueOrDefault();
                set => __pbn__entity_id = value;
            }
            public bool ShouldSerializeentity_id() => __pbn__entity_id != null;
            public void Resetentity_id() => __pbn__entity_id = null;
            private int? __pbn__entity_id;

            [global::ProtoBuf.ProtoMember(3)]
            public int rank
            {
                get => __pbn__rank.GetValueOrDefault();
                set => __pbn__rank = value;
            }
            public bool ShouldSerializerank() => __pbn__rank != null;
            public void Resetrank() => __pbn__rank = null;
            private int? __pbn__rank;

            [global::ProtoBuf.ProtoMember(4)]
            public int damage_dealt
            {
                get => __pbn__damage_dealt.GetValueOrDefault();
                set => __pbn__damage_dealt = value;
            }
            public bool ShouldSerializedamage_dealt() => __pbn__damage_dealt != null;
            public void Resetdamage_dealt() => __pbn__damage_dealt = null;
            private int? __pbn__damage_dealt;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerWinStreak : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint player_slot
        {
            get => __pbn__player_slot.GetValueOrDefault();
            set => __pbn__player_slot = value;
        }
        public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
        public void Resetplayer_slot() => __pbn__player_slot = null;
        private uint? __pbn__player_slot;

        [global::ProtoBuf.ProtoMember(2)]
        public uint streak_length
        {
            get => __pbn__streak_length.GetValueOrDefault();
            set => __pbn__streak_length = value;
        }
        public bool ShouldSerializestreak_length() => __pbn__streak_length != null;
        public void Resetstreak_length() => __pbn__streak_length = null;
        private uint? __pbn__streak_length;

        [global::ProtoBuf.ProtoMember(3)]
        public uint notification_id
        {
            get => __pbn__notification_id.GetValueOrDefault();
            set => __pbn__notification_id = value;
        }
        public bool ShouldSerializenotification_id() => __pbn__notification_id != null;
        public void Resetnotification_id() => __pbn__notification_id = null;
        private uint? __pbn__notification_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerLevelUp : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint player_slot
        {
            get => __pbn__player_slot.GetValueOrDefault();
            set => __pbn__player_slot = value;
        }
        public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
        public void Resetplayer_slot() => __pbn__player_slot = null;
        private uint? __pbn__player_slot;

        [global::ProtoBuf.ProtoMember(2)]
        public uint level
        {
            get => __pbn__level.GetValueOrDefault();
            set => __pbn__level = value;
        }
        public bool ShouldSerializelevel() => __pbn__level != null;
        public void Resetlevel() => __pbn__level = null;
        private uint? __pbn__level;

        [global::ProtoBuf.ProtoMember(3)]
        public uint notification_id
        {
            get => __pbn__notification_id.GetValueOrDefault();
            set => __pbn__notification_id = value;
        }
        public bool ShouldSerializenotification_id() => __pbn__notification_id != null;
        public void Resetnotification_id() => __pbn__notification_id = null;
        private uint? __pbn__notification_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgItemChangedOwner : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint old_player_slot
        {
            get => __pbn__old_player_slot.GetValueOrDefault();
            set => __pbn__old_player_slot = value;
        }
        public bool ShouldSerializeold_player_slot() => __pbn__old_player_slot != null;
        public void Resetold_player_slot() => __pbn__old_player_slot = null;
        private uint? __pbn__old_player_slot;

        [global::ProtoBuf.ProtoMember(2)]
        public uint new_player_slot
        {
            get => __pbn__new_player_slot.GetValueOrDefault();
            set => __pbn__new_player_slot = value;
        }
        public bool ShouldSerializenew_player_slot() => __pbn__new_player_slot != null;
        public void Resetnew_player_slot() => __pbn__new_player_slot = null;
        private uint? __pbn__new_player_slot;

        [global::ProtoBuf.ProtoMember(3)]
        public uint item_id
        {
            get => __pbn__item_id.GetValueOrDefault();
            set => __pbn__item_id = value;
        }
        public bool ShouldSerializeitem_id() => __pbn__item_id != null;
        public void Resetitem_id() => __pbn__item_id = null;
        private uint? __pbn__item_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint notification_id
        {
            get => __pbn__notification_id.GetValueOrDefault();
            set => __pbn__notification_id = value;
        }
        public bool ShouldSerializenotification_id() => __pbn__notification_id != null;
        public void Resetnotification_id() => __pbn__notification_id = null;
        private uint? __pbn__notification_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerEliminated : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint player_slot
        {
            get => __pbn__player_slot.GetValueOrDefault();
            set => __pbn__player_slot = value;
        }
        public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
        public void Resetplayer_slot() => __pbn__player_slot = null;
        private uint? __pbn__player_slot;

        [global::ProtoBuf.ProtoMember(2)]
        public uint final_position
        {
            get => __pbn__final_position.GetValueOrDefault();
            set => __pbn__final_position = value;
        }
        public bool ShouldSerializefinal_position() => __pbn__final_position != null;
        public void Resetfinal_position() => __pbn__final_position = null;
        private uint? __pbn__final_position;

        [global::ProtoBuf.ProtoMember(3)]
        public uint notification_id
        {
            get => __pbn__notification_id.GetValueOrDefault();
            set => __pbn__notification_id = value;
        }
        public bool ShouldSerializenotification_id() => __pbn__notification_id != null;
        public void Resetnotification_id() => __pbn__notification_id = null;
        private uint? __pbn__notification_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint opponent_player_slot
        {
            get => __pbn__opponent_player_slot.GetValueOrDefault();
            set => __pbn__opponent_player_slot = value;
        }
        public bool ShouldSerializeopponent_player_slot() => __pbn__opponent_player_slot != null;
        public void Resetopponent_player_slot() => __pbn__opponent_player_slot = null;
        private uint? __pbn__opponent_player_slot;

        [global::ProtoBuf.ProtoMember(5)]
        public bool was_head_to_head
        {
            get => __pbn__was_head_to_head.GetValueOrDefault();
            set => __pbn__was_head_to_head = value;
        }
        public bool ShouldSerializewas_head_to_head() => __pbn__was_head_to_head != null;
        public void Resetwas_head_to_head() => __pbn__was_head_to_head = null;
        private bool? __pbn__was_head_to_head;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPosition : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public int x { get; set; }

        [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
        public int y { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgUnit : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public int entindex { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public int unit_id
        {
            get => __pbn__unit_id.GetValueOrDefault();
            set => __pbn__unit_id = value;
        }
        public bool ShouldSerializeunit_id() => __pbn__unit_id != null;
        public void Resetunit_id() => __pbn__unit_id = null;
        private int? __pbn__unit_id;

        [global::ProtoBuf.ProtoMember(3)]
        public CMsgPosition position { get; set; }

        [global::ProtoBuf.ProtoMember(4)]
        public int rank
        {
            get => __pbn__rank.GetValueOrDefault();
            set => __pbn__rank = value;
        }
        public bool ShouldSerializerank() => __pbn__rank != null;
        public void Resetrank() => __pbn__rank = null;
        private int? __pbn__rank;

        [global::ProtoBuf.ProtoMember(6)]
        public int gold_value
        {
            get => __pbn__gold_value.GetValueOrDefault();
            set => __pbn__gold_value = value;
        }
        public bool ShouldSerializegold_value() => __pbn__gold_value != null;
        public void Resetgold_value() => __pbn__gold_value = null;
        private int? __pbn__gold_value;

        [global::ProtoBuf.ProtoMember(8)]
        public uint kill_count
        {
            get => __pbn__kill_count.GetValueOrDefault();
            set => __pbn__kill_count = value;
        }
        public bool ShouldSerializekill_count() => __pbn__kill_count != null;
        public void Resetkill_count() => __pbn__kill_count = null;
        private uint? __pbn__kill_count;

        [global::ProtoBuf.ProtoMember(9)]
        public uint kill_streak
        {
            get => __pbn__kill_streak.GetValueOrDefault();
            set => __pbn__kill_streak = value;
        }
        public bool ShouldSerializekill_streak() => __pbn__kill_streak != null;
        public void Resetkill_streak() => __pbn__kill_streak = null;
        private uint? __pbn__kill_streak;

        [global::ProtoBuf.ProtoMember(10)]
        public global::System.Collections.Generic.List<EUnitKeyword> keywords { get; } = new global::System.Collections.Generic.List<EUnitKeyword>();

        [global::ProtoBuf.ProtoMember(11)]
        public bool is_summoned
        {
            get => __pbn__is_summoned.GetValueOrDefault();
            set => __pbn__is_summoned = value;
        }
        public bool ShouldSerializeis_summoned() => __pbn__is_summoned != null;
        public void Resetis_summoned() => __pbn__is_summoned = null;
        private bool? __pbn__is_summoned;

        [global::ProtoBuf.ProtoMember(12)]
        public uint duel_bonus_damage
        {
            get => __pbn__duel_bonus_damage.GetValueOrDefault();
            set => __pbn__duel_bonus_damage = value;
        }
        public bool ShouldSerializeduel_bonus_damage() => __pbn__duel_bonus_damage != null;
        public void Resetduel_bonus_damage() => __pbn__duel_bonus_damage = null;
        private uint? __pbn__duel_bonus_damage;

        [global::ProtoBuf.ProtoMember(13)]
        public int unit_cap_cost
        {
            get => __pbn__unit_cap_cost.GetValueOrDefault();
            set => __pbn__unit_cap_cost = value;
        }
        public bool ShouldSerializeunit_cap_cost() => __pbn__unit_cap_cost != null;
        public void Resetunit_cap_cost() => __pbn__unit_cap_cost = null;
        private int? __pbn__unit_cap_cost;

        [global::ProtoBuf.ProtoMember(14)]
        public bool is_placeable_item
        {
            get => __pbn__is_placeable_item.GetValueOrDefault();
            set => __pbn__is_placeable_item = value;
        }
        public bool ShouldSerializeis_placeable_item() => __pbn__is_placeable_item != null;
        public void Resetis_placeable_item() => __pbn__is_placeable_item = null;
        private bool? __pbn__is_placeable_item;

        [global::ProtoBuf.ProtoMember(15)]
        public bool bot_ignore
        {
            get => __pbn__bot_ignore.GetValueOrDefault();
            set => __pbn__bot_ignore = value;
        }
        public bool ShouldSerializebot_ignore() => __pbn__bot_ignore != null;
        public void Resetbot_ignore() => __pbn__bot_ignore = null;
        private bool? __pbn__bot_ignore;

        [global::ProtoBuf.ProtoMember(16)]
        public bool can_move_to_bench
        {
            get => __pbn__can_move_to_bench.GetValueOrDefault();
            set => __pbn__can_move_to_bench = value;
        }
        public bool ShouldSerializecan_move_to_bench() => __pbn__can_move_to_bench != null;
        public void Resetcan_move_to_bench() => __pbn__can_move_to_bench = null;
        private bool? __pbn__can_move_to_bench;

        [global::ProtoBuf.ProtoMember(17)]
        public bool can_be_sold
        {
            get => __pbn__can_be_sold.GetValueOrDefault();
            set => __pbn__can_be_sold = value;
        }
        public bool ShouldSerializecan_be_sold() => __pbn__can_be_sold != null;
        public void Resetcan_be_sold() => __pbn__can_be_sold = null;
        private bool? __pbn__can_be_sold;

        [global::ProtoBuf.ProtoMember(18)]
        public bool recommended_for_placement
        {
            get => __pbn__recommended_for_placement.GetValueOrDefault();
            set => __pbn__recommended_for_placement = value;
        }
        public bool ShouldSerializerecommended_for_placement() => __pbn__recommended_for_placement != null;
        public void Resetrecommended_for_placement() => __pbn__recommended_for_placement = null;
        private bool? __pbn__recommended_for_placement;

        [global::ProtoBuf.ProtoMember(38)]
        public float float_kill_count
        {
            get => __pbn__float_kill_count.GetValueOrDefault();
            set => __pbn__float_kill_count = value;
        }
        public bool ShouldSerializefloat_kill_count() => __pbn__float_kill_count != null;
        public void Resetfloat_kill_count() => __pbn__float_kill_count = null;
        private float? __pbn__float_kill_count;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgShopItem : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int unit_id
        {
            get => __pbn__unit_id.GetValueOrDefault();
            set => __pbn__unit_id = value;
        }
        public bool ShouldSerializeunit_id() => __pbn__unit_id != null;
        public void Resetunit_id() => __pbn__unit_id = null;
        private int? __pbn__unit_id;

        [global::ProtoBuf.ProtoMember(2)]
        public bool will_combine_two_stars
        {
            get => __pbn__will_combine_two_stars.GetValueOrDefault();
            set => __pbn__will_combine_two_stars = value;
        }
        public bool ShouldSerializewill_combine_two_stars() => __pbn__will_combine_two_stars != null;
        public void Resetwill_combine_two_stars() => __pbn__will_combine_two_stars = null;
        private bool? __pbn__will_combine_two_stars;

        [global::ProtoBuf.ProtoMember(3)]
        public int gold_cost
        {
            get => __pbn__gold_cost.GetValueOrDefault();
            set => __pbn__gold_cost = value;
        }
        public bool ShouldSerializegold_cost() => __pbn__gold_cost != null;
        public void Resetgold_cost() => __pbn__gold_cost = null;
        private int? __pbn__gold_cost;

        [global::ProtoBuf.ProtoMember(4)]
        public bool wanted_legendary
        {
            get => __pbn__wanted_legendary.GetValueOrDefault();
            set => __pbn__wanted_legendary = value;
        }
        public bool ShouldSerializewanted_legendary() => __pbn__wanted_legendary != null;
        public void Resetwanted_legendary() => __pbn__wanted_legendary = null;
        private bool? __pbn__wanted_legendary;

        [global::ProtoBuf.ProtoMember(5)]
        public bool will_combine_three_stars
        {
            get => __pbn__will_combine_three_stars.GetValueOrDefault();
            set => __pbn__will_combine_three_stars = value;
        }
        public bool ShouldSerializewill_combine_three_stars() => __pbn__will_combine_three_stars != null;
        public void Resetwill_combine_three_stars() => __pbn__will_combine_three_stars = null;
        private bool? __pbn__will_combine_three_stars;

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<EUnitKeyword> keywords { get; } = new global::System.Collections.Generic.List<EUnitKeyword>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgTurboBucket : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<EUnitKeyword> keywords { get; } = new global::System.Collections.Generic.List<EUnitKeyword>();

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<int> unit_ids { get; } = new global::System.Collections.Generic.List<int>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgUnderlordPickerOffering : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint underlord_id
        {
            get => __pbn__underlord_id.GetValueOrDefault();
            set => __pbn__underlord_id = value;
        }
        public bool ShouldSerializeunderlord_id() => __pbn__underlord_id != null;
        public void Resetunderlord_id() => __pbn__underlord_id = null;
        private uint? __pbn__underlord_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint build_id
        {
            get => __pbn__build_id.GetValueOrDefault();
            set => __pbn__build_id = value;
        }
        public bool ShouldSerializebuild_id() => __pbn__build_id != null;
        public void Resetbuild_id() => __pbn__build_id = null;
        private uint? __pbn__build_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSynergy : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EUnitKeyword.EUnitKeyword_Invalid)]
        public EUnitKeyword keyword
        {
            get => __pbn__keyword ?? EUnitKeyword.EUnitKeyword_Invalid;
            set => __pbn__keyword = value;
        }
        public bool ShouldSerializekeyword() => __pbn__keyword != null;
        public void Resetkeyword() => __pbn__keyword = null;
        private EUnitKeyword? __pbn__keyword;

        [global::ProtoBuf.ProtoMember(2)]
        public int unique_unit_count
        {
            get => __pbn__unique_unit_count.GetValueOrDefault();
            set => __pbn__unique_unit_count = value;
        }
        public bool ShouldSerializeunique_unit_count() => __pbn__unique_unit_count != null;
        public void Resetunique_unit_count() => __pbn__unique_unit_count = null;
        private int? __pbn__unique_unit_count;

        [global::ProtoBuf.ProtoMember(3)]
        public int bench_additional_unique_unit_count
        {
            get => __pbn__bench_additional_unique_unit_count.GetValueOrDefault();
            set => __pbn__bench_additional_unique_unit_count = value;
        }
        public bool ShouldSerializebench_additional_unique_unit_count() => __pbn__bench_additional_unique_unit_count != null;
        public void Resetbench_additional_unique_unit_count() => __pbn__bench_additional_unique_unit_count = null;
        private int? __pbn__bench_additional_unique_unit_count;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgItemSlot : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint slot_index
        {
            get => __pbn__slot_index.GetValueOrDefault();
            set => __pbn__slot_index = value;
        }
        public bool ShouldSerializeslot_index() => __pbn__slot_index != null;
        public void Resetslot_index() => __pbn__slot_index = null;
        private uint? __pbn__slot_index;

        [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
        public uint item_id { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        public int assigned_unit_entindex
        {
            get => __pbn__assigned_unit_entindex.GetValueOrDefault();
            set => __pbn__assigned_unit_entindex = value;
        }
        public bool ShouldSerializeassigned_unit_entindex() => __pbn__assigned_unit_entindex != null;
        public void Resetassigned_unit_entindex() => __pbn__assigned_unit_entindex = null;
        private int? __pbn__assigned_unit_entindex;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgBoardBuddy : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public float desired_pos_x
        {
            get => __pbn__desired_pos_x.GetValueOrDefault();
            set => __pbn__desired_pos_x = value;
        }
        public bool ShouldSerializedesired_pos_x() => __pbn__desired_pos_x != null;
        public void Resetdesired_pos_x() => __pbn__desired_pos_x = null;
        private float? __pbn__desired_pos_x;

        [global::ProtoBuf.ProtoMember(2)]
        public float desired_pos_y
        {
            get => __pbn__desired_pos_y.GetValueOrDefault();
            set => __pbn__desired_pos_y = value;
        }
        public bool ShouldSerializedesired_pos_y() => __pbn__desired_pos_y != null;
        public void Resetdesired_pos_y() => __pbn__desired_pos_y = null;
        private float? __pbn__desired_pos_y;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgMapProp : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint prop_idx
        {
            get => __pbn__prop_idx.GetValueOrDefault();
            set => __pbn__prop_idx = value;
        }
        public bool ShouldSerializeprop_idx() => __pbn__prop_idx != null;
        public void Resetprop_idx() => __pbn__prop_idx = null;
        private uint? __pbn__prop_idx;

        [global::ProtoBuf.ProtoMember(2)]
        public uint prop_state
        {
            get => __pbn__prop_state.GetValueOrDefault();
            set => __pbn__prop_state = value;
        }
        public bool ShouldSerializeprop_state() => __pbn__prop_state != null;
        public void Resetprop_state() => __pbn__prop_state = null;
        private uint? __pbn__prop_state;

        [global::ProtoBuf.ProtoMember(3)]
        public uint num_clicks
        {
            get => __pbn__num_clicks.GetValueOrDefault();
            set => __pbn__num_clicks = value;
        }
        public bool ShouldSerializenum_clicks() => __pbn__num_clicks != null;
        public void Resetnum_clicks() => __pbn__num_clicks = null;
        private uint? __pbn__num_clicks;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPublicPlayerState : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public uint player_slot { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(EPlayerConnectionState.EPlayerConnectionState_Connecting)]
        public EPlayerConnectionState connection_status
        {
            get => __pbn__connection_status ?? EPlayerConnectionState.EPlayerConnectionState_Connecting;
            set => __pbn__connection_status = value;
        }
        public bool ShouldSerializeconnection_status() => __pbn__connection_status != null;
        public void Resetconnection_status() => __pbn__connection_status = null;
        private EPlayerConnectionState? __pbn__connection_status;

        [global::ProtoBuf.ProtoMember(4)]
        public bool is_human_player
        {
            get => __pbn__is_human_player.GetValueOrDefault();
            set => __pbn__is_human_player = value;
        }
        public bool ShouldSerializeis_human_player() => __pbn__is_human_player != null;
        public void Resetis_human_player() => __pbn__is_human_player = null;
        private bool? __pbn__is_human_player;

        [global::ProtoBuf.ProtoMember(5)]
        public int health
        {
            get => __pbn__health.GetValueOrDefault();
            set => __pbn__health = value;
        }
        public bool ShouldSerializehealth() => __pbn__health != null;
        public void Resethealth() => __pbn__health = null;
        private int? __pbn__health;

        [global::ProtoBuf.ProtoMember(6)]
        public int gold
        {
            get => __pbn__gold.GetValueOrDefault();
            set => __pbn__gold = value;
        }
        public bool ShouldSerializegold() => __pbn__gold != null;
        public void Resetgold() => __pbn__gold = null;
        private int? __pbn__gold;

        [global::ProtoBuf.ProtoMember(7)]
        public int level
        {
            get => __pbn__level.GetValueOrDefault();
            set => __pbn__level = value;
        }
        public bool ShouldSerializelevel() => __pbn__level != null;
        public void Resetlevel() => __pbn__level = null;
        private int? __pbn__level;

        [global::ProtoBuf.ProtoMember(8)]
        public int xp
        {
            get => __pbn__xp.GetValueOrDefault();
            set => __pbn__xp = value;
        }
        public bool ShouldSerializexp() => __pbn__xp != null;
        public void Resetxp() => __pbn__xp = null;
        private int? __pbn__xp;

        [global::ProtoBuf.ProtoMember(9)]
        public global::System.Collections.Generic.List<CMsgItemSlot> item_slots { get; } = new global::System.Collections.Generic.List<CMsgItemSlot>();

        [global::ProtoBuf.ProtoMember(10)]
        public global::System.Collections.Generic.List<CMsgUnit> units { get; } = new global::System.Collections.Generic.List<CMsgUnit>();

        [global::ProtoBuf.ProtoMember(14)]
        public uint final_place
        {
            get => __pbn__final_place.GetValueOrDefault();
            set => __pbn__final_place = value;
        }
        public bool ShouldSerializefinal_place() => __pbn__final_place != null;
        public void Resetfinal_place() => __pbn__final_place = null;
        private uint? __pbn__final_place;

        [global::ProtoBuf.ProtoMember(15)]
        public int next_level_xp
        {
            get => __pbn__next_level_xp.GetValueOrDefault();
            set => __pbn__next_level_xp = value;
        }
        public bool ShouldSerializenext_level_xp() => __pbn__next_level_xp != null;
        public void Resetnext_level_xp() => __pbn__next_level_xp = null;
        private int? __pbn__next_level_xp;

        [global::ProtoBuf.ProtoMember(16)]
        public global::System.Collections.Generic.List<CMsgSynergy> synergies { get; } = new global::System.Collections.Generic.List<CMsgSynergy>();

        [global::ProtoBuf.ProtoMember(17)]
        [global::System.ComponentModel.DefaultValue("")]
        public string bot_persona_name
        {
            get => __pbn__bot_persona_name ?? "";
            set => __pbn__bot_persona_name = value;
        }
        public bool ShouldSerializebot_persona_name() => __pbn__bot_persona_name != null;
        public void Resetbot_persona_name() => __pbn__bot_persona_name = null;
        private string __pbn__bot_persona_name;

        [global::ProtoBuf.ProtoMember(18)]
        public ulong sequence_number
        {
            get => __pbn__sequence_number.GetValueOrDefault();
            set => __pbn__sequence_number = value;
        }
        public bool ShouldSerializesequence_number() => __pbn__sequence_number != null;
        public void Resetsequence_number() => __pbn__sequence_number = null;
        private ulong? __pbn__sequence_number;

        [global::ProtoBuf.ProtoMember(20)]
        public int shop_cost_modifier
        {
            get => __pbn__shop_cost_modifier.GetValueOrDefault();
            set => __pbn__shop_cost_modifier = value;
        }
        public bool ShouldSerializeshop_cost_modifier() => __pbn__shop_cost_modifier != null;
        public void Resetshop_cost_modifier() => __pbn__shop_cost_modifier = null;
        private int? __pbn__shop_cost_modifier;

        [global::ProtoBuf.ProtoMember(21)]
        public float combat_duration
        {
            get => __pbn__combat_duration.GetValueOrDefault();
            set => __pbn__combat_duration = value;
        }
        public bool ShouldSerializecombat_duration() => __pbn__combat_duration != null;
        public void Resetcombat_duration() => __pbn__combat_duration = null;
        private float? __pbn__combat_duration;

        [global::ProtoBuf.ProtoMember(22)]
        public int reroll_cost_modifier
        {
            get => __pbn__reroll_cost_modifier.GetValueOrDefault();
            set => __pbn__reroll_cost_modifier = value;
        }
        public bool ShouldSerializereroll_cost_modifier() => __pbn__reroll_cost_modifier != null;
        public void Resetreroll_cost_modifier() => __pbn__reroll_cost_modifier = null;
        private int? __pbn__reroll_cost_modifier;

        [global::ProtoBuf.ProtoMember(26)]
        public int win_streak
        {
            get => __pbn__win_streak.GetValueOrDefault();
            set => __pbn__win_streak = value;
        }
        public bool ShouldSerializewin_streak() => __pbn__win_streak != null;
        public void Resetwin_streak() => __pbn__win_streak = null;
        private int? __pbn__win_streak;

        [global::ProtoBuf.ProtoMember(27)]
        public int lose_streak
        {
            get => __pbn__lose_streak.GetValueOrDefault();
            set => __pbn__lose_streak = value;
        }
        public bool ShouldSerializelose_streak() => __pbn__lose_streak != null;
        public void Resetlose_streak() => __pbn__lose_streak = null;
        private int? __pbn__lose_streak;

        [global::ProtoBuf.ProtoMember(28)]
        public uint rank_tier
        {
            get => __pbn__rank_tier.GetValueOrDefault();
            set => __pbn__rank_tier = value;
        }
        public bool ShouldSerializerank_tier() => __pbn__rank_tier != null;
        public void Resetrank_tier() => __pbn__rank_tier = null;
        private uint? __pbn__rank_tier;

        [global::ProtoBuf.ProtoMember(29)]
        public float disconnected_time
        {
            get => __pbn__disconnected_time.GetValueOrDefault();
            set => __pbn__disconnected_time = value;
        }
        public bool ShouldSerializedisconnected_time() => __pbn__disconnected_time != null;
        public void Resetdisconnected_time() => __pbn__disconnected_time = null;
        private float? __pbn__disconnected_time;

        [global::ProtoBuf.ProtoMember(30)]
        public uint vs_opponent_wins
        {
            get => __pbn__vs_opponent_wins.GetValueOrDefault();
            set => __pbn__vs_opponent_wins = value;
        }
        public bool ShouldSerializevs_opponent_wins() => __pbn__vs_opponent_wins != null;
        public void Resetvs_opponent_wins() => __pbn__vs_opponent_wins = null;
        private uint? __pbn__vs_opponent_wins;

        [global::ProtoBuf.ProtoMember(31)]
        public uint vs_opponent_losses
        {
            get => __pbn__vs_opponent_losses.GetValueOrDefault();
            set => __pbn__vs_opponent_losses = value;
        }
        public bool ShouldSerializevs_opponent_losses() => __pbn__vs_opponent_losses != null;
        public void Resetvs_opponent_losses() => __pbn__vs_opponent_losses = null;
        private uint? __pbn__vs_opponent_losses;

        [global::ProtoBuf.ProtoMember(32)]
        public uint vs_opponent_draws
        {
            get => __pbn__vs_opponent_draws.GetValueOrDefault();
            set => __pbn__vs_opponent_draws = value;
        }
        public bool ShouldSerializevs_opponent_draws() => __pbn__vs_opponent_draws != null;
        public void Resetvs_opponent_draws() => __pbn__vs_opponent_draws = null;
        private uint? __pbn__vs_opponent_draws;

        [global::ProtoBuf.ProtoMember(33)]
        [global::System.ComponentModel.DefaultValue(EDACPlatform.k_eDACPlatform_None)]
        public EDACPlatform platform
        {
            get => __pbn__platform ?? EDACPlatform.k_eDACPlatform_None;
            set => __pbn__platform = value;
        }
        public bool ShouldSerializeplatform() => __pbn__platform != null;
        public void Resetplatform() => __pbn__platform = null;
        private EDACPlatform? __pbn__platform;

        [global::ProtoBuf.ProtoMember(34)]
        public uint event_tier
        {
            get => __pbn__event_tier.GetValueOrDefault();
            set => __pbn__event_tier = value;
        }
        public bool ShouldSerializeevent_tier() => __pbn__event_tier != null;
        public void Resetevent_tier() => __pbn__event_tier = null;
        private uint? __pbn__event_tier;

        [global::ProtoBuf.ProtoMember(36)]
        [global::System.ComponentModel.DefaultValue("")]
        public string persona_name
        {
            get => __pbn__persona_name ?? "";
            set => __pbn__persona_name = value;
        }
        public bool ShouldSerializepersona_name() => __pbn__persona_name != null;
        public void Resetpersona_name() => __pbn__persona_name = null;
        private string __pbn__persona_name;

        [global::ProtoBuf.ProtoMember(37)]
        public uint wins
        {
            get => __pbn__wins.GetValueOrDefault();
            set => __pbn__wins = value;
        }
        public bool ShouldSerializewins() => __pbn__wins != null;
        public void Resetwins() => __pbn__wins = null;
        private uint? __pbn__wins;

        [global::ProtoBuf.ProtoMember(38)]
        public uint losses
        {
            get => __pbn__losses.GetValueOrDefault();
            set => __pbn__losses = value;
        }
        public bool ShouldSerializelosses() => __pbn__losses != null;
        public void Resetlosses() => __pbn__losses = null;
        private uint? __pbn__losses;

        [global::ProtoBuf.ProtoMember(39)]
        public uint global_leaderboard_rank
        {
            get => __pbn__global_leaderboard_rank.GetValueOrDefault();
            set => __pbn__global_leaderboard_rank = value;
        }
        public bool ShouldSerializeglobal_leaderboard_rank() => __pbn__global_leaderboard_rank != null;
        public void Resetglobal_leaderboard_rank() => __pbn__global_leaderboard_rank = null;
        private uint? __pbn__global_leaderboard_rank;

        [global::ProtoBuf.ProtoMember(40)]
        public global::System.Collections.Generic.List<LoadoutItem> player_loadout { get; } = new global::System.Collections.Generic.List<LoadoutItem>();

        [global::ProtoBuf.ProtoMember(41)]
        public uint net_worth
        {
            get => __pbn__net_worth.GetValueOrDefault();
            set => __pbn__net_worth = value;
        }
        public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
        public void Resetnet_worth() => __pbn__net_worth = null;
        private uint? __pbn__net_worth;

        [global::ProtoBuf.ProtoMember(43)]
        public uint combat_result
        {
            get => __pbn__combat_result.GetValueOrDefault();
            set => __pbn__combat_result = value;
        }
        public bool ShouldSerializecombat_result() => __pbn__combat_result != null;
        public void Resetcombat_result() => __pbn__combat_result = null;
        private uint? __pbn__combat_result;

        [global::ProtoBuf.ProtoMember(44)]
        [global::System.ComponentModel.DefaultValue(EDACLobbyTeam.k_EDACLobbyTeam_Team0)]
        public EDACLobbyTeam lobby_team
        {
            get => __pbn__lobby_team ?? EDACLobbyTeam.k_EDACLobbyTeam_Team0;
            set => __pbn__lobby_team = value;
        }
        public bool ShouldSerializelobby_team() => __pbn__lobby_team != null;
        public void Resetlobby_team() => __pbn__lobby_team = null;
        private EDACLobbyTeam? __pbn__lobby_team;

        [global::ProtoBuf.ProtoMember(45)]
        public global::System.Collections.Generic.List<uint> underlord_selected_talents { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(46)]
        public bool is_mirrored_match
        {
            get => __pbn__is_mirrored_match.GetValueOrDefault();
            set => __pbn__is_mirrored_match = value;
        }
        public bool ShouldSerializeis_mirrored_match() => __pbn__is_mirrored_match != null;
        public void Resetis_mirrored_match() => __pbn__is_mirrored_match = null;
        private bool? __pbn__is_mirrored_match;

        [global::ProtoBuf.ProtoMember(47)]
        public uint underlord
        {
            get => __pbn__underlord.GetValueOrDefault();
            set => __pbn__underlord = value;
        }
        public bool ShouldSerializeunderlord() => __pbn__underlord != null;
        public void Resetunderlord() => __pbn__underlord = null;
        private uint? __pbn__underlord;

        [global::ProtoBuf.ProtoMember(48)]
        public uint party_index
        {
            get => __pbn__party_index.GetValueOrDefault();
            set => __pbn__party_index = value;
        }
        public bool ShouldSerializeparty_index() => __pbn__party_index != null;
        public void Resetparty_index() => __pbn__party_index = null;
        private uint? __pbn__party_index;

        [global::ProtoBuf.ProtoMember(49)]
        public uint next_combat_opponent_neutral_wave
        {
            get => __pbn__next_combat_opponent_neutral_wave.GetValueOrDefault();
            set => __pbn__next_combat_opponent_neutral_wave = value;
        }
        public bool ShouldSerializenext_combat_opponent_neutral_wave() => __pbn__next_combat_opponent_neutral_wave != null;
        public void Resetnext_combat_opponent_neutral_wave() => __pbn__next_combat_opponent_neutral_wave = null;
        private uint? __pbn__next_combat_opponent_neutral_wave;

        [global::ProtoBuf.ProtoMember(52)]
        public int board_unit_limit
        {
            get => __pbn__board_unit_limit.GetValueOrDefault();
            set => __pbn__board_unit_limit = value;
        }
        public bool ShouldSerializeboard_unit_limit() => __pbn__board_unit_limit != null;
        public void Resetboard_unit_limit() => __pbn__board_unit_limit = null;
        private int? __pbn__board_unit_limit;

        [global::ProtoBuf.ProtoMember(53)]
        public global::System.Collections.Generic.List<uint> underlord_available_talents { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(54)]
        public uint combat_type
        {
            get => __pbn__combat_type.GetValueOrDefault();
            set => __pbn__combat_type = value;
        }
        public bool ShouldSerializecombat_type() => __pbn__combat_type != null;
        public void Resetcombat_type() => __pbn__combat_type = null;
        private uint? __pbn__combat_type;

        [global::ProtoBuf.ProtoMember(55)]
        public CMsgBoardBuddy board_buddy { get; set; }

        [global::ProtoBuf.ProtoMember(56)]
        public global::System.Collections.Generic.List<CMsgMapProp> prop_state { get; } = new global::System.Collections.Generic.List<CMsgMapProp>();

        [global::ProtoBuf.ProtoMember(57)]
        public float brawny_kills_float
        {
            get => __pbn__brawny_kills_float.GetValueOrDefault();
            set => __pbn__brawny_kills_float = value;
        }
        public bool ShouldSerializebrawny_kills_float() => __pbn__brawny_kills_float != null;
        public void Resetbrawny_kills_float() => __pbn__brawny_kills_float = null;
        private float? __pbn__brawny_kills_float;

        [global::ProtoBuf.ProtoMember(58)]
        public bool owns_event
        {
            get => __pbn__owns_event.GetValueOrDefault();
            set => __pbn__owns_event = value;
        }
        public bool ShouldSerializeowns_event() => __pbn__owns_event != null;
        public void Resetowns_event() => __pbn__owns_event = null;
        private bool? __pbn__owns_event;

        [global::ProtoBuf.ProtoMember(59)]
        public uint city_prestige_level
        {
            get => __pbn__city_prestige_level.GetValueOrDefault();
            set => __pbn__city_prestige_level = value;
        }
        public bool ShouldSerializecity_prestige_level() => __pbn__city_prestige_level != null;
        public void Resetcity_prestige_level() => __pbn__city_prestige_level = null;
        private uint? __pbn__city_prestige_level;

        [global::ProtoBuf.ProtoMember(1000)]
        public uint stat_best_victory_duration
        {
            get => __pbn__stat_best_victory_duration.GetValueOrDefault();
            set => __pbn__stat_best_victory_duration = value;
        }
        public bool ShouldSerializestat_best_victory_duration() => __pbn__stat_best_victory_duration != null;
        public void Resetstat_best_victory_duration() => __pbn__stat_best_victory_duration = null;
        private uint? __pbn__stat_best_victory_duration;

        [global::ProtoBuf.ProtoMember(1001)]
        public uint stat_best_victory_net_worth
        {
            get => __pbn__stat_best_victory_net_worth.GetValueOrDefault();
            set => __pbn__stat_best_victory_net_worth = value;
        }
        public bool ShouldSerializestat_best_victory_net_worth() => __pbn__stat_best_victory_net_worth != null;
        public void Resetstat_best_victory_net_worth() => __pbn__stat_best_victory_net_worth = null;
        private uint? __pbn__stat_best_victory_net_worth;

        [global::ProtoBuf.ProtoMember(1002)]
        public uint stat_best_victory_remaining_health_percent
        {
            get => __pbn__stat_best_victory_remaining_health_percent.GetValueOrDefault();
            set => __pbn__stat_best_victory_remaining_health_percent = value;
        }
        public bool ShouldSerializestat_best_victory_remaining_health_percent() => __pbn__stat_best_victory_remaining_health_percent != null;
        public void Resetstat_best_victory_remaining_health_percent() => __pbn__stat_best_victory_remaining_health_percent = null;
        private uint? __pbn__stat_best_victory_remaining_health_percent;

        [global::ProtoBuf.ProtoMember(1006)]
        public uint stat_best_victory_units
        {
            get => __pbn__stat_best_victory_units.GetValueOrDefault();
            set => __pbn__stat_best_victory_units = value;
        }
        public bool ShouldSerializestat_best_victory_units() => __pbn__stat_best_victory_units != null;
        public void Resetstat_best_victory_units() => __pbn__stat_best_victory_units = null;
        private uint? __pbn__stat_best_victory_units;

        [global::ProtoBuf.ProtoMember(1003)]
        public uint stat_prev_victory_duration
        {
            get => __pbn__stat_prev_victory_duration.GetValueOrDefault();
            set => __pbn__stat_prev_victory_duration = value;
        }
        public bool ShouldSerializestat_prev_victory_duration() => __pbn__stat_prev_victory_duration != null;
        public void Resetstat_prev_victory_duration() => __pbn__stat_prev_victory_duration = null;
        private uint? __pbn__stat_prev_victory_duration;

        [global::ProtoBuf.ProtoMember(1004)]
        public uint stat_prev_victory_net_worth
        {
            get => __pbn__stat_prev_victory_net_worth.GetValueOrDefault();
            set => __pbn__stat_prev_victory_net_worth = value;
        }
        public bool ShouldSerializestat_prev_victory_net_worth() => __pbn__stat_prev_victory_net_worth != null;
        public void Resetstat_prev_victory_net_worth() => __pbn__stat_prev_victory_net_worth = null;
        private uint? __pbn__stat_prev_victory_net_worth;

        [global::ProtoBuf.ProtoMember(1005)]
        public uint stat_prev_victory_remaining_health_percent
        {
            get => __pbn__stat_prev_victory_remaining_health_percent.GetValueOrDefault();
            set => __pbn__stat_prev_victory_remaining_health_percent = value;
        }
        public bool ShouldSerializestat_prev_victory_remaining_health_percent() => __pbn__stat_prev_victory_remaining_health_percent != null;
        public void Resetstat_prev_victory_remaining_health_percent() => __pbn__stat_prev_victory_remaining_health_percent = null;
        private uint? __pbn__stat_prev_victory_remaining_health_percent;

        [global::ProtoBuf.ProtoMember(1007)]
        public uint stat_prev_victory_units
        {
            get => __pbn__stat_prev_victory_units.GetValueOrDefault();
            set => __pbn__stat_prev_victory_units = value;
        }
        public bool ShouldSerializestat_prev_victory_units() => __pbn__stat_prev_victory_units != null;
        public void Resetstat_prev_victory_units() => __pbn__stat_prev_victory_units = null;
        private uint? __pbn__stat_prev_victory_units;

        [global::ProtoBuf.ProtoMember(24)]
        public uint opponent_player_slot
        {
            get => __pbn__opponent.Is(24) ? __pbn__opponent.UInt32 : default(uint);
            set => __pbn__opponent = new global::ProtoBuf.DiscriminatedUnion32(24, value);
        }
        public bool ShouldSerializeopponent_player_slot() => __pbn__opponent.Is(24);
        public void Resetopponent_player_slot() => global::ProtoBuf.DiscriminatedUnion32.Reset(ref __pbn__opponent, 24);

        private global::ProtoBuf.DiscriminatedUnion32 __pbn__opponent;

        [global::ProtoBuf.ProtoMember(25)]
        public uint opponent_neutral_wave
        {
            get => __pbn__opponent.Is(25) ? __pbn__opponent.UInt32 : default(uint);
            set => __pbn__opponent = new global::ProtoBuf.DiscriminatedUnion32(25, value);
        }
        public bool ShouldSerializeopponent_neutral_wave() => __pbn__opponent.Is(25);
        public void Resetopponent_neutral_wave() => global::ProtoBuf.DiscriminatedUnion32.Reset(ref __pbn__opponent, 25);

        [global::ProtoBuf.ProtoContract()]
        public partial class LoadoutItem : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint slot
            {
                get => __pbn__slot.GetValueOrDefault();
                set => __pbn__slot = value;
            }
            public bool ShouldSerializeslot() => __pbn__slot != null;
            public void Resetslot() => __pbn__slot = null;
            private uint? __pbn__slot;

            [global::ProtoBuf.ProtoMember(2)]
            public uint sub_slot
            {
                get => __pbn__sub_slot.GetValueOrDefault();
                set => __pbn__sub_slot = value;
            }
            public bool ShouldSerializesub_slot() => __pbn__sub_slot != null;
            public void Resetsub_slot() => __pbn__sub_slot = null;
            private uint? __pbn__sub_slot;

            [global::ProtoBuf.ProtoMember(3)]
            public uint def_index
            {
                get => __pbn__def_index.GetValueOrDefault();
                set => __pbn__def_index = value;
            }
            public bool ShouldSerializedef_index() => __pbn__def_index != null;
            public void Resetdef_index() => __pbn__def_index = null;
            private uint? __pbn__def_index;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPublicPostMatchStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<PlayerInfo> players { get; } = new global::System.Collections.Generic.List<PlayerInfo>();

        [global::ProtoBuf.ProtoMember(2)]
        public uint game_mode
        {
            get => __pbn__game_mode.GetValueOrDefault();
            set => __pbn__game_mode = value;
        }
        public bool ShouldSerializegame_mode() => __pbn__game_mode != null;
        public void Resetgame_mode() => __pbn__game_mode = null;
        private uint? __pbn__game_mode;

        [global::ProtoBuf.ProtoMember(3)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerPerRoundInfo : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint gold
            {
                get => __pbn__gold.GetValueOrDefault();
                set => __pbn__gold = value;
            }
            public bool ShouldSerializegold() => __pbn__gold != null;
            public void Resetgold() => __pbn__gold = null;
            private uint? __pbn__gold;

            [global::ProtoBuf.ProtoMember(2)]
            public uint health
            {
                get => __pbn__health.GetValueOrDefault();
                set => __pbn__health = value;
            }
            public bool ShouldSerializehealth() => __pbn__health != null;
            public void Resethealth() => __pbn__health = null;
            private uint? __pbn__health;

            [global::ProtoBuf.ProtoMember(3)]
            public uint level
            {
                get => __pbn__level.GetValueOrDefault();
                set => __pbn__level = value;
            }
            public bool ShouldSerializelevel() => __pbn__level != null;
            public void Resetlevel() => __pbn__level = null;
            private uint? __pbn__level;

            [global::ProtoBuf.ProtoMember(4)]
            public uint wins
            {
                get => __pbn__wins.GetValueOrDefault();
                set => __pbn__wins = value;
            }
            public bool ShouldSerializewins() => __pbn__wins != null;
            public void Resetwins() => __pbn__wins = null;
            private uint? __pbn__wins;

            [global::ProtoBuf.ProtoMember(5)]
            public uint losses
            {
                get => __pbn__losses.GetValueOrDefault();
                set => __pbn__losses = value;
            }
            public bool ShouldSerializelosses() => __pbn__losses != null;
            public void Resetlosses() => __pbn__losses = null;
            private uint? __pbn__losses;

            [global::ProtoBuf.ProtoMember(6)]
            public uint net_worth
            {
                get => __pbn__net_worth.GetValueOrDefault();
                set => __pbn__net_worth = value;
            }
            public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
            public void Resetnet_worth() => __pbn__net_worth = null;
            private uint? __pbn__net_worth;

            [global::ProtoBuf.ProtoMember(7)]
            public global::System.Collections.Generic.List<CMsgUnit> units { get; } = new global::System.Collections.Generic.List<CMsgUnit>();

            [global::ProtoBuf.ProtoMember(8)]
            public global::System.Collections.Generic.List<uint> synergies { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(9)]
            public global::System.Collections.Generic.List<CMsgItemSlot> item_slots { get; } = new global::System.Collections.Generic.List<CMsgItemSlot>();

            [global::ProtoBuf.ProtoMember(10)]
            public global::System.Collections.Generic.List<uint> underlord_selected_talents { get; } = new global::System.Collections.Generic.List<uint>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerInfo : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public global::System.Collections.Generic.List<CMsgPublicPostMatchStats.PlayerPerRoundInfo> rounds { get; } = new global::System.Collections.Generic.List<CMsgPublicPostMatchStats.PlayerPerRoundInfo>();

            [global::ProtoBuf.ProtoMember(2)]
            public uint player_slot
            {
                get => __pbn__player_slot.GetValueOrDefault();
                set => __pbn__player_slot = value;
            }
            public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
            public void Resetplayer_slot() => __pbn__player_slot = null;
            private uint? __pbn__player_slot;

            [global::ProtoBuf.ProtoMember(3)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(4)]
            public bool is_human_player
            {
                get => __pbn__is_human_player.GetValueOrDefault();
                set => __pbn__is_human_player = value;
            }
            public bool ShouldSerializeis_human_player() => __pbn__is_human_player != null;
            public void Resetis_human_player() => __pbn__is_human_player = null;
            private bool? __pbn__is_human_player;

            [global::ProtoBuf.ProtoMember(5)]
            [global::System.ComponentModel.DefaultValue("")]
            public string persona_name
            {
                get => __pbn__persona_name ?? "";
                set => __pbn__persona_name = value;
            }
            public bool ShouldSerializepersona_name() => __pbn__persona_name != null;
            public void Resetpersona_name() => __pbn__persona_name = null;
            private string __pbn__persona_name;

            [global::ProtoBuf.ProtoMember(6)]
            public uint mmr_level
            {
                get => __pbn__mmr_level.GetValueOrDefault();
                set => __pbn__mmr_level = value;
            }
            public bool ShouldSerializemmr_level() => __pbn__mmr_level != null;
            public void Resetmmr_level() => __pbn__mmr_level = null;
            private uint? __pbn__mmr_level;

            [global::ProtoBuf.ProtoMember(7)]
            public uint global_leaderboard_rank
            {
                get => __pbn__global_leaderboard_rank.GetValueOrDefault();
                set => __pbn__global_leaderboard_rank = value;
            }
            public bool ShouldSerializeglobal_leaderboard_rank() => __pbn__global_leaderboard_rank != null;
            public void Resetglobal_leaderboard_rank() => __pbn__global_leaderboard_rank = null;
            private uint? __pbn__global_leaderboard_rank;

            [global::ProtoBuf.ProtoMember(8)]
            public uint final_position
            {
                get => __pbn__final_position.GetValueOrDefault();
                set => __pbn__final_position = value;
            }
            public bool ShouldSerializefinal_position() => __pbn__final_position != null;
            public void Resetfinal_position() => __pbn__final_position = null;
            private uint? __pbn__final_position;

            [global::ProtoBuf.ProtoMember(9)]
            [global::System.ComponentModel.DefaultValue(EDACLobbyTeam.k_EDACLobbyTeam_Team0)]
            public EDACLobbyTeam lobby_team
            {
                get => __pbn__lobby_team ?? EDACLobbyTeam.k_EDACLobbyTeam_Team0;
                set => __pbn__lobby_team = value;
            }
            public bool ShouldSerializelobby_team() => __pbn__lobby_team != null;
            public void Resetlobby_team() => __pbn__lobby_team = null;
            private EDACLobbyTeam? __pbn__lobby_team;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgIndividualPostMatchStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Round> rounds { get; } = new global::System.Collections.Generic.List<Round>();

        [global::ProtoBuf.ProtoMember(2)]
        public uint player_slot
        {
            get => __pbn__player_slot.GetValueOrDefault();
            set => __pbn__player_slot = value;
        }
        public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
        public void Resetplayer_slot() => __pbn__player_slot = null;
        private uint? __pbn__player_slot;

        [global::ProtoBuf.ProtoMember(3)]
        public uint position
        {
            get => __pbn__position.GetValueOrDefault();
            set => __pbn__position = value;
        }
        public bool ShouldSerializeposition() => __pbn__position != null;
        public void Resetposition() => __pbn__position = null;
        private uint? __pbn__position;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<Event> events { get; } = new global::System.Collections.Generic.List<Event>();

        [global::ProtoBuf.ProtoMember(5)]
        public RankUpdate individual_rank_update { get; set; }

        [global::ProtoBuf.ProtoMember(6)]
        public RankUpdate duos_rank_update { get; set; }

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue(EDACGameMode.k_EDACGameMode_Invalid)]
        public EDACGameMode game_mode
        {
            get => __pbn__game_mode ?? EDACGameMode.k_EDACGameMode_Invalid;
            set => __pbn__game_mode = value;
        }
        public bool ShouldSerializegame_mode() => __pbn__game_mode != null;
        public void Resetgame_mode() => __pbn__game_mode = null;
        private EDACGameMode? __pbn__game_mode;

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue(EDACMatchMode.k_EDACMatchMode_Invalid)]
        public EDACMatchMode match_mode
        {
            get => __pbn__match_mode ?? EDACMatchMode.k_EDACMatchMode_Invalid;
            set => __pbn__match_mode = value;
        }
        public bool ShouldSerializematch_mode() => __pbn__match_mode != null;
        public void Resetmatch_mode() => __pbn__match_mode = null;
        private EDACMatchMode? __pbn__match_mode;

        [global::ProtoBuf.ProtoMember(9)]
        [global::System.ComponentModel.DefaultValue(EDACBotDifficulty.k_EDACBotDifficulty_None)]
        public EDACBotDifficulty bot_difficulty
        {
            get => __pbn__bot_difficulty ?? EDACBotDifficulty.k_EDACBotDifficulty_None;
            set => __pbn__bot_difficulty = value;
        }
        public bool ShouldSerializebot_difficulty() => __pbn__bot_difficulty != null;
        public void Resetbot_difficulty() => __pbn__bot_difficulty = null;
        private EDACBotDifficulty? __pbn__bot_difficulty;

        [global::ProtoBuf.ProtoMember(10)]
        public uint underlord_id
        {
            get => __pbn__underlord_id.GetValueOrDefault();
            set => __pbn__underlord_id = value;
        }
        public bool ShouldSerializeunderlord_id() => __pbn__underlord_id != null;
        public void Resetunderlord_id() => __pbn__underlord_id = null;
        private uint? __pbn__underlord_id;

        [global::ProtoBuf.ProtoMember(11)]
        public uint underlord_build_id
        {
            get => __pbn__underlord_build_id.GetValueOrDefault();
            set => __pbn__underlord_build_id = value;
        }
        public bool ShouldSerializeunderlord_build_id() => __pbn__underlord_build_id != null;
        public void Resetunderlord_build_id() => __pbn__underlord_build_id = null;
        private uint? __pbn__underlord_build_id;

        [global::ProtoBuf.ProtoMember(12)]
        public CMsgGameModeSettings game_mode_settings { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class Round : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public global::System.Collections.Generic.List<CMsgUnit> units { get; } = new global::System.Collections.Generic.List<CMsgUnit>();

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<uint> synergies { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<CMsgItemSlot> items { get; } = new global::System.Collections.Generic.List<CMsgItemSlot>();

            [global::ProtoBuf.ProtoMember(4)]
            public uint gold_spent_on_rerolls
            {
                get => __pbn__gold_spent_on_rerolls.GetValueOrDefault();
                set => __pbn__gold_spent_on_rerolls = value;
            }
            public bool ShouldSerializegold_spent_on_rerolls() => __pbn__gold_spent_on_rerolls != null;
            public void Resetgold_spent_on_rerolls() => __pbn__gold_spent_on_rerolls = null;
            private uint? __pbn__gold_spent_on_rerolls;

            [global::ProtoBuf.ProtoMember(5)]
            public uint gold_earned
            {
                get => __pbn__gold_earned.GetValueOrDefault();
                set => __pbn__gold_earned = value;
            }
            public bool ShouldSerializegold_earned() => __pbn__gold_earned != null;
            public void Resetgold_earned() => __pbn__gold_earned = null;
            private uint? __pbn__gold_earned;

            [global::ProtoBuf.ProtoMember(6)]
            public uint interest_gold_earned
            {
                get => __pbn__interest_gold_earned.GetValueOrDefault();
                set => __pbn__interest_gold_earned = value;
            }
            public bool ShouldSerializeinterest_gold_earned() => __pbn__interest_gold_earned != null;
            public void Resetinterest_gold_earned() => __pbn__interest_gold_earned = null;
            private uint? __pbn__interest_gold_earned;

            [global::ProtoBuf.ProtoMember(7)]
            public uint streak_gold_earned
            {
                get => __pbn__streak_gold_earned.GetValueOrDefault();
                set => __pbn__streak_gold_earned = value;
            }
            public bool ShouldSerializestreak_gold_earned() => __pbn__streak_gold_earned != null;
            public void Resetstreak_gold_earned() => __pbn__streak_gold_earned = null;
            private uint? __pbn__streak_gold_earned;

            [global::ProtoBuf.ProtoMember(8)]
            public uint victory
            {
                get => __pbn__victory.GetValueOrDefault();
                set => __pbn__victory = value;
            }
            public bool ShouldSerializevictory() => __pbn__victory != null;
            public void Resetvictory() => __pbn__victory = null;
            private uint? __pbn__victory;

            [global::ProtoBuf.ProtoMember(9)]
            public uint xp_earned
            {
                get => __pbn__xp_earned.GetValueOrDefault();
                set => __pbn__xp_earned = value;
            }
            public bool ShouldSerializexp_earned() => __pbn__xp_earned != null;
            public void Resetxp_earned() => __pbn__xp_earned = null;
            private uint? __pbn__xp_earned;

            [global::ProtoBuf.ProtoMember(10)]
            public uint health
            {
                get => __pbn__health.GetValueOrDefault();
                set => __pbn__health = value;
            }
            public bool ShouldSerializehealth() => __pbn__health != null;
            public void Resethealth() => __pbn__health = null;
            private uint? __pbn__health;

            [global::ProtoBuf.ProtoMember(11)]
            public uint gold
            {
                get => __pbn__gold.GetValueOrDefault();
                set => __pbn__gold = value;
            }
            public bool ShouldSerializegold() => __pbn__gold != null;
            public void Resetgold() => __pbn__gold = null;
            private uint? __pbn__gold;

            [global::ProtoBuf.ProtoMember(12)]
            public uint round_ranking
            {
                get => __pbn__round_ranking.GetValueOrDefault();
                set => __pbn__round_ranking = value;
            }
            public bool ShouldSerializeround_ranking() => __pbn__round_ranking != null;
            public void Resetround_ranking() => __pbn__round_ranking = null;
            private uint? __pbn__round_ranking;

            [global::ProtoBuf.ProtoMember(13)]
            public uint level
            {
                get => __pbn__level.GetValueOrDefault();
                set => __pbn__level = value;
            }
            public bool ShouldSerializelevel() => __pbn__level != null;
            public void Resetlevel() => __pbn__level = null;
            private uint? __pbn__level;

            [global::ProtoBuf.ProtoMember(14)]
            public uint enemy_player_slot
            {
                get => __pbn__enemy_player_slot.GetValueOrDefault();
                set => __pbn__enemy_player_slot = value;
            }
            public bool ShouldSerializeenemy_player_slot() => __pbn__enemy_player_slot != null;
            public void Resetenemy_player_slot() => __pbn__enemy_player_slot = null;
            private uint? __pbn__enemy_player_slot;

            [global::ProtoBuf.ProtoMember(15)]
            public uint gold_spent_on_levels
            {
                get => __pbn__gold_spent_on_levels.GetValueOrDefault();
                set => __pbn__gold_spent_on_levels = value;
            }
            public bool ShouldSerializegold_spent_on_levels() => __pbn__gold_spent_on_levels != null;
            public void Resetgold_spent_on_levels() => __pbn__gold_spent_on_levels = null;
            private uint? __pbn__gold_spent_on_levels;

            [global::ProtoBuf.ProtoMember(16)]
            public uint gold_spent_on_units
            {
                get => __pbn__gold_spent_on_units.GetValueOrDefault();
                set => __pbn__gold_spent_on_units = value;
            }
            public bool ShouldSerializegold_spent_on_units() => __pbn__gold_spent_on_units != null;
            public void Resetgold_spent_on_units() => __pbn__gold_spent_on_units = null;
            private uint? __pbn__gold_spent_on_units;

            [global::ProtoBuf.ProtoMember(17)]
            public uint damage_dealt_to_units
            {
                get => __pbn__damage_dealt_to_units.GetValueOrDefault();
                set => __pbn__damage_dealt_to_units = value;
            }
            public bool ShouldSerializedamage_dealt_to_units() => __pbn__damage_dealt_to_units != null;
            public void Resetdamage_dealt_to_units() => __pbn__damage_dealt_to_units = null;
            private uint? __pbn__damage_dealt_to_units;

            [global::ProtoBuf.ProtoMember(18)]
            public uint victory_level
            {
                get => __pbn__victory_level.GetValueOrDefault();
                set => __pbn__victory_level = value;
            }
            public bool ShouldSerializevictory_level() => __pbn__victory_level != null;
            public void Resetvictory_level() => __pbn__victory_level = null;
            private uint? __pbn__victory_level;

            [global::ProtoBuf.ProtoMember(19)]
            public uint damage_dealt_to_player
            {
                get => __pbn__damage_dealt_to_player.GetValueOrDefault();
                set => __pbn__damage_dealt_to_player = value;
            }
            public bool ShouldSerializedamage_dealt_to_player() => __pbn__damage_dealt_to_player != null;
            public void Resetdamage_dealt_to_player() => __pbn__damage_dealt_to_player = null;
            private uint? __pbn__damage_dealt_to_player;

            [global::ProtoBuf.ProtoMember(20)]
            public uint enemy_underlord
            {
                get => __pbn__enemy_underlord.GetValueOrDefault();
                set => __pbn__enemy_underlord = value;
            }
            public bool ShouldSerializeenemy_underlord() => __pbn__enemy_underlord != null;
            public void Resetenemy_underlord() => __pbn__enemy_underlord = null;
            private uint? __pbn__enemy_underlord;

            [global::ProtoBuf.ProtoMember(21)]
            public global::System.Collections.Generic.List<uint> underlord_selected_talents { get; } = new global::System.Collections.Generic.List<uint>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Challenge : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint slot_id
            {
                get => __pbn__slot_id.GetValueOrDefault();
                set => __pbn__slot_id = value;
            }
            public bool ShouldSerializeslot_id() => __pbn__slot_id != null;
            public void Resetslot_id() => __pbn__slot_id = null;
            private uint? __pbn__slot_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint sequence_id
            {
                get => __pbn__sequence_id.GetValueOrDefault();
                set => __pbn__sequence_id = value;
            }
            public bool ShouldSerializesequence_id() => __pbn__sequence_id != null;
            public void Resetsequence_id() => __pbn__sequence_id = null;
            private uint? __pbn__sequence_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint progress
            {
                get => __pbn__progress.GetValueOrDefault();
                set => __pbn__progress = value;
            }
            public bool ShouldSerializeprogress() => __pbn__progress != null;
            public void Resetprogress() => __pbn__progress = null;
            private uint? __pbn__progress;

            [global::ProtoBuf.ProtoMember(4)]
            public uint initial_progress
            {
                get => __pbn__initial_progress.GetValueOrDefault();
                set => __pbn__initial_progress = value;
            }
            public bool ShouldSerializeinitial_progress() => __pbn__initial_progress != null;
            public void Resetinitial_progress() => __pbn__initial_progress = null;
            private uint? __pbn__initial_progress;

            [global::ProtoBuf.ProtoMember(5)]
            public uint claimed
            {
                get => __pbn__claimed.GetValueOrDefault();
                set => __pbn__claimed = value;
            }
            public bool ShouldSerializeclaimed() => __pbn__claimed != null;
            public void Resetclaimed() => __pbn__claimed = null;
            private uint? __pbn__claimed;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Currency : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint currency_id
            {
                get => __pbn__currency_id.GetValueOrDefault();
                set => __pbn__currency_id = value;
            }
            public bool ShouldSerializecurrency_id() => __pbn__currency_id != null;
            public void Resetcurrency_id() => __pbn__currency_id = null;
            private uint? __pbn__currency_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint initial_amount
            {
                get => __pbn__initial_amount.GetValueOrDefault();
                set => __pbn__initial_amount = value;
            }
            public bool ShouldSerializeinitial_amount() => __pbn__initial_amount != null;
            public void Resetinitial_amount() => __pbn__initial_amount = null;
            private uint? __pbn__initial_amount;

            [global::ProtoBuf.ProtoMember(3)]
            public uint amount_gained
            {
                get => __pbn__amount_gained.GetValueOrDefault();
                set => __pbn__amount_gained = value;
            }
            public bool ShouldSerializeamount_gained() => __pbn__amount_gained != null;
            public void Resetamount_gained() => __pbn__amount_gained = null;
            private uint? __pbn__amount_gained;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Event : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint event_id
            {
                get => __pbn__event_id.GetValueOrDefault();
                set => __pbn__event_id = value;
            }
            public bool ShouldSerializeevent_id() => __pbn__event_id != null;
            public void Resetevent_id() => __pbn__event_id = null;
            private uint? __pbn__event_id;

            [global::ProtoBuf.ProtoMember(2)]
            public bool event_owned
            {
                get => __pbn__event_owned.GetValueOrDefault();
                set => __pbn__event_owned = value;
            }
            public bool ShouldSerializeevent_owned() => __pbn__event_owned != null;
            public void Resetevent_owned() => __pbn__event_owned = null;
            private bool? __pbn__event_owned;

            [global::ProtoBuf.ProtoMember(3)]
            public uint event_tier
            {
                get => __pbn__event_tier.GetValueOrDefault();
                set => __pbn__event_tier = value;
            }
            public bool ShouldSerializeevent_tier() => __pbn__event_tier != null;
            public void Resetevent_tier() => __pbn__event_tier = null;
            private uint? __pbn__event_tier;

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<CMsgIndividualPostMatchStats.Challenge> challenges { get; } = new global::System.Collections.Generic.List<CMsgIndividualPostMatchStats.Challenge>();

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<CMsgIndividualPostMatchStats.Currency> currencies { get; } = new global::System.Collections.Generic.List<CMsgIndividualPostMatchStats.Currency>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class RankUpdate : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint initial_level_score
            {
                get => __pbn__initial_level_score.GetValueOrDefault();
                set => __pbn__initial_level_score = value;
            }
            public bool ShouldSerializeinitial_level_score() => __pbn__initial_level_score != null;
            public void Resetinitial_level_score() => __pbn__initial_level_score = null;
            private uint? __pbn__initial_level_score;

            [global::ProtoBuf.ProtoMember(2)]
            public uint initial_level
            {
                get => __pbn__initial_level.GetValueOrDefault();
                set => __pbn__initial_level = value;
            }
            public bool ShouldSerializeinitial_level() => __pbn__initial_level != null;
            public void Resetinitial_level() => __pbn__initial_level = null;
            private uint? __pbn__initial_level;

            [global::ProtoBuf.ProtoMember(3)]
            public float initial_level_partial_progress
            {
                get => __pbn__initial_level_partial_progress.GetValueOrDefault();
                set => __pbn__initial_level_partial_progress = value;
            }
            public bool ShouldSerializeinitial_level_partial_progress() => __pbn__initial_level_partial_progress != null;
            public void Resetinitial_level_partial_progress() => __pbn__initial_level_partial_progress = null;
            private float? __pbn__initial_level_partial_progress;

            [global::ProtoBuf.ProtoMember(4)]
            public uint final_level_score
            {
                get => __pbn__final_level_score.GetValueOrDefault();
                set => __pbn__final_level_score = value;
            }
            public bool ShouldSerializefinal_level_score() => __pbn__final_level_score != null;
            public void Resetfinal_level_score() => __pbn__final_level_score = null;
            private uint? __pbn__final_level_score;

            [global::ProtoBuf.ProtoMember(5)]
            public uint final_level
            {
                get => __pbn__final_level.GetValueOrDefault();
                set => __pbn__final_level = value;
            }
            public bool ShouldSerializefinal_level() => __pbn__final_level != null;
            public void Resetfinal_level() => __pbn__final_level = null;
            private uint? __pbn__final_level;

            [global::ProtoBuf.ProtoMember(6)]
            public float final_level_partial_progress
            {
                get => __pbn__final_level_partial_progress.GetValueOrDefault();
                set => __pbn__final_level_partial_progress = value;
            }
            public bool ShouldSerializefinal_level_partial_progress() => __pbn__final_level_partial_progress != null;
            public void Resetfinal_level_partial_progress() => __pbn__final_level_partial_progress = null;
            private float? __pbn__final_level_partial_progress;

            [global::ProtoBuf.ProtoMember(7)]
            public uint initial_leaderboard_place
            {
                get => __pbn__initial_leaderboard_place.GetValueOrDefault();
                set => __pbn__initial_leaderboard_place = value;
            }
            public bool ShouldSerializeinitial_leaderboard_place() => __pbn__initial_leaderboard_place != null;
            public void Resetinitial_leaderboard_place() => __pbn__initial_leaderboard_place = null;
            private uint? __pbn__initial_leaderboard_place;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerPreferences : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool auto_deploy_units
        {
            get => __pbn__auto_deploy_units.GetValueOrDefault();
            set => __pbn__auto_deploy_units = value;
        }
        public bool ShouldSerializeauto_deploy_units() => __pbn__auto_deploy_units != null;
        public void Resetauto_deploy_units() => __pbn__auto_deploy_units = null;
        private bool? __pbn__auto_deploy_units;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPrivatePlayerState : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public uint player_slot { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public int unclaimed_reward_count
        {
            get => __pbn__unclaimed_reward_count.GetValueOrDefault();
            set => __pbn__unclaimed_reward_count = value;
        }
        public bool ShouldSerializeunclaimed_reward_count() => __pbn__unclaimed_reward_count != null;
        public void Resetunclaimed_reward_count() => __pbn__unclaimed_reward_count = null;
        private int? __pbn__unclaimed_reward_count;

        [global::ProtoBuf.ProtoMember(3)]
        public ItemChoiceReward oldest_unclaimed_reward { get; set; }

        [global::ProtoBuf.ProtoMember(4)]
        public bool shop_locked
        {
            get => __pbn__shop_locked.GetValueOrDefault();
            set => __pbn__shop_locked = value;
        }
        public bool ShouldSerializeshop_locked() => __pbn__shop_locked != null;
        public void Resetshop_locked() => __pbn__shop_locked = null;
        private bool? __pbn__shop_locked;

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<CMsgShopItem> shop_units { get; } = new global::System.Collections.Generic.List<CMsgShopItem>();

        [global::ProtoBuf.ProtoMember(6)]
        public uint gold_earned_this_round
        {
            get => __pbn__gold_earned_this_round.GetValueOrDefault();
            set => __pbn__gold_earned_this_round = value;
        }
        public bool ShouldSerializegold_earned_this_round() => __pbn__gold_earned_this_round != null;
        public void Resetgold_earned_this_round() => __pbn__gold_earned_this_round = null;
        private uint? __pbn__gold_earned_this_round;

        [global::ProtoBuf.ProtoMember(7)]
        public uint shop_generation_id
        {
            get => __pbn__shop_generation_id.GetValueOrDefault();
            set => __pbn__shop_generation_id = value;
        }
        public bool ShouldSerializeshop_generation_id() => __pbn__shop_generation_id != null;
        public void Resetshop_generation_id() => __pbn__shop_generation_id = null;
        private uint? __pbn__shop_generation_id;

        [global::ProtoBuf.ProtoMember(8)]
        public global::System.Collections.Generic.List<Challenge> challenges { get; } = new global::System.Collections.Generic.List<Challenge>();

        [global::ProtoBuf.ProtoMember(9)]
        [global::System.ComponentModel.DefaultValue(EGrantRewards.EGrantRewards_No)]
        public EGrantRewards grants_rewards
        {
            get => __pbn__grants_rewards ?? EGrantRewards.EGrantRewards_No;
            set => __pbn__grants_rewards = value;
        }
        public bool ShouldSerializegrants_rewards() => __pbn__grants_rewards != null;
        public void Resetgrants_rewards() => __pbn__grants_rewards = null;
        private EGrantRewards? __pbn__grants_rewards;

        [global::ProtoBuf.ProtoMember(10)]
        public uint sequence_number
        {
            get => __pbn__sequence_number.GetValueOrDefault();
            set => __pbn__sequence_number = value;
        }
        public bool ShouldSerializesequence_number() => __pbn__sequence_number != null;
        public void Resetsequence_number() => __pbn__sequence_number = null;
        private uint? __pbn__sequence_number;

        [global::ProtoBuf.ProtoMember(11)]
        public int reroll_cost
        {
            get => __pbn__reroll_cost.GetValueOrDefault();
            set => __pbn__reroll_cost = value;
        }
        public bool ShouldSerializereroll_cost() => __pbn__reroll_cost != null;
        public void Resetreroll_cost() => __pbn__reroll_cost = null;
        private int? __pbn__reroll_cost;

        [global::ProtoBuf.ProtoMember(20)]
        public bool used_turbo_bucket_reroll
        {
            get => __pbn__used_turbo_bucket_reroll.GetValueOrDefault();
            set => __pbn__used_turbo_bucket_reroll = value;
        }
        public bool ShouldSerializeused_turbo_bucket_reroll() => __pbn__used_turbo_bucket_reroll != null;
        public void Resetused_turbo_bucket_reroll() => __pbn__used_turbo_bucket_reroll = null;
        private bool? __pbn__used_turbo_bucket_reroll;

        [global::ProtoBuf.ProtoMember(21)]
        public global::System.Collections.Generic.List<CMsgTurboBucket> turbo_buckets { get; } = new global::System.Collections.Generic.List<CMsgTurboBucket>();

        [global::ProtoBuf.ProtoMember(22)]
        public bool can_select_underlord
        {
            get => __pbn__can_select_underlord.GetValueOrDefault();
            set => __pbn__can_select_underlord = value;
        }
        public bool ShouldSerializecan_select_underlord() => __pbn__can_select_underlord != null;
        public void Resetcan_select_underlord() => __pbn__can_select_underlord = null;
        private bool? __pbn__can_select_underlord;

        [global::ProtoBuf.ProtoMember(23)]
        public global::System.Collections.Generic.List<CMsgUnderlordPickerOffering> underlord_picker_offering { get; } = new global::System.Collections.Generic.List<CMsgUnderlordPickerOffering>();

        [global::ProtoBuf.ProtoMember(24)]
        public bool used_item_reward_reroll_this_round
        {
            get => __pbn__used_item_reward_reroll_this_round.GetValueOrDefault();
            set => __pbn__used_item_reward_reroll_this_round = value;
        }
        public bool ShouldSerializeused_item_reward_reroll_this_round() => __pbn__used_item_reward_reroll_this_round != null;
        public void Resetused_item_reward_reroll_this_round() => __pbn__used_item_reward_reroll_this_round = null;
        private bool? __pbn__used_item_reward_reroll_this_round;

        [global::ProtoBuf.ProtoContract()]
        public partial class ItemChoiceReward : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
            public int reward_id { get; set; }

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<Choice> choices { get; } = new global::System.Collections.Generic.List<Choice>();

            [global::ProtoBuf.ProtoContract()]
            public partial class Choice : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
                public uint item_id { get; set; }

                [global::ProtoBuf.ProtoMember(2)]
                public bool available
                {
                    get => __pbn__available.GetValueOrDefault();
                    set => __pbn__available = value;
                }
                public bool ShouldSerializeavailable() => __pbn__available != null;
                public void Resetavailable() => __pbn__available = null;
                private bool? __pbn__available;

            }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Challenge : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint slot_id
            {
                get => __pbn__slot_id.GetValueOrDefault();
                set => __pbn__slot_id = value;
            }
            public bool ShouldSerializeslot_id() => __pbn__slot_id != null;
            public void Resetslot_id() => __pbn__slot_id = null;
            private uint? __pbn__slot_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint sequence_id
            {
                get => __pbn__sequence_id.GetValueOrDefault();
                set => __pbn__sequence_id = value;
            }
            public bool ShouldSerializesequence_id() => __pbn__sequence_id != null;
            public void Resetsequence_id() => __pbn__sequence_id = null;
            private uint? __pbn__sequence_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint progress
            {
                get => __pbn__progress.GetValueOrDefault();
                set => __pbn__progress = value;
            }
            public bool ShouldSerializeprogress() => __pbn__progress != null;
            public void Resetprogress() => __pbn__progress = null;
            private uint? __pbn__progress;

            [global::ProtoBuf.ProtoMember(4)]
            public uint initial_progress
            {
                get => __pbn__initial_progress.GetValueOrDefault();
                set => __pbn__initial_progress = value;
            }
            public bool ShouldSerializeinitial_progress() => __pbn__initial_progress != null;
            public void Resetinitial_progress() => __pbn__initial_progress = null;
            private uint? __pbn__initial_progress;

            [global::ProtoBuf.ProtoMember(5)]
            public uint claimed
            {
                get => __pbn__claimed.GetValueOrDefault();
                set => __pbn__claimed = value;
            }
            public bool ShouldSerializeclaimed() => __pbn__claimed != null;
            public void Resetclaimed() => __pbn__claimed = null;
            private uint? __pbn__claimed;

        }

        [global::ProtoBuf.ProtoContract()]
        public enum EGrantRewards
        {
            EGrantRewards_No = 0,
            EGrantRewards_Yes = 1,
            EGrantRewards_NoLongerEligible = 2,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgMatchState : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EGameState.EGameState_Intro)]
        public EGameState game_state
        {
            get => __pbn__game_state ?? EGameState.EGameState_Intro;
            set => __pbn__game_state = value;
        }
        public bool ShouldSerializegame_state() => __pbn__game_state != null;
        public void Resetgame_state() => __pbn__game_state = null;
        private EGameState? __pbn__game_state;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(ERoundState.ERoundState_Preparing)]
        public ERoundState round_state
        {
            get => __pbn__round_state ?? ERoundState.ERoundState_Preparing;
            set => __pbn__round_state = value;
        }
        public bool ShouldSerializeround_state() => __pbn__round_state != null;
        public void Resetround_state() => __pbn__round_state = null;
        private ERoundState? __pbn__round_state;

        [global::ProtoBuf.ProtoMember(3)]
        public int round_number
        {
            get => __pbn__round_number.GetValueOrDefault();
            set => __pbn__round_number = value;
        }
        public bool ShouldSerializeround_number() => __pbn__round_number != null;
        public void Resetround_number() => __pbn__round_number = null;
        private int? __pbn__round_number;

        [global::ProtoBuf.ProtoMember(4)]
        public float state_change_time
        {
            get => __pbn__state_change_time.GetValueOrDefault();
            set => __pbn__state_change_time = value;
        }
        public bool ShouldSerializestate_change_time() => __pbn__state_change_time != null;
        public void Resetstate_change_time() => __pbn__state_change_time = null;
        private float? __pbn__state_change_time;

        [global::ProtoBuf.ProtoMember(5)]
        public float state_duration
        {
            get => __pbn__state_duration.GetValueOrDefault();
            set => __pbn__state_duration = value;
        }
        public bool ShouldSerializestate_duration() => __pbn__state_duration != null;
        public void Resetstate_duration() => __pbn__state_duration = null;
        private float? __pbn__state_duration;

        [global::ProtoBuf.ProtoMember(6)]
        public float paused_state_time_remaining
        {
            get => __pbn__paused_state_time_remaining.GetValueOrDefault();
            set => __pbn__paused_state_time_remaining = value;
        }
        public bool ShouldSerializepaused_state_time_remaining() => __pbn__paused_state_time_remaining != null;
        public void Resetpaused_state_time_remaining() => __pbn__paused_state_time_remaining = null;
        private float? __pbn__paused_state_time_remaining;

        [global::ProtoBuf.ProtoMember(8)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(9)]
        public CMsgGameModifiers game_modifiers { get; set; }

        [global::ProtoBuf.ProtoMember(10)]
        public global::System.Collections.Generic.List<TeamInfo> team_info { get; } = new global::System.Collections.Generic.List<TeamInfo>();

        [global::ProtoBuf.ProtoMember(11)]
        [global::System.ComponentModel.DefaultValue("")]
        public string feature_controls
        {
            get => __pbn__feature_controls ?? "";
            set => __pbn__feature_controls = value;
        }
        public bool ShouldSerializefeature_controls() => __pbn__feature_controls != null;
        public void Resetfeature_controls() => __pbn__feature_controls = null;
        private string __pbn__feature_controls;

        [global::ProtoBuf.ProtoContract()]
        public partial class TeamInfo : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(EDACLobbyTeam.k_EDACLobbyTeam_Team0)]
            public EDACLobbyTeam lobby_team
            {
                get => __pbn__lobby_team ?? EDACLobbyTeam.k_EDACLobbyTeam_Team0;
                set => __pbn__lobby_team = value;
            }
            public bool ShouldSerializelobby_team() => __pbn__lobby_team != null;
            public void Resetlobby_team() => __pbn__lobby_team = null;
            private EDACLobbyTeam? __pbn__lobby_team;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string team_name
            {
                get => __pbn__team_name ?? "";
                set => __pbn__team_name = value;
            }
            public bool ShouldSerializeteam_name() => __pbn__team_name != null;
            public void Resetteam_name() => __pbn__team_name = null;
            private string __pbn__team_name;

            [global::ProtoBuf.ProtoMember(3)]
            public uint team_mmr_level
            {
                get => __pbn__team_mmr_level.GetValueOrDefault();
                set => __pbn__team_mmr_level = value;
            }
            public bool ShouldSerializeteam_mmr_level() => __pbn__team_mmr_level != null;
            public void Resetteam_mmr_level() => __pbn__team_mmr_level = null;
            private uint? __pbn__team_mmr_level;

            [global::ProtoBuf.ProtoMember(4)]
            public uint team_leaderboard_place
            {
                get => __pbn__team_leaderboard_place.GetValueOrDefault();
                set => __pbn__team_leaderboard_place = value;
            }
            public bool ShouldSerializeteam_leaderboard_place() => __pbn__team_leaderboard_place != null;
            public void Resetteam_leaderboard_place() => __pbn__team_leaderboard_place = null;
            private uint? __pbn__team_leaderboard_place;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameModeState_Normal : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameModeState_Turbo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgGameModeState_Normal base_normal { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDuos_TeamCombatResult : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint player_slot
        {
            get => __pbn__player_slot.GetValueOrDefault();
            set => __pbn__player_slot = value;
        }
        public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
        public void Resetplayer_slot() => __pbn__player_slot = null;
        private uint? __pbn__player_slot;

        [global::ProtoBuf.ProtoMember(2)]
        public uint opponent_slot
        {
            get => __pbn__opponent_slot.GetValueOrDefault();
            set => __pbn__opponent_slot = value;
        }
        public bool ShouldSerializeopponent_slot() => __pbn__opponent_slot != null;
        public void Resetopponent_slot() => __pbn__opponent_slot = null;
        private uint? __pbn__opponent_slot;

        [global::ProtoBuf.ProtoMember(3)]
        public int damage_result
        {
            get => __pbn__damage_result.GetValueOrDefault();
            set => __pbn__damage_result = value;
        }
        public bool ShouldSerializedamage_result() => __pbn__damage_result != null;
        public void Resetdamage_result() => __pbn__damage_result = null;
        private int? __pbn__damage_result;

        [global::ProtoBuf.ProtoMember(4)]
        public uint teammate_slot
        {
            get => __pbn__teammate_slot.GetValueOrDefault();
            set => __pbn__teammate_slot = value;
        }
        public bool ShouldSerializeteammate_slot() => __pbn__teammate_slot != null;
        public void Resetteammate_slot() => __pbn__teammate_slot = null;
        private uint? __pbn__teammate_slot;

        [global::ProtoBuf.ProtoMember(5)]
        public uint teammate_opponent_slot
        {
            get => __pbn__teammate_opponent_slot.GetValueOrDefault();
            set => __pbn__teammate_opponent_slot = value;
        }
        public bool ShouldSerializeteammate_opponent_slot() => __pbn__teammate_opponent_slot != null;
        public void Resetteammate_opponent_slot() => __pbn__teammate_opponent_slot = null;
        private uint? __pbn__teammate_opponent_slot;

        [global::ProtoBuf.ProtoMember(6)]
        public int teammate_damage_result
        {
            get => __pbn__teammate_damage_result.GetValueOrDefault();
            set => __pbn__teammate_damage_result = value;
        }
        public bool ShouldSerializeteammate_damage_result() => __pbn__teammate_damage_result != null;
        public void Resetteammate_damage_result() => __pbn__teammate_damage_result = null;
        private int? __pbn__teammate_damage_result;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameModeState_Duos : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgGameModeState_Normal base_normal { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgDuos_TeamCombatResult> combat_results { get; } = new global::System.Collections.Generic.List<CMsgDuos_TeamCombatResult>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameModeState_TechPrototypeA : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int rounds_remaining
        {
            get => __pbn__rounds_remaining.GetValueOrDefault();
            set => __pbn__rounds_remaining = value;
        }
        public bool ShouldSerializerounds_remaining() => __pbn__rounds_remaining != null;
        public void Resetrounds_remaining() => __pbn__rounds_remaining = null;
        private int? __pbn__rounds_remaining;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameModeState_Sandbox : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int opponent_player_slot
        {
            get => __pbn__opponent_player_slot.GetValueOrDefault();
            set => __pbn__opponent_player_slot = value;
        }
        public bool ShouldSerializeopponent_player_slot() => __pbn__opponent_player_slot != null;
        public void Resetopponent_player_slot() => __pbn__opponent_player_slot = null;
        private int? __pbn__opponent_player_slot;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameModeState_Puzzle : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int opponent_player_slot
        {
            get => __pbn__opponent_player_slot.GetValueOrDefault();
            set => __pbn__opponent_player_slot = value;
        }
        public bool ShouldSerializeopponent_player_slot() => __pbn__opponent_player_slot != null;
        public void Resetopponent_player_slot() => __pbn__opponent_player_slot = null;
        private int? __pbn__opponent_player_slot;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<ActiveRule> active_rules { get; } = new global::System.Collections.Generic.List<ActiveRule>();

        [global::ProtoBuf.ProtoMember(3)]
        public bool active_rules_satisfied
        {
            get => __pbn__active_rules_satisfied.GetValueOrDefault();
            set => __pbn__active_rules_satisfied = value;
        }
        public bool ShouldSerializeactive_rules_satisfied() => __pbn__active_rules_satisfied != null;
        public void Resetactive_rules_satisfied() => __pbn__active_rules_satisfied = null;
        private bool? __pbn__active_rules_satisfied;

        [global::ProtoBuf.ProtoMember(4)]
        public int puzzle_id
        {
            get => __pbn__puzzle_id.GetValueOrDefault();
            set => __pbn__puzzle_id = value;
        }
        public bool ShouldSerializepuzzle_id() => __pbn__puzzle_id != null;
        public void Resetpuzzle_id() => __pbn__puzzle_id = null;
        private int? __pbn__puzzle_id;

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<uint> allowed_unit_def_indices { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ActiveRule : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(EDACPuzzleRule.k_EDACPuzzleRule_None)]
            public EDACPuzzleRule rule
            {
                get => __pbn__rule ?? EDACPuzzleRule.k_EDACPuzzleRule_None;
                set => __pbn__rule = value;
            }
            public bool ShouldSerializerule() => __pbn__rule != null;
            public void Resetrule() => __pbn__rule = null;
            private EDACPuzzleRule? __pbn__rule;

            [global::ProtoBuf.ProtoMember(2)]
            public bool satisfied
            {
                get => __pbn__satisfied.GetValueOrDefault();
                set => __pbn__satisfied = value;
            }
            public bool ShouldSerializesatisfied() => __pbn__satisfied != null;
            public void Resetsatisfied() => __pbn__satisfied = null;
            private bool? __pbn__satisfied;

            [global::ProtoBuf.ProtoMember(3, IsPacked = true)]
            public global::System.Collections.Generic.List<int> constraints { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(4)]
            public int current_value
            {
                get => __pbn__current_value.GetValueOrDefault();
                set => __pbn__current_value = value;
            }
            public bool ShouldSerializecurrent_value() => __pbn__current_value != null;
            public void Resetcurrent_value() => __pbn__current_value = null;
            private int? __pbn__current_value;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameModeState_Tutorial : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string tutorial_state_name
        {
            get => __pbn__tutorial_state_name ?? "";
            set => __pbn__tutorial_state_name = value;
        }
        public bool ShouldSerializetutorial_state_name() => __pbn__tutorial_state_name != null;
        public void Resettutorial_state_name() => __pbn__tutorial_state_name = null;
        private string __pbn__tutorial_state_name;

        [global::ProtoBuf.ProtoMember(2)]
        public int opponent_player_slot
        {
            get => __pbn__opponent_player_slot.GetValueOrDefault();
            set => __pbn__opponent_player_slot = value;
        }
        public bool ShouldSerializeopponent_player_slot() => __pbn__opponent_player_slot != null;
        public void Resetopponent_player_slot() => __pbn__opponent_player_slot = null;
        private int? __pbn__opponent_player_slot;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameModeState_Streetfight : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint streetfight_id
        {
            get => __pbn__streetfight_id.GetValueOrDefault();
            set => __pbn__streetfight_id = value;
        }
        public bool ShouldSerializestreetfight_id() => __pbn__streetfight_id != null;
        public void Resetstreetfight_id() => __pbn__streetfight_id = null;
        private uint? __pbn__streetfight_id;

        [global::ProtoBuf.ProtoMember(2)]
        public int opponent_player_slot
        {
            get => __pbn__opponent_player_slot.GetValueOrDefault();
            set => __pbn__opponent_player_slot = value;
        }
        public bool ShouldSerializeopponent_player_slot() => __pbn__opponent_player_slot != null;
        public void Resetopponent_player_slot() => __pbn__opponent_player_slot = null;
        private int? __pbn__opponent_player_slot;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class DungeonActionCard : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int card_id
        {
            get => __pbn__card_id.GetValueOrDefault();
            set => __pbn__card_id = value;
        }
        public bool ShouldSerializecard_id() => __pbn__card_id != null;
        public void Resetcard_id() => __pbn__card_id = null;
        private int? __pbn__card_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameModeState_Dungeon : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EDACDungeonPhase.k_EDACDungeonPhase_None)]
        public EDACDungeonPhase dungeon_phase
        {
            get => __pbn__dungeon_phase ?? EDACDungeonPhase.k_EDACDungeonPhase_None;
            set => __pbn__dungeon_phase = value;
        }
        public bool ShouldSerializedungeon_phase() => __pbn__dungeon_phase != null;
        public void Resetdungeon_phase() => __pbn__dungeon_phase = null;
        private EDACDungeonPhase? __pbn__dungeon_phase;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EDACDungeonRoomType.k_EDACDungeonRoomType_None)]
        public EDACDungeonRoomType current_room_type
        {
            get => __pbn__current_room_type ?? EDACDungeonRoomType.k_EDACDungeonRoomType_None;
            set => __pbn__current_room_type = value;
        }
        public bool ShouldSerializecurrent_room_type() => __pbn__current_room_type != null;
        public void Resetcurrent_room_type() => __pbn__current_room_type = null;
        private EDACDungeonRoomType? __pbn__current_room_type;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<EDACDungeonRoomType> next_room_types { get; } = new global::System.Collections.Generic.List<EDACDungeonRoomType>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<DungeonActionCard> available_cards { get; } = new global::System.Collections.Generic.List<DungeonActionCard>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameModeState : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgGameModeState_Normal details_normal
        {
            get => __pbn__details.Is(1) ? ((CMsgGameModeState_Normal)__pbn__details.Object) : default(CMsgGameModeState_Normal);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(1, value);
        }
        public bool ShouldSerializedetails_normal() => __pbn__details.Is(1);
        public void Resetdetails_normal() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 1);

        private global::ProtoBuf.DiscriminatedUnionObject __pbn__details;

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgGameModeState_Turbo details_turbo
        {
            get => __pbn__details.Is(2) ? ((CMsgGameModeState_Turbo)__pbn__details.Object) : default(CMsgGameModeState_Turbo);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(2, value);
        }
        public bool ShouldSerializedetails_turbo() => __pbn__details.Is(2);
        public void Resetdetails_turbo() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 2);

        [global::ProtoBuf.ProtoMember(3)]
        public CMsgGameModeState_Duos details_duos
        {
            get => __pbn__details.Is(3) ? ((CMsgGameModeState_Duos)__pbn__details.Object) : default(CMsgGameModeState_Duos);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(3, value);
        }
        public bool ShouldSerializedetails_duos() => __pbn__details.Is(3);
        public void Resetdetails_duos() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 3);

        [global::ProtoBuf.ProtoMember(4)]
        public CMsgGameModeState_TechPrototypeA details_tech_prototype_a
        {
            get => __pbn__details.Is(4) ? ((CMsgGameModeState_TechPrototypeA)__pbn__details.Object) : default(CMsgGameModeState_TechPrototypeA);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(4, value);
        }
        public bool ShouldSerializedetails_tech_prototype_a() => __pbn__details.Is(4);
        public void Resetdetails_tech_prototype_a() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 4);

        [global::ProtoBuf.ProtoMember(5)]
        public CMsgGameModeState_Sandbox details_sandbox
        {
            get => __pbn__details.Is(5) ? ((CMsgGameModeState_Sandbox)__pbn__details.Object) : default(CMsgGameModeState_Sandbox);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(5, value);
        }
        public bool ShouldSerializedetails_sandbox() => __pbn__details.Is(5);
        public void Resetdetails_sandbox() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 5);

        [global::ProtoBuf.ProtoMember(6)]
        public CMsgGameModeState_Puzzle details_puzzle
        {
            get => __pbn__details.Is(6) ? ((CMsgGameModeState_Puzzle)__pbn__details.Object) : default(CMsgGameModeState_Puzzle);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(6, value);
        }
        public bool ShouldSerializedetails_puzzle() => __pbn__details.Is(6);
        public void Resetdetails_puzzle() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 6);

        [global::ProtoBuf.ProtoMember(7)]
        public CMsgGameModeState_Tutorial details_tutorial
        {
            get => __pbn__details.Is(7) ? ((CMsgGameModeState_Tutorial)__pbn__details.Object) : default(CMsgGameModeState_Tutorial);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(7, value);
        }
        public bool ShouldSerializedetails_tutorial() => __pbn__details.Is(7);
        public void Resetdetails_tutorial() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 7);

        [global::ProtoBuf.ProtoMember(8)]
        public CMsgGameModeState_Streetfight details_streetfight
        {
            get => __pbn__details.Is(8) ? ((CMsgGameModeState_Streetfight)__pbn__details.Object) : default(CMsgGameModeState_Streetfight);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(8, value);
        }
        public bool ShouldSerializedetails_streetfight() => __pbn__details.Is(8);
        public void Resetdetails_streetfight() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 8);

        [global::ProtoBuf.ProtoMember(9)]
        public CMsgGameModeState_Dungeon details_dungeon
        {
            get => __pbn__details.Is(9) ? ((CMsgGameModeState_Dungeon)__pbn__details.Object) : default(CMsgGameModeState_Dungeon);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(9, value);
        }
        public bool ShouldSerializedetails_dungeon() => __pbn__details.Is(9);
        public void Resetdetails_dungeon() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 9);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgUnitPosition : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public float x { get; set; }

        [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
        public float y { get; set; }

        [global::ProtoBuf.ProtoMember(3, IsRequired = true)]
        public float z { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgUnitPositionAndFacing : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public float x { get; set; }

        [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
        public float y { get; set; }

        [global::ProtoBuf.ProtoMember(3, IsRequired = true)]
        public float z { get; set; }

        [global::ProtoBuf.ProtoMember(4, IsRequired = true)]
        public float yaw { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgUnitAbilityCooldown : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public uint ability_id { get; set; }

        [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
        public float cooldown_ratio { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgUnitSnapshot : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int entindex
        {
            get => __pbn__entindex.GetValueOrDefault();
            set => __pbn__entindex = value;
        }
        public bool ShouldSerializeentindex() => __pbn__entindex != null;
        public void Resetentindex() => __pbn__entindex = null;
        private int? __pbn__entindex;

        [global::ProtoBuf.ProtoMember(2)]
        public int unit_id
        {
            get => __pbn__unit_id.GetValueOrDefault();
            set => __pbn__unit_id = value;
        }
        public bool ShouldSerializeunit_id() => __pbn__unit_id != null;
        public void Resetunit_id() => __pbn__unit_id = null;
        private int? __pbn__unit_id;

        [global::ProtoBuf.ProtoMember(3)]
        public int team_number
        {
            get => __pbn__team_number.GetValueOrDefault();
            set => __pbn__team_number = value;
        }
        public bool ShouldSerializeteam_number() => __pbn__team_number != null;
        public void Resetteam_number() => __pbn__team_number = null;
        private int? __pbn__team_number;

        [global::ProtoBuf.ProtoMember(4)]
        public CMsgUnitPositionAndFacing position { get; set; }

        [global::ProtoBuf.ProtoMember(5)]
        public int health
        {
            get => __pbn__health.GetValueOrDefault();
            set => __pbn__health = value;
        }
        public bool ShouldSerializehealth() => __pbn__health != null;
        public void Resethealth() => __pbn__health = null;
        private int? __pbn__health;

        [global::ProtoBuf.ProtoMember(6)]
        public int mana
        {
            get => __pbn__mana.GetValueOrDefault();
            set => __pbn__mana = value;
        }
        public bool ShouldSerializemana() => __pbn__mana != null;
        public void Resetmana() => __pbn__mana = null;
        private int? __pbn__mana;

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<string> particle_attachment_names { get; } = new global::System.Collections.Generic.List<string>();

        [global::ProtoBuf.ProtoMember(8)]
        public int rank
        {
            get => __pbn__rank.GetValueOrDefault();
            set => __pbn__rank = value;
        }
        public bool ShouldSerializerank() => __pbn__rank != null;
        public void Resetrank() => __pbn__rank = null;
        private int? __pbn__rank;

        [global::ProtoBuf.ProtoMember(9)]
        [global::System.ComponentModel.DefaultValue(EUnitAIState.EUnitAIState_Idle)]
        public EUnitAIState ai_state
        {
            get => __pbn__ai_state ?? EUnitAIState.EUnitAIState_Idle;
            set => __pbn__ai_state = value;
        }
        public bool ShouldSerializeai_state() => __pbn__ai_state != null;
        public void Resetai_state() => __pbn__ai_state = null;
        private EUnitAIState? __pbn__ai_state;

        [global::ProtoBuf.ProtoMember(10)]
        public float cooldown_ratio
        {
            get => __pbn__cooldown_ratio.GetValueOrDefault();
            set => __pbn__cooldown_ratio = value;
        }
        public bool ShouldSerializecooldown_ratio() => __pbn__cooldown_ratio != null;
        public void Resetcooldown_ratio() => __pbn__cooldown_ratio = null;
        private float? __pbn__cooldown_ratio;

        [global::ProtoBuf.ProtoMember(12)]
        public uint kill_count
        {
            get => __pbn__kill_count.GetValueOrDefault();
            set => __pbn__kill_count = value;
        }
        public bool ShouldSerializekill_count() => __pbn__kill_count != null;
        public void Resetkill_count() => __pbn__kill_count = null;
        private uint? __pbn__kill_count;

        [global::ProtoBuf.ProtoMember(13)]
        public uint kill_streak
        {
            get => __pbn__kill_streak.GetValueOrDefault();
            set => __pbn__kill_streak = value;
        }
        public bool ShouldSerializekill_streak() => __pbn__kill_streak != null;
        public void Resetkill_streak() => __pbn__kill_streak = null;
        private uint? __pbn__kill_streak;

        [global::ProtoBuf.ProtoMember(14)]
        public int max_health
        {
            get => __pbn__max_health.GetValueOrDefault();
            set => __pbn__max_health = value;
        }
        public bool ShouldSerializemax_health() => __pbn__max_health != null;
        public void Resetmax_health() => __pbn__max_health = null;
        private int? __pbn__max_health;

        [global::ProtoBuf.ProtoMember(15)]
        public global::System.Collections.Generic.List<EUnitKeyword> keywords { get; } = new global::System.Collections.Generic.List<EUnitKeyword>();

        [global::ProtoBuf.ProtoMember(16)]
        public CMsgUnitPositionAndFacing starting_position { get; set; }

        [global::ProtoBuf.ProtoMember(17)]
        public bool is_summoned
        {
            get => __pbn__is_summoned.GetValueOrDefault();
            set => __pbn__is_summoned = value;
        }
        public bool ShouldSerializeis_summoned() => __pbn__is_summoned != null;
        public void Resetis_summoned() => __pbn__is_summoned = null;
        private bool? __pbn__is_summoned;

        [global::ProtoBuf.ProtoMember(18)]
        public int summon_owner_entindex
        {
            get => __pbn__summon_owner_entindex.GetValueOrDefault();
            set => __pbn__summon_owner_entindex = value;
        }
        public bool ShouldSerializesummon_owner_entindex() => __pbn__summon_owner_entindex != null;
        public void Resetsummon_owner_entindex() => __pbn__summon_owner_entindex = null;
        private int? __pbn__summon_owner_entindex;

        [global::ProtoBuf.ProtoMember(19)]
        public uint duel_bonus_damage
        {
            get => __pbn__duel_bonus_damage.GetValueOrDefault();
            set => __pbn__duel_bonus_damage = value;
        }
        public bool ShouldSerializeduel_bonus_damage() => __pbn__duel_bonus_damage != null;
        public void Resetduel_bonus_damage() => __pbn__duel_bonus_damage = null;
        private uint? __pbn__duel_bonus_damage;

        [global::ProtoBuf.ProtoMember(20)]
        public int armor
        {
            get => __pbn__armor.GetValueOrDefault();
            set => __pbn__armor = value;
        }
        public bool ShouldSerializearmor() => __pbn__armor != null;
        public void Resetarmor() => __pbn__armor = null;
        private int? __pbn__armor;

        [global::ProtoBuf.ProtoMember(21)]
        public uint underlord_power
        {
            get => __pbn__underlord_power.GetValueOrDefault();
            set => __pbn__underlord_power = value;
        }
        public bool ShouldSerializeunderlord_power() => __pbn__underlord_power != null;
        public void Resetunderlord_power() => __pbn__underlord_power = null;
        private uint? __pbn__underlord_power;

        [global::ProtoBuf.ProtoMember(22)]
        public uint status_label
        {
            get => __pbn__status_label.GetValueOrDefault();
            set => __pbn__status_label = value;
        }
        public bool ShouldSerializestatus_label() => __pbn__status_label != null;
        public void Resetstatus_label() => __pbn__status_label = null;
        private uint? __pbn__status_label;

        [global::ProtoBuf.ProtoMember(23)]
        public uint status_effect_index
        {
            get => __pbn__status_effect_index.GetValueOrDefault();
            set => __pbn__status_effect_index = value;
        }
        public bool ShouldSerializestatus_effect_index() => __pbn__status_effect_index != null;
        public void Resetstatus_effect_index() => __pbn__status_effect_index = null;
        private uint? __pbn__status_effect_index;

        [global::ProtoBuf.ProtoMember(24)]
        public float attacks_per_second
        {
            get => __pbn__attacks_per_second.GetValueOrDefault();
            set => __pbn__attacks_per_second = value;
        }
        public bool ShouldSerializeattacks_per_second() => __pbn__attacks_per_second != null;
        public void Resetattacks_per_second() => __pbn__attacks_per_second = null;
        private float? __pbn__attacks_per_second;

        [global::ProtoBuf.ProtoMember(25)]
        public int damage_min
        {
            get => __pbn__damage_min.GetValueOrDefault();
            set => __pbn__damage_min = value;
        }
        public bool ShouldSerializedamage_min() => __pbn__damage_min != null;
        public void Resetdamage_min() => __pbn__damage_min = null;
        private int? __pbn__damage_min;

        [global::ProtoBuf.ProtoMember(26)]
        public int damage_max
        {
            get => __pbn__damage_max.GetValueOrDefault();
            set => __pbn__damage_max = value;
        }
        public bool ShouldSerializedamage_max() => __pbn__damage_max != null;
        public void Resetdamage_max() => __pbn__damage_max = null;
        private int? __pbn__damage_max;

        [global::ProtoBuf.ProtoMember(27)]
        public int damage_bonus
        {
            get => __pbn__damage_bonus.GetValueOrDefault();
            set => __pbn__damage_bonus = value;
        }
        public bool ShouldSerializedamage_bonus() => __pbn__damage_bonus != null;
        public void Resetdamage_bonus() => __pbn__damage_bonus = null;
        private int? __pbn__damage_bonus;

        [global::ProtoBuf.ProtoMember(28)]
        public bool full_update
        {
            get => __pbn__full_update.GetValueOrDefault();
            set => __pbn__full_update = value;
        }
        public bool ShouldSerializefull_update() => __pbn__full_update != null;
        public void Resetfull_update() => __pbn__full_update = null;
        private bool? __pbn__full_update;

        [global::ProtoBuf.ProtoMember(29)]
        public global::System.Collections.Generic.List<CMsgUnitAbilityCooldown> ability_cooldowns { get; } = new global::System.Collections.Generic.List<CMsgUnitAbilityCooldown>();

        [global::ProtoBuf.ProtoMember(30)]
        public global::System.Collections.Generic.List<uint> abilities_enabled { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(31)]
        public global::System.Collections.Generic.List<uint> buff_status { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(32)]
        public bool force_big_healthbar
        {
            get => __pbn__force_big_healthbar.GetValueOrDefault();
            set => __pbn__force_big_healthbar = value;
        }
        public bool ShouldSerializeforce_big_healthbar() => __pbn__force_big_healthbar != null;
        public void Resetforce_big_healthbar() => __pbn__force_big_healthbar = null;
        private bool? __pbn__force_big_healthbar;

        [global::ProtoBuf.ProtoMember(33)]
        public uint override_item_slot
        {
            get => __pbn__override_item_slot.GetValueOrDefault();
            set => __pbn__override_item_slot = value;
        }
        public bool ShouldSerializeoverride_item_slot() => __pbn__override_item_slot != null;
        public void Resetoverride_item_slot() => __pbn__override_item_slot = null;
        private uint? __pbn__override_item_slot;

        [global::ProtoBuf.ProtoMember(34)]
        public int range_bonus
        {
            get => __pbn__range_bonus.GetValueOrDefault();
            set => __pbn__range_bonus = value;
        }
        public bool ShouldSerializerange_bonus() => __pbn__range_bonus != null;
        public void Resetrange_bonus() => __pbn__range_bonus = null;
        private int? __pbn__range_bonus;

        [global::ProtoBuf.ProtoMember(35)]
        public bool can_move_to_bench
        {
            get => __pbn__can_move_to_bench.GetValueOrDefault();
            set => __pbn__can_move_to_bench = value;
        }
        public bool ShouldSerializecan_move_to_bench() => __pbn__can_move_to_bench != null;
        public void Resetcan_move_to_bench() => __pbn__can_move_to_bench = null;
        private bool? __pbn__can_move_to_bench;

        [global::ProtoBuf.ProtoMember(36)]
        public bool can_be_sold
        {
            get => __pbn__can_be_sold.GetValueOrDefault();
            set => __pbn__can_be_sold = value;
        }
        public bool ShouldSerializecan_be_sold() => __pbn__can_be_sold != null;
        public void Resetcan_be_sold() => __pbn__can_be_sold = null;
        private bool? __pbn__can_be_sold;

        [global::ProtoBuf.ProtoMember(37)]
        public bool recommended_for_placement
        {
            get => __pbn__recommended_for_placement.GetValueOrDefault();
            set => __pbn__recommended_for_placement = value;
        }
        public bool ShouldSerializerecommended_for_placement() => __pbn__recommended_for_placement != null;
        public void Resetrecommended_for_placement() => __pbn__recommended_for_placement = null;
        private bool? __pbn__recommended_for_placement;

        [global::ProtoBuf.ProtoMember(38)]
        public float float_kill_count
        {
            get => __pbn__float_kill_count.GetValueOrDefault();
            set => __pbn__float_kill_count = value;
        }
        public bool ShouldSerializefloat_kill_count() => __pbn__float_kill_count != null;
        public void Resetfloat_kill_count() => __pbn__float_kill_count = null;
        private float? __pbn__float_kill_count;

        [global::ProtoBuf.ProtoMember(39)]
        public float cooldown_multiplier
        {
            get => __pbn__cooldown_multiplier.GetValueOrDefault();
            set => __pbn__cooldown_multiplier = value;
        }
        public bool ShouldSerializecooldown_multiplier() => __pbn__cooldown_multiplier != null;
        public void Resetcooldown_multiplier() => __pbn__cooldown_multiplier = null;
        private float? __pbn__cooldown_multiplier;

        [global::ProtoBuf.ProtoMember(1001)]
        public bool client_synthesized_for_setup
        {
            get => __pbn__client_synthesized_for_setup.GetValueOrDefault();
            set => __pbn__client_synthesized_for_setup = value;
        }
        public bool ShouldSerializeclient_synthesized_for_setup() => __pbn__client_synthesized_for_setup != null;
        public void Resetclient_synthesized_for_setup() => __pbn__client_synthesized_for_setup = null;
        private bool? __pbn__client_synthesized_for_setup;

        [global::ProtoBuf.ProtoMember(1002)]
        public bool client_is_on_bench
        {
            get => __pbn__client_is_on_bench.GetValueOrDefault();
            set => __pbn__client_is_on_bench = value;
        }
        public bool ShouldSerializeclient_is_on_bench() => __pbn__client_is_on_bench != null;
        public void Resetclient_is_on_bench() => __pbn__client_is_on_bench = null;
        private bool? __pbn__client_is_on_bench;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgUnitMeterDamageDealt : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int total_damage_dealt
        {
            get => __pbn__total_damage_dealt.GetValueOrDefault();
            set => __pbn__total_damage_dealt = value;
        }
        public bool ShouldSerializetotal_damage_dealt() => __pbn__total_damage_dealt != null;
        public void Resettotal_damage_dealt() => __pbn__total_damage_dealt = null;
        private int? __pbn__total_damage_dealt;

        [global::ProtoBuf.ProtoMember(2)]
        public int spell_damage_dealt
        {
            get => __pbn__spell_damage_dealt.GetValueOrDefault();
            set => __pbn__spell_damage_dealt = value;
        }
        public bool ShouldSerializespell_damage_dealt() => __pbn__spell_damage_dealt != null;
        public void Resetspell_damage_dealt() => __pbn__spell_damage_dealt = null;
        private int? __pbn__spell_damage_dealt;

        [global::ProtoBuf.ProtoMember(3)]
        public int attack_damage_dealt
        {
            get => __pbn__attack_damage_dealt.GetValueOrDefault();
            set => __pbn__attack_damage_dealt = value;
        }
        public bool ShouldSerializeattack_damage_dealt() => __pbn__attack_damage_dealt != null;
        public void Resetattack_damage_dealt() => __pbn__attack_damage_dealt = null;
        private int? __pbn__attack_damage_dealt;

        [global::ProtoBuf.ProtoMember(4)]
        public int item_damage_dealt
        {
            get => __pbn__item_damage_dealt.GetValueOrDefault();
            set => __pbn__item_damage_dealt = value;
        }
        public bool ShouldSerializeitem_damage_dealt() => __pbn__item_damage_dealt != null;
        public void Resetitem_damage_dealt() => __pbn__item_damage_dealt = null;
        private int? __pbn__item_damage_dealt;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgUnitMeterDetail : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public int value
        {
            get => __pbn__value.GetValueOrDefault();
            set => __pbn__value = value;
        }
        public bool ShouldSerializevalue() => __pbn__value != null;
        public void Resetvalue() => __pbn__value = null;
        private int? __pbn__value;

        [global::ProtoBuf.ProtoMember(3)]
        public uint id
        {
            get => __pbn__id.GetValueOrDefault();
            set => __pbn__id = value;
        }
        public bool ShouldSerializeid() => __pbn__id != null;
        public void Resetid() => __pbn__id = null;
        private uint? __pbn__id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgUnitMeterDamageTaken : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int total_damage_taken
        {
            get => __pbn__total_damage_taken.GetValueOrDefault();
            set => __pbn__total_damage_taken = value;
        }
        public bool ShouldSerializetotal_damage_taken() => __pbn__total_damage_taken != null;
        public void Resettotal_damage_taken() => __pbn__total_damage_taken = null;
        private int? __pbn__total_damage_taken;

        [global::ProtoBuf.ProtoMember(2)]
        public int physical_damage_taken
        {
            get => __pbn__physical_damage_taken.GetValueOrDefault();
            set => __pbn__physical_damage_taken = value;
        }
        public bool ShouldSerializephysical_damage_taken() => __pbn__physical_damage_taken != null;
        public void Resetphysical_damage_taken() => __pbn__physical_damage_taken = null;
        private int? __pbn__physical_damage_taken;

        [global::ProtoBuf.ProtoMember(3)]
        public int magical_damage_taken
        {
            get => __pbn__magical_damage_taken.GetValueOrDefault();
            set => __pbn__magical_damage_taken = value;
        }
        public bool ShouldSerializemagical_damage_taken() => __pbn__magical_damage_taken != null;
        public void Resetmagical_damage_taken() => __pbn__magical_damage_taken = null;
        private int? __pbn__magical_damage_taken;

        [global::ProtoBuf.ProtoMember(4)]
        public int pure_damage_taken
        {
            get => __pbn__pure_damage_taken.GetValueOrDefault();
            set => __pbn__pure_damage_taken = value;
        }
        public bool ShouldSerializepure_damage_taken() => __pbn__pure_damage_taken != null;
        public void Resetpure_damage_taken() => __pbn__pure_damage_taken = null;
        private int? __pbn__pure_damage_taken;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgUnitMeterSnapshot : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int entindex
        {
            get => __pbn__entindex.GetValueOrDefault();
            set => __pbn__entindex = value;
        }
        public bool ShouldSerializeentindex() => __pbn__entindex != null;
        public void Resetentindex() => __pbn__entindex = null;
        private int? __pbn__entindex;

        [global::ProtoBuf.ProtoMember(2)]
        public int unit_id
        {
            get => __pbn__unit_id.GetValueOrDefault();
            set => __pbn__unit_id = value;
        }
        public bool ShouldSerializeunit_id() => __pbn__unit_id != null;
        public void Resetunit_id() => __pbn__unit_id = null;
        private int? __pbn__unit_id;

        [global::ProtoBuf.ProtoMember(3)]
        public int team_number
        {
            get => __pbn__team_number.GetValueOrDefault();
            set => __pbn__team_number = value;
        }
        public bool ShouldSerializeteam_number() => __pbn__team_number != null;
        public void Resetteam_number() => __pbn__team_number = null;
        private int? __pbn__team_number;

        [global::ProtoBuf.ProtoMember(4)]
        public CMsgUnitMeterDamageDealt damage_dealt { get; set; }

        [global::ProtoBuf.ProtoMember(5)]
        public CMsgUnitMeterDamageTaken damage_taken { get; set; }

        [global::ProtoBuf.ProtoMember(6)]
        public uint healing_done
        {
            get => __pbn__healing_done.GetValueOrDefault();
            set => __pbn__healing_done = value;
        }
        public bool ShouldSerializehealing_done() => __pbn__healing_done != null;
        public void Resethealing_done() => __pbn__healing_done = null;
        private uint? __pbn__healing_done;

        [global::ProtoBuf.ProtoMember(7)]
        public uint kills
        {
            get => __pbn__kills.GetValueOrDefault();
            set => __pbn__kills = value;
        }
        public bool ShouldSerializekills() => __pbn__kills != null;
        public void Resetkills() => __pbn__kills = null;
        private uint? __pbn__kills;

        [global::ProtoBuf.ProtoMember(8)]
        public float time_of_death
        {
            get => __pbn__time_of_death.GetValueOrDefault();
            set => __pbn__time_of_death = value;
        }
        public bool ShouldSerializetime_of_death() => __pbn__time_of_death != null;
        public void Resettime_of_death() => __pbn__time_of_death = null;
        private float? __pbn__time_of_death;

        [global::ProtoBuf.ProtoMember(9)]
        public uint rank
        {
            get => __pbn__rank.GetValueOrDefault();
            set => __pbn__rank = value;
        }
        public bool ShouldSerializerank() => __pbn__rank != null;
        public void Resetrank() => __pbn__rank = null;
        private uint? __pbn__rank;

        [global::ProtoBuf.ProtoMember(10)]
        public int globalindex
        {
            get => __pbn__globalindex.GetValueOrDefault();
            set => __pbn__globalindex = value;
        }
        public bool ShouldSerializeglobalindex() => __pbn__globalindex != null;
        public void Resetglobalindex() => __pbn__globalindex = null;
        private int? __pbn__globalindex;

        [global::ProtoBuf.ProtoMember(11)]
        public global::System.Collections.Generic.List<CMsgUnitMeterDetail> damage_dealt_details { get; } = new global::System.Collections.Generic.List<CMsgUnitMeterDetail>();

        [global::ProtoBuf.ProtoMember(12)]
        public global::System.Collections.Generic.List<CMsgUnitMeterDetail> healing_done_details { get; } = new global::System.Collections.Generic.List<CMsgUnitMeterDetail>();

        [global::ProtoBuf.ProtoMember(13)]
        public float disable_done
        {
            get => __pbn__disable_done.GetValueOrDefault();
            set => __pbn__disable_done = value;
        }
        public bool ShouldSerializedisable_done() => __pbn__disable_done != null;
        public void Resetdisable_done() => __pbn__disable_done = null;
        private float? __pbn__disable_done;

        [global::ProtoBuf.ProtoMember(14)]
        public global::System.Collections.Generic.List<CMsgUnitMeterDetail> damage_taken_details { get; } = new global::System.Collections.Generic.List<CMsgUnitMeterDetail>();

        [global::ProtoBuf.ProtoMember(15)]
        public global::System.Collections.Generic.List<CMsgUnitMeterDetail> kills_details { get; } = new global::System.Collections.Generic.List<CMsgUnitMeterDetail>();

        [global::ProtoBuf.ProtoMember(16)]
        public global::System.Collections.Generic.List<CMsgUnitMeterDetail> disable_done_details { get; } = new global::System.Collections.Generic.List<CMsgUnitMeterDetail>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatMetersSnapshot : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public float snapshot_time { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgUnitMeterSnapshot> units { get; } = new global::System.Collections.Generic.List<CMsgUnitMeterSnapshot>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatDebugSnapshot : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<PathfindingCell> pathfinding_cells { get; } = new global::System.Collections.Generic.List<PathfindingCell>();

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<ActivePath> active_paths { get; } = new global::System.Collections.Generic.List<ActivePath>();

        [global::ProtoBuf.ProtoContract()]
        public partial class PathfindingCell : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
            public bool reserved { get; set; }

            [global::ProtoBuf.ProtoMember(2)]
            public int owner_entindex
            {
                get => __pbn__owner_entindex.GetValueOrDefault();
                set => __pbn__owner_entindex = value;
            }
            public bool ShouldSerializeowner_entindex() => __pbn__owner_entindex != null;
            public void Resetowner_entindex() => __pbn__owner_entindex = null;
            private int? __pbn__owner_entindex;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class ActivePath : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public int owner_entindex
            {
                get => __pbn__owner_entindex.GetValueOrDefault();
                set => __pbn__owner_entindex = value;
            }
            public bool ShouldSerializeowner_entindex() => __pbn__owner_entindex != null;
            public void Resetowner_entindex() => __pbn__owner_entindex = null;
            private int? __pbn__owner_entindex;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CMsgPosition> path_waypoints { get; } = new global::System.Collections.Generic.List<CMsgPosition>();

            [global::ProtoBuf.ProtoMember(3)]
            public int path_waypoint_index
            {
                get => __pbn__path_waypoint_index.GetValueOrDefault();
                set => __pbn__path_waypoint_index = value;
            }
            public bool ShouldSerializepath_waypoint_index() => __pbn__path_waypoint_index != null;
            public void Resetpath_waypoint_index() => __pbn__path_waypoint_index = null;
            private int? __pbn__path_waypoint_index;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatSnapshot : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public float snapshot_time { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgUnitSnapshot> units { get; } = new global::System.Collections.Generic.List<CMsgUnitSnapshot>();

        [global::ProtoBuf.ProtoMember(3)]
        public CMsgCombatDebugSnapshot debug_snapshot { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_Attack : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int attack_projectile_speed
        {
            get => __pbn__attack_projectile_speed.GetValueOrDefault();
            set => __pbn__attack_projectile_speed = value;
        }
        public bool ShouldSerializeattack_projectile_speed() => __pbn__attack_projectile_speed != null;
        public void Resetattack_projectile_speed() => __pbn__attack_projectile_speed = null;
        private int? __pbn__attack_projectile_speed;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_Damage : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint damage_amount
        {
            get => __pbn__damage_amount.GetValueOrDefault();
            set => __pbn__damage_amount = value;
        }
        public bool ShouldSerializedamage_amount() => __pbn__damage_amount != null;
        public void Resetdamage_amount() => __pbn__damage_amount = null;
        private uint? __pbn__damage_amount;

        [global::ProtoBuf.ProtoMember(2)]
        public bool is_critical
        {
            get => __pbn__is_critical.GetValueOrDefault();
            set => __pbn__is_critical = value;
        }
        public bool ShouldSerializeis_critical() => __pbn__is_critical != null;
        public void Resetis_critical() => __pbn__is_critical = null;
        private bool? __pbn__is_critical;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_AttackMissed : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_AttackEvaded : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_AttackBlocked : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint block_amount
        {
            get => __pbn__block_amount.GetValueOrDefault();
            set => __pbn__block_amount = value;
        }
        public bool ShouldSerializeblock_amount() => __pbn__block_amount != null;
        public void Resetblock_amount() => __pbn__block_amount = null;
        private uint? __pbn__block_amount;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_Death : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_StartAttack : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public float attack_speed
        {
            get => __pbn__attack_speed.GetValueOrDefault();
            set => __pbn__attack_speed = value;
        }
        public bool ShouldSerializeattack_speed() => __pbn__attack_speed != null;
        public void Resetattack_speed() => __pbn__attack_speed = null;
        private float? __pbn__attack_speed;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_SoundEvent : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint soundevent_hash
        {
            get => __pbn__soundevent_hash.GetValueOrDefault();
            set => __pbn__soundevent_hash = value;
        }
        public bool ShouldSerializesoundevent_hash() => __pbn__soundevent_hash != null;
        public void Resetsoundevent_hash() => __pbn__soundevent_hash = null;
        private uint? __pbn__soundevent_hash;

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgUnitPosition position { get; set; }

        [global::ProtoBuf.ProtoMember(4)]
        public bool restrict_to_home_team
        {
            get => __pbn__restrict_to_home_team.GetValueOrDefault();
            set => __pbn__restrict_to_home_team = value;
        }
        public bool ShouldSerializerestrict_to_home_team() => __pbn__restrict_to_home_team != null;
        public void Resetrestrict_to_home_team() => __pbn__restrict_to_home_team = null;
        private bool? __pbn__restrict_to_home_team;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_SpeechEvent : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string vcd_name
        {
            get => __pbn__vcd_name ?? "";
            set => __pbn__vcd_name = value;
        }
        public bool ShouldSerializevcd_name() => __pbn__vcd_name != null;
        public void Resetvcd_name() => __pbn__vcd_name = null;
        private string __pbn__vcd_name;

        [global::ProtoBuf.ProtoMember(2)]
        public bool restrict_to_home_team
        {
            get => __pbn__restrict_to_home_team.GetValueOrDefault();
            set => __pbn__restrict_to_home_team = value;
        }
        public bool ShouldSerializerestrict_to_home_team() => __pbn__restrict_to_home_team != null;
        public void Resetrestrict_to_home_team() => __pbn__restrict_to_home_team = null;
        private bool? __pbn__restrict_to_home_team;

        [global::ProtoBuf.ProtoMember(3)]
        public int priority
        {
            get => __pbn__priority.GetValueOrDefault();
            set => __pbn__priority = value;
        }
        public bool ShouldSerializepriority() => __pbn__priority != null;
        public void Resetpriority() => __pbn__priority = null;
        private int? __pbn__priority;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_ModifierCreate : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public uint modifier_entindex { get; set; }

        [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
        public uint modifier_id { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        public float duration
        {
            get => __pbn__duration.GetValueOrDefault();
            set => __pbn__duration = value;
        }
        public bool ShouldSerializeduration() => __pbn__duration != null;
        public void Resetduration() => __pbn__duration = null;
        private float? __pbn__duration;

        [global::ProtoBuf.ProtoMember(4)]
        public int synergy_level
        {
            get => __pbn__synergy_level.GetValueOrDefault();
            set => __pbn__synergy_level = value;
        }
        public bool ShouldSerializesynergy_level() => __pbn__synergy_level != null;
        public void Resetsynergy_level() => __pbn__synergy_level = null;
        private int? __pbn__synergy_level;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_ModifierDestroy : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public uint modifier_entindex { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_StartGesture : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public uint activity { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public float fade_in
        {
            get => __pbn__fade_in.GetValueOrDefault();
            set => __pbn__fade_in = value;
        }
        public bool ShouldSerializefade_in() => __pbn__fade_in != null;
        public void Resetfade_in() => __pbn__fade_in = null;
        private float? __pbn__fade_in;

        [global::ProtoBuf.ProtoMember(3)]
        public float fade_out
        {
            get => __pbn__fade_out.GetValueOrDefault();
            set => __pbn__fade_out = value;
        }
        public bool ShouldSerializefade_out() => __pbn__fade_out != null;
        public void Resetfade_out() => __pbn__fade_out = null;
        private float? __pbn__fade_out;

        [global::ProtoBuf.ProtoMember(4)]
        public int slot
        {
            get => __pbn__slot.GetValueOrDefault();
            set => __pbn__slot = value;
        }
        public bool ShouldSerializeslot() => __pbn__slot != null;
        public void Resetslot() => __pbn__slot = null;
        private int? __pbn__slot;

        [global::ProtoBuf.ProtoMember(5)]
        public float duration
        {
            get => __pbn__duration.GetValueOrDefault();
            set => __pbn__duration = value;
        }
        public bool ShouldSerializeduration() => __pbn__duration != null;
        public void Resetduration() => __pbn__duration = null;
        private float? __pbn__duration;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_StopGesture : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public uint activity { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_CancelAttack : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_CombatEnded : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool ran_out_of_time
        {
            get => __pbn__ran_out_of_time.GetValueOrDefault();
            set => __pbn__ran_out_of_time = value;
        }
        public bool ShouldSerializeran_out_of_time() => __pbn__ran_out_of_time != null;
        public void Resetran_out_of_time() => __pbn__ran_out_of_time = null;
        private bool? __pbn__ran_out_of_time;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_Resurrect : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent_CastAbility : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint ability_id
        {
            get => __pbn__ability_id.GetValueOrDefault();
            set => __pbn__ability_id = value;
        }
        public bool ShouldSerializeability_id() => __pbn__ability_id != null;
        public void Resetability_id() => __pbn__ability_id = null;
        private uint? __pbn__ability_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatEvent : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public float event_time { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public uint source_entindex
        {
            get => __pbn__source_entindex.GetValueOrDefault();
            set => __pbn__source_entindex = value;
        }
        public bool ShouldSerializesource_entindex() => __pbn__source_entindex != null;
        public void Resetsource_entindex() => __pbn__source_entindex = null;
        private uint? __pbn__source_entindex;

        [global::ProtoBuf.ProtoMember(3)]
        public uint target_entindex
        {
            get => __pbn__target_entindex.GetValueOrDefault();
            set => __pbn__target_entindex = value;
        }
        public bool ShouldSerializetarget_entindex() => __pbn__target_entindex != null;
        public void Resettarget_entindex() => __pbn__target_entindex = null;
        private uint? __pbn__target_entindex;

        [global::ProtoBuf.ProtoMember(4)]
        public CMsgCombatEvent_Attack details_attack
        {
            get => __pbn__details.Is(4) ? ((CMsgCombatEvent_Attack)__pbn__details.Object) : default(CMsgCombatEvent_Attack);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(4, value);
        }
        public bool ShouldSerializedetails_attack() => __pbn__details.Is(4);
        public void Resetdetails_attack() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 4);

        private global::ProtoBuf.DiscriminatedUnionObject __pbn__details;

        [global::ProtoBuf.ProtoMember(5)]
        public CMsgCombatEvent_Damage details_damage
        {
            get => __pbn__details.Is(5) ? ((CMsgCombatEvent_Damage)__pbn__details.Object) : default(CMsgCombatEvent_Damage);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(5, value);
        }
        public bool ShouldSerializedetails_damage() => __pbn__details.Is(5);
        public void Resetdetails_damage() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 5);

        [global::ProtoBuf.ProtoMember(6)]
        public CMsgCombatEvent_Death details_death
        {
            get => __pbn__details.Is(6) ? ((CMsgCombatEvent_Death)__pbn__details.Object) : default(CMsgCombatEvent_Death);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(6, value);
        }
        public bool ShouldSerializedetails_death() => __pbn__details.Is(6);
        public void Resetdetails_death() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 6);

        [global::ProtoBuf.ProtoMember(7)]
        public CMsgCombatEvent_StartAttack details_start_attack
        {
            get => __pbn__details.Is(7) ? ((CMsgCombatEvent_StartAttack)__pbn__details.Object) : default(CMsgCombatEvent_StartAttack);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(7, value);
        }
        public bool ShouldSerializedetails_start_attack() => __pbn__details.Is(7);
        public void Resetdetails_start_attack() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 7);

        [global::ProtoBuf.ProtoMember(8)]
        public CMsgCombatEvent_SoundEvent details_sound_event
        {
            get => __pbn__details.Is(8) ? ((CMsgCombatEvent_SoundEvent)__pbn__details.Object) : default(CMsgCombatEvent_SoundEvent);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(8, value);
        }
        public bool ShouldSerializedetails_sound_event() => __pbn__details.Is(8);
        public void Resetdetails_sound_event() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 8);

        [global::ProtoBuf.ProtoMember(9)]
        public CUserMsg_ParticleManager details_particle_event
        {
            get => __pbn__details.Is(9) ? ((CUserMsg_ParticleManager)__pbn__details.Object) : default(CUserMsg_ParticleManager);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(9, value);
        }
        public bool ShouldSerializedetails_particle_event() => __pbn__details.Is(9);
        public void Resetdetails_particle_event() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 9);

        [global::ProtoBuf.ProtoMember(10)]
        public CMsgCombatEvent_ModifierCreate details_modifier_create
        {
            get => __pbn__details.Is(10) ? ((CMsgCombatEvent_ModifierCreate)__pbn__details.Object) : default(CMsgCombatEvent_ModifierCreate);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(10, value);
        }
        public bool ShouldSerializedetails_modifier_create() => __pbn__details.Is(10);
        public void Resetdetails_modifier_create() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 10);

        [global::ProtoBuf.ProtoMember(11)]
        public CMsgCombatEvent_ModifierDestroy details_modifier_destroy
        {
            get => __pbn__details.Is(11) ? ((CMsgCombatEvent_ModifierDestroy)__pbn__details.Object) : default(CMsgCombatEvent_ModifierDestroy);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(11, value);
        }
        public bool ShouldSerializedetails_modifier_destroy() => __pbn__details.Is(11);
        public void Resetdetails_modifier_destroy() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 11);

        [global::ProtoBuf.ProtoMember(12)]
        public CMsgCombatEvent_StartGesture details_start_gesture
        {
            get => __pbn__details.Is(12) ? ((CMsgCombatEvent_StartGesture)__pbn__details.Object) : default(CMsgCombatEvent_StartGesture);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(12, value);
        }
        public bool ShouldSerializedetails_start_gesture() => __pbn__details.Is(12);
        public void Resetdetails_start_gesture() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 12);

        [global::ProtoBuf.ProtoMember(13)]
        public CMsgCombatEvent_CancelAttack details_cancel_attack
        {
            get => __pbn__details.Is(13) ? ((CMsgCombatEvent_CancelAttack)__pbn__details.Object) : default(CMsgCombatEvent_CancelAttack);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(13, value);
        }
        public bool ShouldSerializedetails_cancel_attack() => __pbn__details.Is(13);
        public void Resetdetails_cancel_attack() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 13);

        [global::ProtoBuf.ProtoMember(14)]
        public CMsgCombatEvent_CombatEnded details_combat_ended
        {
            get => __pbn__details.Is(14) ? ((CMsgCombatEvent_CombatEnded)__pbn__details.Object) : default(CMsgCombatEvent_CombatEnded);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(14, value);
        }
        public bool ShouldSerializedetails_combat_ended() => __pbn__details.Is(14);
        public void Resetdetails_combat_ended() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 14);

        [global::ProtoBuf.ProtoMember(15)]
        public CMsgCombatEvent_AttackMissed details_attack_missed
        {
            get => __pbn__details.Is(15) ? ((CMsgCombatEvent_AttackMissed)__pbn__details.Object) : default(CMsgCombatEvent_AttackMissed);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(15, value);
        }
        public bool ShouldSerializedetails_attack_missed() => __pbn__details.Is(15);
        public void Resetdetails_attack_missed() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 15);

        [global::ProtoBuf.ProtoMember(16)]
        public CMsgCombatEvent_AttackEvaded details_attack_evaded
        {
            get => __pbn__details.Is(16) ? ((CMsgCombatEvent_AttackEvaded)__pbn__details.Object) : default(CMsgCombatEvent_AttackEvaded);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(16, value);
        }
        public bool ShouldSerializedetails_attack_evaded() => __pbn__details.Is(16);
        public void Resetdetails_attack_evaded() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 16);

        [global::ProtoBuf.ProtoMember(17)]
        public CMsgCombatEvent_AttackBlocked details_attack_blocked
        {
            get => __pbn__details.Is(17) ? ((CMsgCombatEvent_AttackBlocked)__pbn__details.Object) : default(CMsgCombatEvent_AttackBlocked);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(17, value);
        }
        public bool ShouldSerializedetails_attack_blocked() => __pbn__details.Is(17);
        public void Resetdetails_attack_blocked() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 17);

        [global::ProtoBuf.ProtoMember(18)]
        public CMsgCombatEvent_Resurrect details_resurrect
        {
            get => __pbn__details.Is(18) ? ((CMsgCombatEvent_Resurrect)__pbn__details.Object) : default(CMsgCombatEvent_Resurrect);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(18, value);
        }
        public bool ShouldSerializedetails_resurrect() => __pbn__details.Is(18);
        public void Resetdetails_resurrect() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 18);

        [global::ProtoBuf.ProtoMember(19)]
        public CMsgCombatEvent_SpeechEvent details_speech_event
        {
            get => __pbn__details.Is(19) ? ((CMsgCombatEvent_SpeechEvent)__pbn__details.Object) : default(CMsgCombatEvent_SpeechEvent);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(19, value);
        }
        public bool ShouldSerializedetails_speech_event() => __pbn__details.Is(19);
        public void Resetdetails_speech_event() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 19);

        [global::ProtoBuf.ProtoMember(20)]
        public CMsgCombatEvent_CastAbility details_cast_ability
        {
            get => __pbn__details.Is(20) ? ((CMsgCombatEvent_CastAbility)__pbn__details.Object) : default(CMsgCombatEvent_CastAbility);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(20, value);
        }
        public bool ShouldSerializedetails_cast_ability() => __pbn__details.Is(20);
        public void Resetdetails_cast_ability() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 20);

        [global::ProtoBuf.ProtoMember(21)]
        public CMsgCombatEvent_StopGesture details_stop_gesture
        {
            get => __pbn__details.Is(21) ? ((CMsgCombatEvent_StopGesture)__pbn__details.Object) : default(CMsgCombatEvent_StopGesture);
            set => __pbn__details = new global::ProtoBuf.DiscriminatedUnionObject(21, value);
        }
        public bool ShouldSerializedetails_stop_gesture() => __pbn__details.Is(21);
        public void Resetdetails_stop_gesture() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__details, 21);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCombatHighlight : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public EDACIncidentType highlight_type { get; set; } = EDACIncidentType.EDACIncidentType_None;

        [global::ProtoBuf.ProtoMember(2)]
        public float start_time
        {
            get => __pbn__start_time.GetValueOrDefault();
            set => __pbn__start_time = value;
        }
        public bool ShouldSerializestart_time() => __pbn__start_time != null;
        public void Resetstart_time() => __pbn__start_time = null;
        private float? __pbn__start_time;

        [global::ProtoBuf.ProtoMember(3)]
        public float finish_time
        {
            get => __pbn__finish_time.GetValueOrDefault();
            set => __pbn__finish_time = value;
        }
        public bool ShouldSerializefinish_time() => __pbn__finish_time != null;
        public void Resetfinish_time() => __pbn__finish_time = null;
        private float? __pbn__finish_time;

        [global::ProtoBuf.ProtoMember(4)]
        public int source_unit_idx
        {
            get => __pbn__source_unit_idx.GetValueOrDefault();
            set => __pbn__source_unit_idx = value;
        }
        public bool ShouldSerializesource_unit_idx() => __pbn__source_unit_idx != null;
        public void Resetsource_unit_idx() => __pbn__source_unit_idx = null;
        private int? __pbn__source_unit_idx;

        [global::ProtoBuf.ProtoMember(5)]
        public int target_unit_idx
        {
            get => __pbn__target_unit_idx.GetValueOrDefault();
            set => __pbn__target_unit_idx = value;
        }
        public bool ShouldSerializetarget_unit_idx() => __pbn__target_unit_idx != null;
        public void Resettarget_unit_idx() => __pbn__target_unit_idx = null;
        private int? __pbn__target_unit_idx;

        [global::ProtoBuf.ProtoMember(6)]
        public float magnitude
        {
            get => __pbn__magnitude.GetValueOrDefault();
            set => __pbn__magnitude = value;
        }
        public bool ShouldSerializemagnitude() => __pbn__magnitude != null;
        public void Resetmagnitude() => __pbn__magnitude = null;
        private float? __pbn__magnitude;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgRoundCombat : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int round_number
        {
            get => __pbn__round_number.GetValueOrDefault();
            set => __pbn__round_number = value;
        }
        public bool ShouldSerializeround_number() => __pbn__round_number != null;
        public void Resetround_number() => __pbn__round_number = null;
        private int? __pbn__round_number;

        [global::ProtoBuf.ProtoMember(2)]
        public float combat_duration
        {
            get => __pbn__combat_duration.GetValueOrDefault();
            set => __pbn__combat_duration = value;
        }
        public bool ShouldSerializecombat_duration() => __pbn__combat_duration != null;
        public void Resetcombat_duration() => __pbn__combat_duration = null;
        private float? __pbn__combat_duration;

        [global::ProtoBuf.ProtoMember(3)]
        public float combat_intro_duration
        {
            get => __pbn__combat_intro_duration.GetValueOrDefault();
            set => __pbn__combat_intro_duration = value;
        }
        public bool ShouldSerializecombat_intro_duration() => __pbn__combat_intro_duration != null;
        public void Resetcombat_intro_duration() => __pbn__combat_intro_duration = null;
        private float? __pbn__combat_intro_duration;

        [global::ProtoBuf.ProtoMember(4)]
        public float added_time_before_results
        {
            get => __pbn__added_time_before_results.GetValueOrDefault();
            set => __pbn__added_time_before_results = value;
        }
        public bool ShouldSerializeadded_time_before_results() => __pbn__added_time_before_results != null;
        public void Resetadded_time_before_results() => __pbn__added_time_before_results = null;
        private float? __pbn__added_time_before_results;

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<CMsgCombatSnapshot> snapshots { get; } = new global::System.Collections.Generic.List<CMsgCombatSnapshot>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<CMsgCombatEvent> events { get; } = new global::System.Collections.Generic.List<CMsgCombatEvent>();

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue(ERoundCombatResult.ERoundCombatResult_Draw)]
        public ERoundCombatResult result
        {
            get => __pbn__result ?? ERoundCombatResult.ERoundCombatResult_Draw;
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private ERoundCombatResult? __pbn__result;

        [global::ProtoBuf.ProtoMember(8)]
        public uint player_player_slot
        {
            get => __pbn__player_player_slot.GetValueOrDefault();
            set => __pbn__player_player_slot = value;
        }
        public bool ShouldSerializeplayer_player_slot() => __pbn__player_player_slot != null;
        public void Resetplayer_player_slot() => __pbn__player_player_slot = null;
        private uint? __pbn__player_player_slot;

        [global::ProtoBuf.ProtoMember(11)]
        public global::System.Collections.Generic.List<CMsgCombatMetersSnapshot> meter_snapshots { get; } = new global::System.Collections.Generic.List<CMsgCombatMetersSnapshot>();

        [global::ProtoBuf.ProtoMember(12)]
        public global::System.Collections.Generic.List<CMsgCombatHighlight> combat_highlights { get; } = new global::System.Collections.Generic.List<CMsgCombatHighlight>();

        [global::ProtoBuf.ProtoMember(14)]
        public bool mirrored
        {
            get => __pbn__mirrored.GetValueOrDefault();
            set => __pbn__mirrored = value;
        }
        public bool ShouldSerializemirrored() => __pbn__mirrored != null;
        public void Resetmirrored() => __pbn__mirrored = null;
        private bool? __pbn__mirrored;

        [global::ProtoBuf.ProtoMember(9)]
        public uint opponent_player_slot
        {
            get => __pbn__opponent.Is(9) ? __pbn__opponent.UInt32 : default(uint);
            set => __pbn__opponent = new global::ProtoBuf.DiscriminatedUnion32(9, value);
        }
        public bool ShouldSerializeopponent_player_slot() => __pbn__opponent.Is(9);
        public void Resetopponent_player_slot() => global::ProtoBuf.DiscriminatedUnion32.Reset(ref __pbn__opponent, 9);

        private global::ProtoBuf.DiscriminatedUnion32 __pbn__opponent;

        [global::ProtoBuf.ProtoMember(10)]
        public uint opponent_neutral_wave
        {
            get => __pbn__opponent.Is(10) ? __pbn__opponent.UInt32 : default(uint);
            set => __pbn__opponent = new global::ProtoBuf.DiscriminatedUnion32(10, value);
        }
        public bool ShouldSerializeopponent_neutral_wave() => __pbn__opponent.Is(10);
        public void Resetopponent_neutral_wave() => global::ProtoBuf.DiscriminatedUnion32.Reset(ref __pbn__opponent, 10);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgBattle : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int round_number
        {
            get => __pbn__round_number.GetValueOrDefault();
            set => __pbn__round_number = value;
        }
        public bool ShouldSerializeround_number() => __pbn__round_number != null;
        public void Resetround_number() => __pbn__round_number = null;
        private int? __pbn__round_number;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgRoundCombat> combats { get; } = new global::System.Collections.Generic.List<CMsgRoundCombat>();

        [global::ProtoBuf.ProtoMember(3)]
        public CMsgRoundCombatGlobal global { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgRoundCombatGlobal : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int round_number
        {
            get => __pbn__round_number.GetValueOrDefault();
            set => __pbn__round_number = value;
        }
        public bool ShouldSerializeround_number() => __pbn__round_number != null;
        public void Resetround_number() => __pbn__round_number = null;
        private int? __pbn__round_number;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CombatPlayerSlotToEventsEntry> combat_player_slot_to_events { get; } = new global::System.Collections.Generic.List<CombatPlayerSlotToEventsEntry>();

        [global::ProtoBuf.ProtoContract()]
        public partial class EventList : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public global::System.Collections.Generic.List<CMsgCombatEvent> events { get; } = new global::System.Collections.Generic.List<CMsgCombatEvent>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class CombatPlayerSlotToEventsEntry : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint key
            {
                get => __pbn__key.GetValueOrDefault();
                set => __pbn__key = value;
            }
            public bool ShouldSerializekey() => __pbn__key != null;
            public void Resetkey() => __pbn__key = null;
            private uint? __pbn__key;

            [global::ProtoBuf.ProtoMember(2)]
            public CMsgRoundCombatGlobal.EventList value { get; set; }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientServerHeader : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
        public EDACGameMessages msg_id { get; set; } = EDACGameMessages.k_EMsgNetBufferContents;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] payload
        {
            get => __pbn__payload;
            set => __pbn__payload = value;
        }
        public bool ShouldSerializepayload() => __pbn__payload != null;
        public void Resetpayload() => __pbn__payload = null;
        private byte[] __pbn__payload;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgNetBufferContents : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool is_diff
        {
            get => __pbn__is_diff.GetValueOrDefault();
            set => __pbn__is_diff = value;
        }
        public bool ShouldSerializeis_diff() => __pbn__is_diff != null;
        public void Resetis_diff() => __pbn__is_diff = null;
        private bool? __pbn__is_diff;

        [global::ProtoBuf.ProtoMember(2)]
        public bool is_last
        {
            get => __pbn__is_last.GetValueOrDefault();
            set => __pbn__is_last = value;
        }
        public bool ShouldSerializeis_last() => __pbn__is_last != null;
        public void Resetis_last() => __pbn__is_last = null;
        private bool? __pbn__is_last;

        [global::ProtoBuf.ProtoMember(3)]
        public byte[] payload
        {
            get => __pbn__payload;
            set => __pbn__payload = value;
        }
        public bool ShouldSerializepayload() => __pbn__payload != null;
        public void Resetpayload() => __pbn__payload = null;
        private byte[] __pbn__payload;

        [global::ProtoBuf.ProtoMember(4)]
        public uint unpacked_state_size
        {
            get => __pbn__unpacked_state_size.GetValueOrDefault();
            set => __pbn__unpacked_state_size = value;
        }
        public bool ShouldSerializeunpacked_state_size() => __pbn__unpacked_state_size != null;
        public void Resetunpacked_state_size() => __pbn__unpacked_state_size = null;
        private uint? __pbn__unpacked_state_size;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(EDACNetBuffer.k_eDACNetBuffer_MatchState)]
        public EDACNetBuffer net_buffer_type
        {
            get => __pbn__net_buffer_type ?? EDACNetBuffer.k_eDACNetBuffer_MatchState;
            set => __pbn__net_buffer_type = value;
        }
        public bool ShouldSerializenet_buffer_type() => __pbn__net_buffer_type != null;
        public void Resetnet_buffer_type() => __pbn__net_buffer_type = null;
        private EDACNetBuffer? __pbn__net_buffer_type;

        [global::ProtoBuf.ProtoMember(6)]
        public uint net_buffer_id
        {
            get => __pbn__net_buffer_id.GetValueOrDefault();
            set => __pbn__net_buffer_id = value;
        }
        public bool ShouldSerializenet_buffer_id() => __pbn__net_buffer_id != null;
        public void Resetnet_buffer_id() => __pbn__net_buffer_id = null;
        private uint? __pbn__net_buffer_id;

        [global::ProtoBuf.ProtoMember(7)]
        public uint server_time_ms
        {
            get => __pbn__server_time_ms.GetValueOrDefault();
            set => __pbn__server_time_ms = value;
        }
        public bool ShouldSerializeserver_time_ms() => __pbn__server_time_ms != null;
        public void Resetserver_time_ms() => __pbn__server_time_ms = null;
        private uint? __pbn__server_time_ms;

        [global::ProtoBuf.ProtoMember(8)]
        public bool is_result_compressed
        {
            get => __pbn__is_result_compressed.GetValueOrDefault();
            set => __pbn__is_result_compressed = value;
        }
        public bool ShouldSerializeis_result_compressed() => __pbn__is_result_compressed != null;
        public void Resetis_result_compressed() => __pbn__is_result_compressed = null;
        private bool? __pbn__is_result_compressed;

        [global::ProtoBuf.ProtoMember(9)]
        public bool is_update_compressed
        {
            get => __pbn__is_update_compressed.GetValueOrDefault();
            set => __pbn__is_update_compressed = value;
        }
        public bool ShouldSerializeis_update_compressed() => __pbn__is_update_compressed != null;
        public void Resetis_update_compressed() => __pbn__is_update_compressed = null;
        private bool? __pbn__is_update_compressed;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgNetBufferRemoved : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(EDACNetBuffer.k_eDACNetBuffer_MatchState)]
        public EDACNetBuffer net_buffer_type
        {
            get => __pbn__net_buffer_type ?? EDACNetBuffer.k_eDACNetBuffer_MatchState;
            set => __pbn__net_buffer_type = value;
        }
        public bool ShouldSerializenet_buffer_type() => __pbn__net_buffer_type != null;
        public void Resetnet_buffer_type() => __pbn__net_buffer_type = null;
        private EDACNetBuffer? __pbn__net_buffer_type;

        [global::ProtoBuf.ProtoMember(6)]
        public uint net_buffer_id
        {
            get => __pbn__net_buffer_id.GetValueOrDefault();
            set => __pbn__net_buffer_id = value;
        }
        public bool ShouldSerializenet_buffer_id() => __pbn__net_buffer_id != null;
        public void Resetnet_buffer_id() => __pbn__net_buffer_id = null;
        private uint? __pbn__net_buffer_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientConnectionStarted : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool in_developer_mode
        {
            get => __pbn__in_developer_mode.GetValueOrDefault();
            set => __pbn__in_developer_mode = value;
        }
        public bool ShouldSerializein_developer_mode() => __pbn__in_developer_mode != null;
        public void Resetin_developer_mode() => __pbn__in_developer_mode = null;
        private bool? __pbn__in_developer_mode;

        [global::ProtoBuf.ProtoMember(2)]
        public bool in_offline_mode
        {
            get => __pbn__in_offline_mode.GetValueOrDefault();
            set => __pbn__in_offline_mode = value;
        }
        public bool ShouldSerializein_offline_mode() => __pbn__in_offline_mode != null;
        public void Resetin_offline_mode() => __pbn__in_offline_mode = null;
        private bool? __pbn__in_offline_mode;

        [global::ProtoBuf.ProtoMember(3)]
        public bool is_listen_server_game
        {
            get => __pbn__is_listen_server_game.GetValueOrDefault();
            set => __pbn__is_listen_server_game = value;
        }
        public bool ShouldSerializeis_listen_server_game() => __pbn__is_listen_server_game != null;
        public void Resetis_listen_server_game() => __pbn__is_listen_server_game = null;
        private bool? __pbn__is_listen_server_game;

        [global::ProtoBuf.ProtoMember(4)]
        public bool is_single_human_game
        {
            get => __pbn__is_single_human_game.GetValueOrDefault();
            set => __pbn__is_single_human_game = value;
        }
        public bool ShouldSerializeis_single_human_game() => __pbn__is_single_human_game != null;
        public void Resetis_single_human_game() => __pbn__is_single_human_game = null;
        private bool? __pbn__is_single_human_game;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(EDACMatchMode.k_EDACMatchMode_Invalid)]
        public EDACMatchMode match_mode
        {
            get => __pbn__match_mode ?? EDACMatchMode.k_EDACMatchMode_Invalid;
            set => __pbn__match_mode = value;
        }
        public bool ShouldSerializematch_mode() => __pbn__match_mode != null;
        public void Resetmatch_mode() => __pbn__match_mode = null;
        private EDACMatchMode? __pbn__match_mode;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue(EDACGameMode.k_EDACGameMode_Invalid)]
        public EDACGameMode game_mode
        {
            get => __pbn__game_mode ?? EDACGameMode.k_EDACGameMode_Invalid;
            set => __pbn__game_mode = value;
        }
        public bool ShouldSerializegame_mode() => __pbn__game_mode != null;
        public void Resetgame_mode() => __pbn__game_mode = null;
        private EDACGameMode? __pbn__game_mode;

        [global::ProtoBuf.ProtoMember(7)]
        public GameConstants game_constants { get; set; }

        [global::ProtoBuf.ProtoMember(8)]
        public GameManager game_manager { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class GameConstants : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public CMsgGameModeSettings game_mode_settings { get; set; }

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<int> player_experience_table { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(3)]
            public int experience_purchase_gold_cost
            {
                get => __pbn__experience_purchase_gold_cost.GetValueOrDefault();
                set => __pbn__experience_purchase_gold_cost = value;
            }
            public bool ShouldSerializeexperience_purchase_gold_cost() => __pbn__experience_purchase_gold_cost != null;
            public void Resetexperience_purchase_gold_cost() => __pbn__experience_purchase_gold_cost = null;
            private int? __pbn__experience_purchase_gold_cost;

            [global::ProtoBuf.ProtoMember(4)]
            public int experience_purchase_amount
            {
                get => __pbn__experience_purchase_amount.GetValueOrDefault();
                set => __pbn__experience_purchase_amount = value;
            }
            public bool ShouldSerializeexperience_purchase_amount() => __pbn__experience_purchase_amount != null;
            public void Resetexperience_purchase_amount() => __pbn__experience_purchase_amount = null;
            private int? __pbn__experience_purchase_amount;

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<UnitChances> unit_tier_chances { get; } = new global::System.Collections.Generic.List<UnitChances>();

            [global::ProtoBuf.ProtoMember(6)]
            public int max_interest_gold
            {
                get => __pbn__max_interest_gold.GetValueOrDefault();
                set => __pbn__max_interest_gold = value;
            }
            public bool ShouldSerializemax_interest_gold() => __pbn__max_interest_gold != null;
            public void Resetmax_interest_gold() => __pbn__max_interest_gold = null;
            private int? __pbn__max_interest_gold;

            [global::ProtoBuf.ProtoMember(7)]
            public int interest_gold_divisor
            {
                get => __pbn__interest_gold_divisor.GetValueOrDefault();
                set => __pbn__interest_gold_divisor = value;
            }
            public bool ShouldSerializeinterest_gold_divisor() => __pbn__interest_gold_divisor != null;
            public void Resetinterest_gold_divisor() => __pbn__interest_gold_divisor = null;
            private int? __pbn__interest_gold_divisor;

            [global::ProtoBuf.ProtoMember(8)]
            public bool win_matters_for_item_rewards
            {
                get => __pbn__win_matters_for_item_rewards.GetValueOrDefault();
                set => __pbn__win_matters_for_item_rewards = value;
            }
            public bool ShouldSerializewin_matters_for_item_rewards() => __pbn__win_matters_for_item_rewards != null;
            public void Resetwin_matters_for_item_rewards() => __pbn__win_matters_for_item_rewards = null;
            private bool? __pbn__win_matters_for_item_rewards;

            [global::ProtoBuf.ProtoMember(9)]
            public global::System.Collections.Generic.List<int> loot_round_numbers { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(10)]
            public bool has_neutral_rounds
            {
                get => __pbn__has_neutral_rounds.GetValueOrDefault();
                set => __pbn__has_neutral_rounds = value;
            }
            public bool ShouldSerializehas_neutral_rounds() => __pbn__has_neutral_rounds != null;
            public void Resethas_neutral_rounds() => __pbn__has_neutral_rounds = null;
            private bool? __pbn__has_neutral_rounds;

            [global::ProtoBuf.ProtoMember(11)]
            public int underlord_selection_round
            {
                get => __pbn__underlord_selection_round.GetValueOrDefault();
                set => __pbn__underlord_selection_round = value;
            }
            public bool ShouldSerializeunderlord_selection_round() => __pbn__underlord_selection_round != null;
            public void Resetunderlord_selection_round() => __pbn__underlord_selection_round = null;
            private int? __pbn__underlord_selection_round;

            [global::ProtoBuf.ProtoMember(12)]
            public float kill_multiplier
            {
                get => __pbn__kill_multiplier.GetValueOrDefault();
                set => __pbn__kill_multiplier = value;
            }
            public bool ShouldSerializekill_multiplier() => __pbn__kill_multiplier != null;
            public void Resetkill_multiplier() => __pbn__kill_multiplier = null;
            private float? __pbn__kill_multiplier;

            [global::ProtoBuf.ProtoMember(13)]
            public uint prestige_level
            {
                get => __pbn__prestige_level.GetValueOrDefault();
                set => __pbn__prestige_level = value;
            }
            public bool ShouldSerializeprestige_level() => __pbn__prestige_level != null;
            public void Resetprestige_level() => __pbn__prestige_level = null;
            private uint? __pbn__prestige_level;

            [global::ProtoBuf.ProtoContract()]
            public partial class UnitChances : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1)]
                public global::System.Collections.Generic.List<float> chance { get; } = new global::System.Collections.Generic.List<float>();

            }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class GameManager : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint definition_set
            {
                get => __pbn__definition_set.GetValueOrDefault();
                set => __pbn__definition_set = value;
            }
            public bool ShouldSerializedefinition_set() => __pbn__definition_set != null;
            public void Resetdefinition_set() => __pbn__definition_set = null;
            private uint? __pbn__definition_set;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientConnectionComplete : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientSetDebugNetBuffer : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint net_buffer_id
        {
            get => __pbn__net_buffer_id.GetValueOrDefault();
            set => __pbn__net_buffer_id = value;
        }
        public bool ShouldSerializenet_buffer_id() => __pbn__net_buffer_id != null;
        public void Resetnet_buffer_id() => __pbn__net_buffer_id = null;
        private uint? __pbn__net_buffer_id;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string contents
        {
            get => __pbn__contents ?? "";
            set => __pbn__contents = value;
        }
        public bool ShouldSerializecontents() => __pbn__contents != null;
        public void Resetcontents() => __pbn__contents = null;
        private string __pbn__contents;

        [global::ProtoBuf.ProtoMember(3)]
        public uint repeat
        {
            get => __pbn__repeat.GetValueOrDefault();
            set => __pbn__repeat = value;
        }
        public bool ShouldSerializerepeat() => __pbn__repeat != null;
        public void Resetrepeat() => __pbn__repeat = null;
        private uint? __pbn__repeat;

        [global::ProtoBuf.ProtoMember(4)]
        public bool force_full_send
        {
            get => __pbn__force_full_send.GetValueOrDefault();
            set => __pbn__force_full_send = value;
        }
        public bool ShouldSerializeforce_full_send() => __pbn__force_full_send != null;
        public void Resetforce_full_send() => __pbn__force_full_send = null;
        private bool? __pbn__force_full_send;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CDACNetBuffer_Debug : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string contents
        {
            get => __pbn__contents ?? "";
            set => __pbn__contents = value;
        }
        public bool ShouldSerializecontents() => __pbn__contents != null;
        public void Resetcontents() => __pbn__contents = null;
        private string __pbn__contents;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameReplayActionMarker : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EActionType.k_eActionType_Placholder)]
        public EActionType action
        {
            get => __pbn__action ?? EActionType.k_eActionType_Placholder;
            set => __pbn__action = value;
        }
        public bool ShouldSerializeaction() => __pbn__action != null;
        public void Resetaction() => __pbn__action = null;
        private EActionType? __pbn__action;

        [global::ProtoBuf.ProtoContract()]
        public enum EActionType
        {
            k_eActionType_Placholder = 1,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgModifierName : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Modifier> modifier_list { get; } = new global::System.Collections.Generic.List<Modifier>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Modifier : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
            public uint modifier_id { get; set; }

            [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
            public string modifier_name { get; set; }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToServerChatMsg : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint message_id
        {
            get => __pbn__message_id.GetValueOrDefault();
            set => __pbn__message_id = value;
        }
        public bool ShouldSerializemessage_id() => __pbn__message_id != null;
        public void Resetmessage_id() => __pbn__message_id = null;
        private uint? __pbn__message_id;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string custom_text
        {
            get => __pbn__custom_text ?? "";
            set => __pbn__custom_text = value;
        }
        public bool ShouldSerializecustom_text() => __pbn__custom_text != null;
        public void Resetcustom_text() => __pbn__custom_text = null;
        private string __pbn__custom_text;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(EInGameChatType.k_eInGameChatType_Global)]
        public EInGameChatType chat_type
        {
            get => __pbn__chat_type ?? EInGameChatType.k_eInGameChatType_Global;
            set => __pbn__chat_type = value;
        }
        public bool ShouldSerializechat_type() => __pbn__chat_type != null;
        public void Resetchat_type() => __pbn__chat_type = null;
        private EInGameChatType? __pbn__chat_type;

        [global::ProtoBuf.ProtoMember(4)]
        public uint board_spray_id
        {
            get => __pbn__board_spray_id.GetValueOrDefault();
            set => __pbn__board_spray_id = value;
        }
        public bool ShouldSerializeboard_spray_id() => __pbn__board_spray_id != null;
        public void Resetboard_spray_id() => __pbn__board_spray_id = null;
        private uint? __pbn__board_spray_id;

        [global::ProtoBuf.ProtoMember(5)]
        public float board_spray_x
        {
            get => __pbn__board_spray_x.GetValueOrDefault();
            set => __pbn__board_spray_x = value;
        }
        public bool ShouldSerializeboard_spray_x() => __pbn__board_spray_x != null;
        public void Resetboard_spray_x() => __pbn__board_spray_x = null;
        private float? __pbn__board_spray_x;

        [global::ProtoBuf.ProtoMember(6)]
        public float board_spray_y
        {
            get => __pbn__board_spray_y.GetValueOrDefault();
            set => __pbn__board_spray_y = value;
        }
        public bool ShouldSerializeboard_spray_y() => __pbn__board_spray_y != null;
        public void Resetboard_spray_y() => __pbn__board_spray_y = null;
        private float? __pbn__board_spray_y;

        [global::ProtoBuf.ProtoMember(7)]
        public uint sprayed_board_player_slot
        {
            get => __pbn__sprayed_board_player_slot.GetValueOrDefault();
            set => __pbn__sprayed_board_player_slot = value;
        }
        public bool ShouldSerializesprayed_board_player_slot() => __pbn__sprayed_board_player_slot != null;
        public void Resetsprayed_board_player_slot() => __pbn__sprayed_board_player_slot = null;
        private uint? __pbn__sprayed_board_player_slot;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToClientChatMsg : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint player_slot
        {
            get => __pbn__player_slot.GetValueOrDefault();
            set => __pbn__player_slot = value;
        }
        public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
        public void Resetplayer_slot() => __pbn__player_slot = null;
        private uint? __pbn__player_slot;

        [global::ProtoBuf.ProtoMember(2)]
        public uint message_id
        {
            get => __pbn__message_id.GetValueOrDefault();
            set => __pbn__message_id = value;
        }
        public bool ShouldSerializemessage_id() => __pbn__message_id != null;
        public void Resetmessage_id() => __pbn__message_id = null;
        private uint? __pbn__message_id;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string custom_text
        {
            get => __pbn__custom_text ?? "";
            set => __pbn__custom_text = value;
        }
        public bool ShouldSerializecustom_text() => __pbn__custom_text != null;
        public void Resetcustom_text() => __pbn__custom_text = null;
        private string __pbn__custom_text;

        [global::ProtoBuf.ProtoMember(4)]
        public uint notification_id
        {
            get => __pbn__notification_id.GetValueOrDefault();
            set => __pbn__notification_id = value;
        }
        public bool ShouldSerializenotification_id() => __pbn__notification_id != null;
        public void Resetnotification_id() => __pbn__notification_id = null;
        private uint? __pbn__notification_id;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(EInGameChatType.k_eInGameChatType_Global)]
        public EInGameChatType chat_type
        {
            get => __pbn__chat_type ?? EInGameChatType.k_eInGameChatType_Global;
            set => __pbn__chat_type = value;
        }
        public bool ShouldSerializechat_type() => __pbn__chat_type != null;
        public void Resetchat_type() => __pbn__chat_type = null;
        private EInGameChatType? __pbn__chat_type;

        [global::ProtoBuf.ProtoMember(6)]
        public uint board_spray_id
        {
            get => __pbn__board_spray_id.GetValueOrDefault();
            set => __pbn__board_spray_id = value;
        }
        public bool ShouldSerializeboard_spray_id() => __pbn__board_spray_id != null;
        public void Resetboard_spray_id() => __pbn__board_spray_id = null;
        private uint? __pbn__board_spray_id;

        [global::ProtoBuf.ProtoMember(7)]
        public float board_spray_x
        {
            get => __pbn__board_spray_x.GetValueOrDefault();
            set => __pbn__board_spray_x = value;
        }
        public bool ShouldSerializeboard_spray_x() => __pbn__board_spray_x != null;
        public void Resetboard_spray_x() => __pbn__board_spray_x = null;
        private float? __pbn__board_spray_x;

        [global::ProtoBuf.ProtoMember(8)]
        public float board_spray_y
        {
            get => __pbn__board_spray_y.GetValueOrDefault();
            set => __pbn__board_spray_y = value;
        }
        public bool ShouldSerializeboard_spray_y() => __pbn__board_spray_y != null;
        public void Resetboard_spray_y() => __pbn__board_spray_y = null;
        private float? __pbn__board_spray_y;

        [global::ProtoBuf.ProtoMember(9)]
        public uint sprayed_board_player_slot
        {
            get => __pbn__sprayed_board_player_slot.GetValueOrDefault();
            set => __pbn__sprayed_board_player_slot = value;
        }
        public bool ShouldSerializesprayed_board_player_slot() => __pbn__sprayed_board_player_slot != null;
        public void Resetsprayed_board_player_slot() => __pbn__sprayed_board_player_slot = null;
        private uint? __pbn__sprayed_board_player_slot;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToServerClickMsg : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EClickType.k_eClickType_Left)]
        public EClickType click_type
        {
            get => __pbn__click_type ?? EClickType.k_eClickType_Left;
            set => __pbn__click_type = value;
        }
        public bool ShouldSerializeclick_type() => __pbn__click_type != null;
        public void Resetclick_type() => __pbn__click_type = null;
        private EClickType? __pbn__click_type;

        [global::ProtoBuf.ProtoMember(2)]
        public uint target_player_slot
        {
            get => __pbn__target_player_slot.GetValueOrDefault();
            set => __pbn__target_player_slot = value;
        }
        public bool ShouldSerializetarget_player_slot() => __pbn__target_player_slot != null;
        public void Resettarget_player_slot() => __pbn__target_player_slot = null;
        private uint? __pbn__target_player_slot;

        [global::ProtoBuf.ProtoMember(3)]
        public float click_x
        {
            get => __pbn__click_x.GetValueOrDefault();
            set => __pbn__click_x = value;
        }
        public bool ShouldSerializeclick_x() => __pbn__click_x != null;
        public void Resetclick_x() => __pbn__click_x = null;
        private float? __pbn__click_x;

        [global::ProtoBuf.ProtoMember(4)]
        public float click_y
        {
            get => __pbn__click_y.GetValueOrDefault();
            set => __pbn__click_y = value;
        }
        public bool ShouldSerializeclick_y() => __pbn__click_y != null;
        public void Resetclick_y() => __pbn__click_y = null;
        private float? __pbn__click_y;

        [global::ProtoBuf.ProtoMember(5)]
        public float click_z
        {
            get => __pbn__click_z.GetValueOrDefault();
            set => __pbn__click_z = value;
        }
        public bool ShouldSerializeclick_z() => __pbn__click_z != null;
        public void Resetclick_z() => __pbn__click_z = null;
        private float? __pbn__click_z;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToClientClickMsg : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EClickType.k_eClickType_Left)]
        public EClickType click_type
        {
            get => __pbn__click_type ?? EClickType.k_eClickType_Left;
            set => __pbn__click_type = value;
        }
        public bool ShouldSerializeclick_type() => __pbn__click_type != null;
        public void Resetclick_type() => __pbn__click_type = null;
        private EClickType? __pbn__click_type;

        [global::ProtoBuf.ProtoMember(2)]
        public uint source_player_slot
        {
            get => __pbn__source_player_slot.GetValueOrDefault();
            set => __pbn__source_player_slot = value;
        }
        public bool ShouldSerializesource_player_slot() => __pbn__source_player_slot != null;
        public void Resetsource_player_slot() => __pbn__source_player_slot = null;
        private uint? __pbn__source_player_slot;

        [global::ProtoBuf.ProtoMember(3)]
        public uint target_player_slot
        {
            get => __pbn__target_player_slot.GetValueOrDefault();
            set => __pbn__target_player_slot = value;
        }
        public bool ShouldSerializetarget_player_slot() => __pbn__target_player_slot != null;
        public void Resettarget_player_slot() => __pbn__target_player_slot = null;
        private uint? __pbn__target_player_slot;

        [global::ProtoBuf.ProtoMember(4)]
        public float click_x
        {
            get => __pbn__click_x.GetValueOrDefault();
            set => __pbn__click_x = value;
        }
        public bool ShouldSerializeclick_x() => __pbn__click_x != null;
        public void Resetclick_x() => __pbn__click_x = null;
        private float? __pbn__click_x;

        [global::ProtoBuf.ProtoMember(5)]
        public float click_y
        {
            get => __pbn__click_y.GetValueOrDefault();
            set => __pbn__click_y = value;
        }
        public bool ShouldSerializeclick_y() => __pbn__click_y != null;
        public void Resetclick_y() => __pbn__click_y = null;
        private float? __pbn__click_y;

        [global::ProtoBuf.ProtoMember(6)]
        public float click_z
        {
            get => __pbn__click_z.GetValueOrDefault();
            set => __pbn__click_z = value;
        }
        public bool ShouldSerializeclick_z() => __pbn__click_z != null;
        public void Resetclick_z() => __pbn__click_z = null;
        private float? __pbn__click_z;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerMapPropCommand : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint command
        {
            get => __pbn__command.GetValueOrDefault();
            set => __pbn__command = value;
        }
        public bool ShouldSerializecommand() => __pbn__command != null;
        public void Resetcommand() => __pbn__command = null;
        private uint? __pbn__command;

        [global::ProtoBuf.ProtoMember(2)]
        public uint player_slot
        {
            get => __pbn__player_slot.GetValueOrDefault();
            set => __pbn__player_slot = value;
        }
        public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
        public void Resetplayer_slot() => __pbn__player_slot = null;
        private uint? __pbn__player_slot;

        [global::ProtoBuf.ProtoMember(3)]
        public uint prop_idx
        {
            get => __pbn__prop_idx.GetValueOrDefault();
            set => __pbn__prop_idx = value;
        }
        public bool ShouldSerializeprop_idx() => __pbn__prop_idx != null;
        public void Resetprop_idx() => __pbn__prop_idx = null;
        private uint? __pbn__prop_idx;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToServerTeammateDuosMessage : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint teammate_slot
        {
            get => __pbn__teammate_slot.GetValueOrDefault();
            set => __pbn__teammate_slot = value;
        }
        public bool ShouldSerializeteammate_slot() => __pbn__teammate_slot != null;
        public void Resetteammate_slot() => __pbn__teammate_slot = null;
        private uint? __pbn__teammate_slot;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EDuosMessageType.k_eDuosMessageType_None)]
        public EDuosMessageType message_type
        {
            get => __pbn__message_type ?? EDuosMessageType.k_eDuosMessageType_None;
            set => __pbn__message_type = value;
        }
        public bool ShouldSerializemessage_type() => __pbn__message_type != null;
        public void Resetmessage_type() => __pbn__message_type = null;
        private EDuosMessageType? __pbn__message_type;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(EDuosMessageTargetType.k_eDuosMessageTargetType_None)]
        public EDuosMessageTargetType target_type
        {
            get => __pbn__target_type ?? EDuosMessageTargetType.k_eDuosMessageTargetType_None;
            set => __pbn__target_type = value;
        }
        public bool ShouldSerializetarget_type() => __pbn__target_type != null;
        public void Resettarget_type() => __pbn__target_type = null;
        private EDuosMessageTargetType? __pbn__target_type;

        [global::ProtoBuf.ProtoMember(4)]
        public uint target_id
        {
            get => __pbn__target_id.GetValueOrDefault();
            set => __pbn__target_id = value;
        }
        public bool ShouldSerializetarget_id() => __pbn__target_id != null;
        public void Resettarget_id() => __pbn__target_id = null;
        private uint? __pbn__target_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToClientTeammateDuosMessage : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint teammate_slot
        {
            get => __pbn__teammate_slot.GetValueOrDefault();
            set => __pbn__teammate_slot = value;
        }
        public bool ShouldSerializeteammate_slot() => __pbn__teammate_slot != null;
        public void Resetteammate_slot() => __pbn__teammate_slot = null;
        private uint? __pbn__teammate_slot;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EDuosMessageType.k_eDuosMessageType_None)]
        public EDuosMessageType message_type
        {
            get => __pbn__message_type ?? EDuosMessageType.k_eDuosMessageType_None;
            set => __pbn__message_type = value;
        }
        public bool ShouldSerializemessage_type() => __pbn__message_type != null;
        public void Resetmessage_type() => __pbn__message_type = null;
        private EDuosMessageType? __pbn__message_type;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(EDuosMessageTargetType.k_eDuosMessageTargetType_None)]
        public EDuosMessageTargetType target_type
        {
            get => __pbn__target_type ?? EDuosMessageTargetType.k_eDuosMessageTargetType_None;
            set => __pbn__target_type = value;
        }
        public bool ShouldSerializetarget_type() => __pbn__target_type != null;
        public void Resettarget_type() => __pbn__target_type = null;
        private EDuosMessageTargetType? __pbn__target_type;

        [global::ProtoBuf.ProtoMember(4)]
        public uint target_id
        {
            get => __pbn__target_id.GetValueOrDefault();
            set => __pbn__target_id = value;
        }
        public bool ShouldSerializetarget_id() => __pbn__target_id != null;
        public void Resettarget_id() => __pbn__target_id = null;
        private uint? __pbn__target_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToServerLoadShareCode : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string share_code
        {
            get => __pbn__share_code ?? "";
            set => __pbn__share_code = value;
        }
        public bool ShouldSerializeshare_code() => __pbn__share_code != null;
        public void Resetshare_code() => __pbn__share_code = null;
        private string __pbn__share_code;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToServerBoardBuddyCommand : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint command
        {
            get => __pbn__command.GetValueOrDefault();
            set => __pbn__command = value;
        }
        public bool ShouldSerializecommand() => __pbn__command != null;
        public void Resetcommand() => __pbn__command = null;
        private uint? __pbn__command;

        [global::ProtoBuf.ProtoMember(2)]
        public float pos_x
        {
            get => __pbn__pos_x.GetValueOrDefault();
            set => __pbn__pos_x = value;
        }
        public bool ShouldSerializepos_x() => __pbn__pos_x != null;
        public void Resetpos_x() => __pbn__pos_x = null;
        private float? __pbn__pos_x;

        [global::ProtoBuf.ProtoMember(3)]
        public float pos_y
        {
            get => __pbn__pos_y.GetValueOrDefault();
            set => __pbn__pos_y = value;
        }
        public bool ShouldSerializepos_y() => __pbn__pos_y != null;
        public void Resetpos_y() => __pbn__pos_y = null;
        private float? __pbn__pos_y;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToServerPuzzleLeaderboardCommand : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint leaderboard
        {
            get => __pbn__leaderboard.GetValueOrDefault();
            set => __pbn__leaderboard = value;
        }
        public bool ShouldSerializeleaderboard() => __pbn__leaderboard != null;
        public void Resetleaderboard() => __pbn__leaderboard = null;
        private uint? __pbn__leaderboard;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgRecordLocalBotStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public byte[] serialized_msg
        {
            get => __pbn__serialized_msg;
            set => __pbn__serialized_msg = value;
        }
        public bool ShouldSerializeserialized_msg() => __pbn__serialized_msg != null;
        public void Resetserialized_msg() => __pbn__serialized_msg = null;
        private byte[] __pbn__serialized_msg;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToServerUpvoteNotification : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint notification_id
        {
            get => __pbn__notification_id.GetValueOrDefault();
            set => __pbn__notification_id = value;
        }
        public bool ShouldSerializenotification_id() => __pbn__notification_id != null;
        public void Resetnotification_id() => __pbn__notification_id = null;
        private uint? __pbn__notification_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToClientNotificationChanged : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint notification_id
        {
            get => __pbn__notification_id.GetValueOrDefault();
            set => __pbn__notification_id = value;
        }
        public bool ShouldSerializenotification_id() => __pbn__notification_id != null;
        public void Resetnotification_id() => __pbn__notification_id = null;
        private uint? __pbn__notification_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint upvotes
        {
            get => __pbn__upvotes.GetValueOrDefault();
            set => __pbn__upvotes = value;
        }
        public bool ShouldSerializeupvotes() => __pbn__upvotes != null;
        public void Resetupvotes() => __pbn__upvotes = null;
        private uint? __pbn__upvotes;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<UpvoteSubtype> subtypes { get; } = new global::System.Collections.Generic.List<UpvoteSubtype>();

        [global::ProtoBuf.ProtoContract()]
        public partial class UpvoteSubtype : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint item_id
            {
                get => __pbn__item_id.GetValueOrDefault();
                set => __pbn__item_id = value;
            }
            public bool ShouldSerializeitem_id() => __pbn__item_id != null;
            public void Resetitem_id() => __pbn__item_id = null;
            private uint? __pbn__item_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint upvotes
            {
                get => __pbn__upvotes.GetValueOrDefault();
                set => __pbn__upvotes = value;
            }
            public bool ShouldSerializeupvotes() => __pbn__upvotes != null;
            public void Resetupvotes() => __pbn__upvotes = null;
            private uint? __pbn__upvotes;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToServerLocalPlayerInventory : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<LoadoutItem> player_loadout { get; } = new global::System.Collections.Generic.List<LoadoutItem>();

        [global::ProtoBuf.ProtoContract()]
        public partial class LoadoutItem : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint slot
            {
                get => __pbn__slot.GetValueOrDefault();
                set => __pbn__slot = value;
            }
            public bool ShouldSerializeslot() => __pbn__slot != null;
            public void Resetslot() => __pbn__slot = null;
            private uint? __pbn__slot;

            [global::ProtoBuf.ProtoMember(2)]
            public uint sub_slot
            {
                get => __pbn__sub_slot.GetValueOrDefault();
                set => __pbn__sub_slot = value;
            }
            public bool ShouldSerializesub_slot() => __pbn__sub_slot != null;
            public void Resetsub_slot() => __pbn__sub_slot = null;
            private uint? __pbn__sub_slot;

            [global::ProtoBuf.ProtoMember(3)]
            public uint def_index
            {
                get => __pbn__def_index.GetValueOrDefault();
                set => __pbn__def_index = value;
            }
            public bool ShouldSerializedef_index() => __pbn__def_index != null;
            public void Resetdef_index() => __pbn__def_index = null;
            private uint? __pbn__def_index;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameStateIntegrationData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint id
        {
            get => __pbn__id.GetValueOrDefault();
            set => __pbn__id = value;
        }
        public bool ShouldSerializeid() => __pbn__id != null;
        public void Resetid() => __pbn__id = null;
        private uint? __pbn__id;

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgPublicPlayerState public_player_state { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        public CMsgPrivatePlayerState private_player_state { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameStateIntegrationBlock : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<CMsgGameStateIntegrationData> data { get; } = new global::System.Collections.Generic.List<CMsgGameStateIntegrationData>();

        [global::ProtoBuf.ProtoMember(2)]
        public uint id
        {
            get => __pbn__id.GetValueOrDefault();
            set => __pbn__id = value;
        }
        public bool ShouldSerializeid() => __pbn__id != null;
        public void Resetid() => __pbn__id = null;
        private uint? __pbn__id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameStateIntegrationUpdate : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<CMsgGameStateIntegrationBlock> block { get; } = new global::System.Collections.Generic.List<CMsgGameStateIntegrationBlock>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string auth
        {
            get => __pbn__auth ?? "";
            set => __pbn__auth = value;
        }
        public bool ShouldSerializeauth() => __pbn__auth != null;
        public void Resetauth() => __pbn__auth = null;
        private string __pbn__auth;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToServerInitData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgGameModifiers game_modifiers { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public uint event_id
        {
            get => __pbn__event_id.GetValueOrDefault();
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private uint? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(3)]
        public bool developer_mode
        {
            get => __pbn__developer_mode.GetValueOrDefault();
            set => __pbn__developer_mode = value;
        }
        public bool ShouldSerializedeveloper_mode() => __pbn__developer_mode != null;
        public void Resetdeveloper_mode() => __pbn__developer_mode = null;
        private bool? __pbn__developer_mode;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue("")]
        public string load_save_file
        {
            get => __pbn__load_save_file ?? "";
            set => __pbn__load_save_file = value;
        }
        public bool ShouldSerializeload_save_file() => __pbn__load_save_file != null;
        public void Resetload_save_file() => __pbn__load_save_file = null;
        private string __pbn__load_save_file;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(-1)]
        public int local_mmr_level
        {
            get => __pbn__local_mmr_level ?? -1;
            set => __pbn__local_mmr_level = value;
        }
        public bool ShouldSerializelocal_mmr_level() => __pbn__local_mmr_level != null;
        public void Resetlocal_mmr_level() => __pbn__local_mmr_level = null;
        private int? __pbn__local_mmr_level;

        [global::ProtoBuf.ProtoMember(6)]
        public uint underlord
        {
            get => __pbn__underlord.GetValueOrDefault();
            set => __pbn__underlord = value;
        }
        public bool ShouldSerializeunderlord() => __pbn__underlord != null;
        public void Resetunderlord() => __pbn__underlord = null;
        private uint? __pbn__underlord;

        [global::ProtoBuf.ProtoMember(7)]
        public uint local_global_leaderboard_rank
        {
            get => __pbn__local_global_leaderboard_rank.GetValueOrDefault();
            set => __pbn__local_global_leaderboard_rank = value;
        }
        public bool ShouldSerializelocal_global_leaderboard_rank() => __pbn__local_global_leaderboard_rank != null;
        public void Resetlocal_global_leaderboard_rank() => __pbn__local_global_leaderboard_rank = null;
        private uint? __pbn__local_global_leaderboard_rank;

        [global::ProtoBuf.ProtoMember(8)]
        public bool offline_mode
        {
            get => __pbn__offline_mode.GetValueOrDefault();
            set => __pbn__offline_mode = value;
        }
        public bool ShouldSerializeoffline_mode() => __pbn__offline_mode != null;
        public void Resetoffline_mode() => __pbn__offline_mode = null;
        private bool? __pbn__offline_mode;

        [global::ProtoBuf.ProtoMember(9)]
        [global::System.ComponentModel.DefaultValue(0)]
        public int bot_difficulty
        {
            get => __pbn__bot_difficulty ?? 0;
            set => __pbn__bot_difficulty = value;
        }
        public bool ShouldSerializebot_difficulty() => __pbn__bot_difficulty != null;
        public void Resetbot_difficulty() => __pbn__bot_difficulty = null;
        private int? __pbn__bot_difficulty;

        [global::ProtoBuf.ProtoMember(10)]
        public bool tutorial
        {
            get => __pbn__tutorial.GetValueOrDefault();
            set => __pbn__tutorial = value;
        }
        public bool ShouldSerializetutorial() => __pbn__tutorial != null;
        public void Resettutorial() => __pbn__tutorial = null;
        private bool? __pbn__tutorial;

        [global::ProtoBuf.ProtoMember(11)]
        [global::System.ComponentModel.DefaultValue(EDACGameMode.k_EDACGameMode_Normal)]
        public EDACGameMode game_mode
        {
            get => __pbn__game_mode ?? EDACGameMode.k_EDACGameMode_Normal;
            set => __pbn__game_mode = value;
        }
        public bool ShouldSerializegame_mode() => __pbn__game_mode != null;
        public void Resetgame_mode() => __pbn__game_mode = null;
        private EDACGameMode? __pbn__game_mode;

        [global::ProtoBuf.ProtoMember(12)]
        public CMsgGameModeSettings game_mode_settings { get; set; }

        [global::ProtoBuf.ProtoMember(13)]
        [global::System.ComponentModel.DefaultValue("")]
        public string feature_controls
        {
            get => __pbn__feature_controls ?? "";
            set => __pbn__feature_controls = value;
        }
        public bool ShouldSerializefeature_controls() => __pbn__feature_controls != null;
        public void Resetfeature_controls() => __pbn__feature_controls = null;
        private string __pbn__feature_controls;

        [global::ProtoBuf.ProtoMember(14)]
        public uint active_challenge_slot_id
        {
            get => __pbn__active_challenge_slot_id.GetValueOrDefault();
            set => __pbn__active_challenge_slot_id = value;
        }
        public bool ShouldSerializeactive_challenge_slot_id() => __pbn__active_challenge_slot_id != null;
        public void Resetactive_challenge_slot_id() => __pbn__active_challenge_slot_id = null;
        private uint? __pbn__active_challenge_slot_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientAccountSyncStorageFile : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private uint? __pbn__version;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<uint> ids { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<uint> values { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerChallengeCompletePrediction : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint event_id
        {
            get => __pbn__event_id.GetValueOrDefault();
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private uint? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint slot_id
        {
            get => __pbn__slot_id.GetValueOrDefault();
            set => __pbn__slot_id = value;
        }
        public bool ShouldSerializeslot_id() => __pbn__slot_id != null;
        public void Resetslot_id() => __pbn__slot_id = null;
        private uint? __pbn__slot_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint challenge_id
        {
            get => __pbn__challenge_id.GetValueOrDefault();
            set => __pbn__challenge_id = value;
        }
        public bool ShouldSerializechallenge_id() => __pbn__challenge_id != null;
        public void Resetchallenge_id() => __pbn__challenge_id = null;
        private uint? __pbn__challenge_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint config_id
        {
            get => __pbn__config_id.GetValueOrDefault();
            set => __pbn__config_id = value;
        }
        public bool ShouldSerializeconfig_id() => __pbn__config_id != null;
        public void Resetconfig_id() => __pbn__config_id = null;
        private uint? __pbn__config_id;

        [global::ProtoBuf.ProtoMember(5)]
        public uint initial_progress
        {
            get => __pbn__initial_progress.GetValueOrDefault();
            set => __pbn__initial_progress = value;
        }
        public bool ShouldSerializeinitial_progress() => __pbn__initial_progress != null;
        public void Resetinitial_progress() => __pbn__initial_progress = null;
        private uint? __pbn__initial_progress;

        [global::ProtoBuf.ProtoMember(6)]
        public uint predicted_total
        {
            get => __pbn__predicted_total.GetValueOrDefault();
            set => __pbn__predicted_total = value;
        }
        public bool ShouldSerializepredicted_total() => __pbn__predicted_total != null;
        public void Resetpredicted_total() => __pbn__predicted_total = null;
        private uint? __pbn__predicted_total;

    }

    [global::ProtoBuf.ProtoContract()]
    public 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,
    }

    [global::ProtoBuf.ProtoContract()]
    public 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,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EGameState
    {
        EGameState_Intro = 0,
        EGameState_Playing = 1,
        EGameState_GameOver = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ERoundState
    {
        ERoundState_Preparing = 0,
        ERoundState_Ready = 1,
        ERoundState_Combat = 2,
        ERoundState_RoundOver = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public 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_Monk = 42,
        EUnitKeyword_Brawler = 43,
        EUnitKeyword_Invoker = 44,
        EUnitKeyword_Sorceror = 45,
        EUnitKeyword_Guardian = 46,
        EUnitKeyword_Commander = 47,
        EUnitKeyword_Faerie = 48,
        EUnitKeyword_Necromancer = 49,
        EUnitKeyword_Champion = 50,
        EUnitKeyword_Wisp = 51,
        EUnitKeyword_Brutal = 52,
        EUnitKeyword_Healer = 53,
        EUnitKeyword_Vigilant = 54,
        EUnitKeyword_Void = 55,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESynergyType
    {
        ESynergyType_Class = 1,
        ESynergyType_Race = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public 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,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EPlayerConnectionState
    {
        EPlayerConnectionState_Connecting = 0,
        EPlayerConnectionState_Connected = 1,
        EPlayerConnectionState_Disconnected = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESendDestination
    {
        ESendDestination_Duos_Partner = 0,
    }

    [global::ProtoBuf.ProtoContract()]
    public 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,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ERoundCombatResult
    {
        ERoundCombatResult_Draw = 0,
        ERoundCombatResult_HomeWin = 1,
        ERoundCombatResult_AwayWin = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EDamageSourceType
    {
        k_EDamageSourceType_Round = 0,
        k_EDamageSourceType_Unit = 1,
        k_EDamageSourceType_Item = 2,
        k_EDamageSourceType_DuosNetDamage = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public 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,
    }

    [global::ProtoBuf.ProtoContract()]
    public 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,
    }

    [global::ProtoBuf.ProtoContract()]
    public 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,
    }

    [global::ProtoBuf.ProtoContract()]
    public 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,
    }

    [global::ProtoBuf.ProtoContract()]
    public 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,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EDACIncidentType
    {
        EDACIncidentType_None = 0,
        EDACIncidentType_DamagePhysical = 1,
        EDACIncidentType_DamageMagical = 2,
        EDACIncidentType_DamagePure = 3,
        EDACIncidentType_Died = 4,
        EDACIncidentType_Heal = 5,
    }

    [global::ProtoBuf.ProtoContract()]
    public 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,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EInGameChatType
    {
        k_eInGameChatType_Global = 0,
        k_eInGameChatType_Combat = 1,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EClickType
    {
        k_eClickType_Left = 0,
        k_eClickType_Right = 1,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EMapPropCommand
    {
        k_eMapPropCommand_None = 0,
        k_eMapPropCommand_Click = 1,
    }

    [global::ProtoBuf.ProtoContract()]
    public 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,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EDuosMessageTargetType
    {
        k_eDuosMessageTargetType_None = 0,
        k_eDuosMessageTargetType_Unit = 1,
        k_eDuosMessageTargetType_Synergy = 2,
        k_eDuosMessageTargetType_Gold = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EBoardBuddyCommand
    {
        k_eBoardBuddyCommand_None = 0,
        k_eBoardBuddyCommand_Move = 1,
    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
