# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: BH3.proto
# plugin: python-betterproto
from dataclasses import dataclass
from typing import List

import betterproto


class StageCheatDataType(betterproto.Enum):
    NoneType = 0
    STAGE_ID = 1
    STAGE_PROGRESS = 2
    STAGE_MAX_SCORE = 3
    TIME_START = 1001
    TIME_USE = 1002
    AVG_FRAME_TIME = 1003
    PLAYER_LEVEL = 1004
    STAGE_SCORE = 1005
    MONSTER_TOTAL_HP = 1006
    MONSTER_TOTAL_LOSS_HP = 1007
    MONSTER_HIT_MISS_NUM = 1008
    MONSTER_HIT_NUM = 1009
    NATURE_DAMAGE_BONUS_RATIO_MAX = 1010
    STAR_RING_USE_TIME = 1011
    AVATAR_ID_1 = 2001
    AVATAR_LEVEL_1 = 2002
    AVATAR_COMBAT_1 = 2003
    ATTACK_MAX_1 = 2004
    SP_MAX_1 = 2005
    SP_BEGIN_1 = 2006
    SP_END_1 = 2007
    SP_GAIN_1 = 2008
    SP_USE_1 = 2009
    HP_MAX_1 = 2010
    HP_BEGIN_1 = 2011
    HP_END_1 = 2012
    HP_GAIN_1 = 2013
    HIT_COUNT_1 = 2014
    HIT_DAMAGE_1 = 2015
    HIT_NORMAL_DAMAGE_MAX_1 = 2016
    HIT_CRITICAL_DAMAGE_MAX_1 = 2017
    BEHIT_COUNT_1 = 2018
    BEHIT_NORMAL_DAMAGE_MAX_1 = 2019
    BEHIT_CRITICAL_DAMAGE_MAX_1 = 2020
    COMBO_MAX_1 = 2021
    AVATAR_TIME_USE_1 = 2022
    WEAPON_LEVEL_1 = 2023
    STIGMATA_LEVEL_MAX_1 = 2024
    MP_TEAM_SKILL_TIMES_1 = 2025
    MP_QTE_SKILL_TIMES_1 = 2026
    MP_BE_RESCUED_TIMES_1 = 2027
    MP_RESCUE_TIMES_1 = 2028
    MP_AVG_RESCUE_TIME_1 = 2029
    MP_CHAT_TIMES_1 = 2030
    ULTIMATE_SKILL_TIMES_1 = 2031
    ULTIMATE_SKILL_DURATION_1 = 2032
    ATTACK_SP_GAIN_1 = 2033
    WEAPON_SKILL_TIMES_1 = 2034
    SWITCH_IN_SKILL_DAMAGE_MAX_1 = 2035
    BRANCH_SKILL_DAMAGE_MAX_1 = 2036
    CHARGE_SKILL_DAMAGE_MAX_1 = 2037
    ULTIMATE_SKILL_DAMAGE_MAX_1 = 2038
    ULTIMATE_SKILL_INTERVAL_TIME_MIN_1 = 2039
    WEAPON_SKILL_INTERVAL_TIME_MIN_1 = 2040
    HIT_INTERVAL_TIME_MIN_1 = 2041
    SP_MIN_1 = 2042
    HP_MIN_1 = 2043
    STIGMATA_1_1 = 2044
    STIGMATA_1_2 = 2045
    STIGMATA_1_3 = 2046
    WEAPON_ID_1 = 2047
    DRESS_ID_1 = 2048
    SERVER_AVATAR_ID_1 = 2049
    SERVER_STIGMATA_1_1 = 2050
    SERVER_STIGMATA_1_2 = 2051
    SERVER_STIGMATA_1_3 = 2052
    SERVER_WEAPON_ID_1 = 2053
    SERVER_DRESS_ID_1 = 2054
    AVATAR_ID_2 = 2101
    AVATAR_LEVEL_2 = 2102
    AVATAR_COMBAT_2 = 2103
    ATTACK_MAX_2 = 2104
    SP_MAX_2 = 2105
    SP_BEGIN_2 = 2106
    SP_END_2 = 2107
    SP_GAIN_2 = 2108
    SP_USE_2 = 2109
    HP_MAX_2 = 2110
    HP_BEGIN_2 = 2111
    HP_END_2 = 2112
    HP_GAIN_2 = 2113
    HIT_COUNT_2 = 2114
    HIT_DAMAGE_2 = 2115
    HIT_NORMAL_DAMAGE_MAX_2 = 2116
    HIT_CRITICAL_DAMAGE_MAX_2 = 2117
    BEHIT_COUNT_2 = 2118
    BEHIT_NORMAL_DAMAGE_MAX_2 = 2119
    BEHIT_CRITICAL_DAMAGE_MAX_2 = 2120
    COMBO_MAX_2 = 2121
    AVATAR_TIME_USE_2 = 2122
    WEAPON_LEVEL_2 = 2123
    STIGMATA_LEVEL_MAX_2 = 2124
    MP_TEAM_SKILL_TIMES_2 = 2125
    MP_QTE_SKILL_TIMES_2 = 2126
    MP_BE_RESCUED_TIMES_2 = 2127
    MP_RESCUE_TIMES_2 = 2128
    MP_AVG_RESCUE_TIME_2 = 2129
    MP_CHAT_TIMES_2 = 2130
    ULTIMATE_SKILL_TIMES_2 = 2131
    ULTIMATE_SKILL_DURATION_2 = 2132
    ATTACK_SP_GAIN_2 = 2133
    WEAPON_SKILL_TIMES_2 = 2134
    SWITCH_IN_SKILL_DAMAGE_MAX_2 = 2135
    BRANCH_SKILL_DAMAGE_MAX_2 = 2136
    CHARGE_SKILL_DAMAGE_MAX_2 = 2137
    ULTIMATE_SKILL_DAMAGE_MAX_2 = 2138
    ULTIMATE_SKILL_INTERVAL_TIME_MIN_2 = 2139
    WEAPON_SKILL_INTERVAL_TIME_MIN_2 = 2140
    HIT_INTERVAL_TIME_MIN_2 = 2141
    SP_MIN_2 = 2142
    HP_MIN_2 = 2143
    STIGMATA_2_1 = 2144
    STIGMATA_2_2 = 2145
    STIGMATA_2_3 = 2146
    WEAPON_ID_2 = 2147
    DRESS_ID_2 = 2148
    SERVER_AVATAR_ID_2 = 2149
    SERVER_STIGMATA_2_1 = 2150
    SERVER_STIGMATA_2_2 = 2151
    SERVER_STIGMATA_2_3 = 2152
    SERVER_WEAPON_ID_2 = 2153
    SERVER_DRESS_ID_2 = 2154
    AVATAR_ID_3 = 2201
    AVATAR_LEVEL_3 = 2202
    AVATAR_COMBAT_3 = 2203
    ATTACK_MAX_3 = 2204
    SP_MAX_3 = 2205
    SP_BEGIN_3 = 2206
    SP_END_3 = 2207
    SP_GAIN_3 = 2208
    SP_USE_3 = 2209
    HP_MAX_3 = 2210
    HP_BEGIN_3 = 2211
    HP_END_3 = 2212
    HP_GAIN_3 = 2213
    HIT_COUNT_3 = 2214
    HIT_DAMAGE_3 = 2215
    HIT_NORMAL_DAMAGE_MAX_3 = 2216
    HIT_CRITICAL_DAMAGE_MAX_3 = 2217
    BEHIT_COUNT_3 = 2218
    BEHIT_NORMAL_DAMAGE_MAX_3 = 2219
    BEHIT_CRITICAL_DAMAGE_MAX_3 = 2220
    COMBO_MAX_3 = 2221
    AVATAR_TIME_USE_3 = 2222
    WEAPON_LEVEL_3 = 2223
    STIGMATA_LEVEL_MAX_3 = 2224
    MP_TEAM_SKILL_TIMES_3 = 2225
    MP_QTE_SKILL_TIMES_3 = 2226
    MP_BE_RESCUED_TIMES_3 = 2227
    MP_RESCUE_TIMES_3 = 2228
    MP_AVG_RESCUE_TIME_3 = 2229
    MP_CHAT_TIMES_3 = 2230
    ULTIMATE_SKILL_TIMES_3 = 2231
    ULTIMATE_SKILL_DURATION_3 = 2232
    ATTACK_SP_GAIN_3 = 2233
    WEAPON_SKILL_TIMES_3 = 2234
    SWITCH_IN_SKILL_DAMAGE_MAX_3 = 2235
    BRANCH_SKILL_DAMAGE_MAX_3 = 2236
    CHARGE_SKILL_DAMAGE_MAX_3 = 2237
    ULTIMATE_SKILL_DAMAGE_MAX_3 = 2238
    ULTIMATE_SKILL_INTERVAL_TIME_MIN_3 = 2239
    WEAPON_SKILL_INTERVAL_TIME_MIN_3 = 2240
    HIT_INTERVAL_TIME_MIN_3 = 2241
    SP_MIN_3 = 2242
    HP_MIN_3 = 2243
    STIGMATA_3_1 = 2244
    STIGMATA_3_2 = 2245
    STIGMATA_3_3 = 2246
    WEAPON_ID_3 = 2247
    DRESS_ID_3 = 2248
    SERVER_AVATAR_ID_3 = 2249
    SERVER_STIGMATA_3_1 = 2250
    SERVER_STIGMATA_3_2 = 2251
    SERVER_STIGMATA_3_3 = 2252
    SERVER_WEAPON_ID_3 = 2253
    SERVER_DRESS_ID_3 = 2254
    ELF_ID = 2301
    ELF_LEVEL = 2302
    ELF_COMBAT = 2303
    ELF_ATTACK = 2304
    ELF_SP_MAX = 2305
    ELF_ULTIMATE_SKILL_TIMES = 2306
    ELF_SP_USE = 2307
    ELF_HIT_CRITICAL_DAMAGE_MAX = 2308
    ELF_HIT_NORMAL_DAMAGE_MAX = 2309
    ELF_ULTIMATE_SKILL_INTERVAL_TIME_MIN = 2310
    ELF_HIT_INTERVAL_TIME_MIN = 2311
    SERVER_ELF_ID = 2312
    ELF_ID_2 = 2401
    ELF_LEVEL_2 = 2402
    ELF_COMBAT_2 = 2403
    ELF_ATTACK_2 = 2404
    ELF_SP_MAX_2 = 2405
    ELF_ULTIMATE_SKILL_TIMES_2 = 2406
    ELF_SP_USE_2 = 2407
    ELF_HIT_CRITICAL_DAMAGE_MAX_2 = 2408
    ELF_HIT_NORMAL_DAMAGE_MAX_2 = 2409
    ELF_ULTIMATE_SKILL_INTERVAL_TIME_MIN_2 = 2410
    ELF_HIT_INTERVAL_TIME_MIN_2 = 2411
    SERVER_ELF_ID_2 = 2412
    ELF_ID_3 = 2501
    ELF_LEVEL_3 = 2502
    ELF_COMBAT_3 = 2503
    ELF_ATTACK_3 = 2504
    ELF_SP_MAX_3 = 2505
    ELF_ULTIMATE_SKILL_TIMES_3 = 2506
    ELF_SP_USE_3 = 2507
    ELF_HIT_CRITICAL_DAMAGE_MAX_3 = 2508
    ELF_HIT_NORMAL_DAMAGE_MAX_3 = 2509
    ELF_ULTIMATE_SKILL_INTERVAL_TIME_MIN_3 = 2510
    ELF_HIT_INTERVAL_TIME_MIN_3 = 2511
    SERVER_ELF_ID_3 = 2512
    IS_MP_VOICE_USED = 3001
    MP_VOICE_USE_TIME = 3002
    SEALED_EVENT_ID = 4001


class SettingDictValueType(betterproto.Enum):
    NoneType2 = 0
    INT = 1
    FLOAT = 2
    STRING = 3
    INT_LIST = 4


class ChatMsgItemChatMsgType(betterproto.Enum):
    NoneType1 = 0
    STR_MSG = 1
    WEAPON_MSG = 2
    STIGMATA_MSG = 3
    AVATAR_MSG = 4
    LOBBY_MSG = 5
    INTERNAL_MSG = 6
    SEND_RED_ENVELOPE_MSG = 7
    TAKE_RED_ENVELOPE_MSG = 8
    EMOJI = 9
    ELF_MSG = 10
    RED_ENVELOPE_TAKE_OVER_MSG = 11
    CHATWORLD_BEAST_MSG = 12


class ChatMsgMsgChannel(betterproto.Enum):
    DEFAULT = 0
    WORLD = 1
    FRIEND = 2
    ARMADA = 3
    PLAYER_CARD = 4
    LOBBY = 5
    MASTER_PUPIL = 6
    COMMON_CHATWORLD = 7
    GROUP = 8
    TEAM = 9
    CAMPAIGN = 10
    ROOM = 11
    WORLD_ACTIVITY = 12
    PRIVATE = 13
    BATTLE = 14


class ChallengeMissionStepStepStatus(betterproto.Enum):
    UNLOCK = 0
    DOING = 1
    REWARDING = 2
    FINISH = 3


class ConstantEnum(betterproto.Enum):
    NoneType3 = 0
    UN_LIMIT_TIMES = 65535
    FRAME_DEFAULT_ID = 200001


class SpecialItemId(betterproto.Enum):
    NoneType4 = 0
    ITEM_GREEN_STONE = 4
    ITEM_PURPLE_JADE = 5
    ITEM_FRIENDS_POINT = 6
    ITEM_SCOIN = 100
    ITEM_FIGHT_OPENWORLD_STAGE_BOSS = 901
    ITEM_ARMADA_WAR_ENERGE_ITEM_ID = 914
    ITEM_DLC_COIN = 801
    ITEM_DLC_REVIVE_COIN = 803
    ITEM_SC_DLC_REVIVE_COIN = 835
    ITEM_STAMINA_MEDICINE = 7033
    ITEM_BENG_HUAI_FRAGMENTS = 7032
    ITEM_WEEK_DAY_ACTIVITY_COIN = 7034
    ITEM_SPEED_UP_STAGE = 9007
    ITEM_ROGUE_STAGE_COIN = 9008


class SpecialMailId(betterproto.Enum):
    NoneType0 = 0
    MAIL_INVITE = 1001
    MAIL_INVITEE = 1002
    MAIL_ACTIVITY_INVITE = 1003
    MAIL_ARMADA_KICK = 2001
    MAIL_ARMADA_DISSOLVE = 2002
    MAIL_RECLAIM_RANK_REWARD = 2017
    MAIL_CHAPTER_RESET = 2021
    MAIL_CHAPTER_RESET_AVATAR_COMPENSATE = 2022
    MAIL_MP_RAID_HCOIN_COMPENSATE = 2023
    MAIL_ARMADA_CHANGE_NAME = 2101
    MAIL_ARMADA_LEADER_OFFLINE_NOTICE = 2102
    MAIL_ARMADA_IMPEACH_LEADER_START = 2103
    MAIL_ARMADA_IMPEACH_LEADER_SUCCESS = 2104
    MAIL_ARMADA_IMPEACH_LEADER_FAIL = 2105
    MAIL_ARMADA_IMPEACH_LEADER_CANCEL = 2106
    MAIL_MP_NEWBIE = 3001
    MAIL_MP_REPORT = 3002
    MAIL_PAY_CARD = 4001
    MAIL_PAY_SUBS = 4002
    MAIL_SECURITY_PASSWORD_RESET = 4101
    MAIL_OPENWORLD_QUEST_REWARD = 5001
    MAIL_SIMULATE_REWARD = 6004
    MAIL_ARMADA_WAREHOUSE_AUTO_CANCEL = 6023
    MAIL_CHATWORLD_DISH_COMPENSATE = 6024
    MAIL_RAFFLE_COMPENSATE = 6025
    MAIL_BULLETIN_SCORE_REWARD = 6039
    MAIL_BIRTHDAY_REWARD = 6101
    MAIL_RAID_RANK_REWARD = 6201
    MAIL_RAID_SCORE_REWARD = 6202
    MAIL_RAID_SPECIAL_REWARD = 6203
    MAIL_SEASON_WEEK_RANK_REWARD = 6301
    MAIL_SEASON_RANK_REWARD = 6302
    MAIL_SEASON_SCORE_REWARD = 6303
    MAIL_EXTRA_STORY_COMPENSATE_REWARD = 6401
    MAIL_WORLD_BOSS_SCORE_REWARD = 6501
    MAIL_WORLD_BOSS_RANK_REWARD = 6502
    MAIL_WORLD_BOSS_KILL_BOSS_REWARD = 6503
    MAIL_HCOIN_GACHA_RESET = 6601
    MAIL_GACHA_EX_REWARD = 6602
    MAIL_COUPLE_TOWER_ACTIVITY_FLOOR_REWARD = 6801
    MAIL_PLAYER_WEEKLY_REPORT = 6901
    MAIL_MASTER_PUPIL_MASTER_REWARD_0_STAR = 7001
    MAIL_MASTER_PUPIL_MASTER_REWARD_1_STAR = 7002
    MAIL_MASTER_PUPIL_MASTER_REWARD_2_STAR = 7003
    MAIL_MASTER_PUPIL_MASTER_REWARD_3_STAR = 7004
    MAIL_MASTER_PUPIL_PUPIL_REWARD = 7005
    MAIL_MASTER_PUPIL_DISMISS = 7006
    MAIL_ARMADA_MATRIX_DEPOSIT_REWARD = 7101
    MAIL_ARMADA_WAR_SEASON_REWARD = 7102
    MAIL_ARMADA_WAR_BATTLE_REWARD = 7103
    MAIL_ARMADA_WAR_BATTLE_CONTRIBUTION_REWARD = 7104
    MAIL_ARMADA_WAR_BATTLE_RANK_REWARD = 7105
    MAIL_ARMADA_WAR_APPLY_NOTIFY_MAIL = 7106
    MAIL_ARMADA_WAR_ARMADA_RESET_MAIL = 7107
    MAIL_ARMADA_WAR_PLAYER_BATTLE_NUM_REWARD = 7108
    MAIL_ARMADA_FIRST_JOIN_REWARD = 7109
    MAIL_TIME_LIMIT_ADD_UP_REWARD = 7201
    MAIL_TVT_FIRST_DIVISION_UP_REWARD = 7202
    MAIL_TVT_SEASON_OFF_REWARD = 7203
    MAIL_CREDIT_BEHAVIOR_SELF_NOTIFY = 7209
    MAIL_CREDIT_BEHAVIOR_OTHER_NOTIFY = 7210
    MAIL_CREDIT_RANK_REDUCE_NOTIFY = 7211
    MAIL_CREDIT_RANK_IMPROVE_NOTIFY = 7212
    MAIL_KINGDOM_WAR_RANK_REWARD = 7301
    MAIL_KINGDOM_WAR_PERCENT_RANK_REWARD = 7302
    MAIL_KINGDOM_WAR_PERCENT_SCORE_REWARD = 7303
    MAIL_KINGDOM_WAR_PHASE_REWARD = 7304
    MAIL_ARMADA_MATRIX_ARMADA_REWARD = 7305
    MAIL_MP_RAID_RESET_MISSION_REWARD = 7402
    MAIL_BLOCK_ZONE_MISSION_REWARD = 7403
    MAIL_AVATAR_STAR_UP_RETURN = 7601
    MAIL_ROGUE_TOWER_ENDLESS_SCORE_REWARD = 7602
    MAIL_DREAM_REWARD = 7604
    MAIL_SLG_BATTLE_COUNTRY_RANK_REWARD = 7607
    MAIL_SINGLE_WANTED_WEEKLY_ENGAGE_REWARD = 7608
    MAIL_SINGLE_WANTED_BOX_FIXED_REWARD = 7609
    MAIL_SINGLE_WANTED_BOX_CHOICE_REWARD = 7610
    MAIL_SLG_BATTLE_SCORE_REWARD = 7611
    MAIL_SLG_ACTIVITY_SCORE_REWARD = 7612
    MAIL_WANTED_OFF_COMPENSATE_REWARD = 7613
    MAIL_OPENWORLD_CHAPTER_LIMIT_REWARD_COMPENSATE = 7617
    MAIL_SC_DLC_DAILY_QUEST_COMPENSATE = 7619
    MAIL_NEWBIE_LEVEL_RUSH_COMPENSATE = 7620
    MAIL_SC_DLC_EVENT_COMPENSATE = 7621
    MAIL_MODIFY_PLAYER_DATA_580_LEVEL_DATA_COMPENSATE = 7625
    MAIL_NEWBIE_MATERIAL_RECYCLE = 8058
    MAIL_GLOABL_EXPLORE_WIN_REWARD = 8070
    MAIL_GLOABL_EXPLORE_LOSE_REWARD = 8071


class AccountType(betterproto.Enum):
    ACCOUNT_NONE = 0
    ACCOUNT_MIHOYO = 1
    ACCOUNT_BILIBILI = 2
    ACCOUNT_UC = 3
    ACCOUNT_360 = 4
    ACCOUNT_YYB = 5
    ACCOUNT_XIAOMI = 6
    ACCOUNT_HUAWEI = 7
    ACCOUNT_OPPO = 8
    ACCOUNT_VIVO = 9
    ACCOUNT_MEIZU = 10
    ACCOUNT_COOLPAD = 11
    ACCOUNT_LENOVO = 12
    ACCOUNT_GIONEE = 13
    ACCOUNT_BAIDU = 14
    ACCOUNT_WANDOUJIA = 15
    ACCOUNT_LESHI = 16
    ACCOUNT_GOOGLE = 17
    ACCOUNT_FACEBOOK = 18
    ACCOUNT_ITUNES_GC = 19
    ACCOUNT_SIGNIN_APPLE = 20
    ACCOUNT_WEGAME = 21
    ACCOUNT_BYTEDANCE = 22
    ACCOUNT_STEAM = 23
    ACCOUNT_HOYOLAB = 24


class CGType(betterproto.Enum):
    CG_NONE = 0
    CG_START = 1
    CG_SEVEN_CHAPTER = 2


class AvatarPartType(betterproto.Enum):
    AVATAR_PART_TYPE_NONE = 0
    AVATAR_PART_TYPE_ONE = 1
    AVATAR_PART_TYPE_TWO = 2


class EquipmentType(betterproto.Enum):
    NoneType5 = 0
    EQUIPMENT_MATERIAL = 1
    EQUIPMENT_AVATAR_FRAGMENT = 2
    EQUIPMENT_WEAPON = 3
    EQUIPMENT_STIGMATA = 4
    EQUIPMENT_AVATAR_CARD = 5
    EQUIPMENT_ENDLESS_ITEM = 6
    EQUIPMENT_DRESS = 7
    EQUIPMENT_VIRTUAL = 8
    EQUIPMENT_MEDAL = 10
    EQUIPMENT_FURNITURE = 14
    EQUIPMENT_OPENWORLD_ENDLESS_ITEM = 15
    EQUIPMENT_CUSTOM_HEAD = 16
    EQUIPMENT_FRAME = 20
    EQUIPMENT_SHOPPING_MALL_GIFT = 30
    EQUIPMENT_MECHA = 34
    EQUIPMENT_PHONE_PENDANT = 35
    EQUIPMENT_EMOJI = 36
    EQUIPMENT_ELF_FRAGMENT = 37
    EQUIPMENT_ELF_CARD = 38
    EQUIPMENT_DLC_AVATAR_CARD = 39
    EQUIPMENT_WARSHIP = 40
    EQUIPMENT_TRIAL_WARSHIP = 41
    EQUIPMENT_ERROR = 100


class WeaponBranchType(betterproto.Enum):
    NoneType6 = 0
    WEAPON_DEFAULT = 1
    WEAPON_BEFALL = 2


class EquipmentVirtualType(betterproto.Enum):
    NoneType7 = 0
    EQUIPMENT_VIRTUAL_ARMADA_FUND = 80001
    EQUIPMENT_VIRTUAL_MP_EXP = 80002
    EQUIPMENT_VIRTUAL_SCOIN = 80006
    EQUIPMENT_MASTER_FAME_EXP = 80007
    EQUIPMENT_VIRTUAL_SEASON_EXP = 80008
    EQUIPMENT_VIRTUAL_PLAYER_EXP = 80009
    EQUIPMENT_VIRTUAL_ARMADA_CONTRIBUTION = 80011
    EQUIPMENT_VIRTUAL_VITALITY = 80012
    EQUIPMENT_VIRTUAL_CARD_PRODUCT = 80013
    EQUIPMENT_VIRTUAL_CONTRACT_POINT = 80014
    EQUIPMENT_VIRTUAL_DLC_EXP = 80015
    EQUIPMENT_VIRTUAL_BATTLE_PASS_EXP_ACTIVITY = 80016
    EQUIPMENT_VIRTUAL_ADVENTURE_BADGE = 80017
    EQUIPMENT_VIRTUAL_ADVENTURE_GRAIN = 80018
    EQUIPMENT_VIRTUAL_CHAPTER_ACTIVITY_EXP = 80019
    EQUIPMENT_VIRTUAL_PICTURE_SCORE = 80020
    EQUIPMENT_VIRTUAL_OW_FOX_EXP = 80021
    EQUIPMENT_VIRTUAL_OW_AI_EXP = 80022
    EQUIPMENT_VIRTUAL_SANCTUARY_EXP = 80023
    EQUIPMENT_VIRTUAL_CUSTOM_GACHA_ENERGY = 80024
    EQUIPMENT_VIRTUAL_BATTLE_PASS_THEME_EXP = 80025
    EQUIPMENT_VIRTUAL_OPTIONAL_GACHA_ENERGY = 80026
    EQUIPMENT_VIRTUAL_NEWBIE_PRIVILEGE = 80027
    EQUIPMENT_VIRTUAL_SC_DLC_EXP = 80028
    EQUIPMENT_VIRTUAL_BATTLE_PASS_EXP_DUTY = 80029
    EQUIPMENT_VIRTUAL_CUSTOM_GOBACK_GACHA_ENERGY = 80030
    EQUIPMENT_VIRTUAL_OW_TERMINAL_EXP = 80031
    EQUIPMENT_VIRTUAL_PJMS_CHAPTER_EXP_1 = 80032
    EQUIPMENT_VIRTUAL_PJMS_CHAPTER_EXP_2 = 80033
    EQUIPMENT_VIRTUAL_PJMS_CHAPTER_EXP_3 = 80034
    EQUIPMENT_VIRTUAL_PJMS_CHAPTER_EXP_4 = 80035
    EQUIPMENT_VIRTUAL_PJMS_CHAPTER_EXP_5 = 80036
    EQUIPMENT_VIRTUAL_PJMS_CHAPTER_EXP_6 = 80037
    EQUIPMENT_VIRTUAL_PJMS_CHAPTER_EXP_7 = 80038
    EQUIPMENT_VIRTUAL_PJMS_CHAPTER_EXP_8 = 80039
    EQUIPMENT_VIRTUAL_PJMS_CHAPTER_EXP_9 = 80040
    EQUIPMENT_VIRTUAL_PJMS_CHAPTER_EXP_10 = 80041


class MechaSlot(betterproto.Enum):
    MECHA_SLOT_NONE = 0
    MECHA_SLOT_LEFT_1 = 1
    MECHA_SLOT_LEFT_2 = 2
    MECHA_SLOT_CENTER = 3
    MECHA_SLOT_RIGHT_2 = 4
    MECHA_SLOT_RIGHT_1 = 5


class WeaponType(betterproto.Enum):
    NoneType8 = 0
    WEAPON_DOUBLE_GUN = 1
    WEAPON_SWORD = 2
    WEAPON_HAND_GUN = 3
    WEAPON_HEAVY_SWORD = 4
    WEAPON_TAIL = 5
    WEAPON_FIST = 6
    WEAPON_SCYTHE = 7
    WEAPON_LANCE = 8
    WEAPON_BOW = 9
    WEAPON_BLADE_RING = 10
    WEAPON_JAVELIN = 11
    WEAPON_DRIVE_CORE = 12
    WEAPON_ROCKET_HAMMER = 13
    WEAPON_DUAL_CROSSBOW = 14
    WEAPON_CHAIN_SWORD = 15
    WEAPON_SWITCH_STAFF = 16


class StigmataType(betterproto.Enum):
    StigmataType1 = 0
    STIGMATA_SLOT_1 = 1
    STIGMATA_SLOT_2 = 2
    STIGMATA_SLOT_3 = 3


class EquipmentSlot(betterproto.Enum):
    EquipmentSlot1 = 0
    EQUIPMENT_SLOT_WEAPON_1 = 1
    EQUIPMENT_SLOT_STIGMATA_1 = 2
    EQUIPMENT_SLOT_STIGMATA_2 = 3
    EQUIPMENT_SLOT_STIGMATA_3 = 4


class StageType(betterproto.Enum):
    StageType0 = 0
    STAGE_STORY = 1
    STAGE_WEEK_DAY = 2
    STAGE_BEFALL = 3
    STAGE_ENDLESS = 4
    STAGE_NUCLEAR = 5
    STAGE_EXTRA_STORY = 7
    STAGE_ROGUE = 9
    STAGE_ARMADA = 10
    STAGE_OPENWORLD = 11
    STAGE_OPENWORLD_BOSS = 12
    STAGE_TUTORIAL = 13
    STAGE_CAMPWAR = 14
    STAGE_EX_BOSS = 15
    STAGE_MINUTE = 16
    STAGE_SEALED = 17
    STAGE_WORLDBOSS = 18
    STAGE_LEVELMATRIX = 19
    STAGE_PUSHTOWER = 20
    STAGE_TEAM_ASSAULT = 21
    STAGE_GENERAL_ACTIVITY = 22
    STAGE_AVATAR_TRAINING = 23
    STAGE_ARMADA_WAR = 24
    STAGE_DUNGEONS = 25
    STAGE_OPENWORLD_DEFENSE = 26
    STAGE_RECLAIM = 27
    STAGE_OPENWORLD_BOSS_MP = 28
    STAGE_OPENWORLD_ENDLESS = 29
    STAGE_MATRIX_NORMAL = 30
    STAGE_MATRIX_QAVATAR = 31
    STAGE_COUPLE_TOWER = 32
    STAGE_CAMPAIGN = 33
    STAGE_TOWER_RAID = 34
    STAGE_KINGDOM_WAR = 35
    STAGE_TVT = 36
    STAGE_QUANTUM_ENDLESS = 37
    STAGE_WANTED = 38
    STAGE_QAVATAR_PVE = 39
    STAGE_DLC_TOWER = 40
    STAGE_ENDLESS_SINGLE = 41
    STAGE_MONOPOLY_BOSS = 42
    STAGE_ADVENTURE_GROUP = 43
    STAGE_GLOBAL_WAR = 44
    STAGE_GRATUITY = 45
    STAGE_NINJA = 46
    STAGE_SINGLE_RAID_STEP = 47
    STAGE_ARMADA_STAGE_SCORE_ACTIVITY = 48
    STAGE_NEWBIE_CHALLENGE_ACTIVITY = 49
    STAGE_CHALLENGE_WAR = 50
    STAGE_MASSIVE_WAR = 51
    STAGE_SANCTUARY = 52
    STAGE_CRISIS_MODE = 53
    STAGE_SCHEDULED_MAP_SITE = 54
    STAGE_EXAMINATION = 55
    STAGE_MONOPOLY_MONSTER = 56
    STAGE_ULTIMATE_ENDLESS = 57
    STAGE_HYBRID = 58
    STAGE_DAILY_MP = 59
    STAGE_ULTRA_ENDLESS = 60
    STAGE_BUFF_TOWER = 61
    STAGE_ROGUE_TOWER = 62
    STAGE_ROGUE_TOWER_ENDLESS = 64
    STAGE_CHATWORLD_BEAST = 65
    STAGE_SLG = 66
    STAGE_THEME_WANTED = 67
    STAGE_GOD_WAR = 68
    STAGE_HYBRID_RELAY = 69
    STAGE_GENSHIN_LD = 70
    STAGE_RANCH = 71
    STAGE_SINK_CITY_DLC_PREHEAT = 72
    STAGE_SC_DLC_CHALLENGE = 73
    STAGE_OW_CHAPTER_TOWER = 74
    STAGE_OW_CHAPTER_ENDLESS_TOWER = 75
    STAGE_CHATWORLD_BOX = 76
    STAGE_SC_DLC_MP = 77
    STAGE_GREEDY_ENDLESS = 78
    STAGE_OW_CHAPTER_CYCLE = 79
    STAGE_OW_HUNT_ACTIVITY = 80
    STAGE_FRONT_ENDLESS = 81
    STAGE_MONSTER_CARD_NORMAL = 82
    STAGE_MONSTER_CARD_BOSS = 83
    STAGE_MONSTER_CARD_TOWER = 84
    STAGE_DICEY_DUNGEON_STORY = 85
    STAGE_DICEY_DUNGEON_SCHEDULE = 86
    STAGE_BUFF_ASSIST = 87
    STAGE_QCANDY_TUTORIAL = 88
    STAGE_QCANDY_PVP = 89
    STAGE_WAVE_RUSH = 90
    STAGE_AI_CYBER = 91
    STAGE_OW_CHAPTER_ANTIGRAVITY = 92
    STAGE_PLATFORM_SHOOTER = 93
    STAGE_CHAPTER_AVATAR_CULTIVATE = 94
    STAGE_GLOBAL_EXPLORE = 95
    STAGE_GLOBAL_EXPLORE_NORMAL = 96
    STAGE_MIRAGE = 97
    STAGE_SUSANNA_TRIAL = 98
    STAGE_SUSANNA_TRIAL_CHALLENGE = 99
    STAGE_GOD_WAR_AVATAR_CHALLENGE = 100
    STAGE_CHAPTER_36_RPG = 101
    STAGE_SUSANNA_TRIAL_STORY = 102
    STAGE_SHIGURE_KIRA = 103
    STAGE_THEME_TOWER = 104
    STAGE_BW_WORLD_CAMP = 105
    STAGE_MAHOU_CARD_AVATAR = 106
    STAGE_GOBACK_SPECIAL = 107
    STAGE_TILED_GAME_LUNA_MAIN = 108
    STAGE_TILED_GAME_LUNA_DAILY = 109
    STAGE_RESIDENT = 110
    STAGE_TILED_GAME_FARM_MAIN = 111
    STAGE_MINION_CLASH = 112
    STAGE_ARK_PLUS = 113
    STAGE_DICEY_DUNGEON_VOLLEYBALL = 114
    STAGE_RAID_REPLACE = 115
    STAGE_GOURMET_HUNT = 116
    STAGE_MATCH_THREE_PLUS = 117
    STAGE_SIMPLIFIED_GOD_WAR = 118
    STAGE_GAME_ROOM = 119
    STAGE_QRTS = 120
    STAGE_FUTARI_BATTLE = 121
    STAGE_PJMS_GAME_ROOM = 122
    STAGE_TILED_GAME_SRPG = 123
    STAGE_PJMS_RE_ACTIVITY = 124
    STAGE_RICH_MAN = 125
    STAGE_QRTS_AVATAR = 126
    STAGE_MONSTER_FARM = 127


class StageDifficulty(betterproto.Enum):
    StageDifficulty0 = 0
    STAGE_DIFFICULTY_NORMAL = 1
    STAGE_DIFFICULTY_HARD = 2
    STAGE_DIFFICULTY_HELL = 3


class StageRecordType(betterproto.Enum):
    StageRecordType0 = 0
    STAGE_RECORD_SCORE = 1
    STAGE_RECORD_TIME = 2
    STAGE_RECORD_TOTAL_SCORE = 3
    STAGE_RECORD_BATTLE_SCORE = 4
    STAGE_RECORD_BATTLE_SCORE_NO_COIN = 5


class StageOpenStatus(betterproto.Enum):
    StageOpenStatus0 = 0
    STAGE_NOT_OPEN = 1
    STAGE_OPENED = 2
    STAGE_CLOSED = 3


class StageStatus(betterproto.Enum):
    StageStatus0 = 0
    STAGE_LOCKED = 1
    STAGE_DOING = 2
    STAGE_DONE = 3


class SpecialStageId(betterproto.Enum):
    SpecialStageId0 = 0
    STAGE_ID_ENDLESS = 900101
    STAGE_ID_ROGUE = 900201
    STAGE_ID_ARMADA = 900301
    STAGE_ID_ARMADA_MP = 900302
    STAGE_ID_OPENWORLD = 900401
    STAGE_ID_OPENWORLD_BOSS = 900402
    STAGE_ID_OPENWORLD_DEFENSE = 900408
    STAGE_ID_EXBOSS = 900501
    STAGE_ID_ARMADA_MATRIX = 900601
    STAGE_ID_SC_DLC_TOWER = 900701
    STAGE_ID_SEVEN_CHAPTER_CG = 901000
    STAGE_ID_ARMADA_BOSS = 100000000


class ChapterType(betterproto.Enum):
    ChapterType0 = 0
    CHAPTER_TYPE_MAIN_STORY = 1
    CHAPTER_TYPE_EVENT = 2
    CHAPTER_TYPE_SPECIAL_STORY = 3
    CHAPTER_MP = 4
    CHAPTER_TYPE_CHAPTER_ACTIVITY = 5
    CHAPTER_TYPE_HYBRID_SITE_ACTIVITY = 6
    CHAPTER_TYPE_OPENWORLD = 7
    CHAPTER_TYPE_PJMS = 8
    CHAPTER_TYPE_PJMS_NO_ENTER_WORLD = 9


class AvatarReviveEnum(betterproto.Enum):
    AvatarReviveEnum0 = 0
    AVATAR_REVIVE_TIMES_UN_LIMIT = 65535


class AvatarElementTag(betterproto.Enum):
    AvatarElementTag0 = 0
    AVATAR_ELEMENT_TAG_FIRE = 1004
    AVATAR_ELEMENT_TAG_ICE = 1005
    AVATAR_ELEMENT_TAG_LIGHTNING = 1006


class TeamRestrictType(betterproto.Enum):
    TeamRestrictType0 = 0
    TEAM_RESTRICT_TYPE_AVATAR_NUM = 1
    TEAM_RESTRICT_TYPE_AVATAR_CLASS_NUM = 2
    TEAM_RESTRICT_TYPE_AVATAR_EACH_LEVEL = 3
    TEAM_RESTRICT_TYPE_AVATAR_EACH_STAR = 4
    TEAM_RESTRICT_TYPE_AVATAR_ONE_STAR = 5
    TEAM_RESTRICT_TYPE_AVATAR_CLASS_NOT_SAME = 6
    TEAM_RESTRICT_TYPE_AVATAR_ATTR_NOT_SAME = 7
    TEAM_RESTRICT_TYPE_AVATAR_EACH_ATTR = 8
    TEAM_RESTRICT_TYPE_AVATAR_NOT_ATTR = 9
    TEAM_RESTRICT_TYPE_AVATAR_EACH_CLASS = 10
    TEAM_RESTRICT_TYPE_AVATAR_NOT_CLASS = 11
    TEAM_RESTRICT_TYPE_HAS_AVATAR_ID = 12
    TEAM_RESTRICT_TYPE_AVATAR_NOT_ID = 13
    TEMA_RESTRICT_TYPE_ROLE_AVATAR_NUM = 15
    TEAM_RESTRICT_TYPE_ROLE_LIST = 16
    TEAM_RESTRICT_TYPE_IN_AVATAR_LIST = 17
    TEAM_RESTRICT_TYPE_RESISTANCE = 18
    TEAM_RESTRICT_TYPE_HAS_ELF = 19
    TEAM_RESTRICT_TYPE_AVATAR_EACH_TAG_LIST = 20
    TEAM_RESTRICT_TYPE_AVATAR_NOT_TAG_LIST = 21
    TEAM_RESTRICT_TYPE_AVATAR_ONE_TAG = 22
    TEAM_RESTRICT_TYPE_AVATAR_TAG_NUM = 23
    TEAM_RESTRICT_TYPE_AVATAR_ATTR_NUM = 24
    TEAM_RESTRICT_TYPE_AVATAR_ATTR_SAME_NUM = 25
    TEAM_RESTRICT_TYPE_IN_RPG_ROLE_LIST = 26
    TEAM_RESTRICT_TYPE_AVATAR_ELEMENT_TAG_NUM = 27
    TEAM_RESTRICT_TYPE_ALL_PJMS_AVATAR = 28


class StageEnterTimesType(betterproto.Enum):
    STAGE_ENTER_TIMES_DAILY = 0
    STAGE_ENTER_TIMES_WEEKLY = 1


class WeekdayActivityEnterTimesType(betterproto.Enum):
    WEEKDAY_ACTIVITY_ENTER_TIMES_DAILY = 0
    WEEKDAY_ACTIVITY_ENTER_TIMES_WEEKLY = 1


class ActivitySeriesSweepTimesType(betterproto.Enum):
    ACTIVITY_SERIES_SWEEP_TIMES_NONE = 0
    ACTIVITY_SERIES_SWEEP_TIMES_DAILY = 1
    ACTIVITY_SERIES_SWEEP_TIMES_WEEKLY = 2


class StageEndStatus(betterproto.Enum):
    StageEndStatus0 = 0
    STAGE_WIN = 1
    STAGE_NOT_MEET_CONDITION = 2
    STAGE_All_DEAD = 3
    STAGE_EXIT = 4


class StageChallengeType(betterproto.Enum):
    StageChallengeType0 = 0
    CHALLENGE_LIMIT_AVATAR = 1
    CHALLENGE_LIMIT_AVATAR_KILLED = 2
    CHALLENGE_MAX_COMBO = 3
    CHALLENGE_LIMIT_BE_HIT = 4
    CHALLENGE_LIMIT_LEVEL_TIME = 5
    CHALLENGE_LIMIT_WITCH_TIME_TRIGGERED = 6
    CHALLENGE_MAX_DAMAGE_IN_WITCH_TIME = 7
    CHALLENGE_MAX_ULTIMATE_SKILL_TRIGGERED = 8
    CHALLENGE_MAX_DAMAGE_IN_CERTAIN_TIME = 9
    CHALLENGE_MAX_ULTIMATE_SKILL_TRIGGERED_BY_DISTINCT_AVATAR = 10
    CHALLENGE_LIMIT_BE_HIT_DOWN = 11
    CHALLENGE_MAX_AVATAR_CLASS_IN_TEAM = 12
    CHALLENGE_MAX_MONSTER_KILLED = 13
    CHALLENGE_MAX_AVATAR_NATURE_IN_TEAM = 14
    CHALLENGE_LIMIT_TOTAL_DAMAGE = 15
    CHALLENGE_HELPER_AVATAR_ALIVE = 16
    CHALLENGE_LIMIT_TRAP_TRIGGERED = 17
    CHALLENGE_MAX_BOX_OPENED = 18
    CHALLENGE_MAX_DEBUFF_ADD = 19
    CHALLENGE_LIMIT_BE_ADDED_DEBUFF = 20
    CHALLENGE_MAX_ALL_DAMAGE_IND_WITCH_TIME = 21
    CHALLENGE_MAX_MONSTER_KILLED_BY_SWITCH_IN_ATTACK = 22
    CHALLENGE_MAX_MONSTER_KILLED_IN_WITCH_TIME = 23
    CHALLENGE_MONSTER_LAST_KILLED_BY_SWITCH_IN_ATTACK = 24
    CHALLENGE_MAX_MONSTER_KILLED_IN_CERTAIN_TIME = 25
    CHALLENGE_MAX_MONSTER_HIT_AIR = 26
    CHALLENGE_FINISH_STAGE_NORMAL = 27
    CHALLENGE_FINISH_STAGE_FAST = 28
    CHALLENGE_FINISH_STAGE_VERY_FAST = 29
    CHALLENGE_MONSTER_KILLED_BY_BRANCH = 30
    CHALLENGE_QTE_TRIGGERED = 31
    CHALLENGE_MAX_MONSTER_KILLED_BY_ASSASSIN = 32
    CHALLENGE_MAX_MONSTER_CONTINOUS_KILLED_BY_ASSASSIN = 33
    CHALLENGE_MAX_ELITE_MONSTER_KLLED = 34
    CHALLENGE_LIMIT_DISCOVERED = 35
    CHALLENGE_MAX_DEFEND_OBJECT_DAMAGE = 36
    CHALLENGE_MAX_TEAM_SKILL_TRIGGERED = 37
    CHALLENGE_ALL_STORY_MISSION_COMPLETE = 38
    CHALLENGE_MAX_SCORE = 39
    CHALLENGE_MAX_TEAM_SKILL_TRIGGERED_FOR_ALL_TEAM_MEMBER = 40
    CHALLENGE_MAX_MONSTER_KILLED_IN_WITCH_TIME_FOR_ALL_TEAM_MEMBER = 41
    CHALLENGE_MAX_MONSTER_KILLED_FOR_ALL_TEAM_MEMBER = 42
    CHALLENGE_MONSTER_KILLED_BY_BRANCH_FOR_ALL_TEAM_MEMBER = 43
    CHALLENGE_MAX_QTE_TRIGGERED_FOR_ALL_TEAM_MEMBER = 44
    CHALLENGE_LIMIT_EVADE_SUCCESS_TRIGGERED_FOR_ALL_TEAM_MEMBER = 45
    CHALLENGE_MAX_ULTIMATE_SKILL_TRIGGERED_FOR_ALL_TEAM_MEMBER = 46
    CHALLENGE_LIMIT_AVATAR_KILLED_FOR_ALL_TEAM_MEMBER = 47
    CHALLENGE_MONSTER_KILLED_BY_QTE_FOR_ALL_TEAM_MEMBER = 48
    CHALLENGE_CLIENT_CUSTOM = 49
    CHALLENGE_CUSTOM_BUTTON = 50
    CHALLENGE_LIMIT_LEVEL_TIME2 = 51
    CHALLENGE_MONSTERCARD_LIMIT_AVATARSIDE_MONSTER_KILLED = 52


class StagePassType(betterproto.Enum):
    STAGE_PASS_TYPE_NORMAL = 0
    STAGE_PASS_TYPE_BURDEN_ALLEVIATION = 1
    STAGE_PASS_TYPE_SETTLE_PRE_STAGE = 2
    STAGE_PASS_TYPE_BURDEN_ALLEVIATION_V2 = 3


class AvatarClassType(betterproto.Enum):
    AvatarClassType0 = 0
    AVATAR_KIANA = 1
    AVATAR_MEI = 2
    AVATAR_BRONYA = 3
    AVATAR_HIMEKO = 4
    AVATAR_THERESA = 5
    AVATAR_FUKA = 6
    AVATAR_RITA = 7
    AVATAR_DURANDAL = 8
    AVATAR_FISCHL = 9
    AVATAR_PARDOFELIS = 10
    AVATAR_FEATHEREDRABBIT = 11
    AVATAR_SENADINA = 12
    AVATAR_CORALIE = 13
    AVATAR_HELIA = 14
    AVATAR_THELEMA = 15
    AVATAR_SONGQUE = 16


class AvatarID(betterproto.Enum):
    AvatarID0 = 0
    AVATAR_KIANA_PT = 101
    AVATAR_KIANA_FX = 102
    AVATAR_KIANA_YN = 103
    AVATAR_KIANA_QN = 104
    AVATAR_MEI_CK = 201
    AVATAR_MEI_WS = 202
    AVATAR_MEI_DH = 203
    AVATAR_MEI_LD = 204
    AVATAR_SAKURA_YS = 211
    AVATAR_SAKURA_ZF = 212
    AVATAR_BRONYA_ZP = 301
    AVATAR_BRONYA_BQ = 302
    AVATAR_BRONYA_JJ = 303
    AVATAR_BRONYA_BX = 304
    AVATAR_HIMEKO_VV = 401
    AVATAR_HIMEKO_NX = 402
    AVATAR_HIMEKO_KZ = 403
    AVATAR_HIMEKO_BZ = 404
    AVATAR_THERESA_YD = 501
    AVATAR_THERESA_TP = 502
    AVATAR_THERESA_FY = 503
    AVATAR_THERESA_JX = 504
    AVATAR_RITA_NP = 701


class GachaType(betterproto.Enum):
    GachaType0 = 0
    GACHA_HCOIN = 2
    GACHA_SPECIAL_HCOIN = 3
    GACHA_ACTIVITY_1 = 4
    GACHA_CUSTOM_AVATAR = 5
    GACHA_ACTIVITY_2 = 6
    GACHA_CUSTOM_EQUIP = 7
    GACHA_BOX_1 = 8
    GACHA_UNIQUE = 9
    GACHA_EQUIP_HCOIN = 10
    GACHA_SPECIAL_2 = 12
    GACHA_CONTROLLABLE_BOX = 14
    GACHA_ACTIVITY_3 = 15
    GACHA_BOX_2 = 16
    GACHA_BOX_3 = 17
    GACHA_OPTIONAL_AVATAR = 18
    GACHA_OPTIONAL_EQUIP = 19
    GACHA_ADVENTURE = 20
    GACHA_BOX_4 = 21
    GACHA_BOX_5 = 22
    GACHA_ADVENTURE_EQUIP = 23
    GACHA_BOX_6 = 24
    GACHA_SP_EQUIP = 25
    GACHA_ELF_1 = 26
    GACHA_ACTIVITY_4 = 27
    GACHA_ACTIVITY_5 = 28
    GACHA_ACTIVITY_6 = 29
    GACHA_SPECIAL_3 = 30
    GACHA_ADVENTURE_NEWBIE_1 = 31
    GACHA_ADVENTURE_NEWBIE_2 = 32
    GACHA_SPECIAL_NEWBIE_1 = 33
    GACHA_SPECIAL_NEWBIE_2 = 34
    GACHA_BOX_7 = 35
    GACHA_SPECIAL_NEWBIE_3 = 36
    GACHA_SPECIAL_NEWBIE_4 = 37
    GACHA_CUSTOM_AVATAR_GOBACK = 38
    GACHA_EQUIP_GOBACK = 39
    GACHA_SPECIAL_NEWBIE_5 = 40
    GACHA_SPECIAL_NEWBIE_6 = 41
    GACHA_SPECIAL_NEWBIE_7 = 42
    GACHA_SPECIAL_NEWBIE_8 = 43
    GACHA_PJMS_AVATAR_1 = 44
    GACHA_PJMS_AVATAR_2 = 45
    GACHA_PJMS_EQUIP_1 = 46
    GACHA_PJMS_EQUIP_2 = 47
    GACHA_PJMS_ELF = 48
    GACHA_PJMS_AVATAR_3 = 49
    GACHA_PJMS_AVATAR_4 = 50
    GACHA_PJMS_EQUIP_3 = 51
    GACHA_PJMS_EQUIP_4 = 52
    GACHA_TYPE_ERROR = 100


class PjmsGachaGroupType(betterproto.Enum):
    PJMS_GACHA_GROUP_NONE = 0
    PJMS_GACHA_GROUP_CORE = 1
    PJMS_GACHA_GROUP_RARE = 2
    PJMS_GACHA_GROUP_NORMAL = 3


class PjmsGachaMergeType(betterproto.Enum):
    PJMS_GACHA_MERGE_NONE = 0
    PJMS_GACHA_MERGE_AVATAR = 1
    PJMS_GACHA_MERGE_EQUIP = 2
    PJMS_GACHA_MERGE_ELF = 3
    PJMS_GACHA_MERGE_AVATAR_2 = 4
    PJMS_GACHA_MERGE_EQUIP_2 = 5


class AddFriendAction(betterproto.Enum):
    AddFriendAction0 = 0
    ADD_FRIEND_ACTION_ASK = 1
    ADD_FRIEND_ACTION_AGREE = 2
    ADD_FRIEND_ACTION_REJECT = 3


class PrivilegeProductType(betterproto.Enum):
    PRIVILEGE_PRODUCT_ALL = 0
    PRIVILEGE_PRODUCT_NEWBIE = 1
    PRIVILEGE_PRODUCT_GOBACK = 2
    PRIVILEGE_PRODUCT_ADVENTURE = 3


class PrivilegeRightType(betterproto.Enum):
    PrivilegeRightType0 = 0
    PRIVILEGE_RIGHT_DAILY_FREE_GACHA = 1
    PRIVILEGE_RIGHT_CARD_DAILY_REWARD = 2
    PRIVILEGE_RIGHT_DAILY_ONE_FREE_GACHA = 3
    PRIVILEGE_RIGHT_DAILY_TEN_FREE_GACHA = 4


class PrivilegeOpenType(betterproto.Enum):
    PRIVILEGE_OPEN_NORMAL = 0
    PRIVILEGE_OPEN_SCHEDULED = 1


class MailType(betterproto.Enum):
    MailType0 = 0
    MAIL_INNER = 1
    MAIL_OUTER = 2
    MAIL_NOTICE = 3


class SystemChatMsgType(betterproto.Enum):
    CHAT_MSG_NONE = 0
    CHAT_MSG_GACHA = 1
    CHAT_MSG_LOBBY = 2
    CHAT_MSG_FORGE = 3
    CHAT_MSG_SCRATCH = 4


class StageResetType(betterproto.Enum):
    STAGE_RESET_TYPE_RESET = 0
    STAGE_RESET_TYPE_ADD = 1


class DiscountType(betterproto.Enum):
    DiscountType0 = 0
    DISCOUNT_EQUIP_POWER_UP_SCOIN = 1
    DISCOUNT_AVATAR_SKILL_UP_SCOIN = 2
    DISCOUNT_EQUIP_POWER_UP_BOOST_RATE = 3
    DISCOUNT_EQUIP_POWER_UP_BOOST_PROB = 4


class BulletinActivityType(betterproto.Enum):
    BULLETIN_ACTIVITY_TYPE_NONE = 0
    BULLETIN_ACTIVITY_TYPE_MOSAIC = 1
    BULLETIN_ACTIVITY_TYPE_GACHA = 2
    BULLETIN_ACTIVITY_TYPE_SHOP = 3
    BULLETIN_ACTIVITY_TYPE_MISSION = 4
    BULLETIN_ACTIVITY_TYPE_BULLETIN = 5
    BULLETIN_ACTIVITY_TYPE_CITYACTIVITY = 6
    BULLETIN_ACTIVITY_TYPE_NEWROLE = 7
    BULLETIN_ACTIVITY_TYPE_GACHA_TIMELINE = 8
    BULLETIN_ACTIVITY_TYPE_ACTIVITY_TIMELINE = 9
    BULLETIN_ACTIVITY_TYPE_FLOP_CARD = 10
    BULLETIN_ACTIVITY_TYPE_BINGO = 11
    BULLETIN_ACTIVITY_TYPE_SCORE = 12
    BULLETIN_ACTIVITY_TYPE_RELATION = 13
    BULLETIN_ACTIVITY_TYPE_WEB = 14
    BULLETIN_ACTIVITY_TYPE_LOTTERY_DRAW_NUMBER = 15
    BULLETIN_ACTIVITY_TYPE_LOTTERY_TAKE_REWARD = 16
    BULLETIN_ACTIVITY_TYPE_CONTINUOUS_RECHARGE = 17
    BULLETIN_ACTIVITY_TYPE_SUPER_SIGN_IN = 18
    BULLETIN_ACTIVITY_TYPE_OVERLAP = 19
    BULLETIN_ACTIVITY_TYPE_REWARD_OVERVIEW = 20
    BULLETIN_ACTIVITY_TYPE_SCRATCH_TICKET = 21
    BULLETIN_ACTIVITY_TYPE_BBQ = 22
    BULLETIN_ACTIVITY_TYPE_PICTURE = 23
    BULLETIN_ACTIVITY_TYPE_JIGSAW = 24
    BULLETIN_ACTIVITY_TYPE_REUNION = 25
    BULLETIN_ACTIVITY_TYPE_GIFT = 26
    BULLETIN_ACTIVITY_TYPE_SLOT_MACHINE = 27
    BULLETIN_ACTIVITY_TYPE_RAFFLE = 28
    BULLETIN_ACTIVITY_TYPE_LOGIN_REWARD = 29
    BULLETIN_ACTIVITY_TYPE_LOGIN_WISH = 30
    BULLETIN_ACTIVITY_TYPE_WEBVIEW = 31
    BULLETIN_ACTIVITY_TYPE_ALLEVIATION = 32
    BULLETIN_ACTIVITY_TYPE_SHOW_PICTURE = 33
    BULLETIN_ACTIVITY_TYPE_SHOW_MAIN_EVENT_INFO = 34
    BULLETIN_ACTIVITY_TYPE_REUNION_COOK = 35
    BULLETIN_ACTIVITY_TYPE_REUNION_TIMELINE = 36
    BULLETIN_ACTIVITY_TYPE_DREAM = 37
    BULLETIN_ACTIVITY_TYPE_SPACESHIP_GIFT = 38
    BULLETIN_ACTIVITY_TYPE_MISSION_THEME = 39
    BULLETIN_ACTIVITY_TYPE_RECHARGE_ADD_UP = 41
    BULLETIN_ACTIVITY_TYPE_NEW_GIFT = 42
    BULLETIN_ACTIVITY_TYPE_ANNIVERSARY_GIFT = 43
    BULLETIN_ACTIVITY_TYPE_DATA_REFACTOR = 44
    BULLETIN_ACTIVITY_TYPE_OW_CHAPTER = 45
    BULLETIN_ACTIVITY_TYPE_PLAYER_LEVEL_LOCK = 46
    BULLETIN_ACTIVITY_TYPE_PV_LOGIN = 47
    BULLETIN_ACTIVITY_TYPE_ANNIVERSARY_INTEGRATE = 48
    BULLETIN_ACTIVITY_TYPE_MINI_MONOPOLY = 49
    BULLETIN_ACTIVITY_TYPE_MISSION_VERTICAL = 50
    BULLETIN_ACTIVITY_TYPE_PON_MACHINE = 51
    BULLETIN_ACTIVITY_TYPE_CARNIVAL_LOTTERY = 52
    BULLETIN_ACTIVITY_TYPE_MARS_TUTORIAL_VERSION_REWARD = 53
    BULLETIN_ACTIVITY_TYPE_BURDEN_ALLEVIATION_V2 = 54


class MissionType(betterproto.Enum):
    MISSION_NONE = 0
    MISSION_LINEAR = 1
    MISSION_BOUNTY = 2
    MISSION_TIMED = 3
    MISSION_SIDE = 4
    MISSION_CYCLE = 5
    MISSION_DAILY = 6
    MISSION_PROGRESS = 7
    MISSION_CHALLENGE = 8
    MISSION_MASTER_PUPIL_EXAM = 10
    MISSION_MASTER_PUPIL_DAILY = 11
    MISSION_AVATAR_TRAINING = 12
    MISSION_RPG_TALE = 13
    MISSION_MAINLINE_STEP = 14
    MISSION_GOBACK = 15
    MISSION_WEEKLY_ROUTINE = 16
    MISSION_BATTLE_PASS = 17
    MISSION_ADVENTURE_GROUP = 18
    MISSION_MASTER_PUPIL_COMPANY = 19
    MISSION_ACTIVITY = 20
    MISSION_COMPETITION_SEASON = 21
    MISSION_PJMS_ACTIVITY = 22


class MissionSubType(betterproto.Enum):
    MissionSubType0 = 0
    MISSION_SUB_BRANCH = 1
    MISSION_SUB_MP_RAID = 102
    MISSION_SUB_ARMADA = 301
    MISSION_SUB_SHOP_ADD_ON = 501
    MISSION_SUB_RAFFLE = 502
    MISSION_SUB_WEB_ACTIVITY = 503
    MISSION_SUB_COMPETITION_SEASON = 504
    MISSION_SUB_DREAM = 505
    MISSION_SUB_REFRESH_CYCLE_ON_FINISH = 506
    MISSION_SUB_GOD_WAR = 507
    MISSION_SUB_SC_DLC = 508
    MISSION_SUB_CHAPTER_OW = 509
    MISSION_SUB_OW_STORY = 510
    MISSION_SUB_PJMS_ACHIEVEMENT = 511
    MISSION_SUB_RPG_TAKE_REWARD_DROP = 1301
    MISSION_SUB_GOBACK = 1501
    MISSION_SUB_GOBACK_ACTIVITY = 1502
    MISSION_SUB_GOBACK_LIMIT_TIME = 1503
    MISSION_SUB_ADVENTURE_GROUP = 1801
    MISSION_SUB_NINJA = 2001
    MISSION_SUB_ARMADA_REUNION = 2002
    MISSION_SUB_LOGIN_MISSION = 2003
    MISSION_SUB_INVITEE = 2004


class SideMissionCond(betterproto.Enum):
    SideMissionCond0 = 0
    SIDE_MISSION_COND_AVATAR_GOODFEEL = 1


class MissionFinishWay(betterproto.Enum):
    MISSION_FINISH_NONE = 0
    MISSION_AUTO = 1
    MISSION_ANY_STORY_STAGE_NORMAL = 2
    MISSION_ANY_STORY_STAGE_HARD = 3
    MISSION_ANY_STORY_STAGE_HELL = 4
    MISSION_SPECIFIC_STAGE_ID = 5
    MISSION_SPECIFIC_MONSTER_ID = 6
    MISSION_SPECIFIC_UNIQUE_MONSTER_ID = 7
    MISSION_TRIGGER_ABILITY_ACTION = 10
    MISSION_KILL_WITH_ANIM_EVENT_ID = 11
    MISSION_AVATAR_LEVEL_UP_BY_MATERIAL = 12
    MISSION_AVATAR_SUB_SKILL_LEVEL_UP = 13
    MISSION_GACHA = 14
    MISSION_EQUIPMENT_POWER_UP = 15
    MISSION_STAGE_NORMAL_WITH_SPECIFIC_AVATAR_CLASS = 18
    MISSION_STAGE_HARD_WITH_SPECIFIC_AVATAR_CLASS = 19
    MISSION_ANY_WEEK_DAY_STAGE = 20
    MISSION_ANY_BEFALL_STAGE = 21
    MISSION_ANY_NOT_STORY_STAGE = 22
    MISSION_STAGE_HELL_WITH_SPECIFIC_AVATAR_CLASS = 27
    MISSION_STAGE_NORMAL_WITH_SPECIFIC_AVATAR = 28
    MISSION_STAGE_HARD_WITH_SPECIFIC_AVATAR = 29
    MISSION_STAGE_HELL_WITH_SPECIFIC_AVATAR = 30
    MISSION_FINISH_NO_ACHIEVEMENT_NUM = 36
    MISSION_TOTAL_AVATAR_SKILL_POINT_NUM = 37
    MISSION_TEN_HCOIN_GACHA_STAR_NUM = 43
    MISSION_STAGE_MIN_TIME_TEN_SECOND = 45
    MISSION_STAGE_ASSISTANT_NUM = 46
    MISSION_STAGE_SUCC_NUM = 47
    MISSION_STAGE_WITH_ASSISTANT_SUCC_NUM = 48
    MISSION_WEAPON_POWER_UP = 49
    MISSION_STIGMATA_POWER_UP = 50
    MISSION_ISLAND_COLLECT = 52
    MISSION_ISLAND_GET_VENTURE_REWARD = 53
    MISSION_AVATAR_TOUCH_NUM = 54
    MISSION_ISLAND_MAX_COST_POWER = 57
    MISSION_ISLAND_VENTURE_TOTAL_COST_HOUR = 58
    MISSION_AVATAR_ADD_SUB_SKILL = 64
    MISSION_MULTI_WEAPON_POWER_UP_LEVEL = 65
    MISSION_MULTI_STIGMATA_POWER_UP_LEVEL = 66
    MISSION_ISLAND_CABIN_LEVEL_UP = 67
    MISSION_ISLAND_CABIN_EXTEND_GRADE = 68
    MISSION_ISLAND_ADD_TECH = 69
    MISSION_GACHA_WITH_TYPE = 70
    MISSION_REAL_NAME = 73
    MISSION_ENDLESS_GROUP_LEVEL = 75
    MISSION_SHARE_GAME_IN_SNS = 80
    MISSION_COLLECT = 81
    MISSION_ACTIVITY_PROGRESS = 82
    MISSION_BUY_GOODS_WITH_SCOIN_OR_HCOIN = 83
    MISSION_SCOIN_EXCHANGE = 84
    MISSION_STAMINA_EXCHANGE = 85
    MISSION_CONSIGNED_ORDER = 86
    MISSION_ROGUE_STAGE = 87
    MISSION_STAGE_MAX_COMBO_PASS = 88
    MISSION_OPENWORLD_FIGHT_BOSS = 91
    MISSION_OPENWORLD_KILL_BOSS = 92
    MISSION_OPENWORLD_BOSS_DAMAGE = 93
    MISSION_OPENWORLD_QUEST_LEVEL = 94
    MISSION_OPENWORLD_FINISH_SIDE_QUEST_NUM = 96
    MISSION_EQUIPMENT_POWER_UP_NO_BACKTRACK = 98
    MISSION_FIGHT_ARMADA_STAGE = 100
    MISSION_OPENWORLD_FINISH_QUEST_NO_BACKTRACK = 101
    MISSION_OPENWORLD_REWARD_NUM = 102
    MISSION_WAREHOUSE_DONATE = 103
    MISSION_STORY_STAGE_WITH_AVATAR_NUM = 105
    MISSION_EQUIPMENT_EVO = 107
    MISSION_USE_AVATAR_KILL_MONSTER = 108
    MISSION_HELP_FRIEND_ISLAND = 112
    MISSION_STAGE_MIN_BE_HIT_PASS = 113
    MISSION_STAGE_COSMOS_BREAK = 114
    MISSION_STAGE_COSMOS_BREAK_DAMAGE = 115
    MISSION_STAGE_USE_EX_SKILL = 116
    MISSION_REFINE_STIGMATA = 117
    MISSION_DISJOIN_EQUIPMENT = 118
    MISSION_FINISH_MP_STAGE_WITH_TYPE = 119
    MISSION_USE_MP_TEAM_SKILL = 120
    MISSION_USE_MP_QTE_SKILL = 121
    MISSION_OPENWORLD_FINISH_EVENT_TYPE_NO_BACKTRACK = 122
    MISSION_MIN_BE_HIT_PASS_WITH_STAGE_ID = 123
    MISSION_FINISH_MP_STAGE = 124
    MISSION_STAGE_DEFEND_TARGET_MIN_HP_PASS = 126
    MISSION_STAGE_DEFEND_TARGET_MIN_HP_PERCENT_PASS = 127
    MISSION_GET_CARD_REWARD_NUM = 131
    MISSION_TOTAL_COST_SCOIN_NUM = 132
    MISSION_TOTAL_COST_HCOIN_NUM = 134
    MISSION_MP_MVP_NUM = 136
    MISSION_FACEBOOK_LIKE = 145
    MISSION_STAGE_MIN_TIME_WITH_STAGE_ID = 146
    MISSION_STAGE_TAG_COMBO_PASS = 147
    MISSION_STAGE_TAG_WITH_SPECIFIC_AVATAR = 148
    MISSION_POWERUP_MULTI_SPECIFIC_EQUIP_LEVEL = 151
    MISSION_EVO_MULTI_SPECIFIC_EQUIP_STAR = 152
    MISSION_EVO_ANY_BEFALL_WEAPON_STAR = 153
    MISSION_FRAGMENTS_EXCHANGE_STIGMATA = 154
    MISSION_STAGE_TAG_SUCCESS_EVADE_PASS = 156
    MISSION_CHALLENGE_SPECIFIC_STAGE_ID = 157
    MISSION_FINISH_EXBOSS_NUM = 160
    MISSION_WIN_LEVEL_EXBOSS = 162
    MISSION_GET_EXBOSS_RANK = 163
    MISSION_BIND_MOBILE = 165
    MISSION_BIND_EMAIL = 166
    MISSION_SET_ACCOUNT_USERNAME = 167
    MISSION_FINISH_SPECIFIC_MISSION = 169
    MISSION_FINISH_SPECIFIED_DIFFICULTY_RAID_WITH_MASTER = 170
    MISSION_PUBLISH_MASTER_PUPIL_CARD = 175
    MISSION_GET_EXBOSS_RANK_PERCENT = 179
    MISSION_MP_LIKE_NUM = 181
    MISSION_CLICK_LINK = 182
    MISSION_BUY_FURNITURE = 184
    MISSION_MATERIAL_RECYCLE = 192
    MISSION_OPENWORLD_FINISH_EVENT_SUBTYPE_LIST = 193
    MISSION_OPENWORLD_FINISH_QUEST_SPECIFIC_AVATAR = 194
    MISSION_EXBOSS_STAGE_SPECIFIC_AVATAR = 195
    MISSION_RAID_STAGE_SPECIFIC_AVATAR = 197
    MISSION_ISLAND_VENTURE_SPECIFIC_AVATAR = 198
    MISSION_DORM_EVENT_SPECIFIC_AVATAR = 199
    MISSION_PASS_STAGE_SPECIFIC_AVATAR = 201
    MISSION_PASS_SPECIFIC_STAGE_SPECIFIC_AVATAR = 202
    MISSION_PASS_STAGE_SPECIFIC_REQUIRE = 203
    MISSION_DORM_USE_FACILITY_NUM = 206
    MISSION_COLLECT_SPECIFIC_AMOUNT_ITEMS = 213
    MISSION_USE_SPECIFIC_AVATARS_KILL_MONSTER = 214
    MISSION_PASS_STAGE_WITH_EQUIPMENT_MAINID = 218
    MISSION_REACH_DAILY_DUTY_POINT = 219
    MISSION_REACH_WEEKLY_DUTY_POINT = 221
    MISSION_STAGE_TOTAL_BATTLE_SCORE_WITH_STAGE_TAG = 227
    MISSION_STAGE_RANK_WITH_STAGE_TAG = 228
    MISSION_GENERAL_ACTIVITY_FINISH_TIMES = 233
    MISSION_DORM_CLIENT_CUSTOM = 241
    MISSION_OPENWORLD_CHOOSE_QUEST = 242
    MISSION_SHOP_BUY_GOODS = 243
    MISSION_DORM_TAKE_DAILY_STAMINA = 244
    MISSION_OPENWORLD_MAKE_MECHA_TIMES = 253
    MISSION_OPENWORLD_TECH_ADD_EXP_TIMES = 255
    MISSION_OPENWORLD_QUEST_RATE = 256
    MISSION_OPENWORLD_QUEST_FINISHED_CHALLENGE_NUM = 258
    MISSION_OPENWORLD_QUEST_FINISHED_WITH_MECHA = 259
    MISSION_OPENWORLD_HACK_ITEM = 260
    MISSION_OPENWORLD_TD_STAGE_RATE = 261
    MISSION_OPENWORLD_QUEST_LEVEL_WITH_MAP = 264
    MISSION_OPENWORLD_FINISH_QUEST_NO_BACKTRACK_WITH_MAP = 267
    MISSION_OPENWORLD_FINISH_QUEST_NO_BACKTRACK_WITH_SUB_TYPE_AND_MAP = 268
    MISSION_OPENWORLD_FINISH_EVENT_TYPE_NO_BACKTRACK_WITH_MAP = 269
    MISSION_GOBACK_DUTY_POINT = 270
    MISSION_ONLINE_TIME = 272
    MISSION_TAKE_PHOTOS = 273
    MISSION_WIKI_CG_NUM = 276
    MISSION_BINGO_ACTIVITY_FLOP_CARD = 297
    MISSION_BINGO_ACTIVITY_BINGO_COMPLETE = 298
    MISSION_FINISH_MP_STAGE_WITH_GOBACK_PLAYER = 300
    MISSION_OPENWORLD_BOSS_GET_RATING_NUM = 301
    MISSION_OPENWORLD_BOSS_KILLED_NUM_WITHIN_TIME_LIMIT = 302
    MISSION_OPENWORLD_ACTIVITY_LEVEL = 303
    MISSION_OPENWORLD_BOSS_HUNT_FIND_CLUE_NUM = 304
    MISSION_OPENWORLD_BOSS_KILLED_NUM_SPECIFIC_AVATAR = 305
    MISSION_RPG_TALE_PASS_SITE = 309
    MISSION_RPG_TALE_OVERALL_EQUAL = 310
    MISSION_RPG_TALE_TOTAL_STAGE_SCORE = 311
    MISSION_MATRIX_FINISH_EVENT = 315
    MISSION_VIRTUAL_TRAIN_GACHA_TIMES = 319
    MISSION_VIRTUAL_TRAIN_GACHA_AVATAR_STAR = 320
    MISSION_RPG_TALE_TAKE_PRODUCT_TIMES = 321
    MISSION_RPG_TALE_TAKE_PRODUCT_NUM = 322
    MISSION_RPG_TALE_TOWER_TIMES = 324
    MISSION_FINISH_ANY_RAID_ACTIVITY = 330
    MISSION_FRIEND_INVITE = 331
    MISSION_ARMADA_APPLY = 333
    MISSION_ISLAND_CABIN_LEVEL = 335
    MISSION_SHOPPING_TIMES = 337
    MISSION_ADD_UP_VIP_POINT = 341
    MISSION_DORM_USE_FACILITY_NUM_NO_RESULT = 342
    MISSION_FINISH_SPECIFIC_PLOT_ID = 343
    MISSION_OPENWORLD_ENDLESS_SCORE = 344
    MISSION_OPENWORLD_ENDLESS_BOSS = 345
    MISSION_OPENWORLD_ENDLESS_ADD_GROUP_LEVEL = 346
    MISSION_OPENWORLD_ENDLESS_GROUP_LEVEL = 347
    MISSION_OPENWORLD_ENDLESS_FINISH_MONSTER_GROUP = 348
    MISSION_OPENWORLD_ENDLESS_USE_ITEM = 349
    MISSION_ENDLESS_FINISH_STAGE_OR_BOSS_WITH_ENDLESS_TYPE = 350
    MISSION_ENDLESS_FINISH_STAGE_OR_BOSS_SPECIFIC_AVATAR = 351
    MISSION_QUANTUM_ENDLESS_PASS_MONSTER_GROUP = 352
    MISSION_FRONT_ENDLESS_FINISH_FLOOR = 353
    MISSION_FARM_ACTIVITY_SPEED_UP_PRODUCE_TIMES = 366
    MISSION_FARM_ACTIVITY_FINISH_PRODUCE_TIMES = 367
    MISSION_FARM_ACTIVITY_FARM_LEVEL = 368
    MISSION_FARM_ACTIVITY_UNLOCK_SLOT_NUM = 369
    MISSION_FARM_ACTIVITY_FINISH_PRODUCE_SPECIFIC_MATERIAL = 370
    MISSION_TAKE_SPECIFIC_NPC_RED_ENVELOPE_NUM = 372
    MISSION_GACHA_WITH_MULTI_TYPES = 373
    MISSION_TOWER_RAID_NUM = 374
    MISSION_TOWER_RAID_BOSS_NUM = 375
    MISSION_TOWER_RAID_FINISH_ALL_NUM = 376
    MISSION_CHATWORLD_ONLINE_TIME = 377
    MISSION_CHATWORLD_USE_ITEM = 379
    MISSION_CAMPAIGN_FINISH_PHASE = 380
    MISSION_CAMPAIGN_FINISH = 381
    MISSION_CAMPAIGN_FINISH_STAGE = 382
    MISSION_STAGE_TAG_NUM_SPECIFIC_ELF = 390
    MISSION_STAGE_NUM_SPECIFIC_ELF = 391
    MISSION_ENDLESS_FINISH_STAGE_OR_BOSS_SPECIFIC_ELF = 392
    MISSION_EXBOSS_STAGE_SPECIFIC_ELF = 393
    MISSION_STORY_STAGE_SPECIFIC_ELF = 395
    MISSION_STAGE_NUM_WITH_ELF = 400
    MISSION_CAMPAIGN_SHORT_CHAT = 421
    MISSION_CAMPAIGN_FINISH_SCORE = 422
    MISSION_CAMPAIGN_MVP = 423
    MISSION_CAMPAIGN_TEAM_DRAW_RARITY = 424
    MISSION_CMAPAIGN_SELF_DRAW = 425
    MISSION_CAMPAIGN_LIKE_NUM = 426
    MISSION_CAMPAIGN_TEACH_MODE_FINISH_PHASE = 427
    MISSION_CAMPAIGN_TEACH_MODE_FINISH = 428
    MISSION_PASS_STAGE_WITH_ANY_SPECIFIC_AVATAR = 441
    MISSION_KINGDOM_WAR_MOVE_STEP = 443
    MISSION_TVT_STAGE_SETTLE_NUM = 444
    MISSION_TVT_TOTAL_WIN_NUM = 445
    MISSION_TVT_MVP_NUM = 447
    MISSION_TVT_STAGE_SCOIN = 449
    MISSION_CHATWORLD_KILL_NUM = 451
    MISSION_CHATWORLD_BATTLE_SCORE = 457
    MISSION_GACHA_TOTAL_SCORE = 463
    MISSION_MONOPOLY_THROW_DICE = 464
    MISSION_MONOPOLY_EXPLORE = 465
    MISSION_MONOPOLY_PASS_AREA = 466
    MISSION_MATRIX_FINISH_FLOOR = 467
    MISSION_MATRIX_TRIGGER_EVENT = 468
    MISSION_STAGE_TAG_CHALLENGE_NUM = 469
    MISSION_EQUIPMENT_FORGE_TIMES = 470
    MISSION_GLOBAL_WAR_TOTAL_CURRENCY = 471
    MISSION_GLOBAL_WAR_CURRENCY_BY_STAGE = 472
    MISSION_GLOBAL_WAR_CURRENCY_BY_EXCHANGE = 473
    MISSION_GLOBAL_WAR_EXCHANGE_TIMES = 474
    MISSION_GLOBAL_WAR_FINISH_POINT = 475
    MISSION_GLOBAL_WAR_CURRENCY_BY_SWEEP = 476
    MISSION_GLOBAL_WAR_FINISH_OR_EXCHANGE_TIMES_WITH_POINT_ID_LIST = 477
    MISSION_SHOP_COST_MCOIN_NUM = 480
    MISSION_VIRTUAL_TRAIN_CUSTOM_LEVEL = 481
    MISSION_VIRTUAL_TRAIN_GROUP_TOTAL_LEVEL_UP_TIMES = 482
    MISSION_GRATUITY_STAGE_FINISH_NUM = 483
    MISSION_GRATUITY_STAGE_END_NUM = 484
    MISSION_GRATUITY_STAGE_ASSIST_NUM = 485
    MISSION_GRATUITY_PUBLISH = 486
    MISSION_GRATUITY_INVITE = 487
    MISSION_GRATUITY_COLLECT = 488
    MISSION_SEND_RED_ENVELOPE_IN_SPECIFIC_TIME = 489
    MISSION_ADVENTURE_ADD_BADGE = 491
    MISSION_ADVENTURE_FINISH_ADVENTURE_BY_RARITY = 493
    MISSION_ADVENTURE_TAKE_SCOIN = 495
    MISSION_SCRATCH_TICKET_SCRATCH_NUM = 501
    MISSION_SCRATCH_TICKET_ROUND_NUM = 502
    MISSION_BBQ_COOK_NUM = 503
    MISSION_DLC_USE_ACTIVE_SKILL = 505
    MISSION_DLC_OUTER_AREA_KILL_NUM = 506
    MISSION_DLC_SHIELD_MONSTER_KILL_NUM = 507
    MISSION_DLC_IN_CIRCLE_KILL_NUM = 508
    MISSION_DLC_AIR_KILL_NUM = 509
    MISSION_DLC_THROW_SKILL_KILL_NUM = 510
    MISSION_DLC_ACTIVE_SKILL_KILL_NUM = 511
    MISSION_DLC_BREAK_FREQUENCY_SHIELD_NUM = 512
    MISSION_DLC_BREAK_HARD_SHIELD_NUM = 513
    MISSION_DLC_EX_JUMP = 514
    MISSION_DLC_USE_THROW_SKILL = 515
    MISSION_DLC_TOWER_TOTAL_PROGRESS = 518
    MISSION_DLC_ENTER_STAGE_WITH_SPECIFIC_AVATAR = 519
    MISSION_OPENWORLD_KILL_ENEMY_WITH_MAP = 524
    MISSION_DLC_TOWER_MAX_PROGRESS_NO_BACKTRACK = 526
    MISSION_OPENWORLD_CHOOSE_ANY_QUEST = 527
    MISSION_CHATWORLD_MAKE_ACTION_NUM = 545
    MISSION_CHATWORLD_FISH_SUCC_OR_WAIT_ASSIST_NUM = 546
    MISSION_CHATWORLD_PRAY_NUM = 547
    MISSION_STAGE_TAG_FAIL_NUM = 548
    MISSION_LOGIN_WITH_SPECAIL_DEVICE_TYPE = 549
    MISSION_UNLOCK_MONTH_CARD_OR_BATTLE_PASS = 550
    MISSION_GACHA_COST_TICKET_TOTAL_SCORE = 551
    MISSION_GARDEN_HARVEST_NUM = 552
    MISSION_GARDEN_HARVEST_KIND = 553
    MISSION_GARDEN_HARVEST_NUM_BY_KIND = 554
    MISSION_JIGSAW_EXCHANGE_PIECE = 555
    MISSION_JIGSAW_FINISH_JIGSAW = 556
    MISSION_OVERLAP_SUMMON_NUM = 557
    MISSION_CHATWORLD_QUESTION = 558
    MISSION_CHATWORLD_DISH_NUM = 559
    MISSION_ARMADA_REUNION_REWARD = 560
    MISSION_ARMADA_REUNION_PREPARE = 561
    MISSION_GARDEN_SPEED_UP_TIMES = 562
    MISSION_MASSIVE_WAR_BATTLE_SETTLE_TIMES = 563
    MISSION_MASSIVE_WAR_RANK_RATIO = 564
    MISSION_MASSIVE_WAR_DAMAGE_LEVEL = 565
    MISSION_MASSIVE_WAR_TOTAL_DAMAGE = 566
    MISSION_MASSIVE_WAR_FINISH_STAGE = 567
    MISSION_KINGDOM_WAR_EXCHANGE = 571
    MISSION_KINGDOM_WAR_EXCHANGE_CURRENCY = 572
    MISSION_KINGDOM_WAR_FINISH_STAGE_CURRENCY = 573
    MISSION_KINGDOM_WAR_CURRENCY = 574
    MISSION_KINGDOM_WAR_ACTIVITY_STAMINA = 575
    MISSION_WEB_ACTIVITY_1 = 581
    MISSION_WEB_ACTIVITY_2 = 582
    MISSION_WEB_ACTIVITY_3 = 583
    MISSION_WEB_ACTIVITY_4 = 584
    MISSION_WEB_ACTIVITY_5 = 585
    MISSION_WEB_ACTIVITY_6 = 586
    MISSION_WEB_ACTIVITY_7 = 587
    MISSION_WEB_ACTIVITY_8 = 588
    MISSION_WEB_ACTIVITY_9 = 589
    MISSION_WEB_ACTIVITY_10 = 590
    MISSION_NORMAL_FINISH_SPECIFIC_STAGE_ID = 591
    MISSION_SHOP_BUY_GOODS_ID_COST_MCOIN = 592
    MISSION_SANCTUARY_ACTIVITY_LEVEL = 593
    MISSION_SANCTUARY_TAKE_PRODUCT_TIMES = 594
    MISSION_SLOT_MACHINE_START_TIMES = 595
    MISSION_RAFFLE_DRAW_TICKET_NUM = 597
    MISSION_MONOPOLY_BUILDING_NUM = 599
    MISSION_MONOPOLY_BUILDING_LEVEL = 600
    MISSION_FINISH_MOSAIC_NUM = 601
    MISSION_MONOPOLY_USE_ITEM = 602
    MISSION_ULTRA_ENDLESS_FINISH_SITE = 603
    MISSION_ULTRA_ENDLESS_FINISH_SITE_WITH_TAG_AVATAR = 604
    MISSION_ULTRA_ENDLESS_TOTAL_SCORE = 605
    MISSION_ULTRA_ENDLESS_FINISH_SITE_NUM = 606
    MISSION_ULTRA_ENDLESS_TOTAL_ADD_SCORE = 607
    MISSION_ULTRA_ENDLESS_MAX_GROUP_LEVEL = 608
    MISSION_ULTRA_ENDLESS_SEASON_ADD_CUP_NUM = 609
    MISSION_ULTRA_ENDLESS_TOP_RANK_TIMES = 610
    MISSION_BATTLE_PASS_THEME_LEVEL = 611
    MISSION_BATTLE_PASS_UNLOCK_TICKET = 612
    MISSION_GET_EXBOSS_SCORE = 613
    MISSION_TOTAL_DUTY_POINT_IN_PERIOD = 615
    MISSION_FINISH_MISSION_TIMES_WITH_MISSION_ID_LIST = 617
    MISSION_GACHA_CONSUME_TOTAL_SCORE = 618
    MISSION_REPLAY_UPLOAD = 619
    MISSION_REPLAY_PLAY = 620
    MISSION_REPLAY_RECORD = 621
    MISSION_FINISH_ELITE_STAGE_NUM = 622
    MISSION_PASS_STAGE_NUM = 623
    MISSION_STAGE_TAG_WITH_ALL_SPECIFIC_AVATAR = 624
    MISSION_SPECIFIC_MATERIAL_ADD_NUM = 625
    MISSION_SPECIFIC_MATERIAL_COST_NUM = 626
    MISSION_UNLOCK_AVATAR_IN_SPECIFIC_NEWBIE_ACTIVITY = 627
    MISSION_QAVATAR_BATTLE_PARTICIPATE_NUM = 630
    MISSION_QAVATAR_BATTLE_KILL_NUM = 631
    MISSION_QAVATAR_BATTLE_KILL_NUM_SINGLE_GAME = 632
    MISSION_QAVATAR_BATTLE_WIN_NUM = 633
    MISSION_QAVATAR_BATTLE_SCORE = 634
    MISSION_VIRTUAL_TRAIN_SPECIFIC_STIGMATA_NUM = 635
    MISSION_VIRTUAL_TRAIN_SPECIFIC_AVATAR_NUM = 636
    MISSION_ROGUE_TOWER_ENDLESS_MAX_SCORE_WITH_AVATAR_ID_LIST = 637
    MISSION_ROGUE_TOWER_ENDLESS_TOTAL_SCORE_WITH_AVATAR_ID_LIST = 638
    MISSION_REUNION_COOK_WITH_BOOK_ID_LIST = 639
    MISSION_CHATWORLD_BEAST_TREASURE_TAKE_TIMES = 640
    MISSION_CHATWORLD_BEAST_SINGLE_DAMAGE = 641
    MISSION_CHATWORLD_BEAST_TOTAL_DAMAGE = 642
    MISSION_CHATWORLD_NORMAL_BOX_TAKE_TIMES = 643
    MISSION_ADD_UP_VIP_POINT_BY_PRODUCT = 644
    MISSION_OPENWORLD_AVATAR_ACTIVITY_CULTIVATE = 645
    MISSION_OPENWORLD_AVATAR_ACTIVITY_TALENT = 646
    MISSION_OPENWORLD_FINISH_QUEST_NO_BACKTRACK_WITH_RARITY_AND_MAP = 647
    MISSION_OPENWORLD_AVATAR_ACTIVITY_LEVEL = 648
    MISSION_BOSSRUSH_ACTIVITY_STAGE_TAG_ID_USE_SPECIFIC_BUFF_ID_LIST = 649
    MISSION_STAGE_TAG_SCORE = 650
    MISSION_OPENWORLD_AVATAR_ACCEPT_QUEST = 651
    MISSION_THEME_WANTED_STAGE_PASS_NUM = 652
    MISSION_THEME_WANTED_SPECIFIC_PROGRESS_PASS_NUM = 653
    MISSION_SLG_OCCUPIED_POINT_NUM = 656
    MISSION_SLG_OCCUPIED_BUFF_POINT_NUM = 657
    MISSION_SLG_PLAYER_SCORE = 658
    MISSION_RELAY_STAGE_PHASE_PASS_TIME = 659
    MISSION_EXBOSS_ACC_SCORE = 660
    MISSION_GOD_WAR_STAGE_WITH_ITEM = 661
    MISSION_GOD_WAR_STAGE_WITH_SUPPORT_AVATAR = 662
    MISSION_GOD_WAR_AVATAR_PUNISH_LEVEL_SUCC_NUM = 666
    MISSION_GOD_WAR_PUNISH_BUFF_SUCC_NUM = 667
    MISSION_GOD_WAR_STAGE_WITH_PUNISH_LEVEL = 668
    MISSION_GOD_WAR_COLLECTION = 669
    MISSION_GOD_WAR_COLLECTION_SUIT = 670
    MISSION_GOD_WAR_FINISH_LOBBY_ACTION = 674
    MISSION_GOD_WAR_STAGE_TAG_SPECIFIC_CHAPTER_ON_SETTLE = 675
    MISSION_GOD_WAR_MAX_SCORE_ON_SETTLE = 676
    MISSION_GOD_WAR_AVATAR_SPECIFIC_PUNISH_LEVEL_SUCC_NUM = 677
    MISSION_GOD_WAR_AVATAR_PUNISH_LEVEL_SPECIFIC_MODE_SUCC_NUM = 678
    MISSION_RANCH_MONSTER_RARITY_NUM = 691
    MISSION_RANCH_COLLCTION_POINT = 693
    MISSION_RANCH_TAKE_PRODUCT_TIMES = 694
    MISSION_RANCH_MONSTER_SYNTHESIS_WITH_FORMULA_TIMES = 695
    MISSION_RANCH_MONSTER_SYNTHESIS_WITHOUT_FORMULA_TIMES = 696
    MISSION_OPENWORLD_FINISH_STORY_NUM = 702
    MISSION_NINJA_SLOT_LIST_LEVEL = 704
    MISSION_RESTAURANT_DELIVER_QUEST_NUM = 705
    MISSION_RESTAURANT_COOK_SPECIFIC_RECIPE = 707
    MISSION_RESTAURANT_COOK_SPECIFIC_RECIPE_WITH_AVATAR = 708
    MISSION_SC_DLC_FINISH_DAILY_QUEST_NUM = 711
    MISSION_SC_DLC_TOWER_MAX_PROGRESS = 716
    MISSION_SC_DLC_ANALYSIS_MONSTER = 717
    MISSION_SC_DLC_LEVELUP_TALENT_NUM = 721
    MISSION_SC_DLC_ACHIEVE_EVENT_NUM = 722
    MISSION_SC_DLC_TOWER_FINISH_FLOOR_NUM = 723
    MISSION_TOWN_ACTIVITY_FINISH_GAMES = 751
    MISSION_TOWN_ACTIVITY_FINISH_BOSS = 752
    MISSION_TOWN_ACTIVITY_BUILD_NUM = 753
    MISSION_TOWN_ACTIVITY_BUILD_NUM_IN_ONE_GAME = 754
    MISSION_TUTORIAL_WATCH_SITE_VIDEO = 771
    MISSION_CHATWORLD_BATTLE_BOX_TAKE_TIMES = 776
    MISSION_FINISH_TUTORIAL_ID = 780
    MISSION_BOSS_CHALLENGE_FINISH_STAGE = 786
    MISSION_SELECT_ADVENTURE_QUEST = 792
    MISSION_BEGIN_ADVENTURE_STORY_SWEEP = 793
    MISSION_FINISH_EXBOSS_WITH_AVATAR_LIST = 800
    MISSION_OPENWORLD_CHAPTER_ADD_HERO_CARD_NUM = 807
    MISSION_OPENWORLD_CHAPTER_FINISH_CHALLENGE_GROUP = 812
    MISSION_OPENWORLD_CHAPTER_FINISH_CHALLENGE_GROUP_INDEX = 813
    MISSION_OPENWORLD_CHAPTER_FINISH_ENDLESS_CHALLENGE = 814
    MISSION_OPENWORLD_CHAPTER_FINISH_QUEST_NUM = 816
    MISSION_OPENWORLD_CHAPTER_FINISH_QTE_MAP_NUM = 817
    MISSION_OPENWORLD_CHAPTER_QTE_MAP_GET_MATERIAL_NUM = 818
    MISSION_OPENWORLD_CHAPTER_ACCEPT_QUEST_NUM = 819
    MISSION_MONSTER_CARD_EXP_STAGE_PASS_TIMES = 829
    MISSION_GACHA_NUM_SPECIFIC_TICKET_ID_LIST = 831
    MISSION_GACHA_NUM_AFTER_DISCOUNT_SPECIFIC_TICKET_ID_LIST = 832
    MISSION_OPENWORLD_FINISH_STORY_NO_BACKTRACK = 833
    MISSION_EX_BOSS_FINISH_BOSS_NUM_WITH_LEVEL = 834
    MISSION_BATTLE_PASS_EXP_ACTIVITY_MISSION = 835
    MISSION_BUFF_ASSIST_SELECT_BUFF_TIMES = 836
    MISSION_BUFF_ASSIST_PUBLISH_BUFF_TIMES = 837
    MISSION_DICEY_DUNGEON_ENDLESS_PASSED_FLOOR = 838
    MISSION_DICEY_DUNGEON_DAILY_PASSED_TIMES = 839
    MISSION_DICEY_DUNGEON_WEAPON_UNLOCK = 840
    MISSION_DICEY_DUNGEON_WEAPON_GACHA_TIMES = 841
    MISSION_DICEY_DUNGEON_TOTAL_ROLE_LEVEL = 842
    MISSION_DICEY_DUNGEON_ROLE_LEVEL_GREATER_EQUAL_NUM = 843
    MISSION_DICEY_DUNGEON_ROLE_NUM_LEVEL_GREATER_EQUAL = 844
    MISSION_PVZ_DAILY_PASS_TIMES = 845
    MISSION_PVZ_QAVATAR_NUM_LEVEL_GREATER_EQUAL = 846
    MISSION_PVZ_SPECIAL_MATERIAL_NUM = 847
    MISSION_OPENWORLD_CHAPTER_FURNACE_PRODUCE = 849
    MISSION_OPENWORLD_CHAPTER_FINAL_ROBOT_CATCH_KILL_CRYSTAL_MONSTER = 852
    MISSION_WAVE_RUSH_SITE_PASS_TIMES = 871
    MISSION_WAVE_RUSH_TOTAL_SCORE = 872
    MISSION_WAVE_RUSH_SITE_MAX_SCORE = 873
    MISSION_QCANDY_FINISH_BATTLE_TIMES = 876
    MISSION_QCANDY_FINISH_BATTLE_TIMES_WITH_LE_RANK = 877
    MISSION_QCANDY_MAX_RANK_SCORE = 878
    MISSION_QCANDY_SPECIFIC_MAP_ID = 879
    MISSION_WEIGHTED_FINISH_EXBOSS_NUM = 881
    MISSION_ENDLESS_DETAIL_GROUP_LEVEL = 882
    MISSION_MINI_MONOPOLY_FINISH_MAP = 886
    MISSION_AI_CYBER_REPAIR_PROGRESS = 887
    MISSION_GLOBAL_EXPLORE_AREA_EXPLORE = 888
    MISSION_GLOBAL_EXPLORE_FINISH_QUEST = 889
    MISSION_GLOBAL_EXPLORE_CUMULATIVE_DONATION = 890
    MISSION_GLOBAL_EXPLORE_SPECIFIC_EXPLORE_LEVEL = 891
    MISSION_GLOBAL_EXPLORE_TRIGGER_EVENT = 892
    MISSION_CHATWORLD_WOODEN_BOY_WIN = 893
    MISSION_CHATWORLD_WOODEN_BOY_FINISH = 894
    MISSION_CHATWORLD_QUESTION_RIGHT = 895
    MISSION_PLATFORM_SHOOTER_QAVATAR_NUM_LEVEL_GREATER_EQUAL = 896
    MISSION_PLATFORM_SHOOTER_AFFIX_NUM = 897
    MISSION_PLATFORM_SHOOTER_HAS_EXCLUSIVE_AFFIX_WEAPON_NUM = 898
    MISSION_PLATFORM_SHOOTER_RPG_COLLECTION_SCORE = 899
    MISSION_MIRAGE_ACTIVITY_CHALLENGE_SCORE_SUM = 901
    MISSION_MIRAGE_ACTIVITY_TALENT_LEVEL = 902
    MISSION_SUSANNA_TRIAL_ACTIVITY_MENTOR_PROGRESS = 903
    MISSION_SHIGURE_KIRA_ACTIVITY_CONCERT_PROGRESS = 904
    MISSION_MATCH_THREE_GEM_GACHA_TIMES = 906
    MISSION_MATCH_THREE_DAILY_PASSED_TIMES = 907
    MISSION_MATCH_THREE_ROLE_NUM_LEVEL_GREATER_EQUAL = 908
    MISSION_CHAPTER_BW_WORLD_RUNE_GOT_NUM = 911
    MISSION_CHAPTER_BW_WORLD_RUNE_REACH_LEVEL = 912
    MISSION_CHAPTER_BW_WORLD_TOWER_STAGE_SCORE = 913
    MISSION_BW_WORLD_CAMP_ACTIVITY_PUBLISH_RUNE_TIMES = 914
    MISSION_THEME_TOWER_STAGE_PASSED_TIMES_WITH_STEP_LEVEL = 915
    MISSION_THEME_TOWER_SECTION_PASSED_TIMES_WITH_STEP_LEVEL = 916
    MISSION_THEME_TOWER_SPECIFIC_SECTION_NUM = 917
    MISSION_MAHOU_CARD_UNLOCK_DAILY_SITE_TIMES = 921
    MISSION_MAHOU_CARD_ROLE_LEVEL_GREATER_EQUAL = 922
    MISSION_MAHOU_CARD_ENTER_ROOM = 923
    MISSION_ULTRA_ENDLESS_MAX_GROUP_LEVEL_WITH_SCHEDULE = 926
    MISSION_ULTRA_ENDLESS_FINISH_SITE_SCORE = 927
    MISSION_CHAPTER_ARK_ROLE_LEVEL_EQUAL = 931
    MISSION_CHAPTER_ARK_FINISH_LINEAR_STAGE_NUM = 932
    MISSION_CHAPTER_ARK_MAIN_SUP_SKILL_LEVEL_EQUAL = 933
    MISSION_GOBACK_SCHEDULEID_AND_LOSTDAYS = 936
    MISSION_GOBACK_NOT_SCHEDULEID = 937
    MISSION_MATRIX_NEW_FINISH_TRACK_EVENT = 941
    MISSION_TILED_GAME_FARM_USE_TOOL_NUM = 946
    MISSION_TILED_GAME_FARM_FACILTIY_LEVEL = 947
    MISSION_TILED_GAME_FARM_ENTER_MINE_FLOOR = 948
    MISSION_TILED_GAME_FARM_DAILY_QUEST = 949
    MISSION_TILED_GAME_FARM_CHOOSE_DAILY_QUEST = 950
    MISSION_TILED_GAME_FARM_ADD_LIVESTOCK = 951
    MISSION_TILED_GAME_FARM_FILL_FOOD = 952
    MISSION_TILED_GAME_FARM_TAME_LIVESTOCK = 953
    MISSION_FIRST_WIN_SPECIFIC_STAGE_NUM = 954
    MISSION_TILED_GAME_FARM_UNLOCK_GALLERY = 955
    MISSION_MINION_CLASH_ACTIVITY_LEVEL_GE = 956
    MISSION_MINION_CLASH_GET_CARD_WITH_STAR = 957
    MISSION_MARBLES_SHOOT_PASS_NON_DAILY_ROOM = 961
    MISSION_MARBLES_SHOOT_DAILY_GAME_SCORE = 962
    MISSION_MARBLES_SHOOT_UNLOCK_WIKI = 963
    MISSION_MARBLES_SHOOT_AVATAR_REACH_LEVEL = 964
    MISSION_MARBLES_SHOOT_AVATAR_LEVEL_GREATER_EQUAL_NUM = 965
    MISSION_MARBLES_SHOOT_BUY_OR_LEVEL_UP_BALL_TIMES = 966
    MISSION_GOURMET_HUNT_MANAGEMENT_TIMES = 971
    MISSION_GOURMET_HUNT_KILL_SPECIFIED_BOSS = 980
    MISSION_GOURMET_HUNT_TAKE_OUT_SPECIFIED_INGREDIENT = 981
    MISSION_GOURMET_HUNT_COST_STAMINA_NUM = 983
    MISSION_GOURMET_HUNT_CLIENT_FINISH = 985
    MISSION_GOURMET_HUNT_MANAGEMENT_REVENUE_WITH_SPECIFIED_IDENTITY_TYPE = 986
    MISSION_GOURMET_HUNT_MANAGEMENT_TOTAL_REVENUE_WITH_SPECIFIED_IDENTITY_TYPE = 987
    MISSION_GOURMET_HUNT_MANAGEMENT_SOLD_RECIPE_WITH_SPECIFIED_IDENTITY_TYPE = 988
    MISSION_GOURMET_HUNT_MANAGEMENT_FINISH_SPECIAL_MISSION_WITH_SPECIFIED_IDENTITY_TYPE = (
        989
    )
    MISSION_GOURMET_HUNT_BRANCH_STORE_FLAG = 990
    MISSION_WEAPON_HOMOLOGY_LEVEL = 991
    MISSION_PJMS_CHAPTER_FINISH_DAILY_QUEST_NUM = 992
    MISSION_PJMS_CHAPTER_RESIDENT_STAGE_GROUP_NUM = 993
    MISSION_PJMS_ACHIEVE_EVENT_NUM = 994
    MISSION_PJMS_CHAPTER_SET_UNIT_NUM = 995
    MISSION_PJMS_RARITY_AUXILIARY_GET_AFFIX_LIST_NUM = 996
    MISSION_PJMS_CORE_UNIT_LEVEL_NUM_GE = 997
    MISSION_PJMS_AUXILIARY_UNIT_LEVEL_NUM_GE = 998
    MISSION_PJMS_FIRST_ENTER = 999
    MISSION_RAID_REPLACE_TOTAL_CHALLENGE_NUM = 1000
    MISSION_RAID_REPLACE_STAGE_PASSED_TIMES = 1001
    MISSION_RAID_REPLACE_BOSS_STAGE_PASSED_TIMES = 1002
    MISSION_THELEMA_ACTIVITY_FINISH_QUESTION_NPC_NUM = 1010
    MISSION_THELEMA_ACTIVITY_FINISH_ALL_QUESTION_NPC_NUM = 1011
    MISSION_THELEMA_ACTIVITY_SKIP_QUESTION = 1012
    MISSION_CHATWORLD_QCANDY_WISH_TIMES = 1015
    MISSION_PJMS_SPECIFIC_STATUS_GADGET_NUM = 1016
    MISSION_CHATWORLD_UNLOCKED_EFFECT_NUM = 1017
    MISSION_CHATWORLD_TAKE_DISH_PREPARE = 1018
    MISSION_GOURMET_HUNT_UNLOCK_WEAPON_MODULE_NUM = 1021
    MISSION_MATCH_THREE_PLUS_PASS_DAILY = 1022
    MISSION_MATCH_THREE_PLUS_GACHA_TIMES = 1023
    MISSION_MATCH_THREE_PLUS_ROLE_LEVEL_EQUAL = 1024
    MISSION_UNLOCK_AVATAR_NO_BACKTRACK = 1025
    MISSION_DEVIL_AUTO_CHESS_ROLE_NUM_LEVEL_GREATER_EQUAL = 1026
    MISSION_DEVIL_AUTO_CHESS_END_GAME = 1027
    MISSION_DEVIL_AUTO_CHESS_BEGIN_GAME = 1028
    MISSION_DEVIL_AUTO_CHESS_FINISH_WAVE = 1029
    MISSION_DEVIL_AUTO_CHESS_TOTAL_SWEEP_TIMES = 1030
    MISSION_TILED_GAME_SRPG_FINISH_BATTLE_WITH_BATTLE_TYPE = 1031
    MISSION_TILED_GAME_SRPG_FINISH_BATTLE_WITH_ID = 1032
    MISSION_TILED_GAME_SRPG_FINISH_BATTLE_WITH_WIN_TYPE = 1033
    MISSION_TILED_GAME_SRPG_FINISH_BATTLE_WITH_BATTLE_TYPE_AND_AVATAR = 1034
    MISSION_TILED_GAME_SRPG_AVATAR_LEVEL_EQUAL = 1035
    MISSION_TILED_GAME_SRPG_AVATAR_MATERIAL_TYPE_NUM = 1036
    MISSION_TILED_GAME_SRPG_AVATAR_SKILL_TIMES = 1037
    MISSION_TILED_GAME_SRPG_DAMAGE_TIMES_WITH_SKILL_ONE_ROUND = 1038
    MISSION_TILED_GAME_SRPG_FINISH_BATTLE_WITH_ID_LIST = 1039
    MISSION_TILED_GAME_SRPG_BATTLE_REPORT = 1040
    MISSION_TILED_GAME_SRPG_EXPLORE_LEVEL = 1041
    MISSION_TILED_GAME_SRPG_CHALLENGE_NUM_WITH_BATTLE_ID_LIST = 1042
    MISSION_THEME_WANTED_STAGE_MULTI_PASS_NUM = 1051
    MISSION_FINISH_BY_ACTION_GRAPH = 1052
    MISSION_STIGMATA_PRISM_NUM = 1053
    MISSION_STAR_RING_ELF_NUM = 1054
    MISSION_FUTARI_BATTLE_NORMAL_STAGE_MAX_SCORE = 1055
    MISSION_FUTARI_BATTLE_STAGE_GROUP_MAX_SCORE = 1056
    MISSION_FUTARI_BATTLE_MAX_SCORE = 1057
    MISSION_RE_ACTIVITY_FIRST_WIN_SPECIFIC_TILE_MAP_LIST = 1058
    MISSION_QRTS_UPGRADE_BUFF_NUM = 1059
    MISSION_QRTS_SWEEP_NUM = 1060
    MISSION_MONSTER_FARM_HIT_MINE = 1062
    MISSION_MONSTER_FARM_USE_BREEDING_EFFECT_ITEM = 1063
    MISSION_MONSTER_FARM_BREEDING_NUM = 1064
    MISSION_MONSTER_FARM_USE_TOOL_NUM = 1065
    MISSION_MONSTER_FARM_MONSTER_NUM_WITH_ID_LIST = 1066
    MISSION_MONSTER_FARM_DAILY_QUEST = 1067
    MISSION_MONSTER_FARM_BUILDING_WITH_SPECIAL_MONSTER_LIST = 1068
    MISSION_MONSTER_FARM_BUILDING_WITH_RARE_MONSTER = 1069
    MISSION_MONSTER_FARM_RARE_MONSTER_NUM = 1070
    MISSION_PJMS_CHAPTER_KNIGHT_RICH_MAN_THROW_DICE = 1071
    MISSION_PJMS_CHAPTER_KNIGHT_RICH_MAN_FINISH_SITE_TYPE = 1072
    MISSION_PJMS_CHAPTER_KNIGHT_RICH_MAN_TOTAL_SCORE = 1073
    MISSION_PJMS_CHAPTER_KNIGHT_RICH_MAN_THROW_CONTROL_DICE = 1074
    MISSION_PJMS_CHAPTER_KNIGHT_RICH_MAN_USE_COIN = 1075
    MISSION_PJMS_CHAPTER_KNIGHT_RICH_MAN_FIRST_PASS_MAP = 1076
    MISSION_CANNOT_FINISH = 9999
    MISSION_KILL_ANY_ENEMY = 10008
    MISSION_KILL_SPECIFIC_MONSTER_CATEGORY = 10009
    MISSION_STAGE_SUCC_WITH_FRIEND = 10016
    MISSION_COST_STAMINA = 10017
    MISSION_KILL_BY_ATTACK_CATEGORY_TAG = 10023
    MISSION_AVATAR_STAR = 10024
    MISSION_AVATAR_SUB_SKILL_LEVEL = 10025
    MISSION_AVATAR_LEVEL = 10026
    MISSION_STORY_STAGE_FAIL_NUM = 10031
    MISSION_STAGE_MAX_COMBO_NUM = 10032
    MISSION_STORY_STAGE_NORMAL_NUM = 10033
    MISSION_STORY_STAGE_HARD_NUM = 10034
    MISSION_STORY_STAGE_HELL_NUM = 10035
    MISSION_AVATAR_STAR_NUM = 10038
    MISSION_AVATAR_GOODFEEL_LEVEL_NUM = 10039
    MISSION_WEAPON_PICTORIAL_NUM = 10040
    MISSION_STIGMATA_PICTORIAL_NUM = 10041
    MISSION_STIGMATA_PICTORIAL_SUIT_NUM = 10042
    MISSION_FRIEND_POINT_NUM = 10044
    MISSION_STAGE_TAG_NUM = 10051
    MISSION_STAGE_TAG_V2_NUM = 10052
    MISSION_EQUIPMENT_POWER_UP_TWO_RATE = 10055
    MISSION_SCOIN_EXCHANGE_TEN_RATE = 10056
    MISSION_TOTAL_COST_STAMINA = 10059
    MISSION_STAGE_MAX_SCORE_WITH_STAGE_ID = 10060
    MISSION_STAGE_TOTAL_SCORE_WITH_STAGE_ID = 10061
    MISSION_STAGE_MAX_SCORE_WITH_STAGE_TAG = 10062
    MISSION_STAGE_TOTAL_SCORE_WITH_STAGE_TAG = 10063
    MISSION_EXTRASTORY_CHALLENGE_NUM = 10071
    MISSION_EXTRASTORY_STAGE_MAX_SCORE = 10072
    MISSION_OPENWORLD_FINISH_EVENT_TYPE = 10090
    MISSION_OPENWORLD_FINISH_QUEST_NUM = 10095
    MISSION_OPENWORLD_PERFECT_REWARD_NUM = 10097
    MISSION_JOIN_ARMADA = 10099
    MISSION_OPENWORLD_FINISH_STORY = 10104
    MISSION_AVATAR_MAX_LEVEL = 10109
    MISSION_AVATAR_MAX_SUB_SKILL_LEVEL = 10110
    MISSION_WEAPON_TYPE_MAX_LEVEL = 10111
    MISSION_BIND_ACCOUNT = 10125
    MISSION_EXTRASTORY_HAS_PASS_NUM_WITH_DIFFICULTY = 10128
    MISSION_EXTRASTORY_HAS_PASS_NUM = 10129
    MISSION_TOTAL_COST_SCOIN_NUM_BACKTRACK = 10133
    MISSION_TOTAL_COST_HCOIN_NUM_BACKTRACK = 10135
    MISSION_STAGE_TOTAL_MAX_SCORE_WITH_STAGE_TAG = 10144
    MISSION_AVATAR_DRESSED_EQUIPMENTS = 10149
    MISSION_DRESSED_ANY_BEFALL_WEAPON = 10150
    MISSION_LEVEL_MULTI_EQUIP_RARITY_BACKTRACK = 10156
    MISSION_POWERUP_MULTI_SPECIFIC_EQUIP_BACKTRACK = 10158
    MISSION_EVO_MULTI_SPECIFIC_EQUIP_BACKTRACK = 10159
    MISSION_FINISH_EXBOSS_NUM_BACKTRACK = 10161
    MISSION_OPENWORLD_TECH_LEVEL = 10164
    MISSION_UNLOCK_AVATAR = 10168
    MISSION_FINISH_PLAYER_LEVEL = 10171
    MISSION_GET_EXBOSS_SCORE_BACKTRACK = 10172
    MISSION_PUPIL_GRADUATED_BACKTRACK = 10173
    MISSION_MASTER_HAS_NUM_GRADUATED_PUPIL_BACKTRACK = 10174
    MISSION_FINISH_BE_MASTER_BACKTRACK = 10176
    MISSION_RECRUIT_NUM_PUPIL_BACKTRACK = 10177
    MISSION_FINISH_BE_PUPIL_BACKTRACK = 10178
    MISSION_SPECIFIC_STAGE_ID_BACKTRACK = 10180
    MISSION_COLLECT_FURNITURE_SUIT = 10183
    MISSION_COLLECT_SPECIFIC_ITEM = 10185
    MISSION_DORM_COMFORT_LEVEL = 10186
    MISSION_DORM_COMFORT_VALUE = 10187
    MISSION_DORM_FACILITY_LEVEL = 10188
    MISSION_DORM_HOUSE_LEVEL = 10189
    MISSION_OPENWORLD_QUEST_LEVEL_BACKTRACK = 10190
    MISSION_DORM_HOUSE_LEVEL_IN_PARAM = 10191
    MISSION_POWERUP_MULTI_SPECIFIC_EQUIP_MAINID_BACKTRACK = 10207
    MISSION_EVO_MULTI_SPECIFIC_EQUIP_MAINID_BACKTRACK = 10208
    MISSION_AVATAR_GOODFEEL_LEVEL_SPECIFIC_AVATAR = 10212
    MISSION_REACH_DAILY_DUTY_POINT_BACKTRACK = 10220
    MISSION_REACH_WEEKLY_DUTY_POINT_BACKTRACK = 10222
    MISSION_LEVEL_MULTI_EQUIP_MAINID_BACKTRACK = 10223
    MISSION_STAR_MULTI_EQUIP_MAINID_BACKTRACK = 10224
    MISSION_AVATAR_DRESSED_EQUIPMENTS_MAINID = 10225
    MISSION_AVATAR_SUB_SKILL_LEVELUP_PROGRESS = 10226
    MISSION_GENERAL_ACTIVITY_SCORE_BACKTRACK = 10234
    MISSION_OPENWORLD_MAKE_MECHA_TIMES_BACKTRACK = 10254
    MISSION_OPENWORLD_QUEST_RATE_BACKTRACK = 10257
    MISSION_OPENWORLD_TD_STAGE_RATE_BACKTRACK = 10262
    MISSION_OPENWORLD_FINISH_EVENT_TYPE_WITH_MAP = 10263
    MISSION_OPENWORLD_QUEST_LEVEL_BACKTRACK_WITH_MAP = 10265
    MISSION_OPENWORLD_FINISH_QUEST_NUM_WITH_MAP = 10266
    MISSION_WIKI_EQUIPMENT_NUM_BY_RARITY = 10274
    MISSION_WIKI_STIGMATA_SUIT_NUM_BY_RARITY = 10275
    MISSION_WIKI_ACHIEVEMENT_NUM_BY_TYPE = 10277
    MISSION_GOBACK_GAIN_EXP = 10299
    MISSION_RPG_TALE_ROLE_NUM = 10308
    MISSION_RPG_TALE_PASS_SITE_BACKTRACK = 10309
    MISSION_MATRIX_COLLECT_ITEM = 10316
    MISSION_VIRTUAL_TRAIN_AVATAR_NUM = 10317
    MISSION_VIRTUAL_TRAIN_AVATAR_STAR_NUM = 10318
    MISSION_RPG_TALE_TOWER_FLOOR = 10323
    MISSION_RPG_TALE_ABILITY_LEVEL_BACKTRACK = 10325
    MISSION_MASTER_PUPIL_INVITE = 10332
    MISSION_AVATAR_LEVEL_NUM = 10334
    MISSION_DORM_ROOM_UNLOCK = 10336
    MISSION_EQUIPMENT_POWER_UP_LEVEL_BACKTRACK = 10365
    MISSION_GOBACK_SCORE = 10378
    MISSION_AVATAR_ARTIFACT_LEVEL = 10383
    MISSION_LEVEL_LOCK_EXP = 10384
    MISSION_SET_LEVEL_LOCK_ID = 10385
    MISSION_ELF_STAR = 10386
    MISSION_ELF_LEVEL = 10387
    MISSION_ELF_STAR_NUM = 10388
    MISSION_ELF_LEVEL_NUM = 10389
    MISSION_ELF_TALENT_LEVEL = 10396
    MISSION_ELF_TALENT_GROUP_LEVEL = 10397
    MISSION_ELF_TALENT_SLOT_UNLOCK_NUM = 10398
    MISSION_ELF_TOTAL_PERIOD_UPGRADE_TIMES = 10399
    MISSION_ELF_TOTAL_SKILL_LEVEL = 10401
    MISSION_TVT_MAX_WIN_STREAK = 10446
    MISSION_TVT_DIVISION = 10448
    MISSION_GOBACK_TOTAL_LOGIN_DAYS = 10452
    MISSION_TOTAL_LOGIN_DAYS = 10462
    MISSION_ADVENTURE_LEVEL = 10490
    MISSION_ADVENTURE_ADD_BADGE_BACKTRACK = 10492
    MISSION_ADVENTURE_FINISH_ADVENTURE = 10494
    MISSION_NINJA_SLOT_LEVEL = 10504
    MISSION_DLC_AVATAR_TALENT_TOTAL_LEVEL = 10516
    MISSION_DLC_TOWER_MAX_PROGRESS = 10517
    MISSION_DLC_SUPPORT_NPC_LEVEL = 10520
    MISSION_DLC_TALENT_LEVEL = 10521
    MISSION_DLC_LEVEL = 10522
    MISSION_DLC_COLLECTION_TYPE_NUM = 10523
    MISSION_OPENWORLD_FINISH_ONCE_EVENT_BACKTRACK_WITH_MAP = 10525
    MISSION_OPENWORLD_FINISH_SPECIFIC_STORY_NUM_BACKTRACK = 10528
    MISSION_EXAMINATION_FINISH_NUM = 10596
    MISSION_FINISH_MOSAIC_NUM_BACKTRACK = 10598
    MISSION_OPENWORLD_QUEST_ACTIVITY_TOTAL_SCORE_BACKTRACK = 10614
    MISSION_AVATAR_STAR_SUBSTAR = 10655
    MISSION_GOD_WAR_ROLE_RELATION_LEVEL_BACKTRACK = 10663
    MISSION_GOD_WAR_TALENT_LEVEL_NUM_BACKTRACK = 10664
    MISSION_GOD_WAR_AVATAR_PUNISH_LEVEL_NUM_BACKTRACK = 10665
    MISSION_GOD_WAR_COLLECTION_TYPE_NUM_BACKTRACK = 10671
    MISSION_GOD_WAR_ROLE_AVATAR_LEVEL_NUM_BACKTRACK = 10672
    MISSION_GOD_WAR_SETTLE_EVENT_BACKTRACK = 10673
    MISSION_RANCH_MONSTER_WIKI_LIST = 10692
    MISSION_BIND_HOYOLAB_ACCOUNT = 10701
    MISSION_OPENWORLD_CHAPTER_EQUIP_COST = 10703
    MISSION_RESTAURANT_FACILITY_LEVEL = 10706
    MISSION_OPENWORLD_CHAPTER_FAME_LEVEL_BACKTRACK = 10709
    MISSION_SPECIFIC_MATERIAL_NUM_BACKTRACK = 10710
    MISSION_SC_DLC_LEVEL_BACKTRACK = 10712
    MISSION_SC_DLC_AVATAR_LEVEL_BACKTRACK = 10713
    MISSION_SC_DLC_AVATAR_TALENT_NUM_BACKTRACK = 10714
    MISSION_SC_DLC_NPC_SUPPORT_LEVEL_BACKTRACK = 10715
    MISSION_SC_DLC_AVATAR_LEVEL_NUM_BACKTRACK = 10718
    MISSION_SC_DLC_UNLOCK_TALENT_NUM_BACKTRACK = 10719
    MISSION_SC_DLC_NPC_SUPPORT_LEVEL_NUM_BACKTRACK = 10720
    MISSION_SPECIFIC_STAGE_NUM_BACKTRACK = 10741
    MISSION_UNLOCK_SPECIFIC_PHOTO_NUM_BACKTRACK = 10742
    MISSION_TOWN_ACTIVITY_CHALLNGE_NUM_BACKTRACK = 10755
    MISSION_SPECIFIC_AVATAR_EQUIP_WEAPON_LEVEL_BACKTRACK = 10781
    MISSION_SPECIFIC_AVATAR_EQUIP_STIGMATA_SUIT_BACKTRACK = 10782
    MISSION_AVATAR_SPECIFIC_UNLOCK_STAR_NUM_BACKTRACK = 10783
    MISSION_AVATAR_SPECIFIC_TYPE_NUM_BACKTRACK = 10784
    MISSION_AVATAR_SPECIFIC_UNLOCK_STAR_SPECIFC_LEVEL_NUM_BACKTRACK = 10785
    MISSION_AVATAR_SPECIFIC_TYPE_SPECIFIC_LEVEL_NUM_BACKTRACK = 10790
    MISSION_GRAND_KEY_GET_ANY_BACKTRACK = 10791
    MISSION_STAGE_TAG_CHALLENGE_NUM_BACKTRACK = 10796
    MISSION_FINISH_MISSION_TIMES_WITH_MISSION_ID_LIST_BACKTRACK = 10797
    MISSION_OPENWORLD_CHAPTER_UNLOCK_HERO_BACKTRACK = 10806
    MISSION_OPENWORLD_CHAPTER_HERO_CARD_LEVEL_BACKTRACK = 10808
    MISSION_OPENWORLD_CHAPTER_HERO_LEVEL_BACKTRACK = 10809
    MISSION_OPENWORLD_ACTIVE_CARD_GROUP_BATTLE_POINT_BACKTRACK = 10810
    MISSION_OPENWORLD_CHAPTER_UNLOCK_HERO_CARD_BACKTRACK = 10811
    MISSION_OPENWORLD_CHAPTER_BUILDING_LEVEL_BACKTRACK = 10815
    MISSION_OPENWORLD_HUNT_FINISH_QUEST_NUM_BACKTRACK = 10820
    MISSION_OPENWORLD_HUNT_DESTROY_STRONGHOLD_NUM_BACKTRACK = 10821
    MISSION_OPENWORLD_HUNT_HUNTER_KILLED_MAP_NUM_BACKTRACK = 10822
    MISSION_OPENWORLD_HUNT_TALENT_TOTAL_LEVEL_BACKTRACK = 10823
    MISSION_MONSTER_CARD_COLLECTION_NUM_BACKTRACK = 10826
    MISSION_MONSTER_CARD_COLLECTION_LEVEL_BACKTRACK = 10827
    MISSION_MONSTER_CARD_NUM_LEVEL_GREATER_EQUAL_BACKTRACK = 10828
    MISSION_OPENWORLD_CHAPTER_TERMINAL_LEVEL_BACKTRACK = 10848
    MISSION_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_FINISH_FLOOR_BACKTRACK = 10850
    MISSION_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_PASS_NUM_BACKTRACK = 10851
    MISSION_OPENWORLD_CHAPTER_BUILDING_TYPE_UNLOCK_NUM_BACKTRACK = 10852
    MISSION_OPENWORLD_CHAPTER_TALENT_LEVEL_BACKTRACK = 10853
    MISSION_OPENWORLD_CHAPTER_TALENT_TOTAL_LEVEL_BACKTRACK = 10854
    MISSION_OPENWORLD_CHAPTER_TERMINAL_PERIOD_UPGRADE_AT_LEVEL_BACKTRACK = 10855
    MISSION_OPENWORLD_CHAPTER_ANTIGRAVITY_MATERIAL_COLLECTION_NUM_BACKTRACK = 10856
    MISSION_RPG_TALE_ABILITY_LEVEL_SUM_BACKTRACK = 10857
    MISSION_THEME_TOWER_SECTION_LEVEL_BACKTRACK = 10858
    MISSION_THEME_TOWER_SECTION_SCORE_BACKTRACK = 10859
    MISSION_THEME_TOWER_SPECIFIC_SCORE_BACKTRACK = 10860
    MISSION_CHAPTER_BW_WORLD_RUNE_REACH_LEVEL_BACKTRACK = 10861
    MISSION_GOBACK_SCHEDULEID_AND_LOSTDAYS_BACKTRACK = 10862
    MISSION_GOBACK_NOT_SCHEDULEID_BACKTRACK = 10863
    MISSION_PJMS_FINSIH_STORY_BACKTRACK = 10864
    MISSION_PJMS_ADD_EXPLORE_NUM_IN_MATERIAL_ID_LIST_BACKTRACK = 10865
    MISSION_PJMS_AVATAR_LEVEL_NUM_BACKTRACK = 10866
    MISSION_PJMS_ELF_LEVEL_NUM_BACKTRACK = 10867
    MISSION_PJMS_FINSIH_STORY_LIST_BACKTRACK = 10868
    MISSION_PJMS_CHAPTER_LEVEL_BACKTRACK = 10869
    MISSION_PJMS_UNLOCK_BGM_NUM_BACKTRACK = 10870
    MISSION_PJMS_UNLOCK_FURNITURE_NUM_BACKTRACK = 10871
    MISSION_PJMS_HAS_GOT_CORE_UINT_LIST_BACKTRACK = 10872
    MISSION_PJMS_HAS_GOT_AUXILIARY_UINT_LIST_BACKTRACK = 10873
    MISSION_UNLOCK_COLLECTION_ID_LIST_NUM_BACKTRACK = 10874
    MISSION_PJMS_ACTIVATE_TELEPORT_ID_LIST_NUM_BACKTRACK = 10875
    MISSION_PJMS_UNLOCK_FOG_ID_LIST_NUM_BACKTRACK = 10876
    MISSION_PJMS_CHAPTER_LEVEL_LE_BACKTRACK = 10877
    MISSION_GOURMET_HUNT_MANAGEMENT_TIMES_BACKTRACK = 10971
    MISSION_GOURMET_HUNT_MANAGEMENT_TOTAL_REVENUE_BACKTRACK = 10972
    MISSION_GOURMET_HUNT_MANAGEMENT_TOTAL_PRAISE_BACKTRACK = 10973
    MISSION_GOURMET_HUNT_RATING_GE_BACKTRACK = 10974
    MISSION_GOURMET_HUNT_UNLOCK_SPECIFIED_FURNITURE_BACKTRACK = 10975
    MISSION_GOURMET_HUNT_UNLOCKED_FURNITURE_NUM_BACKTRACK = 10976
    MISSION_GOURMET_HUNT_UNLOCKED_RECIPE_NUM_BACKTRACK = 10977
    MISSION_GOURMET_HUNT_LEVEL_BACKTRACK = 10978
    MISSION_GOURMET_HUNT_UNLOCK_SPECIFIED_WEAPON_MODULE_BACKTRACK = 10979
    MISSION_GOURMET_HUNT_OPEN_TREASURE_NUM_BACKTRACK = 10982
    MISSION_GOURMET_HUNT_UNLOCK_TELEPORT_NUM_IN_SPECIFIED_MAP_BACKTRACK = 10984
    MISSION_EXBOSS_FINISH_TIME_SCORE_BACKTRACK = 10985
    MISSION_STIGMATA_PRISM_LEVEL_NUM_BACKTRACK = 10986
    MISSION_MONSTER_FARM_UNLOCK_GALLERY_BACKTRACK = 10987
    MISSION_MONSTER_FARM_UNLOCK_MONSTER_GALLERY_BACKTRACK = 10988
    MISSION_MONSTER_FARM_RARE_MONSTER_NUM_BACKTRACK = 10989
    MISSION_MONSTER_FARM_LEVEL_BACKTRACK = 10990
    MISSION_MONSTER_FARM_ENTER_MINE_FLOOR_BACKTRACK = 10991
    MISSION_MONSTER_FARM_BUILDING_LEVEL_BACKTRACK = 10993
    MISSION_MONSTER_FARM_BUILDING_LIST_LEVEL_BACKTRACK = 10994


class LinearMissionSolveType(betterproto.Enum):
    LINEAR_MISSION_SOLVE_CLOSE = 0
    LINEAR_MISSION_SOLVE_RESERVE = 1
    LINEAR_MISSION_SOLVE_AUTO = 2


class CycleMissionSolveType(betterproto.Enum):
    CYCLE_MISSION_SOLVE_CLOSE = 0
    CYCLE_MISSION_SOLVE_RESERVE = 1


class ActivityType(betterproto.Enum):
    ACTIVITY_NONE = 0
    ACTIVITY_WEEK_DAY = 1
    ACTIVITY_BEFALL = 2
    ACTIVITY_BOSS_RUSH = 8
    ACTIVITY_MP_OPENWORLD_BOSS = 13
    ACTIVITY_MATRIX = 14


class EndlessType(betterproto.Enum):
    ENDLESS_TYPE_NONE = 0
    ENDLESS_TYPE_NORMAL = 1
    ENDLESS_TYPE_OPENWORLD = 2
    ENDLESS_TYPE_QUANTUM = 3
    ENDLESS_TYPE_ULTRA = 4
    ENDLESS_TYPE_GREEDY = 5
    ENDLESS_TYPE_FRONT = 6


class EndlessRewardType(betterproto.Enum):
    EndlessRewardType0 = 0
    ENDLESS_PROMOTE = 1
    ENDLESS_NORMAL = 2
    ENDLESS_DEMOTE = 3


class CabinType(betterproto.Enum):
    CabinType0 = 0
    CABIN_POWER = 1
    CABIN_ENHANCE_KIANA = 2
    CABIN_COLLECT = 3
    CABIN_MISC = 4
    CABIN_VENTURE = 5
    CABIN_ENHANCE_MEI = 6
    CABIN_ENHANCE_BRONYA = 7
    CABIN_ENHANCE_HIMEKO = 8
    CABIN_ENHANCE_THERESA = 9
    CABIN_ENHANCE_FUKA = 10


class AvatarAttrType(betterproto.Enum):
    AvatarAttrType0 = 0
    AVATAR_HP = 1
    AVATAR_SP = 2
    AVATAR_ATTACK = 3
    AVATAR_DEFENSE = 4
    AVATAR_CRITICAL = 5


class CabinTechEffectType(betterproto.Enum):
    CabinTechEffectType0 = 0
    CABIN_TECH_ADD_AVATAR_ATTR = 1
    CABIN_TECH_ADD_VENTURE_MAX_NUM = 2
    CABIN_TECH_ADD_PROCESS_VENTURE_MAX_NUM = 3
    CABIN_TECH_ADD_REFRESH_VENTURE_ATTR = 4
    CABIN_TECH_ADD_FRIEND_NUM = 5
    CABIN_TECH_DISJOIN_EQUIPMENT = 6
    CABIN_TECH_ADD_COLLECT_SPEED = 7
    CABIN_TECH_ADD_COLLECT_STORAGE = 8
    CABIN_TECH_ADD_COLLECT_EXTRA_PERCENT = 9
    CABIN_TECH_ADD_COLLECT_EXTRA_RATE = 10
    CABIN_TECH_ADD_SKILL_POINT_LIMIT = 11
    CABIN_TECH_ADD_COLLECT_EQUIPMENT_DROP = 12
    CABIN_TECH_ADD_COLLECT_EQUIPMENT_PACKAGE_NUM = 13
    CABIN_TECH_SUB_COLLECT_EQUIPMENT_TIME = 14


class IslandVentureDispatchCond(betterproto.Enum):
    IslandVentureDispatchCond0 = 0
    ISLAND_VENTURE_AVATAR_ID = 1
    ISLAND_VENTURE_AVATAR_EACH_LEVEL = 2
    ISLAND_VENTURE_AVATAR_ONE_LEVEL = 3
    ISLAND_VENTURE_AVATAR_TOTAL_LEVEL = 4
    ISLAND_VENTURE_AVATAR_EACH_STAR = 5
    ISLAND_VENTURE_AVATAR_ONE_STAR = 6
    ISLAND_VENTURE_AVATAR_NUM = 7
    ISLAND_VENTURE_AVATAR_ATTR_NUM = 8
    ISLAND_VENTURE_AVATAR_CLASS_NUM = 9
    ISLAND_VENTURE_AVATAR_ATTR_NOT_SAME = 10
    ISLAND_VENTURE_AVATAR_CLASS_NOT_SAME = 11


class DisjoinType(betterproto.Enum):
    DisjoinType0 = 0
    DISJOIN_TOTAL = 1
    DISJOIN_TITLE = 2
    DISJOIN_EX = 3


class StigmataRefineType(betterproto.Enum):
    StigmataRefineType0 = 0
    STIGMATA_REFINE_NORMAL = 1
    STIGMATA_REFINE_ADD_SLOT = 2
    STIGMATA_REFINE_SPECIAL = 3
    STIGMATA_REFINE_LOCK = 4


class StigmataRefineTimesType(betterproto.Enum):
    StigmataRefineTimesType0 = 0
    STIGMATA_REFINE_TIMES_ONE = 1
    STIGMATA_REFINE_TIMES_TEN = 10


class CommentType(betterproto.Enum):
    CommentType0 = 0
    COMMENT_OK = 1
    COMMENT_CANCEL = 2
    COMMENT_IGNORE = 3


class ExtraStoryActType(betterproto.Enum):
    ExtraStoryActType0 = 0
    EXTRA_STORY_ACT_MAIN = 1
    EXTRA_STORY_ACT_HIDDEN = 2
    EXTRA_STORY_ACT_ENTROPY = 3
    EXTRA_STORY_ACT_ACTIVITY = 4
    EXTRA_STORY_ACT_FANTASY = 5
    EXTRA_STORY_ACT_ROGUE = 6


class AvatarRoleType(betterproto.Enum):
    AvatarRoleType0 = 0
    AVATAR_ROLE_KIANA = 1
    AVATAR_ROLE_MEI = 2
    AVATAR_ROLE_BRONYA = 3
    AVATAR_ROLE_HIMEKO = 4
    AVATAR_ROLE_THERESA = 5
    AVATAR_ROLE_FUKA = 6
    AVATAR_ROLE_RITA = 7
    AVATAR_ROLE_TWINS = 8
    AVATAR_ROLE_SEELE = 9
    AVATAR_ROLE_DURANDAL = 10
    AVATAR_ROLE_ASUKA = 11
    AVATAR_ROLE_FISCHL = 12
    AVATAR_ROLE_KEQING = 13
    AVATAR_ROLE_ELYSIA = 14
    AVATAR_ROLE_MOBIUS = 15
    AVATAR_ROLE_RAVEN = 16
    AVATAR_ROLE_PARDOFELIS = 17
    AVATAR_ROLE_APONIA = 18
    AVATAR_ROLE_EDEN = 19
    AVATAR_ROLE_GRISEO = 20
    AVATAR_ROLE_VILL_V = 21
    AVATAR_ROLE_LISUSHANG = 22
    AVATAR_ROLE_AI = 23
    AVATAR_ROLE_SUSANNAH = 24
    AVATAR_ROLE_FEATHEREDRABBIT = 25
    AVATAR_ROLE_PROMETHEUS = 26
    AVATAR_ROLE_SHIGURE = 27
    AVATAR_ROLE_28 = 28
    AVATAR_ROLE_29 = 29
    AVATAR_ROLE_30 = 30
    AVATAR_ROLE_31 = 31
    AVATAR_ROLE_32 = 32
    AVATAR_ROLE_33 = 33
    AVATAR_ROLE_34 = 34
    AVATAR_ROLE_35 = 35
    AVATAR_ROLE_SAKURA = 101
    AVATAR_ROLE_KALLEN = 102
    AVATAR_ROLE_DLC_MEI = 103
    AVATAR_ROLE_DLC_ADAM = 104
    AVATAR_ROLE_DLC_CAROL = 105
    AVATAR_ROLE_DLC_BRONYA = 106
    AVATAR_ROLE_DLC_KONG = 107
    AVATAR_ROLE_200 = 200
    AVATAR_ROLE_201 = 201
    AVATAR_ROLE_202 = 202
    AVATAR_ROLE_203 = 203
    AVATAR_ROLE_204 = 204
    AVATAR_ROLE_205 = 205
    AVATAR_ROLE_206 = 206
    AVATAR_ROLE_207 = 207
    AVATAR_ROLE_208 = 208
    AVATAR_ROLE_209 = 209


class IslandPositionType(betterproto.Enum):
    IslandPositionType0 = 0
    ISLAND_POSITION_CABIN_POWER = 1
    ISLAND_POSITION_CABIN_ENHANCE_KIANA = 2
    ISLAND_POSITION_CABIN_COLLECT = 3
    ISLAND_POSITION_CABIN_MISC = 4
    ISLAND_POSITION_CABIN_VENTURE = 5
    ISLAND_POSITION_CABIN_ENHANCE_MEI = 6
    ISLAND_POSITION_CABIN_ENHANCE_BRONYA = 7
    ISLAND_POSITION_CABIN_ENHANCE_HIMEKO = 8
    ISLAND_POSITION_CABIN_ENHANCE_THERESA = 9
    ISLAND_POSITION_CABIN_ENHANCE_FUKA = 10
    ISLAND_POSITION_NULL = 21
    ISLAND_POSITION_MAIN = 22


class IslandEventCondType(betterproto.Enum):
    IslandEventCondType0 = 0
    ISLAND_EVENT_COND_ONE_WEATHER = 1
    ISLAND_EVENT_COND_AVATAR_GOODFEEL = 2
    ISLAND_EVENT_COND_HAS_AVATAR = 3
    ISLAND_EVENT_COND_ROLE_AFFINITY = 4
    ISLAND_EVENT_COND_ALL_AFFINITY = 5
    ISLAND_EVENT_COND_HAS_ONE_EQUIPMENT = 201
    ISLAND_EVENT_COND_AVATAR = 202
    ISLAND_EVENT_COND_FINISH_ONE_EVENT = 203
    ISLAND_EVENT_COND_POS = 204
    ISLAND_EVENT_COND_SITE = 205


class DressType(betterproto.Enum):
    DressType0 = 0
    DRESS_BATTLE = 1
    DRESS_SUIT = 2
    DRESS_ARTIFACT = 4


class MaterialUseType(betterproto.Enum):
    MaterialUseType0 = 0
    MATERIAL_USE_GIFT = 1
    MATERIAL_USE_TREASURE = 2
    MATERIAL_USE_RAND_GIFT = 3
    MATERIAL_USE_BUFF = 4
    MATERIAL_USE_EXTRA_STORY = 5
    MATERIAL_USE_TRIAL_AVATAR = 6
    MATERIAL_USE_MATRIX_EXPLORE_POWER = 7
    MATERIAL_USE_AUTO_GIFT = 10
    MATERIAL_USE_OPTIONAL_REWARD = 11
    MATERIAL_USE_RAND_REWARD = 12
    MATERIAL_USE_RAND_AVATAR = 13
    MATERIAL_USE_ARMADA_WAR_ENERGE_ITEM = 14
    MATERIAL_USE_RAND_GIFT_RESTRICT = 15
    MATERIAL_USE_ARMADA_REUNION = 17
    MATERIAL_USE_ULTRA_ENDLESS_BUFFER_CUP = 20
    MATERIAL_USE_BATTLE_PASS_TICKET = 24
    MATERIAL_USE_AVATAR_FRAGMENT_TRANSFORM = 25
    MATERIAL_USE_BAODI_TREASURE = 27
    MATERIAL_USE_PRIVILEGE = 28
    MATERIAL_USE_OPENWORLD_AVATAR_ACTIVITY_EXP = 29
    MATERIAL_USE_CONVERT_EQUIPMENT = 30
    MATERIAL_USE_AUTO_NEW_GIFT = 31
    MATERIAL_USE_GOD_WAR_AVATAR = 32
    MATERIAL_USE_GOD_WAR_SUPPORT_AVATAR = 33
    MATERIAL_USE_RANCH_MONSTER = 34
    MATERIAL_USE_OPENWORLD_CHAPTER_EQUIP_COST = 36
    MATERIAL_USE_OPENWORLD_CHAPTER_EQUIP_BUFF = 37
    MATERIAL_USE_SC_DLC_FEVER_SLOT = 38
    MATERIAL_USE_SC_DLC_AVATAR = 39
    MATERIAL_USE_OPENWORLD_CHAPTER_FAME = 40
    MATERIAL_USE_REWARD_LINE_SCORE = 41
    MATERIAL_USE_GOD_WAR_GAIN_COIN = 42
    MATERIAL_USE_OPENWORLD_CHAPTER_HERO = 43
    MATERIAL_USE_OPENWORLD_CHAPTER_HERO_CARD = 44
    MATERIAL_USE_MONSTER_CARD = 45
    MATERIAL_USE_MONSTER_CARD_NO_OVERFLOW = 46
    MATERIAL_USE_MONSTER_CARD_DROP_NUM_LIMITED = 47
    MATERIAL_USE_PVZ_ADD_SPECIAL_MATERIAL = 48
    MATERIAL_USE_OPENWORLD_CHAPTER_FRAGMENT_TRANSFORM = 49
    MATERIAL_USE_ADD_MEDAL_PARAM = 50
    MATERIAL_USE_GLOBAL_EXPLORE_EXP = 51
    MATERIAL_USE_GLOBAL_EXPLORE_STAMINA = 52
    MATERIAL_USE_GLOBAL_EXPLORE_CONTRIBUTION = 53
    MATERIAL_USE_GLOBAL_EXPLORE_ACTIVE_EXP = 54
    MATERIAL_USE_AUTO_TRIAL_WARSHIP = 55
    MATERIAL_USE_SUSANNA_TRIAL_MENTOR_PROGRESS = 56
    MATERIAL_USE_CHAPTER_BW_WORLD_ADD_RUNE = 57
    MATERIAL_USE_CHAPTER_BW_WORLD_ADD_RUNE_WITH_NOTIFY = 58
    MATERIAL_USE_PJMS_BGM = 59
    MATERIAL_USE_ADD_PJMS_CORE_UNIT = 60
    MATERIAL_USE_ADD_PJMS_AUXILIARY_UNIT = 61
    MATERIAL_USE_ADD_MINION_CLASH_EXP = 62
    MATERIAL_USE_ADD_PJMS_FURNITURE = 63
    MATERIAL_USE_ADD_TIELD_GAME_FARM_STAMINA = 64
    MATERIAL_USE_MINION_CLASH_CARD = 65
    MATERIAL_USE_ADD_COLLECTION = 66
    MATERIAL_USE_ADD_GOURMET_HUNT_INGREDIENT = 67
    MATERIAL_USE_SET_MEDAL_MP_INFO = 68
    MATERIAL_USE_ADD_MATERIAL_AND_PJMS_EXPLORE_SCORE = 69
    MATERIAL_USE_ADD_CHATWORLD_QCANDY_ITEM = 70
    MATERIAL_USE_ADD_CHATWORLD_QCANDY_RED_ENVELOPE = 71
    MATERIAL_USE_TILED_GAME_SRPG_ADD_EXPLORE_EXP = 72
    MATERIAL_USE_WEAPON_LEVEL_UP_TICKET = 73
    MATERIAL_USE_MONSTER_CARD_PVP_ACTIVITY_EXP = 74
    MATERIAL_USE_MONSTER_FARM_ACTIVITY_MONSTER = 75
    MATERIAL_USE_STIGMATA_LEVEL_UP_TICKET = 76
    MATERIAL_USE_MONSTER_CARD_PVP_COMBAT_TIMES = 77
    MATERIAL_USE_TILED_GAME_PRPG_ADD_DECK_EXP = 78
    MATERIAL_USE_MONSTER_PVP_CARD = 79
    MATERIAL_USE_BATTLE_PASS_TICKET_UPGRADE = 80
    MATERIAL_USE_MONSTER_CARD_ADD_EXP = 81
    MATERIAL_USE_GOD_WAR_MAX_PUNISH_LEVEL = 82


class IslandVisitRecordType(betterproto.Enum):
    IslandVisitRecordType0 = 0
    ISLAND_RECORD_HELP_FRIEND = 1
    ISLAND_RECORD_BE_HELPED = 2
    ISLAND_RECORD_LIKE = 3
    ISLAND_RECORD_BE_LIKED = 4


class DutyType(betterproto.Enum):
    DutyType0 = 0
    DUTY_DAILY = 1
    DUTY_WEEKLY = 2


class LobbyMemberStatus(betterproto.Enum):
    LobbyMemberStatus0 = 0
    LOBBY_MEMBER_UNREADY = 1
    LOBBY_MEMBER_READY = 2
    LOBBY_MEMBER_FIGHTING = 3


class LobbyClientStatus(betterproto.Enum):
    LOBBY_CLIENT_NONE = 0
    LOBBY_CLIENT_CHOOSING_AVATAR = 1
    LOBBY_CLIENT_CHOOSING_WEAPON = 2
    LOBBY_CLIENT_CHOOSING_STIGMATA = 3


class LobbyStatus(betterproto.Enum):
    LOBBY_NONE = 0
    LOBBY_PREPARING = 1
    LOBBY_CONNECTING = 2
    LOBBY_FIGHTING = 3
    LOBBY_FINISHING = 4
    LOBBY_WAIT_DESTROY = 5


class MpTeamStatus(betterproto.Enum):
    TEAM_STATUS_NONE = 0
    TEAM_STATUS_IN_TEAM = 1
    TEAM_STATUS_IN_LOBBY = 2


class LobbyEnterType(betterproto.Enum):
    LOBBY_ENTER_TYPE_NONE = 0
    LOBBY_ENTER_TYPE_PRIVATE = 1
    LOBBY_ENTER_TYPE_ENTER = 2
    LOBBY_ENTER_TYPE_FAST = 3


class MpLeaveTeamReason(betterproto.Enum):
    LEAVE_TEAM_REASON_NONE = 0
    LEAVE_TEAM_REASON_KICK = 1


class MpDataType(betterproto.Enum):
    MP_DATA_ALL = 0
    MP_DATA_LEVEL = 1
    MP_DATA_EXP = 2
    MP_DATA_SKILL_POINT = 3
    MP_DATA_SKILL = 4
    MP_DATA_AVATAR = 5
    MP_DATA_PUNISH_TIME = 6


class MpSkillType(betterproto.Enum):
    MP_SKILL_NONE = 0
    MP_SKILL_ATTACK = 1
    MP_SKILL_DEFENCE = 2
    MP_SKILL_OTHER = 3


class MissionMpMemberType(betterproto.Enum):
    MissionMpMemberType0 = 0
    MISSION_MP_LEADER = 1
    MISSION_MP_ASSISTANT = 2


class MpMemberClientStatus(betterproto.Enum):
    MP_MEMBER_CLIENT_NONE = 0
    MP_MEMBER_CLIENT_IN_TEAM = 1
    MP_MEMBER_CLIENT_IN_LOBBY = 2


class OpenworldQuestStatus(betterproto.Enum):
    OPENWORLD_QUEST_NONE = 0
    OPENWORLD_QUEST_DOING = 1
    OPENWORLD_QUEST_FINISH = 2
    OPENWORLD_QUEST_CLOSE = 3


class BuffAcquireType(betterproto.Enum):
    BuffAcquireType0 = 0
    BUFF_ACQUIRE_GOBACK = 1
    BUFF_ACQUIRE_ITEMUSE = 3


class BuffEffectType(betterproto.Enum):
    BuffEffectType0 = 0
    BUFF_EFFECT_COMMANDER_EXP = 1
    BUFF_EFFECT_AVATAR_EXP = 2
    BUFF_EFFECT_SCOIN = 3
    BUFF_EFFECT_NEWBIE = 4
    BUFF_EFFECT_GOBACK = 5


class AreaType(betterproto.Enum):
    AreaType0 = 0
    AREA_CN = 1
    AREA_JP = 2
    AREA_ASIA = 3
    AREA_WEST = 4
    AREA_KR = 5
    AREA_OVERSEAS = 6


class MedalTimeType(betterproto.Enum):
    MedalTimeType0 = 0
    MEDAL_TIME_FOREVER = 1
    MEDAL_TIME_DURATION = 2
    MEDAL_TIME_UNTIL = 3


class MedalOpType(betterproto.Enum):
    MedalOpType0 = 0
    MEDAL_WEAR = 1
    MEDAL_OFF = 2


class CustomHeadTimeType(betterproto.Enum):
    CustomHeadTimeType0 = 0
    CUSTOM_HEAD_TIME_FOREVER = 1
    CUSTOM_HEAD_TIME_DURATION = 2
    CUSTOM_HEAD_TIME_UNTIL = 3


class PhonePendantTimeType(betterproto.Enum):
    PhonePendantTimeType0 = 0
    PHONE_PENDANT_TIME_FOREVER = 1
    PHONE_PENDANT_TIME_LIMIT = 2


class PhonePendantOpType(betterproto.Enum):
    PhonePendantOpType0 = 0
    PHONE_PENDANT_WEAR = 1
    PHONE_PENDANT_OFF = 2


class PlayerCardType(betterproto.Enum):
    CARD_ALL = 0
    CARD_AVATAR = 1
    CARD_MEDAL = 2
    CARD_MESSAGE = 3
    CARD_MSG_CONFIG = 4
    CARD_ELF = 5


class PlayerCardMsgConfig(betterproto.Enum):
    CARD_MSG_ALL = 0
    CARD_MSG_FRIEND = 1
    CARD_MSG_FORBIDDEN = 2


class RankPowerType(betterproto.Enum):
    RankPowerType0 = 0
    AVATAR_SSS_NUM = 101
    AVATAR_SS_NUM = 102
    AVATAR_S_NUM = 103
    AVATAR_A_NUM = 104
    WEAPON_5STAR_NUM = 201
    WEAPON_4STAR_NUM = 202
    WEAPON_3STAR_NUM = 203
    STIGMATA_5STAR_NUM = 301
    STIGMATA_4STAR_NUM = 302
    STIGMATA_3STAR_NUM = 303


class UserRankType(betterproto.Enum):
    USER_RANK_NONE = 0
    USER_RANK_NORMAL = 1
    USER_RANK_PERCENT = 2


class PlayerGenderType(betterproto.Enum):
    GENDER_NONE_TYPE = 0
    GENDER_MALE_TYPE = 1
    GENDER_FEMALE_TYPE = 2


class PlayerAreaType(betterproto.Enum):
    AREA_NO_LIMIT = 0
    AREA_NORTH_CHINA = 1
    AREA_NORTH_EAST = 2
    AREA_EAST_CHINA = 3
    AREA_CENTRAL_CHINA = 4
    AREA_CENTRAL_SOUTH = 5
    AREA_NORTH_WEST = 6
    AREA_SOUTH_WEST = 7
    AREA_HK_MC_TW = 8


class PlayerInterestType(betterproto.Enum):
    INTEREST_NONE = 0
    INTEREST_ANIMATION = 1
    INTEREST_COMIC = 2
    INTEREST_GAME = 3
    INTEREST_MUSIC = 4
    INTEREST_DANCING = 5
    INTEREST_KITIKU = 6
    INTEREST_MMD = 7
    INTEREST_TOKUSATSU = 8


class MasterPupilOpType(betterproto.Enum):
    MASTER_PUPIL_OP_NONE = 0
    MASTER_PUPIL_OP_AGREE = 1
    MASTER_PUPIL_OP_REJECT = 2
    MASTER_PUPIL_OP_DISMISS = 3


class MasterPupilType(betterproto.Enum):
    MASTER_PUPIL_NONE_TYPE = 0
    MASTER_PUPIL_MASTER_TYPE = 1
    MASTER_PUPIL_PUPIL_TYPE = 2
    MASTER_PUPIL_NEITHER_ALL = 4


class MasterPupilEventType(betterproto.Enum):
    MasterPupilEventType0 = 0
    MASTER_PUPIL_EVENT_GET_PUPIL = 1
    MASTER_PUPIL_EVENT_GET_MASTER = 2
    MASTER_PUPIL_EVENT_PUPIL_ONLINE = 3
    MASTER_PUPIL_EVENT_MASTER_ONLINE = 4
    MASTER_PUPIL_EVENT_PUPIL_OFFLINE = 5
    MASTER_PUPIL_EVENT_MASTER_OFFLINE = 6
    MASTER_PUPIL_EVENT_FINISH_MISSION = 7
    MASTER_PUPIL_EVENT_STEP_EVAL = 8
    MASTER_PUPIL_EVENT_PUPIL_GRADUATED = 9
    MASTER_PUPIL_EVENT_SELF_MISSION = 10
    MASTER_PUPIL_EVENT_APPLY_PUPIL = 11
    MASTER_PUPIL_EVENT_APPLY_MASTER = 12
    MASTER_PUPIL_EVENT_REJECT_MASTER = 13
    MASTER_PUPIL_EVENT_REJECT_PUPIL = 14
    MASTER_PUPIL_EVENT_AGREE_MASTER = 15
    MASTER_PUPIL_EVENT_AGREE_PUPIL = 16
    MASTER_PUPIL_EVENT_DISMISS_MASTER = 17
    MASTER_PUPIL_EVENT_DISMISS_PUPIL = 18
    MASTER_PUPIL_EVENT_COMPANY_MISSION = 19
    MASTER_PUPIL_EVNET_RECALL_APPLICATION = 20


class MasterPupilStatus(betterproto.Enum):
    MASTER_PUPIL_STATUS_NONE = 0
    MASTER_PUPIL_STATUS_DURING = 1
    MASTER_PUPIL_STATUS_FINISH = 2
    MASTER_PUPIL_STATUS_DISMISS = 3


class AvatarType(betterproto.Enum):
    AvatarType0 = 0
    AVATAR_TRIAL_TYPE = 1
    AVATAR_LIMIT_TYPE = 2
    AVATAR_FORMAL_TYPE = 3


class DormDataType(betterproto.Enum):
    DORM_DATA_ALL = 0
    DORM_DATA_DECORATION = 1
    DORM_DATA_EVENT = 3
    DORM_DATA_SNS = 4


class FurnitureDirection(betterproto.Enum):
    FURNITURE_DIRECTION_DOWN = 0
    FURNITURE_DIRECTION_LEFT = 1
    FURNITURE_DIRECTION_UP = 2
    FURNITURE_DIRECTION_RIGHT = 3


class FurnitureLocation(betterproto.Enum):
    FURNITURE_LOCATION_FLOOR = 0
    FURNITURE_LOCATION_WALL1 = 1
    FURNITURE_LOCATION_WALL2 = 2
    FURNITURE_LOCATION_WALL3 = 3
    FURNITURE_LOCATION_WALL4 = 4


class RoomType(betterproto.Enum):
    RoomType0 = 0
    ROOM_TYPE_HALL = 1
    ROOM_TYPE_BEDROOM = 2


class DecorationEffectType(betterproto.Enum):
    DecorationEffectType0 = 0
    DECORATION_EFFECT_FURNITURE_LIMIT = 1
    DECORATION_EFFECT_AVATAR_LIMIT = 2
    DECORATION_EFFECT_UNLOCK_ROOM = 3
    DECORATION_EFFECT_POWER_LIMIT = 4


class FacilityType(betterproto.Enum):
    FacilityType0 = 0
    FACILITY_TYPE_AVATAR_EXP = 1
    FACILITY_TYPE_AVATAR_SKILL_POINT = 2
    FACILITY_TYPE_WEAPON_EXP = 3
    FACILITY_TYPE_STIGMATA_EXP = 4
    FACILITY_TYPE_BAR = 5
    FACILITY_TYPE_AUDIO_PLAYER = 6
    FACILITY_TYPE_ENERGY = 7
    FACILITY_TYPE_HOMELAND = 8
    FACILITY_TYPE_REFRIGERATOR = 9
    FACILITY_TYPE_DOOR = 10


class DormEventConditionWay(betterproto.Enum):
    DormEventConditionWay0 = 0
    DORM_EVENT_CONDITION_WAY_PASS_STAGE = 1
    DORM_EVENT_CONDITION_WAY_ISLAND_ADVANTURE = 2
    DORM_EVENT_CONDITION_WAY_AVATAR_STAR_UP = 3
    DORM_EVENT_CONDITION_WAY_MP_STAGE = 4
    DORM_EVENT_CONDITION_WAY_OPEN_WORLD_QUEST = 5
    DORM_EVENT_CONDITION_WAY_MVP = 6
    DORM_EVENT_CONDITION_WAY_NO_FIGHT = 7
    DORM_EVENT_CONDITION_WAY_LEVEL_UP = 8
    DORM_EVENT_CONDITION_WAY_PASS_STAGE_WITH_ROLE = 9
    DORM_EVENT_CONDITION_WAY_FINISH_MISSION = 11
    DORM_EVENT_CONDITION_WAY_ENDLESS_STAGE_PASS = 12
    DORM_EVENT_CONDITION_WAY_OFFLINE = 13
    DORM_EVENT_CONDITION_WAY_BIRTHDAY = 14
    DORM_EVENT_CONDITION_WAY_GACHA = 15
    DORM_EVENT_CONDITION_WAY_NEW_ROLE = 16
    DORM_EVENT_CONDITION_WAY_ACTIVE_DEGREE = 17


class AvatarRollType(betterproto.Enum):
    AvatarRollType0 = 0
    AVATAR_ROLL_AVATAR = 1
    AVATAR_ROLL_STIGMATA = 2
    AVATAR_ROLL_ERROR = 100


class AvatarBindEquipMode(betterproto.Enum):
    AVATAR_BIND_EQUIP_COMMON = 0
    AVATAR_BIND_EQUIP_EXTRA_STORY = 1


class GalInteractTriggerCondition(betterproto.Enum):
    GalInteractTriggerCondition0 = 0
    GALINTERACT_CONDITION_DRESS = 1
    GALINTERACT_CONDITION_SHAKE = 2
    GALINTERACT_CONDITION_MAIN_SCREEN = 3
    GALINTERACT_CONDITION_INTERVAL = 4
    GALINTERACT_CONDITION_DATETIME_YMD = 5
    GALINTERACT_CONDITION_DATETIME_MD = 6
    GALINTERACT_CONDITION_WEEKDAY = 7
    GALINTERACT_CONDITION_DAILY_DUTY_POINT = 8
    GALINTERACT_CONDITION_WEEKLY_DUTY_POINT = 9
    GALINTERACT_CONDITION_WEATHER = 10
    GALINTERACT_CONDITION_GACHA = 11
    GALINTERACT_CONDITION_ONLINE_TIME = 12
    GALINTERACT_CONDITION_LOGIN_ITERVAL = 13
    GALINTERACT_CONDITION_MONTH_DAY_INTERVAL = 14
    GALINTERACT_CONDITION_USER_BIRTHDAY = 15
    GALINTERACT_CONDITION_GOODFEEL_LEVEL = 16
    GALINTERACT_CONDITION_AFFINITY_GET_GIFT_LEVEL = 17
    GALINTERACT_CONDITION_MISSION_FINISH = 18


class GalInteractBubbleType(betterproto.Enum):
    GALINTERACT_BUBBLE_NO = 0
    GALINTERACT_BUBBLE_YES = 1
    GALINTERACT_BUBBLE_PLACEHOLD = 2
    GALINTERACT_BUBBLE_WITH_CONDITION = 3


class ExtraStoryChapterType(betterproto.Enum):
    EXTRA_STORY_CHAPTER_INVALID = 0
    EXTRA_STORY_CHAPTER_NORMAL = 1
    EXTRA_STORY_CHAPTER_LINE = 2


class GeneralActivityType(betterproto.Enum):
    GENERAL_ACTIVITY_INVALID = 0
    GENERAL_ACTIVITY_MAIN_STORY = 1
    GENERAL_ACTIVITY_EXTRA_STORY = 2
    GENERAL_ACTIVITY_ENDLESS = 3
    GENERAL_ACTIVITY_SEALED = 4
    GENERAL_ACTIVITY_SIN_DEMON_EX = 5
    GENERAL_ACTIVITY_WORLD_BOSS = 6
    GENERAL_ACTIVITY_OPENWORLD_NORMAL = 7
    GENERAL_ACTIVITY_RAID = 8
    GENERAL_ACTIVITY_NORMAL_ACTIVITY = 9
    GENERAL_ACTIVITY_SELAED_MODE = 12
    GENERAL_ACTIVITY_ARMADA_MATRIX = 13
    GENERAL_ACTIVITY_DUNGEONS = 15
    GENERAL_ACTIVITY_OPENWORLD_ACTIVITY_BOSS = 17
    GENERAL_ACTIVITY_OPENWORLD_ACTIVITY_ENDLESS = 18
    GENERAL_ACTIVITY_CAMPAIGN = 19
    GENERAL_ACTIVITY_RPG_TALE = 20
    GENERAL_ACTIVITY_MONOPOLY = 21
    GENERAL_ACTIVITY_GARDEN = 22
    GENERAL_ACTIVITY_SANCTUARY = 23
    GENERAL_ACTIVITY_ELITE_STAGE = 24
    GENERAL_ACTIVITY_OPENWORLD_AVATAR = 26
    GENERAL_ACTIVITY_GOD_WAR = 27
    GENERAL_ACTIVITY_OPENWORLD_CHAPTER = 28
    GENERAL_ACTIVITY_TUTORIAL_ENTRY = 29
    GENERAL_ACTIVITY_OPENWORLD_HUNT_ACTIVITY = 30
    GENERAL_ACTIVITY_AI_CYBER = 31
    GENERAL_ACTIVITY_MAIN_STORY_OW_STAGE = 32
    GENERAL_ACTIVITY_MIRAGE = 33
    GENERAL_ACTIVITY_FARM = 34
    GENERAL_ACTIVITY_MAIN_STORY_ACTIVITY = 35
    GENERAL_ACTIVITY_RAID_REPLACE = 36
    GENERAL_ACTIVITY_FUTARI_BATTLE = 37
    GENERAL_ACTIVITY_RE_ACTIVITY = 38
    GENERAL_ACTIVITY_UNIVERAL = 99
    GENERAL_ACTIVITY_PUSH_TOWER = 100
    GENERAL_ACTIVITY_STAGE = 102
    GENERAL_ACTIVITY_MASTER_PUPIL = 104
    GENERAL_ACTIVITY_TOWER_RAID = 105
    GENERAL_ACTIVITY_TVT = 106
    GENERAL_ACTIVITY_KINGDOM_WAR = 107
    GENERAL_ACTIVITY_QUANTUM_ENDLESS = 108
    GENERAL_ACTIVITY_THEME_WANTED = 109
    GENERAL_ACTIVITY_ENDLESS_SINGLE = 110
    GENERAL_ACTIVITY_GLOBAL_WAR = 112
    GENERAL_ACTIVITY_GRATUITY = 113
    GENERAL_ACTIVITY_NEWBIE = 114
    GENERAL_ACTIVITY_NINJA = 115
    GENERAL_ACTIVITY_ARMADA_BOSS = 116
    GENERAL_ACTIVITY_MASSIVE_WAR = 118
    GENERAL_ACTIVITY_CRISIS_MODE = 120
    GENERAL_ACTIVITY_SCHEDULED_MAP_SITE = 121
    GENERAL_ACTIVITY_SLG = 122
    GENERAL_ACTIVITY_BOSS_CHALLENGE = 123
    GENERAL_ACTIVITY_FRONT_ENDLESS = 124
    GENERAL_ACTIVITY_WAVE_RUSH = 125
    GENERAL_ACTIVITY_THEME_TOWER = 126
    GENERAL_ACTIVITY_MARS_CHAPTER_ENTRY = 127
    GENERAL_ACTIVITY_PJMS_ACTIVITY_PANEL = 128
    GENERAL_ACTIVITY_SIMPLIFIED_GOD_WAR = 129
    GENERAL_ACTIVITY_RESIDENT_ACTIVITY = 130


class GeneralActivityScheduledMapSiteType(betterproto.Enum):
    GeneralActivityScheduledMapSiteType0 = 0
    GENERAL_ACTIVITY_SCHEDULED_MAP_SITE_DAILY_RAID = 1
    GENERAL_ACTIVITY_SCHEDULED_MAP_SITE_MINI_SKY_FIRE = 2
    GENERAL_ACTIVITY_SCHEDULED_MAP_SITE_TWO_PLUS_TWO_PVE = 3
    GENERAL_ACTIVITY_SCHEDULED_MAP_SITE_BOSS_RUSH = 4
    GENERAL_ACTIVITY_SCHEDULED_MAP_SITE_CHAPTER_OW = 6


class GeneralStageActivityScoreType(betterproto.Enum):
    GeneralStageActivityScoreType0 = 0
    GENERAL_ACTIVITY_SCORE_ACCUM = 1
    GENERAL_ACTIVITY_SCORE_TOP = 2
    GENERAL_ACTIVITY_SCORE_SINGLE_TOP = 3
    GENERAL_ACTIVITY_SCORE_MATERIAL_NUM = 4


class GeneralActivityStageExchangeType(betterproto.Enum):
    GENERAL_ACTIVITY_EXCHANGE_TYPE_NONE = 0
    GENERAL_ACTIVITY_EXCHANGE_TYPE_TIMES = 1
    GENERAL_ACTIVITY_EXCHANGE_TYPE_RESET = 2


class GeneralActivityScoreRewardType(betterproto.Enum):
    GeneralActivityScoreRewardType0 = 0
    GENERAL_ACTIVITY_SCORE_REWARD_AUTO = 1
    GENERAL_ACTIVITY_SCORE_REWARD_MANUAL = 2


class StorySweepGroupType(betterproto.Enum):
    StorySweepGroupType0 = 0
    STORY_SWEEP_GROUP_AVATAR_FRAGMENT = 1
    STORY_SWEEP_GROUP_MATERIAL = 2
    STORY_SWEEP_GROUP_ACTIVITY = 3
    STORY_SWEEP_GROUP_MATERIAL_NEW = 4


class PhoneEventStatus(betterproto.Enum):
    PHONE_EVENT_NONE = 0
    PHONE_EVENT_FINISH = 1
    PHONE_EVENT_REFUSE = 2
    PHONE_EVENT_HOLD = 3
    PHONE_EVENT_OVER = 4


class EventType(betterproto.Enum):
    EventType0 = 0
    EVENT_TYPE_ISLAND = 1
    EVENT_TYPE_CITY_ACTIVITY = 2


class ArmadaImpeachOperation(betterproto.Enum):
    ArmadaImpeachOperation0 = 0
    START_IMPEACH = 1
    END_IMPEACH = 2
    CANCEL_IMPEACH = 3


class ArmadaImpeachStatus(betterproto.Enum):
    ARMADA_IMPEACH_STATUS_NORMAL = 0
    ARMADA_IMPEACH_STATUS_IMPEACH = 1
    ARMADA_IMPEACH_STATUS_ELECTION = 2


class LoginActivityRewardType(betterproto.Enum):
    LOGIN_ACTIVITY_REWARD_NORMAL = 0
    LOGIN_ACTIVITY_REWARD_BONUS = 1


class CheckConditionEnum(betterproto.Enum):
    CheckConditionEnum0 = 0
    CHECK_CONDITION_WEAPON = 13
    CHECK_CONDITION_STIGMATA_SLOT_1 = 14
    CHECK_CONDITION_STIGMATA_SLOT_2 = 15
    CHECK_CONDITION_STIGMATA_SLOT_3 = 16


class GobackLoginRewardType(betterproto.Enum):
    GobackLoginRewardType0 = 0
    GOBACK_LOGIN_REWARD_COMMON = 1
    GOBACK_LOGIN_REWARD_BONUS = 2


class GobackNewbieLevelSourceType(betterproto.Enum):
    GOBACK_NEWBIE_LEVEL_SOURCE_GOBACK_NEWBIE_LEVEL = 0
    GOBACK_NEWBIE_LEVEL_SOURCE_GOBACK_LEVEL = 1


class CycleMissionProgressType(betterproto.Enum):
    CycleMissionProgressType0 = 0
    CYCLE_MISSION_PROGRESS_ALL = 1
    CYCLE_MISSION_PROGRESS_ONE_BY_ONE = 2


class WikiType(betterproto.Enum):
    WIKI_TYPE_OVERVIEW = 0
    WIKI_TYPE_WEAPON = 1
    WIKI_TYPE_STIGMATA = 2
    WIKI_TYPE_FURNITURE = 3
    WIKI_TYPE_CG = 4
    WIKI_TYPE_MEDAL = 5
    WIKI_TYPE_ACHIEVEMENT = 6
    WIKI_TYPE_DRESS = 7
    WIKI_TYPE_EMOJI = 8
    WIKI_TYPE_AVATAR = 9
    WIKI_TYPE_ACTIVITY = 10
    WIKI_TYPE_MONSTER = 11


class AchievementType(betterproto.Enum):
    ACHIEVE_TYPE_NONE = 0
    ACHIEVE_TYPE_CAPTAIN = 1
    ACHIEVE_TYPE_DEVELOP = 2
    ACHIEVE_TYPE_SOCIAL = 3
    ACHIEVE_TYPE_STAGE = 4
    ACHIEVE_TYPE_ISLAND = 5
    ACHIEVE_TYPE_CHALLENGE = 6
    ACHIEVE_TYPE_DORM = 7
    ACHIEVE_TYPE_EXTRA_STORY = 8


class PhotoType(betterproto.Enum):
    PHOTO_TYPE_ALL = 0
    PHOTO_TYPE_CITY_ACTIVITY = 1
    PHOTO_TYPE_ANNIVERSARY = 2
    PHOTO_TYPE_RPG_TALE = 3
    PHOTO_TYPE_FARM = 4
    PHOTO_TYPE_KINGDOM_WAR = 5
    PHOTO_TYPE_DLC = 6
    PHOTO_TYPE_GLOBAL_WAR = 7
    PHOTO_TYPE_NINJA = 8
    PHOTO_TYPE_CHAPTER_HIDDEN = 9
    PHOTO_TYPE_OW_AVATAR = 10
    PHOTO_TYPE_SLG = 11
    PHOTO_TYPE_GOD_WAR = 12
    PHOTO_TYPE_OPENWORLD_CHAPTER = 13
    PHOTO_TYPE_SC_DLC = 14
    PHOTO_TYPE_OW_HUNT = 15
    PHOTO_TYPE_GLOBAL_EXPLORE = 16
    PHOTO_TYPE_MARS_CHAPTER = 17


class PhotoUnlockType(betterproto.Enum):
    PhotoUnlockType0 = 0
    PHOTO_UNLOCK_FINISH_OW_EVENT = 1
    PHOTO_UNLOCK_KILL_MONSTER = 2
    PHOTO_UNLOCK_FINISH_OW_STORY = 3
    PHOTO_UNLOCK_FINISH_DLC_DIALOG = 4
    PHOTO_UNLOCK_GOD_WAR = 5
    PHOTO_UNLOCK_VISUAL_NOVEL = 6
    PHOTO_UNLOCK_MATERIAL = 7
    PHOTO_UNLOCK_FINISH_PJMS_STORY = 8


class MpStageMatchType(betterproto.Enum):
    MpStageMatchType0 = 0
    CREATE_ENTER = 1
    MATCH_ENTER = 2


class MpStageMemberLimitType(betterproto.Enum):
    MP_MEMBER_LIMIT_NONE = 0
    MP_MEMBER_LIMIT_MASTER_ONLY = 1
    MP_MEMBER_LIMIT_PUPIL_ONLY = 2
    MP_MEMBER_LIMIT_ARMADA_ONLY = 3
    MP_MEMBER_LIMIT_NEWBIE_ONLY = 4


class DisplayCurrencyType(betterproto.Enum):
    DISPLAY_CURRENCY_TYPE_NONE = 0
    DISPLAY_CURRENCY_TYPE_SCOIN = 1
    DISPLAY_CURRENCY_TYPE_STAMINA = 2
    DISPLAY_CURRENCY_TYPE_HCOIN = 3
    DISPLAY_CURRENCY_TYPE_PURPLE_JADE = 5
    DISPLAY_CURRENCY_TYPE_MCOIN = 6
    DISPLAY_CURRENCY_TYPE_PLAIN_DRESS_TICKET = 7
    DISPLAY_CURRENCY_TYPE_LUXURY_DRESS_TICKET = 8
    DISPLAY_CURRENCY_TYPE_VITALITY = 12
    DISPLAY_CURRENCY_TYPE_ETHER_PHLOGISTON = 13
    DISPLAY_CURRENCY_TYPE_BRILLIANT_PURE_CRYSTAL = 14
    DISPLAY_CURRENCY_TYPE_HONOR_MEDAL = 15


class SellCurrencyType(betterproto.Enum):
    SELL_CURRENCY_TYPE_NONE = 0
    SELL_CURRENCY_TYPE_SCOIN = 1
    SELL_CURRENCY_TYPE_PURPLE_JADE = 5


class TowerRaidRating(betterproto.Enum):
    TOWER_RAID_RATING_NONE = 0
    TOWER_RAID_RATING_DEGRADE = 1
    TOWER_RAID_RATING_KEEP = 2
    TOWER_RAID_RATING_UPGRADE = 3


class ChatgroupPosition(betterproto.Enum):
    CHATGROUP_POSITION_NONE = 0
    CHATGROUP_POSITION_CREATER = 1
    CHATGROUP_POSITION_MEMBER = 2


class WorldChatroomType(betterproto.Enum):
    WORLD_CHATROOM_TYPE_NONE = 0
    WORLD_CHATROOM_TYPE_NORMAL = 1
    WORLD_CHATROOM_TYPE_ACTIVITY = 2


class ActivityWorldChatroomType(betterproto.Enum):
    ACTIVITY_WORLD_CHATROOM_TYPE_NONE = 0
    ACTIVITY_WORLD_CHATROOM_TYPE_KINGDOM = 1
    ACTIVITY_WORLD_CHATROOM_TYPE_GLOBAL_WAR = 2
    ACTIVITY_WORLD_CHATROOM_TYPE_CHATWORLD_BEAST = 3
    ACTIVITY_WORLD_CHATROOM_TYPE_SLG = 4
    ACTIVITY_WORLD_CHATROOM_TYPE_GLOBAL_EXPLORE = 5


class FrameTimeType(betterproto.Enum):
    FRAME_TIME_FOREVER = 0
    FRAME_TIME_LIMIT = 1


class AvatarTeamType(betterproto.Enum):
    AvatarTeamType0 = 0
    AVATAR_TEAM_NORMAL = 1
    AVATAR_TEAM_VIRTUAL = 2
    AVATAR_TEAM_DLC = 3
    AVATAR_TEAM_SC_DLC = 4


class FeatureSwitchType(betterproto.Enum):
    FEATURE_SWITCH_NONE = 0
    FEATURE_SWITCH_STAGE = 1
    FEATURE_SWITCH_SHOP = 2
    FEATURE_SWITCH_SHOP_GOODS_POOL = 3
    FEATURE_SWITCH_ACTIVITY_PANEL = 4
    FEATURE_SWITCH_MISSION_HIDE = 5
    FEATURE_SWITCH_ITEM_USE = 6
    FEATURE_SWITCH_MATERIAL_HIDE = 7
    FEATURE_SWITCH_MISSION_REWARD = 8
    FEATURE_SWITCH_MAIL_ATTACHMENT_TAKE = 9
    FEATURE_SWITCH_DANMAKU = 10
    FEATURE_SWITCH_EX_BOSS = 11
    FEATURE_SWITCH_SHOP_GOODS_POOL_HIDE = 12
    FEATURE_SWITCH_CHAT = 13
    FEATURE_SWITCH_HEXIE = 14
    FEATURE_SWITCH_MCOIN_BUY = 15
    FEATURE_SWITCH_SHOP_GOODS = 16
    FEATURE_SWITCH_CMD_CD = 17
    FEATURE_SWITCH_ENDLESS = 18
    FEATURE_SWITCH_EX_BOSS_ENTER = 19
    FEATURE_SWITCH_GACHA = 20
    FEATURE_SWITCH_AVATAR_FRAGMENT = 22
    FEATURE_SWITCH_ELF_FRAGMENT = 23
    FEATURE_SWITCH_EQUIP_FORGE = 24
    FEATURE_SWITCH_BATTLE_PASS = 25
    FEATURE_SWITCH_GACHA_COIN_TRANSFER = 26
    FEATURE_SWITCH_RPG_TALE_SITE = 27
    FEATURE_SWITCH_ACTIVITY = 28
    FEATURE_SWITCH_THEME_WANTED = 29
    FEATURE_SWITCH_SNS_REQUEST = 30
    FEATURE_SWITCH_GOD_WAR = 31
    FEATURE_SWITCH_SERVER_STOP_GACHA_MSG = 32
    FEATURE_SWITCH_KINGDOM_WAR = 33
    FEATURE_SWITCH_REFINE_RUNE = 34
    FEATURE_SWITCH_CHANGE_FRIEND_REMARK = 35
    FEATURE_SWITCH_GACHA_DAILY_TIMES_LIMIT = 36
    FEATURE_SWITCH_INVITE_ACTIVITY = 37
    FEATURE_SWITCH_QCANDY_ACTIVITY = 38
    FEATURE_SWITCH_GLOBAL_EXPLORE = 39
    FEATURE_SWITCH_RPG_TALE_ACTIVITY = 40
    FEATURE_SWITCH_RANK = 41
    FEATURE_SWITCH_CHAPTER_BW_WORLD = 42
    FEATURE_SWITCH_ULTRA_ENDLESS_FORCE_SYNC_LOCAL_SCORE = 43
    FEATURE_SWITCH_EX_BOSS_LOCK_AVATAR = 44
    FEATURE_SWITCH_CHAPTER_ARK = 45
    FEATURE_SWITCH_RAID_REPLACE = 46
    FEATURE_SWITCH_PJMS_ENTER_WORLD = 47
    FEATURE_SWITCH_PJMS_CHAPTER_QUEST = 48
    FEATURE_SWITCH_PJMS_ACTIVITY = 49
    FEATURE_SWITCH_PJMS_FIRST_ENTER = 50
    FEATURE_SWITCH_EQUIPMENT_QUICK_LEVEL_UP = 51
    FEATURE_SWITCH_SIMPLIFIED_GOD_WAR = 52
    FEATURE_SWITCH_DEVIL_AUTO_CHESS = 53
    FEATURE_SWITCH_TILE = 54
    FEATURE_SWITCH_FUTARI_BATTLE = 55
    FEATURE_SWITCH_RPG_TALE_AREA = 56
    FEATURE_SWITCH_PJMS_CHAPTER_KNIGHT_RICH_MAN = 57
    FEATURE_SWITCH_BATTLE_PASS_UPGRADE = 58


class FeatureSwitchOpType(betterproto.Enum):
    FEATURE_SWITCH_OP_NONE = 0
    FEATURE_SWITCH_OP_ADD = 1
    FEATURE_SWITCH_OP_DEL = 2


class DialogType(betterproto.Enum):
    DIALOG_TYPE_NONE = 0
    DIALOG_TYPE_CONTENT = 1
    DIALOG_TYPE_SELECT = 2
    DIALOG_TYPE_HIDE = 3


class DeviceType(betterproto.Enum):
    DEVICE_TYPE_NONE = 0
    DEVICE_TYPE_ANDROID = 1
    DEVICE_TYPE_IOS = 2
    DEVICE_TYPE_PC = 3


class UserType(betterproto.Enum):
    USER_TYPE_NONE = 0
    USER_TYPE_ANDROID = 1
    USER_TYPE_IOS = 2
    USER_TYPE_PC = 3
    USER_TYPE_CHANNEL = 4
    USER_TYPE_WEGAME = 5
    USER_TYPE_STEAM = 6


class BonusThemeType(betterproto.Enum):
    BONUS_THEME_TYPE_NONE = 0
    BONUS_THEME_TYPE_BONUS_SCORE_RATIO = 1
    BONUS_THEME_TYPE_BONUS_SCORE_FIXED = 2
    BONUS_THEME_TYPE_BONUS_DROP_PROB = 3
    BONUS_THEME_TYPE_BONUS_DROP_FIXED = 4


class FeatureLimitLevel(betterproto.Enum):
    LIMIT_LEVEL_ALL = 0
    LIMIT_LEVEL_MAIN = 100
    LIMIT_LEVEL_CHAT = 200


class RoomMode(betterproto.Enum):
    ROOM_MODE_INVALID = 0
    ROOM_MODE_TVT = 1
    ROOM_MODE_MASSIVE_WAR = 2
    ROOM_MODE_QAVATAR_BATTLE = 3
    ROOM_MODE_QCANDY_BATTLE = 4
    ROOM_MODE_PRPG = 5


class BattleMode(betterproto.Enum):
    BATTLE_MODE_NONE = 0
    BATTLE_MODE_QAVATAR_BATTLE = 1


class CommonChatMsgType(betterproto.Enum):
    COMMON_CHAT_MSG_NONE = 0
    COMMON_CHAT_MSG_TEAM = 1
    COMMON_CHAT_MSG_CAMPAIGN = 2
    COMMON_CHAT_MSG_ROOM = 3
    COMMON_CHAT_MSG_PRIVATE = 4
    COMMON_CHAT_MSG_CAHT_GROUP = 5
    COMMON_CHAT_MSG_WORLD_CHAT = 6
    COMMON_CHAT_MSG_ARMADA_CHAT = 7


class OpenworldStageType(betterproto.Enum):
    OPENWORLD_STAGE_TYPE_NONE = 0
    OPENWORLD_STAGE_TYPE_MAINLINE = 1
    OPENWORLD_STAGE_TYPE_EXPORE = 2


class SecurityEngineCheckType(betterproto.Enum):
    SECURITY_ENGINE_CHECK_NONE = 0
    SECURITY_ENGINE_CHECK_LOGIN = 1
    SECURITY_ENGINE_CHECK_STAGE = 2


class DropLimitType(betterproto.Enum):
    DropLimitType0 = 0
    DROP_LIMIT_STAGE = 1
    DROP_LIMIT_DLC = 2
    DROP_LIMIT_GOD_WAR = 3
    DROP_LIMIT_SC_DLC = 4
    DROP_LIMIT_CHAPTER_OW = 5
    DROP_LIMIT_CHAPTER_OW_MOON_TOWER = 6
    DROP_LIMIT_QCANDY = 7


class DropLimitRefreshType(betterproto.Enum):
    DropLimitRefreshType0 = 0
    DROP_LIMIT_REFRESH_WEEK_DAY = 1
    DROP_LIMIT_REFRESH_MONTH = 2


class DanmakuChannelType(betterproto.Enum):
    DANMAKU_CHANNEL_NONE = 0
    DANMAKU_CHANNEL_NORMAL = 1
    DANMAKU_CHANNEL_KINGDOM = 2


class StageTagRestrictType(betterproto.Enum):
    STAGE_TAG_RESTRICT_NONE = 0
    STAGE_TAG_RESTRICT_TAG = 1
    STAGE_TAG_RESTRICT_NO_TAG = 2
    STAGE_TAG_RESTRICT_ATTRIBUTE = 3
    STAGE_TAG_RESTRICT_NO_ATTRIBUTE = 4
    STAGE_TAG_RESTRICT_ROLE = 5
    STAGE_TAG_RESTRICT_NO_ROLE = 6


class ExaminationTagType(betterproto.Enum):
    EXAMINATION_TYPE_NONE = 0
    EXAMINATION_TYPE_AVATAR = 1
    EXAMINATION_TYPE_ELF = 2
    EXAMINATION_TYPE_MONSTER = 3
    EXAMINATION_TYPE_COMMON = 4


class WarshipItemType(betterproto.Enum):
    WARSHIP_ITEM_TYPE_NONE = 0
    WARSHIP_ITEM_TYPE_WARSHIP = 1
    WARSHIP_ITEM_TYPE_BGM = 2


class WarshipBgmPlayMode(betterproto.Enum):
    WARSHIP_BGM_PLAY_MODE_RANDOM = 0
    WARSHIP_BGM_PLAY_MODE_SINGLE = 1


class LoginRewardTriggerType(betterproto.Enum):
    LOGIN_REWARD_TRIGGER_TYPE_NONE = 0
    LOGIN_REWARD_TRIGGER_TYPE_ONCE = 1
    LOGIN_REWARD_TRIGGER_TYPE_ALWAYS = 2


class OffLineTagType(betterproto.Enum):
    OFFLINE_TAG_TYPE_NORMAL = 0
    OFFLINE_TAG_TYPE_SMURF = 1


class AuditOpType(betterproto.Enum):
    AUDIT_OP_NONE = 0
    AUDIT_OP_CHANGE_NICKNAME = 1
    AUDIT_OP_CHANGE_DESC = 2
    AUDIT_OP_CHANGE_ARMADA_NAME = 3
    AUDIT_OP_CHANGE_ARMADA_BULLETIN = 4
    AUDIT_OP_CREATE_CHATGROUP = 5
    AUDIT_OP_CHANGE_CHATGROUP = 6
    AUDIT_OP_CHANGE_DORM = 7
    AUDIT_OP_CHANGE_MASTER_PUPIL_CARD = 8


class BuffEffectUseType(betterproto.Enum):
    BuffEffectUseType0 = 0
    BUFF_EFFECT_USE_STAGE = 1
    BUFF_EFFECT_USE_MISSION = 2
    BUFF_EFFECT_USE_VIRTUAL_EQUIPMENT = 3


class ChapterGroupSiteFinishWay(betterproto.Enum):
    CHAPTER_GROUP_SITE_FINISH_WAY_INVALID = 0
    CHAPTER_GROUP_SITE_FINISH_WAY_PASS_STAGE_AND = 1
    CHAPTER_GROUP_SITE_FINISH_WAY_PASS_STAGE_OR = 2
    CHAPTER_GROUP_SITE_FINISH_WAY_FINISH_MISSION_AND = 3
    CHAPTER_GROUP_SITE_FINISH_WAY_FINISH_MISSION_OR = 4
    CHAPTER_GROUP_SITE_FINISH_WAY_TIME_ARRIVED = 5
    CHAPTER_GROUP_SITE_FINISH_WAY_FINISH_STORY_AND = 6
    CHAPTER_GROUP_SITE_FINISH_WAY_FINISH_STORY_OR = 7


class InviteeActivityType(betterproto.Enum):
    INVITEE_ACTIVITY_TYPE_NONE = 0
    INVITEE_ACTIVITY_TYPE_NEWBIE = 1
    INVITEE_ACTIVITY_TYPE_GOBACK = 2


class InviterActivityType(betterproto.Enum):
    INVITER_ACTIVITY_TYPE_NONE = 0
    INVITER_ACTIVITY_TYPE_NORMAL = 1
    INVITER_ACTIVITY_TYPE_LIMIT_TIME = 2


class BulletinType(betterproto.Enum):
    BULLETIN_TYPE_EVENT = 0
    BULLETIN_TYPE_SYSTEM = 1
    BULLETIN_TYPE_BANNER = 2
    BULLETIN_TYPE_ACTIVITY_PAGE = 3
    BULLETIN_TYPE_LOGIN_HINT = 5
    BULLETIN_TYPE_VERSION = 6
    BULLETIN_TYPE_MALL_BANNER = 7
    BULLETIN_TYPE_BP_MALL_BANNER = 8
    BULLETIN_TYPE_MAIN_PAGE_PHONE = 9
    BULLETIN_TYPE_RETURNEE_MALL_BANNER = 10
    BULLETIN_TYPE_ACTIVITY_GIFT = 11
    BULLETIN_TYPE_MALL_RECHARGE_SUB_TAB_BANNER = 12
    BULLETIN_TYPE_MALL_BUNDLE_COIN_SUB_TAB_BANNER = 13
    BULLETIN_TYPE_RETURNEE_MALL_BANNER_V2 = 14
    BULLETIN_TYPE_RETURNEE_MALL_BANNER_V3 = 15
    BULLETIN_TYPE_PLACEHOLDER_01 = 16
    BULLETIN_TYPE_PLACEHOLDER_02 = 17
    BULLETIN_TYPE_PLACEHOLDER_03 = 18
    BULLETIN_TYPE_PLACEHOLDER_04 = 19
    BULLETIN_TYPE_PLACEHOLDER_05 = 20


class BulletinNotShownFlagType(betterproto.Enum):
    BulletinNotShownFlagType0 = 0
    BULLETIN_NOT_SHOWN_FLAG_TYPE_FINISH_MISSION_AND = 1
    BULLETIN_NOT_SHOWN_FLAG_TYPE_FINISH_MISSION_OR = 2
    BULLETIN_NOT_SHOWN_FLAG_TYPE_HAS_GOT_ITEM_AND = 3
    BULLETIN_NOT_SHOWN_FLAG_TYPE_HAS_GOT_ITEM_OR = 4


class SnsShowType(betterproto.Enum):
    SNS_NONE = 0
    SNS_MAIN = 1
    SNS_WAR_HISTORY = 2
    SNS_WIKI = 3
    SNS_MSG_CARD = 4


class SnsShowPriviledgeState(betterproto.Enum):
    SNS_SHOW_NONE = 0
    SNS_SHOW_OPEN_TO_PUBLIC = 1
    SNS_SHOW_OPEN_TO_FRIENDS = 2
    SNS_SHOW_OPEN_TO_SELF = 3


class AfterProcessFuncType(betterproto.Enum):
    AfterProcessFuncType0 = 0
    AFTER_PROCESS_FUNC_PJMS_RUN_DISPATCH_EVENT = 1
    AFTER_PROCESS_FUNC_PJMS_CLEAR_WAIT_DELETE_STORY = 2
    AFTER_PROCESS_FUNC_PJMS_SYNC_CUR_WORLD = 3
    AFTER_PROCESS_FUNC_PJMS_SYNC_STORY_STATUS = 4
    AFTER_PROCESS_FUNC_PJMS_SYNC_CHAPTER_DELAY_DATA = 5


class PjmsAuxiliaryUnitLockStatus(betterproto.Enum):
    PJMS_AUXILIARY_UNIT_LOCK_STATUS_UNLOCKED = 0
    PJMS_AUXILIARY_UNIT_LOCK_STATUS_LOCKED = 1


class ResidentActivityType(betterproto.Enum):
    ResidentActivityType0 = 0
    RESIDENT_ACTIVITY_TYPE_RPG = 1


class MissionStatus(betterproto.Enum):
    MISSION_STATUS_NONE = 0
    MISSION_NOT_BEGIN = 1
    MISSION_DOING = 2
    MISSION_FINISH = 3
    MISSION_TIMEOUT = 4
    MISSION_CLOSE = 5
    MISSION_WAIT_DELETE = 6


class BingoCardBingoCardStatus(betterproto.Enum):
    CARD_STATUS_WRONG = 0
    CARD_STATUS_CORRECT = 1


class CmdTypeActivity(betterproto.Enum):
    CmdTypeActivity0 = 0
    CMD_GET_SCRATCH_TICKET_REQ = 4150
    CMD_GET_SCRATCH_TICKET_RSP = 4151
    CMD_SCRATCH_REQ = 4152
    CMD_SCRATCH_RSP = 4153
    CMD_RESET_SCRATCH_TICKET_PLATE_REQ = 4154
    CMD_RESET_SCRATCH_TICKET_PLATE_RSP = 4155
    CMD_ADD_ON_ACTIVITY_REWARD_NOTIFY = 4156
    CMD_GET_BINGO_ACTIVITY_DATA_REQ = 4157
    CMD_GET_BINGO_ACTIVITY_DATA_RSP = 4158
    CMD_BINGO_ACTIVITY_FLOP_CARD_REQ = 4159
    CMD_BINGO_ACTIVITY_FLOP_CARD_RSP = 4160
    CMD_BINGO_ACTIVITY_RESET_BINGO_REQ = 4161
    CMD_BINGO_ACTIVITY_RESET_BINGO_RSP = 4162
    CMD_GET_BULLETIN_SCORE_ACTIVITY_REQ = 4163
    CMD_GET_BULLETIN_SCORE_ACTIVITY_RSP = 4164
    CMD_TAKE_BULLETIN_SCORE_ACTIVITY_REWARD_REQ = 4165
    CMD_TAKE_BULLETIN_SCORE_ACTIVITY_REWARD_RSP = 4166
    CMD_GET_CONTINUOUS_RECHARGE_ACTIVITY_REQ = 4167
    CMD_GET_CONTINUOUS_RECHARGE_ACTIVITY_RSP = 4168
    CMD_TAKE_CONTINUOUS_RECHARGE_REWARD_REQ = 4169
    CMD_TAKE_CONTINUOUS_RECHARGE_REWARD_RSP = 4170
    CMD_TAKE_FLOP_ACTIVITY_REWARD_REQ = 4171
    CMD_TAKE_FLOP_ACTIVITY_REWARD_RSP = 4172
    CMD_GET_FLOP_ACTIVITY_DATA_REQ = 4173
    CMD_GET_FLOP_ACTIVITY_DATA_RSP = 4174
    CMD_FLOP_ACTIVITY_FLOP_CARD_REQ = 4175
    CMD_FLOP_ACTIVITY_FLOP_CARD_RSP = 4176
    CMD_GET_LOTTERY_ACTIVITY_REQ = 4177
    CMD_GET_LOTTERY_ACTIVITY_RSP = 4178
    CMD_LOTTERY_USE_BOX_REQ = 4179
    CMD_LOTTERY_USE_BOX_RSP = 4180
    CMD_LOTTERY_DRAW_NUMBER_REQ = 4181
    CMD_LOTTERY_DRAW_NUMBER_RSP = 4182
    CMD_LOTTERY_TAKE_REWARD_REQ = 4183
    CMD_LOTTERY_TAKE_REWARD_RSP = 4184
    CMD_GET_TOWER_RAID_ACTIVITY_REQ = 4185
    CMD_GET_TOWER_RAID_ACTIVITY_RSP = 4186
    CMD_TAKE_TOWER_RAID_REWARD_REQ = 4187
    CMD_TAKE_TOWER_RAID_REWARD_RSP = 4188
    CMD_UPDATE_TOWER_RAID_BOSS_REQ = 4189
    CMD_UPDATE_TOWER_RAID_BOSS_RSP = 4190
    CMD_TOWER_RAID_LOCK_AVATAR_NOTIFY = 4191
    CMD_GET_LOGIN_ACTIVITY_REQ = 4192
    CMD_GET_LOGIN_ACTIVITY_RSP = 4193
    CMD_TAKE_LOGIN_ACTIVITY_REWARD_REQ = 4194
    CMD_TAKE_LOGIN_ACTIVITY_REWARD_RSP = 4195
    CMD_GET_CHAPTER_ACTIVITY_DATA_REQ = 4200
    CMD_GET_CHAPTER_ACTIVITY_DATA_RSP = 4201
    CMD_TAKE_CHAPTER_ACTIVITY_LEVEL_REWARD_REQ = 4202
    CMD_TAKE_CHAPTER_ACTIVITY_LEVEL_REWARD_RSP = 4203
    CMD_SYNC_CHAPTER_ACTIVITY_DATA_NOTIFY = 4204
    CMD_GET_MISSION_THEME_DATA_REQ = 4205
    CMD_GET_MISSION_THEME_DATA_RSP = 4206
    CMD_UPGRADE_MISSION_THEME_REQ = 4207
    CMD_UPGRADE_MISSION_THEME_RSP = 4208
    CMD_TAKE_MISSION_THEME_REWARD_REQ = 4209
    CMD_TAKE_MISSION_THEME_REWARD_RSP = 4210
    CMD_GET_OFFLINE_RESOURCE_DATA_REQ = 4211
    CMD_GET_OFFLINE_RESOURCE_DATA_RSP = 4212
    CMD_TAKE_OFFLINE_RESOURCE_BOX_REQ = 4213
    CMD_TAKE_OFFLINE_RESOURCE_BOX_RSP = 4214
    CMD_GET_OVERLAP_ACTIVITY_DATA_REQ = 4215
    CMD_GET_OVERLAP_ACTIVITY_DATA_RSP = 4216
    CMD_TAKE_OVERLAP_ACTIVITY_REWARD_REQ = 4217
    CMD_TAKE_OVERLAP_ACTIVITY_REWARD_RSP = 4218
    CMD_OVERLAP_ACTIVITY_SUMMON_REQ = 4219
    CMD_OVERLAP_ACTIVITY_SUMMON_RSP = 4220
    CMD_OVERLAP_ACTIVITY_MOVE_REQ = 4221
    CMD_OVERLAP_ACTIVITY_MOVE_RSP = 4222
    CMD_GET_WEEKLY_ROUTINE_ACTIVITY_REQ = 4229
    CMD_GET_WEEKLY_ROUTINE_ACTIVITY_RSP = 4230
    CMD_TAKE_WEEKLY_ROUTINE_REWARD_REQ = 4231
    CMD_TAKE_WEEKLY_ROUTINE_REWARD_RSP = 4232
    CMD_GET_RANK_SCHEDULE_DATA_REQ = 4233
    CMD_GET_RANK_SCHEDULE_DATA_RSP = 4234
    CMD_GET_RANK_SCHEDULE_RANK_REQ = 4235
    CMD_GET_RANK_SCHEDULE_RANK_RSP = 4236
    CMD_GET_SURVEY_DATA_REQ = 4241
    CMD_GET_SURVEY_DATA_RSP = 4242
    CMD_FINISH_SURVEY_NOTIFY = 4243
    CMD_GET_THEME_DATA_REQ = 4244
    CMD_GET_THEME_DATA_RSP = 4245
    CMD_SYNC_THEME_DATA_NOTIFY = 4246
    CMD_GRANT_OUTER_REWARD_NOTIFY = 4247
    CMD_GET_NEWBIE_ACTIVITY_REQ = 4248
    CMD_GET_NEWBIE_ACTIVITY_RSP = 4249
    CMD_GET_BBQ_ACTIVITY_DATA_REQ = 4250
    CMD_GET_BBQ_ACTIVITY_DATA_RSP = 4251
    CMD_BBQ_ACTIVITY_COOK_REQ = 4252
    CMD_BBQ_ACTIVITY_COOK_RSP = 4253
    CMD_BBQ_ACTIVITY_TAKE_LEVEL_UP_REWARD_REQ = 4254
    CMD_BBQ_ACTIVITY_TAKE_LEVEL_UP_REWARD_RSP = 4255
    CMD_TAKE_NEWBIE_ACTIVITY_LEVEL_REWARD_REQ = 4256
    CMD_TAKE_NEWBIE_ACTIVITY_LEVEL_REWARD_RSP = 4257
    CMD_GET_TRADING_CARD_ACTIVITY_REQ = 4262
    CMD_GET_TRADING_CARD_ACTIVITY_RSP = 4263
    CMD_TAKE_TRADING_CARD_REWARD_REQ = 4264
    CMD_TAKE_TRADING_CARD_REWARD_RSP = 4265
    CMD_GET_PICTURE_ACTIVITY_REQ = 4266
    CMD_GET_PICTURE_ACTIVITY_RSP = 4267
    CMD_PICTURE_ACTIVITY_CHOOSE_REQ = 4268
    CMD_PICTURE_ACTIVITY_CHOOSE_RSP = 4269
    CMD_PICTURE_ACTIVITY_SHARE_REQ = 4270
    CMD_PICTURE_ACTIVITY_SHARE_RSP = 4271
    CMD_SYNC_PICTURE_ACTIVITY_SCORE_NOTIFY = 4272
    CMD_GET_JIGSAW_ACTIVITY_REQ = 4273
    CMD_GET_JIGSAW_ACTIVITY_RSP = 4274
    CMD_JIGSAW_EXCHANGE_PIECE_REQ = 4275
    CMD_JIGSAW_EXCHANGE_PIECE_RSP = 4276
    CMD_JIGSAW_MOVE_WAITING_PIECE_REQ = 4277
    CMD_JIGSAW_MOVE_WAITING_PIECE_RSP = 4278
    CMD_JIGSAW_MOVE_PIECE_IN_JIGSAW_AREA_REQ = 4279
    CMD_JIGSAW_MOVE_PIECE_IN_JIGSAW_AREA_RSP = 4280
    CMD_JIGSAW_TAKE_GROUP_REWARD_REQ = 4281
    CMD_JIGSAW_TAKE_GROUP_REWARD_RSP = 4282
    CMD_JIGSAW_TAKE_FINISH_REWARD_REQ = 4283
    CMD_JIGSAW_TAKE_FINISH_REWARD_RSP = 4284
    CMD_GET_GARDEN_ACTIVITY_REQ = 4287
    CMD_GET_GARDEN_ACTIVITY_RSP = 4288
    CMD_GARDEN_HARVEST_REQ = 4289
    CMD_GARDEN_HARVEST_RSP = 4290
    CMD_GARDEN_SPEED_UP_WITH_MATERIAL_REQ = 4291
    CMD_GARDEN_SPEED_UP_WITH_MATERIAL_RSP = 4292
    CMD_GARDEN_REFRESH_SITE_REQ = 4293
    CMD_GARDEN_REFRESH_SITE_RSP = 4294
    CMD_GET_GARDEN_SCHEDULE_REQ = 4295
    CMD_GET_GARDEN_SCHEDULE_RSP = 4296
    CMD_GET_DROP_LIMIT_ACTIVITY_REQ = 4297
    CMD_GET_DROP_LIMIT_ACTIVITY_RSP = 4298
    CMD_GET_LOGIN_MISSION_ACTIVITY_REQ = 4299
    CMD_GET_LOGIN_MISSION_ACTIVITY_RSP = 4300
    CMD_TAKE_LOGIN_MISSION_REWARD_REQ = 4301
    CMD_TAKE_LOGIN_MISSION_REWARD_RSP = 4302
    CMD_SANCTUARY_GET_MAIN_INFO_REQ = 4305
    CMD_SANCTUARY_GET_MAIN_INFO_RSP = 4306
    CMD_SANCTUARY_TAKE_LEVEL_REWARD_REQ = 4307
    CMD_SANCTUARY_TAKE_LEVEL_REWARD_RSP = 4308
    CMD_SANCTUARY_TAKE_PRODUCT_REQ = 4309
    CMD_SANCTUARY_TAKE_PRODUCT_RSP = 4310
    CMD_SANCTUARY_START_NOTIFY = 4311
    CMD_GET_ACTIVITY_REWARD_STATISTIC_DATA_REQ = 4312
    CMD_GET_ACTIVITY_REWARD_STATISTIC_DATA_RSP = 4313
    CMD_SANCTUARY_STAGE_END_NOTIFY = 4314
    CMD_GET_SLOT_MACHINE_MAIN_INFO_REQ = 4315
    CMD_GET_SLOT_MACHINE_MAIN_INFO_RSP = 4316
    CMD_START_SLOT_MACHINE_REQ = 4317
    CMD_START_SLOT_MACHINE_RSP = 4318
    CMD_TAKE_SLOT_MACHINE_PROGRESS_REWARD_REQ = 4319
    CMD_TAKE_SLOT_MACHINE_PROGRESS_REWARD_RSP = 4320
    CMD_GET_BULLETIN_ACTIVITY_MISSION_REQ = 4321
    CMD_GET_BULLETIN_ACTIVITY_MISSION_RSP = 4322
    CMD_GET_EXAMINATION_ACTIVITY_REQ = 4323
    CMD_GET_EXAMINATION_ACTIVITY_RSP = 4324
    CMD_FINISH_EXAMINATION_REQ = 4325
    CMD_FINISH_EXAMINATION_RSP = 4326
    CMD_START_NEXT_ROUND_EXAMINATION_REQ = 4327
    CMD_START_NEXT_ROUND_EXAMINATION_RSP = 4328
    CMD_EVALUATE_EXAMINATION_REQ = 4329
    CMD_EVALUATE_EXAMINATION_RSP = 4330
    CMD_CHAPTER_ACTIVITY_DAILY_REWARD_NOTIFY = 4331
    CMD_GET_SUPPORT_ACTIVITY_REQ = 4332
    CMD_GET_SUPPORT_ACTIVITY_RSP = 4333
    CMD_SUPPORT_ACTIVITY_SUPPORT_REQ = 4334
    CMD_SUPPORT_ACTIVITY_SUPPORT_RSP = 4335
    CMD_SUPPORT_ACTIVITY_TAKE_SHARE_REWARD_REQ = 4336
    CMD_SUPPORT_ACTIVITY_TAKE_SHARE_REWARD_RSP = 4337
    CMD_SUPPORT_ACTIVITY_TAKE_GLOBAL_REWARD_REQ = 4338
    CMD_SUPPORT_ACTIVITY_TAKE_GLOBAL_REWARD_RSP = 4339
    CMD_GET_MOSAIC_ACTIVITY_REQ = 4340
    CMD_GET_MOSAIC_ACTIVITY_RSP = 4341
    CMD_TAKE_MOSAIC_ACTIVITY_REWARD_REQ = 4342
    CMD_TAKE_MOSAIC_ACTIVITY_REWARD_RSP = 4343
    CMD_GET_MISSION_GROUP_MAIN_INFO_REQ = 4346
    CMD_GET_MISSION_GROUP_MAIN_INFO_RSP = 4347
    CMD_TAKE_MISSION_GROUP_REWARD_REQ = 4348
    CMD_TAKE_MISSION_GROUP_REWARD_RSP = 4349
    CMD_CHAPTER_ACTIVITY_TAKE_DAILY_REWARD_REQ = 4350
    CMD_CHAPTER_ACTIVITY_TAKE_DAILY_REWARD_RSP = 4351
    CMD_REUNION_COOK_GET_ACTIVITY_REQ = 4380
    CMD_REUNION_COOK_GET_ACTIVITY_RSP = 4381
    CMD_REUNION_COOK_MAKE_DINNER_REQ = 4382
    CMD_REUNION_COOK_MAKE_DINNER_RSP = 4383
    CMD_REUNION_COOK_TAKE_SCORE_REWARD_REQ = 4384
    CMD_REUNION_COOK_TAKE_SCORE_REWARD_RSP = 4385
    CMD_RESET_CHAPTER_ACTIVITY_EXCLUSIVE_STAGE_REQ = 4386
    CMD_RESET_CHAPTER_ACTIVITY_EXCLUSIVE_STAGE_RSP = 4387
    CMD_RESET_CHAPTER_ACTIVITY_TALENT_REQ = 4388
    CMD_RESET_CHAPTER_ACTIVITY_TALENT_RSP = 4389
    CMD_REPORT_CHAPTER_ACTIVITY_STAGE_REQ = 4390
    CMD_REPORT_CHAPTER_ACTIVITY_STAGE_RSP = 4391


class BingoCardType(betterproto.Enum):
    BINGO_CARD_WRONG = 0
    BINGO_CARD_CORRECT = 1


class FlopActivityRewardState(betterproto.Enum):
    FLOP_ACTIVITY_REWARD_STATE_LOCK = 0
    FLOP_ACTIVITY_REWARD_STATE_UNLOCK = 1
    FLOP_ACTIVITY_REWARD_STATE_HAS_GOT = 2


class FlopActivityCardState(betterproto.Enum):
    FLOP_ACTIVITY_CARD_STATE_NOT_FLOP = 0
    FLOP_ACTIVITY_CARD_STATE_FLOP = 1
    FLOP_ACTIVITY_CARD_STATE_REWARD_UNLOCK = 2


class LotteryRewardType(betterproto.Enum):
    LOTTERY_REWARD_TYPE_INVALID = 0
    LOTTERY_REWARD_TYPE_FIRST_REWARD = 1
    LOTTERY_REWARD_TYPE_SECOND_REWARD = 2
    LOTTERY_REWARD_TYPE_THIRD_REWARD = 3


class HybridSiteType(betterproto.Enum):
    HYBRID_SITE_TYPE_STORE = 0
    HYBRID_SITE_TYPE_CYCLE = 1
    HYBRID_SITE_TYPE_EX = 2
    HYBRID_SITE_TYPE_BOSS = 3
    HYBRID_SITE_TYPE_COLLECTION = 4
    HYBRID_SITE_TYPE_MP = 5
    HYBRID_SITE_TYPE_CHALLENGE = 6
    HYBRID_SITE_TYPE_ZONE_CYCLE = 7
    HYBRID_SITE_TYPE_ZONE_CHALLENGE = 8
    HYBRID_SITE_TYPE_EX_BOSS = 9
    HYBRID_SITE_TYPE_TOWER = 10
    HYBRID_SITE_TYPE_CG = 11
    HYBRID_SITE_TYPE_GOD_WAR = 12
    HYBRID_SITE_TYPE_BW_WORLD_BRANCH = 13
    HYBRID_SITE_TYPE_BW_WORLD_THEME = 14
    HYBRID_SITE_TYPE_BW_WORLD_TOWER = 15
    HYBRID_SITE_TYPE_CHAPTER_ARK_TUTORIAL = 16
    HYBRID_SITE_TYPE_CHAPTER_ARK_MID_TERM_DAILY = 17
    HYBRID_SITE_TYPE_CHAPTER_ARK_ROGUE_TOWER = 18
    HYBRID_SITE_TYPE_CHAPTER_ARK_SUPPORT_CHALLENGE = 19


class OfflineResourceType(betterproto.Enum):
    OFFLINE_RESOURCE_TYPE_NONE = 0
    OFFLINE_RESOURCE_TYPE_OW_QUEST = 1
    OFFLINE_RESOURCE_TYPE_OW_MECHA = 2
    OFFLINE_RESOURCE_TYPE_WEEK_DAY = 3
    OFFLINE_RESOURCE_TYPE_ARMADA = 4
    OFFLINE_RESOURCE_TYPE_ENDLESS = 5
    OFFLINE_RESOURCE_TYPE_EX_BOSS = 6


class RankScheduleType(betterproto.Enum):
    RankScheduleType0 = 0
    RANK_SCHEDULE_DORM = 1


class OuterRewardType(betterproto.Enum):
    OUTER_REWARD_TYPE_NONE = 0
    OUTER_REWARD_TYPE_REDEEM = 1


class AutoDeleteType(betterproto.Enum):
    AutoDeleteType0 = 0
    AUTO_DELETE_BINGO = 2
    AUTO_DELETE_BULLETIN_SCORE = 3
    AUTO_DELETE_CONTINUOUS_RECHARGE = 4
    AUTO_DELETE_FARM = 5
    AUTO_DELETE_FLOP = 6
    AUTO_DELETE_KINGDOM = 7
    AUTO_DELETE_LOTTERY = 8
    AUTO_DELETE_ELF_EQUIP_TALENT_FREE = 9
    AUTO_DELETE_THEME = 10
    AUTO_DELETE_RELATION = 11
    AUTO_DELETE_BBQ = 12
    AUTO_DELETE_CITY = 13
    AUTO_DELETE_GRATUITY = 14
    AUTO_DELETE_MONOPOLY = 15
    AUTO_DELETE_OVERLAP = 16
    AUTO_DELETE_RECLAIM = 17
    AUTO_DELETE_SCRATCH = 18
    AUTO_DELETE_SEASON = 19
    AUTO_DELETE_TOWER_RAID = 20
    AUTO_DELETE_GLOBAL_WAR = 22
    AUTO_DELETE_LOGIN = 23
    AUTO_DELETE_GENERAL = 24
    AUTO_DELETE_NINJA = 25
    AUTO_DELETE_QUESTION = 26
    AUTO_DELETE_TRADING_CARD = 27
    AUTO_DELETE_ARMADA_STAGE_SCORE = 28
    AUTO_DELETE_PICTURE = 29
    AUTO_DELETE_JIGSAW = 30
    AUTO_DELETE_ARMADA_REUNION = 31
    AUTO_DELETE_GARDEN = 32
    AUTO_DELETE_DROP_LIMIT = 33
    AUTO_DELETE_RPG_TALE = 34
    AUTO_DELETE_SANCTUARY = 35
    AUTO_DELETE_ACTIVITY_REWARD = 36
    AUTO_DELETE_SLOT_MACHINE = 37
    AUTO_DELETE_EXAMINATION = 38
    AUTO_DELETE_SUPPORT = 39
    AUTO_DELETE_MOSAIC = 40
    AUTO_DELETE_LOGIN_WISH = 41
    AUTO_DELETE_TVT = 43
    AUTO_DELETE_BURDEN_ALLEVIATION = 44
    AUTO_DELETE_CHATWORLD_BEAST = 45
    AUTO_DELETE_CHATWORLD_BOX = 46
    AUTO_DELETE_DREAM = 47
    AUTO_DELETE_OPENWORLD_AVATAR = 48
    AUTO_DELETE_GRANT_TICKET = 49
    AUTO_DELETE_SLG = 50
    AUTO_DELETE_GLOBAL_POLLING = 51
    AUTO_DELETE_REWARD_LINE_SCHEDULE = 52
    AUTO_DELETE_GOD_WAR_TALE = 53
    AUTO_DELETE_OPENWORLD_HUNT = 54
    AUTO_DELETE_BUFF_ASSIST = 55
    AUTO_DELETE_WAVE_RUSH = 56
    AUTO_DELETE_AI_CYBER = 57
    AUTO_DELETE_MINI_MONOPOLY = 58
    AUTO_DELETE_MIRAGE = 59
    AUTO_DELETE_THEME_TOWER = 60
    AUTO_DELETE_PON_MACHINE = 61
    AUTO_DELETE_BW_WORLD_CAMP = 62
    AUTO_DELETE_CARNIVAL_LOTTERY = 63
    AUTO_DELETE_ARK_PLUS = 64
    AUTO_DELETE_PJMS_ACTIVITY = 65
    AUTO_DELETE_PJMS_SUB_MODULE = 66
    AUTO_DELETE_SIMPLIFIED_GOD_WAR = 67
    AUTO_DELETE_FUTARI_BATTLE = 68


class SupportActivityType(betterproto.Enum):
    ACTIVITY_TYPE_GLOBAL_SUPPORT = 0
    ACTIVITY_TYPE_NORMAL = 1


class ReunionCookBookType(betterproto.Enum):
    ReunionCookBookType0 = 0
    REUNION_COOK_BOOK_NORMAL = 1
    REUNION_COOK_BOOK_RECYCLE = 2


class LoginRewardActivityType(betterproto.Enum):
    LOGIN_REWARD_ACTIVITY_NONE = 0
    LOGIN_REWARD_ACTIVITY_NORMAL = 1
    LOGIN_REWARD_ACTIVITY_NEWBIE = 2


class CmdTypeActivity2(betterproto.Enum):
    CmdTypeActivity20 = 0
    CMD_DREAM_GET_ACTIVITY_REQ = 5750
    CMD_DREAM_GET_ACTIVITY_RSP = 5751
    CMD_DREAM_OPEN_DREAM_REQ = 5752
    CMD_DREAM_OPEN_DREAM_RSP = 5753
    CMD_DREAM_GIVE_UP_DREAM_REQ = 5754
    CMD_DREAM_GIVE_UP_DREAM_RSP = 5755
    CMD_DREAM_EXCHANGE_SCORE_REQ = 5756
    CMD_DREAM_EXCHANGE_SCORE_RSP = 5757
    CMD_DREAM_TAKE_REWARD_REQ = 5758
    CMD_DREAM_TAKE_REWARD_RSP = 5759
    CMD_GET_THEME_WANTED_REQ = 5790
    CMD_GET_THEME_WANTED_RSP = 5791
    CMD_THEME_WANTED_REFRESH_TICKET_REQ = 5794
    CMD_THEME_WANTED_REFRESH_TICKET_RSP = 5795
    CMD_GLOBAL_POLLING_GET_DATA_REQ = 5811
    CMD_GLOBAL_POLLING_GET_DATA_RSP = 5812
    CMD_GLOBAL_POLLING_SUPPORT_REQ = 5813
    CMD_GLOBAL_POLLING_SUPPORT_RSP = 5814
    CMD_GLOBAL_POLLING_VOTE_REQ = 5815
    CMD_GLOBAL_POLLING_VOTE_RSP = 5816
    CMD_GET_COLLABORATION_SCHEDULE_REQ = 5831
    CMD_GET_COLLABORATION_SCHEDULE_RSP = 5832
    CMD_RANCH_GET_ACTIVITY_REQ = 5833
    CMD_RANCH_GET_ACTIVITY_RSP = 5834
    CMD_RANCH_SYNTHESIS_MONSTER_REQ = 5835
    CMD_RANCH_SYNTHESIS_MONSTER_RSP = 5836
    CMD_RANCH_FREE_MONSTER_REQ = 5837
    CMD_RANCH_FREE_MONSTER_RSP = 5838
    CMD_RANCH_ASSIGN_MONSTER_REQ = 5839
    CMD_RANCH_ASSIGN_MONSTER_RSP = 5840
    CMD_RANCH_FIRE_MONSTER_REQ = 5841
    CMD_RANCH_FIRE_MONSTER_RSP = 5842
    CMD_RANCH_TAKE_PRODUCT_REQ = 5843
    CMD_RANCH_TAKE_PRODUCT_RSP = 5844
    CMD_RANCH_GET_MONSTER_WIKI_REQ = 5845
    CMD_RANCH_GET_MONSTER_WIKI_RSP = 5846
    CMD_RANCH_SYNC_MONSTER_NOTIFY = 5847
    CMD_RANCH_DEL_MONSTER_NOTIFY = 5848
    CMD_RANCH_LOCK_MONSTER_SKILL_REQ = 5849
    CMD_RANCH_LOCK_MONSTER_SKILL_RSP = 5850
    CMD_RANCH_SET_BATTLE_MONSTER_REQ = 5851
    CMD_RANCH_SET_BATTLE_MONSTER_RSP = 5852
    CMD_GET_RESTAURANT_ACTIVITY_REQ = 5860
    CMD_GET_RESTAURANT_ACTIVITY_RSP = 5861
    CMD_LEVELUP_RESTAURANT_FACILITY_REQ = 5862
    CMD_LEVELUP_RESTAURANT_FACILITY_RSP = 5863
    CMD_ASSIGN_RESTAURANT_WORK_REQ = 5864
    CMD_ASSIGN_RESTAURANT_WORK_RSP = 5865
    CMD_CANCEL_RESTAURANT_WORK_REQ = 5866
    CMD_CANCEL_RESTAURANT_WORK_RSP = 5867
    CMD_TAKE_RESTAURANT_ORDER_REQ = 5868
    CMD_TAKE_RESTAURANT_ORDER_RSP = 5869
    CMD_DELIVER_RESTAURANT_QUEST_REQ = 5870
    CMD_DELIVER_RESTAURANT_QUEST_RSP = 5871
    CMD_ACCELERATE_RESTAURANT_WORK_REQ = 5872
    CMD_ACCELERATE_RESTAURANT_WORK_RSP = 5873
    CMD_NEWBIE_LEVEL_RUSH_PURCHASE_REQ = 5881
    CMD_NEWBIE_LEVEL_RUSH_PURCHASE_RSP = 5882
    CMD_NEWBIE_LEVEL_RUSH_TAKE_REWARD_REQ = 5883
    CMD_NEWBIE_LEVEL_RUSH_TAKE_REWARD_RSP = 5884
    CMD_GET_REWARD_LINE_ACTIVITY_REQ = 5890
    CMD_GET_REWARD_LINE_ACTIVITY_RSP = 5891
    CMD_TAKE_REWARD_LINE_ACTIVITY_REWARD_REQ = 5892
    CMD_TAKE_REWARD_LINE_ACTIVITY_REWARD_RSP = 5893
    CMD_MONSTER_CARD_GET_ACTIVITY_REQ = 5920
    CMD_MONSTER_CARD_GET_ACTIVITY_RSP = 5921
    CMD_MONSTER_CARD_LEVEL_UP_REQ = 5922
    CMD_MONSTER_CARD_LEVEL_UP_RSP = 5923
    CMD_MONSTER_CARD_STAR_UP_REQ = 5924
    CMD_MONSTER_CARD_STAR_UP_RSP = 5925
    CMD_MONSTER_CARD_LEARN_RANDOM_TALENT_REQ = 5926
    CMD_MONSTER_CARD_LEARN_RANDOM_TALENT_RSP = 5927
    CMD_MONSTER_CARD_SYNC_CARD_NOTIFY = 5928
    CMD_MONSTER_CARD_GET_TOWER_RANK_REQ = 5929
    CMD_MONSTER_CARD_GET_TOWER_RANK_RSP = 5930
    CMD_MONSTER_CARD_GET_BOSS_RANK_REQ = 5931
    CMD_MONSTER_CARD_GET_BOSS_RANK_RSP = 5932
    CMD_MONSTER_CARD_CONFIRM_RANDOM_TALENT_REQ = 5933
    CMD_MONSTER_CARD_CONFIRM_RANDOM_TALENT_RSP = 5934
    CMD_MONSTER_CARD_FRAGMENT_OVERFLOW_NOTIFY = 5935
    CMD_BUFF_ASSIST_GET_ACTIVITY_REQ = 5941
    CMD_BUFF_ASSIST_GET_ACTIVITY_RSP = 5942
    CMD_BUFF_ASSIST_REFRESH_WAIT_SELECT_BUFF_POOL_REQ = 5943
    CMD_BUFF_ASSIST_REFRESH_WAIT_SELECT_BUFF_POOL_RSP = 5944
    CMD_BUFF_ASSIST_SELECT_BUFF_REQ = 5945
    CMD_BUFF_ASSIST_SELECT_BUFF_RSP = 5946
    CMD_BUFF_ASSIST_PUBLISH_BUFF_POOL_REQ = 5947
    CMD_BUFF_ASSIST_PUBLISH_BUFF_POOL_RSP = 5948
    CMD_BUFF_ASSIST_STAGE_END_NOTIFY = 5949
    CMD_BUFF_ASSIST_RECV_STAGE_ASSIST_INFO_NOTIFY = 5950
    CMD_WAVE_RUSH_GET_ACTIVITY_REQ = 5961
    CMD_WAVE_RUSH_GET_ACTIVITY_RSP = 5962
    CMD_WAVE_RUSH_GET_RANK_REQ = 5963
    CMD_WAVE_RUSH_GET_RANK_RSP = 5964
    CMD_WAVE_RUSH_LEVEL_UP_BUFF_REQ = 5965
    CMD_WAVE_RUSH_LEVEL_UP_BUFF_RSP = 5966
    CMD_WAVE_RUSH_UPDATE_BUFF_SUITE_REQ = 5967
    CMD_WAVE_RUSH_UPDATE_BUFF_SUITE_RSP = 5968
    CMD_WAVE_RUSH_ACTIVE_BUFF_SUITE_REQ = 5969
    CMD_WAVE_RUSH_ACTIVE_BUFF_SUITE_RSP = 5970
    CMD_MINI_MONOPOLY_GET_DATA_REQ = 5981
    CMD_MINI_MONOPOLY_GET_DATA_RSP = 5982
    CMD_MINI_MONOPOLY_THROW_DICE_REQ = 5983
    CMD_MINI_MONOPOLY_THROW_DICE_RSP = 5984
    CMD_MINI_MONOPOLY_USE_ITEM_REQ = 5985
    CMD_MINI_MONOPOLY_USE_ITEM_RSP = 5986
    CMD_AVATAR_CULTIVATE_GET_ACTIVITY_REQ = 5991
    CMD_AVATAR_CULTIVATE_GET_ACTIVITY_RSP = 5992


class DreamUnlockType(betterproto.Enum):
    DreamUnlockType0 = 0
    DREAM_UNLOCK_TYPE_NO_NEWBIE_SCHEDULE = 1
    DREAM_UNLOCK_TYPE_HAS_NOT_FINISHED_DREAM = 2
    DREAM_UNLOCK_TYPE_GOBACK_LEVEL = 3
    DREAM_UNLOCK_TYPE_AVATAR_LOCKED = 4
    DREAM_UNLOCK_TYPE_HAS_NOT_GOT_ITEM = 5


class RanchMonsterSkillType(betterproto.Enum):
    RanchMonsterSkillType0 = 0
    RANCH_MONSTER_SKILL_ACTIVE = 1
    RANCH_MONSTER_SKILL_PASSIVE = 2
    RANCH_MONSTER_SKILL_FAST_PRODUCTION = 3
    RANCH_MONSTER_SKILL_RARITY_UP = 4


class RanchNotifyType(betterproto.Enum):
    RANCH_NOTIFY_UNKNOWN = 0
    RANCH_NOTIFY_SYNTHESIS = 1
    RANCH_NOTIFY_STAGE_END = 2
    RANCH_NOTIFY_LOCK = 3


class RanchRarityType(betterproto.Enum):
    RanchRarityType0 = 0
    RANCH_LEGENDARY = 4


class RanchSynthesisType(betterproto.Enum):
    RanchSynthesisType0 = 0
    RANCH_SYNSHESIS_WITHOUT_FORMULA = 1
    RANCH_SYNSHESIS_WITH_FORMULA = 2


class RanchMonsterSourceType(betterproto.Enum):
    RanchMonsterSourceType0 = 0
    RANCH_MONSTER_SOURCE_STAGE = 1
    RANCH_MONSTER_SOURCE_MATERIAL = 2
    RANCH_MONSTER_SOURCE_SYNTHESIS_WITH_FOMULA = 3
    RANCH_MONSTER_SOURCE_PRODUCT = 4
    RANCH_MONSTER_SOURCE_SYNTHESIS_WITHOUT_FORMULA = 5
    RANCH_MONSTER_SOURCE_GM = 6


class WeekDayActivityOpenType(betterproto.Enum):
    WEEK_DAY_ACTIVITY_OPEN_DAILY = 0
    WEEK_DAY_ACTIVITY_OPEN_WEEK_DAY = 1


class RestaurantWorkStatus(betterproto.Enum):
    RestaurantWorkStatus0 = 0
    RESTAURANT_WORK_NOT_BEGIN = 1
    RESTAURANT_WORK_DOING = 2
    RESTAURANT_WORK_PAUSE = 3


class RestaurantRoomType(betterproto.Enum):
    RestaurantRoomType0 = 0
    RESTAURANT_ROOM_STORE = 1
    RESTAURANT_ROOM_KITCHEN = 2
    RESTAURANT_ROOM_CHECKOUT = 3


class RestaurantSkillType(betterproto.Enum):
    RestaurantSkillType0 = 0
    RESTAURANT_SKILL_COOK_ID_SPEED_UP = 1
    RESTAURANT_SKILL_COOK_TAG_SPEED_UP = 2
    RESTAURANT_SKILL_COOK_ALL_SPEED_UP = 3
    RESTAURANT_SKILL_SELL_ID_SPEED_UP = 4
    RESTAURANT_SKILL_SELL_TAG_SPEED_UP = 5
    RESTAURANT_SKILL_SELL_ALL_SPEED_UP = 6
    RESTAURANT_SKILL_SELL_ID_PRICE_UP = 7
    RESTAURANT_SKILL_SELL_TAG_PRICE_UP = 8
    RESTAURANT_SKILL_SELL_ALL_PRICE_UP = 9


class MonsterCardRandomTalentConfirmType(betterproto.Enum):
    MONSTER_CARD_RANDOM_TALENT_CONFIRM_TYPE_NONE = 0
    MONSTER_CARD_RANDOM_TALENT_CONFIRM_TYPE_CONFIRM = 1
    MONSTER_CARD_RANDOM_TALENT_CONFIRM_TYPE_ABANDON = 2


class MonsterCardStageType(betterproto.Enum):
    MONSTER_CARD_STAGE_TYPE_NONE = 0
    MONSTER_CARD_STAGE_TYPE_NORMAL = 1
    MONSTER_CARD_STAGE_TYPE_BOSS = 2
    MONSTER_CARD_STAGE_TYPE_EXP = 3
    MONSTER_CARD_STAGE_TYPE_TOWER = 4
    MONSTER_CARD_STAGE_TYPE_PVP = 5


class MonsterCardSyncType(betterproto.Enum):
    MONSTER_CARD_SYNC_TYPE_NONE = 0
    MONSTER_CARD_SYNC_TYPE_LEVEL_UP = 1
    MONSTER_CARD_SYNC_TYPE_STAR_UP = 2
    MONSTER_CARD_SYNC_TYPE_LEARN_TALENT = 3
    MONSTER_CARD_SYNC_TYPE_NEW_CARD = 4
    MONSTER_CARD_SYNC_TYPE_REFRESH = 5
    MONSTER_CARD_SYNC_TYPE_ADD_FRAGMENT = 6


class MonsterCardSkillType(betterproto.Enum):
    MONSTER_CARD_SKILL_TYPE_NONE = 0
    MONSTER_CARD_SKILL_TYPE_ATK = 1
    MONSTER_CARD_SKILL_TYPE_LB = 2
    MONSTER_CARD_SKILL_TYPE_AUTO = 3
    MONSTER_CARD_SKILL_TYPE_PASSIVE = 4
    MONSTER_CARD_SKILL_TYPE_WEATHER = 5
    MONSTER_CARD_SKILL_TYPE_TALENT = 6
    MONSTER_CARD_SKILL_TYPE_UNLOCK = 99


class MonsterCardLevelLimitType(betterproto.Enum):
    MONSTER_CARD_LEVEL_LIMIT_TYPE_NONE = 0
    MONSTER_CARD_LEVEL_LIMIT_TYPE_PASS_RPG_SITE = 1


class MonsterCardSelectCardCondition(betterproto.Enum):
    MONSTER_CARD_SELECT_CARD_CONDITION_NONE = 0
    MONSTER_CARD_SELECT_CARD_CONDITION_LEVEL_GREATER_EQUAL = 1


class BuffAssistBuffProducerType(betterproto.Enum):
    BuffAssistBuffProducerType0 = 0
    BUFF_ASSIST_BUFF_PRODUCER_PLAYER = 1
    BUFF_ASSIST_BUFF_PRODUCER_NPC = 2
    BUFF_ASSIST_BUFF_PRODUCER_ROBOT = 3


class BuffAssistType(betterproto.Enum):
    BuffAssistType0 = 0
    BUFF_ASSIST_PRODUCER = 1
    BUFF_ASSIST_CONSUMER = 2


class WaveRushStageType(betterproto.Enum):
    WaveRushStageType0 = 0
    WAVE_RUSH_STAGE_MAINLINE = 1
    WAVE_RUSH_STAGE_DAILY = 2
    WAVE_RUSH_STAGE_TOWER = 3


class WaveRushLimitConditionType(betterproto.Enum):
    WAVE_RUSH_LIMIT_CONDITION_NONE = 0
    WAVE_RUSH_LIMIT_CONDITION_PRE_SITE = 1


class WaveRushBuffType(betterproto.Enum):
    WaveRushBuffType0 = 0
    WAVE_RUSH_CORE_BUFF = 1
    WAVE_RUSH_NORMAL_BUFF = 2
    WAVE_RUSH_WEATHER_BUFF = 3
    WAVE_RUSH_ATTR_BUFF = 4


class MiniMonopolyItemType(betterproto.Enum):
    MINI_MONOPOLY_ITEM_TYPE_NONE = 0
    MINI_MONOPOLY_ITEM_CONTROLLABLE_DICE = 1


class AvatarCultivateActivityStageType(betterproto.Enum):
    AVATAR_CULTIVATE_ACTIVITY_STAGE_TYPE_NONE = 0
    AVATAR_CULTIVATE_ACTIVITY_STAGE_TYPE_SWEEP = 1
    AVATAR_CULTIVATE_ACTIVITY_STAGE_TYPE_CHALLENGE = 2
    AVATAR_CULTIVATE_ACTIVITY_STAGE_TYPE_NORMAL = 3


class MatchThreePlusRoomEndReqStatus(betterproto.Enum):
    WIN = 0
    LOSE = 1
    ABANDON = 2


class CmdTypeActivity3(betterproto.Enum):
    CmdTypeActivity30 = 0
    CMD_SUSANNA_TRIAL_GET_ACTIVITY_REQ = 7050
    CMD_SUSANNA_TRIAL_GET_ACTIVITY_RSP = 7051
    CMD_SUSANNA_TRIAL_TAKE_MENTOR_PROGRESS_REWARD_REQ = 7052
    CMD_SUSANNA_TRIAL_TAKE_MENTOR_PROGRESS_REWARD_RSP = 7053
    CMD_SUSANNA_TRIAL_TAKE_PLOT_REWARD_REQ = 7054
    CMD_SUSANNA_TRIAL_TAKE_PLOT_REWARD_RSP = 7055
    CMD_SHIGURE_KIRA_GET_ACTIVITY_REQ = 7060
    CMD_SHIGURE_KIRA_GET_ACTIVITY_RSP = 7061
    CMD_SHIGURE_KIRA_ADD_CONCERT_PROGRESS_REQ = 7062
    CMD_SHIGURE_KIRA_ADD_CONCERT_PROGRESS_RSP = 7063
    CMD_THEME_TOWER_GET_ACTIVITY_REQ = 7070
    CMD_THEME_TOWER_GET_ACTIVITY_RSP = 7071
    CMD_THEME_TOWER_GET_RANK_REQ = 7072
    CMD_THEME_TOWER_GET_RANK_RSP = 7073
    CMD_THEME_TOWER_LEVEL_UP_SECTION_REQ = 7074
    CMD_THEME_TOWER_LEVEL_UP_SECTION_RSP = 7075
    CMD_GET_PON_MACHINE_ACTIVITY_REQ = 7100
    CMD_GET_PON_MACHINE_ACTIVITY_RSP = 7101
    CMD_START_PON_MACHINE_REQ = 7102
    CMD_START_PON_MACHINE_RSP = 7103
    CMD_CARNIVAL_LOTTERY_BET_REQ = 7111
    CMD_CARNIVAL_LOTTERY_BET_RSP = 7112
    CMD_CARNIVAL_LOTTERY_GET_INFO_REQ = 7113
    CMD_CARNIVAL_LOTTERY_GET_INFO_RSP = 7114
    CMD_CARNIVAL_LOTTERY_TAKE_SPECIAL_REWARD_REQ = 7115
    CMD_CARNIVAL_LOTTERY_TAKE_SPECIAL_REWARD_RSP = 7116
    CMD_CARNIVAL_LOTTERY_OPEN_REWARD_REQ = 7117
    CMD_CARNIVAL_LOTTERY_OPEN_REWARD_RSP = 7118
    CMD_TILED_GAME_LUNA_TRAP_REQ = 7121
    CMD_TILED_GAME_LUNA_TRAP_RSP = 7122
    CMD_GET_TILED_GAME_LUNA_REQ = 7123
    CMD_GET_TILED_GAME_LUNA_RSP = 7124
    CMD_TILED_GAME_LUNA_BATTLE_REQ = 7125
    CMD_TILED_GAME_LUNA_BATTLE_RSP = 7126
    CMD_TILED_GAME_LUNA_HEAL_REQ = 7129
    CMD_TILED_GAME_LUNA_HEAL_RSP = 7130
    CMD_MINION_CLASH_GET_ACTIVITY_REQ = 7141
    CMD_MINION_CLASH_GET_ACTIVITY_RSP = 7142
    CMD_MINION_CLASH_GET_GACHA_INFO_REQ = 7143
    CMD_MINION_CLASH_GET_GACHA_INFO_RSP = 7144
    CMD_MINION_CLASH_DO_GACHA_REQ = 7145
    CMD_MINION_CLASH_DO_GACHA_RSP = 7146
    CMD_MINION_CLASH_LEVEL_UP_TALENT_REQ = 7147
    CMD_MINION_CLASH_LEVEL_UP_TALENT_RSP = 7148
    CMD_MINION_CLASH_REPORT_STAGE_BEGIN_REQ = 7149
    CMD_MINION_CLASH_REPORT_STAGE_BEGIN_RSP = 7150
    CMD_MINION_CLASH_UPDATE_BUILD_REQ = 7151
    CMD_MINION_CLASH_UPDATE_BUILD_RSP = 7152
    CMD_MINION_CLASH_STAR_UP_CARD_REQ = 7153
    CMD_MINION_CLASH_STAR_UP_CARD_RSP = 7154
    CMD_THELEMA_ACTIVITY_GET_ACTIVITY_REQ = 7161
    CMD_THELEMA_ACTIVITY_GET_ACTIVITY_RSP = 7162
    CMD_THELEMA_ACTIVITY_FINISH_QUESTION_REQ = 7163
    CMD_THELEMA_ACTIVITY_FINISH_QUESTION_RSP = 7164
    CMD_MATCH_THREE_PLUS_GET_ACTIVITY_REQ = 7171
    CMD_MATCH_THREE_PLUS_GET_ACTIVITY_RSP = 7172
    CMD_MATCH_THREE_PLUS_ROLE_LEVEL_UP_REQ = 7173
    CMD_MATCH_THREE_PLUS_ROLE_LEVEL_UP_RSP = 7174
    CMD_MATCH_THREE_PLUS_GACHA_DISPLAY_REQ = 7175
    CMD_MATCH_THREE_PLUS_GACHA_DISPLAY_RSP = 7176
    CMD_MATCH_THREE_PLUS_GACHA_REQ = 7177
    CMD_MATCH_THREE_PLUS_GACHA_RSP = 7178
    CMD_MATCH_THREE_PLUS_ROOM_BEGIN_REQ = 7179
    CMD_MATCH_THREE_PLUS_ROOM_BEGIN_RSP = 7180
    CMD_MATCH_THREE_PLUS_ROOM_END_REQ = 7181
    CMD_MATCH_THREE_PLUS_ROOM_END_RSP = 7182
    CMD_MATCH_THREE_PLUS_GET_RANK_REQ = 7183
    CMD_MATCH_THREE_PLUS_GET_RANK_RSP = 7184
    CMD_MATCH_THREE_PLUS_UPDATE_COMBINATION_REQ = 7185
    CMD_MATCH_THREE_PLUS_UPDATE_COMBINATION_RSP = 7186
    CMD_MATCH_THREE_PLUS_SYNC_AUTO_UNLOCK_NOTIFY = 7187
    CMD_TILED_GAME_SRPG_GET_ACTIVITY_REQ = 7191
    CMD_TILED_GAME_SRPG_GET_ACTIVITY_RSP = 7192
    CMD_TILED_GAME_SRPG_AVATAR_LEVEL_UP_REQ = 7193
    CMD_TILED_GAME_SRPG_AVATAR_LEVEL_UP_RSP = 7194
    CMD_TILED_GAME_SRPG_BATTLE_BEGIN_REQ = 7195
    CMD_TILED_GAME_SRPG_BATTLE_BEGIN_RSP = 7196
    CMD_TILED_GAME_SRPG_BATTLE_END_REQ = 7197
    CMD_TILED_GAME_SRPG_BATTLE_END_RSP = 7198
    CMD_TILED_GAME_SRPG_TAKE_BP_REWARD_REQ = 7199
    CMD_TILED_GAME_SRPG_TAKE_BP_REWARD_RSP = 7200
    CMD_GAME_ROOM_ACTIVITY_GET_ACTIVITY_REQ = 7211
    CMD_GAME_ROOM_ACTIVITY_GET_ACTIVITY_RSP = 7212
    CMD_GAME_ROOM_ACTIVITY_GET_RANK_REQ = 7213
    CMD_GAME_ROOM_ACTIVITY_GET_RANK_RSP = 7214
    CMD_QRTS_ACTIVITY_GET_ACTIVITY_REQ = 7221
    CMD_QRTS_ACTIVITY_GET_ACTIVITY_RSP = 7222
    CMD_QRTS_ACTIVITY_FINISH_ROUND_REQ = 7223
    CMD_QRTS_ACTIVITY_FINISH_ROUND_RSP = 7224
    CMD_QRTS_ACTIVITY_RESET_ROUND_REQ = 7225
    CMD_QRTS_ACTIVITY_RESET_ROUND_RSP = 7226
    CMD_QRTS_ACTIVITY_BUILD_REQ = 7227
    CMD_QRTS_ACTIVITY_BUILD_RSP = 7228
    CMD_QRTS_ACTIVITY_SELECT_TALENT_REQ = 7229
    CMD_QRTS_ACTIVITY_SELECT_TALENT_RSP = 7230
    CMD_QRTS_ACTIVITY_SYNC_GAME_NOTIFY = 7231
    CMD_QRTS_ACTIVITY_SWEEP_REQ = 7232
    CMD_QRTS_ACTIVITY_SWEEP_RSP = 7233
    CMD_QRTS_ACTIVITY_UPGRADE_BUFF_REQ = 7234
    CMD_QRTS_ACTIVITY_UPGRADE_BUFF_RSP = 7235
    CMD_QRTS_ACTIVITY_CLEAR_GAME_REQ = 7236
    CMD_QRTS_ACTIVITY_CLEAR_GAME_RSP = 7237
    CMD_QRTS_ACTIVITY_WISH_REQ = 7238
    CMD_QRTS_ACTIVITY_WISH_RSP = 7239
    CMD_GET_BURDEN_ALLEVIATION_V2_REQ = 7241
    CMD_GET_BURDEN_ALLEVIATION_V2_RSP = 7242
    CMD_TRIGGER_BURDEN_ALLEVIATION_V2_REQ = 7243
    CMD_TRIGGER_BURDEN_ALLEVIATION_V2_RSP = 7244
    CMD_FUTARI_BATTLE_ACTIVITY_GET_ACTIVITY_REQ = 7245
    CMD_FUTARI_BATTLE_ACTIVITY_GET_ACTIVITY_RSP = 7246
    CMD_FUTARI_BATTLE_ACTIVITY_GET_RANK_REQ = 7247
    CMD_FUTARI_BATTLE_ACTIVITY_GET_RANK_RSP = 7248
    CMD_FUTARI_BATTLE_ACTIVITY_PASS_STAGE_FLOOR_REQ = 7249
    CMD_FUTARI_BATTLE_ACTIVITY_PASS_STAGE_FLOOR_RSP = 7250
    CMD_RE_ACTIVITY_GET_DATA_REQ = 7251
    CMD_RE_ACTIVITY_GET_DATA_RSP = 7252
    CMD_RE_ACTIVITY_TILE_BEGIN_REQ = 7253
    CMD_RE_ACTIVITY_TILE_BEGIN_RSP = 7254
    CMD_RE_ACTIVITY_TILE_END_REQ = 7255
    CMD_RE_ACTIVITY_TILE_END_RSP = 7256
    CMD_RESIDENT_ACTIVITY_GET_DATA_REQ = 7260
    CMD_RESIDENT_ACTIVITY_GET_DATA_RSP = 7261
    CMD_RESIDENT_ACTIVITY_UNLOCK_ACTIVITY_REQ = 7262
    CMD_RESIDENT_ACTIVITY_UNLOCK_ACTIVITY_RSP = 7263
    CMD_QRTS_ACTIVITY_GET_RANK_REQ = 7270
    CMD_QRTS_ACTIVITY_GET_RANK_RSP = 7271
    CMD_MONSTER_CARD_PVP_GET_ACTIVITY_REQ = 7275
    CMD_MONSTER_CARD_PVP_GET_ACTIVITY_RSP = 7276
    CMD_MONSTER_CARD_PVP_SELECT_INIT_CARD_VEC_REQ = 7277
    CMD_MONSTER_CARD_PVP_SELECT_INIT_CARD_VEC_RSP = 7278
    CMD_MONSTER_CARD_PVP_STAR_UP_CARD_REQ = 7279
    CMD_MONSTER_CARD_PVP_STAR_UP_CARD_RSP = 7280
    CMD_MONSTER_CARD_PVP_OPEN_SKILL_PACK_REQ = 7281
    CMD_MONSTER_CARD_PVP_OPEN_SKILL_PACK_RSP = 7282
    CMD_MONSTER_CARD_PVP_SELECT_NEW_SKILL_REQ = 7283
    CMD_MONSTER_CARD_PVP_SELECT_NEW_SKILL_RSP = 7284
    CMD_MONSTER_CARD_PVP_GET_PVP_OPPONENT_REQ = 7285
    CMD_MONSTER_CARD_PVP_GET_PVP_OPPONENT_RSP = 7286
    CMD_MONSTER_CARD_PVP_FINISH_COMBAT_REQ = 7287
    CMD_MONSTER_CARD_PVP_FINISH_COMBAT_RSP = 7288
    CMD_MONSTER_CARD_PVP_UPDATE_PLAYER_INFO_REQ = 7289
    CMD_MONSTER_CARD_PVP_UPDATE_PLAYER_INFO_RSP = 7290
    CMD_MONSTER_CARD_PVP_GET_DEFEND_DATA_REQ = 7291
    CMD_MONSTER_CARD_PVP_GET_DEFEND_DATA_RSP = 7292
    CMD_MONSTER_CARD_PVP_GET_PVP_RANK_REQ = 7293
    CMD_MONSTER_CARD_PVP_GET_PVP_RANK_RSP = 7294
    CMD_MONSTER_CARD_PVP_TAKE_PRODUCT_REWARD_REQ = 7295
    CMD_MONSTER_CARD_PVP_TAKE_PRODUCT_REWARD_RSP = 7296
    CMD_MONSTER_CARD_PVP_GET_GACHA_DISPLAY_REQ = 7297
    CMD_MONSTER_CARD_PVP_GET_GACHA_DISPLAY_RSP = 7298
    CMD_MONSTER_CARD_PVP_GACHA_REQ = 7299
    CMD_MONSTER_CARD_PVP_GACHA_RSP = 7300


class ThemeTowerBuffType(betterproto.Enum):
    ThemeTowerBuffType0 = 0
    THEME_TOWER_WEATHER_BUFF = 1
    THEME_TOWER_SPECIAL_BUFF = 2
    THEME_TOWER_COMMON_BUFF = 3
    THEME_TOWER_ACTIVE_BUFF = 4


class TiledGameLunaTrapDamageType(betterproto.Enum):
    TILED_GAME_LUNA_TRAP_DAMAGE_TYPE_NONE = 0
    TILED_GAME_LUNA_TRAP_DAMAGE_TYPE_FIXED_DAMAGE = 1
    TILED_GAME_LUNA_TRAP_DAMAGE_TYPE_PERCENTAGE_DAMAGE = 2


class QRtsBuildingType(betterproto.Enum):
    QRtsBuildingType0 = 0
    QRTS_BUILDING_TYPE_BASE = 1
    QRTS_BUILDING_TYPE_DEFENSE_TOWER = 2
    QRTS_BUILDING_TYPE_RANGE_BARRACK = 3
    QRTS_BUILDING_TYPE_MELEE_BARRACK = 4
    QRTS_BUILDING_TYPE_FIXED_GAIN_MINER = 5
    QRTS_BUILDING_TYPE_INCREASING_GAIN_MINER = 6
    QRTS_BUILDING_TYPE_WALL = 7
    QRTS_BUILDING_TYPE_BARRICADE = 8


class QRtsTalentSourceType(betterproto.Enum):
    QRTS_TALENT_SOURCE_TYPE_NONE = 0
    QRTS_TALENT_SOURCE_TYPE_ROUND = 1
    QRTS_TALENT_SOURCE_TYPE_WISH = 2
    QRTS_TALENT_SOURCE_TYPE_BASE_LEVEL = 3


class QRtsTalentType(betterproto.Enum):
    QRtsTalentType0 = 0
    QRTS_TALENT_TYPE_NORMAL = 1
    QRTS_TALENT_TYPE_ULTRA = 2
    QRTS_TALENT_TYPE_RANDOM = 3
    QRTS_TALENT_TYPE_BASE = 4
    QRTS_TALENT_TYPE_ATTRIBUTE = 5


class QRtsStageType(betterproto.Enum):
    QRtsStageType0 = 0
    QRTS_STAGE_TYPE_MAINLINE = 1
    QRTS_STAGE_TYPE_CHALLENGE = 2
    QRTS_STAGE_TYPE_RANK_CHALLENGE = 3


class QRtsServerEffect(betterproto.Enum):
    QRtsServerEffect0 = 0
    QRTS_SERVER_EFFECT_MINER_GAIN_UP = 1
    QRTS_SERVER_EFFECT_FIXED_GAIN_MINER_PROTECT = 2
    QRTS_SERVER_EFFECT_INCREASING_GAIN_MINER_ENFORCE = 3
    QRTS_SERVER_EFFECT_MINER_EXTRA_GOLD = 4
    QRTS_SERVER_EFFECT_BASE_PRODUCE_GOLD = 5
    QRTS_SERVER_EFFECT_BUILDING_CASHBACK = 6


class BurdenAlleviationV2Type(betterproto.Enum):
    BurdenAlleviationV2Type0 = 0
    BURDEN_ALLEVIATION_V2_OW_QUEST = 1
    BURDEN_ALLEVIATION_V2_THEME_WANTED = 2
    BURDEN_ALLEVIATION_V2_EXAMINATION = 3
    BURDEN_ALLEVIATION_V2_ARMADA_STAGE_SCORE_ACTIVITY = 4


class ShigureKiraProgressSlotType(betterproto.Enum):
    SHIGURE_KIRA_PROGRESS_SLOT_NONE = 0
    SHIGURE_KIRA_PROGRESS_SLOT_FANCHANT = 1
    SHIGURE_KIRA_PROGRESS_SLOT_CONCERT = 2


class MinionClashConditionType(betterproto.Enum):
    MINION_CLASH_CONDITION_TYPE_NONE = 0
    MINION_CLASH_CONDITION_TYPE_ACTIVITY_LEVEL_GE = 1
    MINION_CLASH_CONDITION_TYPE_BRANCH_TALENT_LEVEL_GE = 2
    MINION_CLASH_CONDITION_TYPE_PASS_STAGE_LIST = 3
    MINION_CLASH_CONDITION_TYPE_PASS_RPG_SITE_LIST = 4


class MinionClashStageType(betterproto.Enum):
    MINION_CLASH_STAGE_TYPE_NONE = 0
    MINION_CLASH_STAGE_TYPE_NORMAL_AVATAR = 1
    MINION_CLASH_STAGE_TYPE_NORMAL_CARD = 2
    MINION_CLASH_STAGE_TYPE_DAILY = 3
    MINION_CLASH_STAGE_TYPE_TOWER = 4
    MINION_CLASH_STAGE_TYPE_TUTORIAL = 5


class MinionClashDoGachaType(betterproto.Enum):
    MinionClashDoGachaType0 = 0
    MINION_CLASH_DO_GACHA_TYPE_ONCE = 1
    MINION_CLASH_DO_GACHA_TYPE_UP_TO_10 = 2


class MatchThreePlusRoomType(betterproto.Enum):
    MatchThreePlusRoomType0 = 0
    MATCH_THREE_PLUS_ROOM_MAIN = 1
    MATCH_THREE_PLUS_ROOM_SIDE = 2
    MATCH_THREE_PLUS_ROOM_DAILY = 3
    MATCH_THREE_PLUS_ROOM_TOWER = 4
    MATCH_THREE_PLUS_ROOM_TUTORIAL = 5


class TiledGameSrpgBattleType(betterproto.Enum):
    TiledGameSrpgBattleType0 = 0
    TILED_GAME_SRPG_BATTLE_STORY = 1
    TILED_GAME_SRPG_BATTLE_CHALLENGE = 2


class TiledGameSrpgWinType(betterproto.Enum):
    TiledGameSrpgWinType0 = 0
    TILED_GAME_SRPG_WIN_ELIMINATE = 1
    TILED_GAME_SRPG_WIN_CHASE = 2
    TILED_GAME_SRPG_WIN_SURVIVE = 3
    TILED_GAME_SRPG_WIN_CAPTURE = 4


class GameRoomActivityGameType(betterproto.Enum):
    GameRoomActivityGameType0 = 0
    GAME_ROOM_ACTIVITY_GAME_TYPE_BRICK_BREAKER = 1
    GAME_ROOM_ACTIVITY_GAME_TYPE_NS_SHAFT = 2


class GameRoomActivityGameStageType(betterproto.Enum):
    GameRoomActivityGameStageType0 = 0
    GAME_ROOM_ACTIVITY_GAME_STAGE_TYPE_NORMAL = 1
    GAME_ROOM_ACTIVITY_GAME_STAGE_TYPE_RANK = 2


class FutariBattleStageGroupType(betterproto.Enum):
    FutariBattleStageGroupType0 = 0
    FUTARI_BATTLE_STAGE_GROUP_NORMAL = 1
    FUTARI_BATTLE_STAGE_GROUP_BOSS = 2


class FutariBattleStageType(betterproto.Enum):
    FutariBattleStageType0 = 0
    FUTARI_BATTLE_STAGE_NORMAL = 1
    FUTARI_BATTLE_STAGE_BOSS = 2


class ReActivitySiteContentType(betterproto.Enum):
    RE_ACTIVITY_SITE_CONTENT_NONE = 0
    RE_ACTIVITY_SITE_CONTENT_PLOT = 1
    RE_ACTIVITY_SITE_CONTENT_PROP_STAGE = 2
    RE_ACTIVITY_SITE_CONTENT_JUMP_STAGE = 3
    RE_ACTIVITY_SITE_CONTENT_TILE = 4


class CmdTypeAdventure(betterproto.Enum):
    CmdTypeAdventure0 = 0
    CMD_GET_ADVENTURE_GROUP_REQ = 3900
    CMD_GET_ADVENTURE_GROUP_RSP = 3901
    CMD_SELECT_ADVENTURE_QUEST_REQ = 3902
    CMD_SELECT_ADVENTURE_QUEST_RSP = 3903
    CMD_TAKE_ADVENTURE_QUEST_REWARD_REQ = 3904
    CMD_TAKE_ADVENTURE_QUEST_REWARD_RSP = 3905
    CMD_CLAIM_SCOIN_REQ = 3910
    CMD_CLAIM_SCOIN_RSP = 3911
    CMD_ADVENTURE_STORY_SWEEP_REQ = 3912
    CMD_ADVENTURE_STORY_SWEEP_RSP = 3913
    CMD_GET_ADVENTURE_STORY_SWEEP_INFO_REQ = 3914
    CMD_GET_ADVENTURE_STORY_SWEEP_INFO_RSP = 3915
    CMD_TAKE_ADVENTURE_STORY_SWEEP_REWARD_REQ = 3916
    CMD_TAKE_ADVENTURE_STORY_SWEEP_REWARD_RSP = 3917
    CMD_TAKE_ADVENTURE_COMPENSATION_REQ = 3918
    CMD_TAKE_ADVENTURE_COMPENSATION_RSP = 3919
    CMD_EDIT_ADVENTURE_ROOM_REQ = 3920
    CMD_EDIT_ADVENTURE_ROOM_RSP = 3921
    CMD_CANCEL_ADVENTURE_QUEST_REQ = 3922
    CMD_CANCEL_ADVENTURE_QUEST_RSP = 3923
    CMD_RESET_ADVENTURE_QUEST_REQ = 3924
    CMD_RESET_ADVENTURE_QUEST_RSP = 3925


class AdventureQuestStatus(betterproto.Enum):
    ADVENTURE_QUEST_STATUS_NONE = 0
    ADVENTURE_QUEST_STATUS_DOING = 1
    ADVENTURE_QUEST_STATUS_FINISHED = 2


class AdventureAvatarType(betterproto.Enum):
    AdventureAvatarType0 = 0
    ADVENTURE_AVATAR_S = 1
    ADVENTURE_AVATAR_A = 2
    ADVENTURE_AVATAR_NORMAL = 3


class AdventureQuestResult(betterproto.Enum):
    ADVENTURE_QUEST_RESULT_NONE = 0
    ADVENTURE_QUEST_RESULT_FAIL = 1
    ADVENTURE_QUEST_RESULT_SUCC = 2
    ADVENTURE_QUEST_RESULT_BIG_SUCC = 3


class CompensationType(betterproto.Enum):
    COMPENSATION_NONE = 0
    COMPENSATION_ISLAND = 1
    COMPENSATION_DORM = 2
    COMPENSATION_ADVENTURE_GROUP = 3


class CmdTypeAicyber(betterproto.Enum):
    CmdTypeAicyber0 = 0
    CMD_AI_CYBER_GET_ACTIVITY_REQ = 6650
    CMD_AI_CYBER_GET_ACTIVITY_RSP = 6651
    CMD_AI_CYBER_TAKE_PUZZLE_REWARD_REQ = 6652
    CMD_AI_CYBER_TAKE_PUZZLE_REWARD_RSP = 6653
    CMD_AI_CYBER_ADD_REPAIR_PROGRESS_REQ = 6654
    CMD_AI_CYBER_ADD_REPAIR_PROGRESS_RSP = 6655
    CMD_AI_CYBER_SET_BLESS_REQ = 6656
    CMD_AI_CYBER_SET_BLESS_RSP = 6657
    CMD_AI_CYBER_REFRESH_TICKET_REQ = 6658
    CMD_AI_CYBER_REFRESH_TICKET_RSP = 6659
    CMD_AI_CYBER_UPDATE_CLIENT_SETTING_REQ = 6660
    CMD_AI_CYBER_UPDATE_CLIENT_SETTING_RSP = 6661


class AiCyberUnlockConditionType(betterproto.Enum):
    AiCyberUnlockConditionType0 = 0
    AI_CYBER_UNLOCK_DATE_TIME = 1
    AI_CYBER_UNLOCK_PRE_STAGE = 2
    AI_CYBER_UNLOCK_REPAIR_PROGRESS = 3
    AI_CYBER_UNLOCK_PRE_EVENT = 4


class AiCyberStageType(betterproto.Enum):
    AI_CYBER_STAGE_INVALID = 0
    AI_CYBER_STAGE_MAIN = 1
    AI_CYBER_STAGE_DAILY = 2
    AI_CYBER_STAGE_CHALLENGE = 3


class CmdTypeArmada(betterproto.Enum):
    CmdTypeArmada0 = 0
    CMD_GET_ARMADA_DATA_REQ = 2601
    CMD_GET_ARMADA_DATA_RSP = 2602
    CMD_CREATE_ARMADA_REQ = 2603
    CMD_CREATE_ARMADA_RSP = 2604
    CMD_SEARCH_ARMADA_REQ = 2605
    CMD_SEARCH_ARMADA_RSP = 2606
    CMD_APPLY_JOIN_ARMADA_REQ = 2607
    CMD_APPLY_JOIN_ARMADA_RSP = 2608
    CMD_DEAL_ARMADA_APPLY_REQ = 2609
    CMD_DEAL_ARMADA_APPLY_RSP = 2610
    CMD_GET_ARMADA_MANAGE_DATA_REQ = 2611
    CMD_GET_ARMADA_MANAGE_DATA_RSP = 2612
    CMD_SET_ARMADA_APPLY_REQ = 2613
    CMD_SET_ARMADA_APPLY_RSP = 2614
    CMD_SET_ARMADA_BULLETIN_REQ = 2615
    CMD_SET_ARMADA_BULLETIN_RSP = 2616
    CMD_GET_RECOMMEND_ARMADA_REQ = 2617
    CMD_GET_RECOMMEND_ARMADA_RSP = 2618
    CMD_TRANSFER_ARMADA_LEADER_REQ = 2619
    CMD_TRANSFER_ARMADA_LEADER_RSP = 2620
    CMD_SET_ARMADA_POSITION_REQ = 2621
    CMD_SET_ARMADA_POSITION_RSP = 2622
    CMD_KICK_ARMADA_MEMBER_REQ = 2623
    CMD_KICK_ARMADA_MEMBER_RSP = 2624
    CMD_DISSOLVE_ARMADA_REQ = 2625
    CMD_DISSOLVE_ARMADA_RSP = 2626
    CMD_QUIT_ARMADA_REQ = 2627
    CMD_QUIT_ARMADA_RSP = 2628
    CMD_CANCEL_APPLY_ARMADA_REQ = 2629
    CMD_CANCEL_APPLY_ARMADA_RSP = 2630
    CMD_LEVEL_UP_ARMADA_CABIN_REQ = 2631
    CMD_LEVEL_UP_ARMADA_CABIN_RSP = 2632
    CMD_CANCEL_LEVEL_UP_ARMADA_CABIN_REQ = 2633
    CMD_CANCEL_LEVEL_UP_ARMADA_CABIN_RSP = 2634
    CMD_MOVE_ARMADA_CABIN_REQ = 2635
    CMD_MOVE_ARMADA_CABIN_RSP = 2636
    CMD_GET_CONSIGNED_ORDER_DATA_REQ = 2639
    CMD_GET_CONSIGNED_ORDER_DATA_RSP = 2640
    CMD_CHOOSE_CONSIGNED_ORDER_REQ = 2641
    CMD_CHOOSE_CONSIGNED_ORDER_RSP = 2642
    CMD_FINISH_CONSIGNED_ORDER_REQ = 2643
    CMD_FINISH_CONSIGNED_ORDER_RSP = 2644
    CMD_RESET_CONSIGNED_ORDER_REQ = 2645
    CMD_RESET_CONSIGNED_ORDER_RSP = 2646
    CMD_GET_WAREHOUSE_DATA_REQ = 2647
    CMD_GET_WAREHOUSE_DATA_RSP = 2648
    CMD_POST_WAREHOUSE_DEMAND_REQ = 2649
    CMD_POST_WAREHOUSE_DEMAND_RSP = 2650
    CMD_CANCEL_WAREHOUSE_DEMAND_REQ = 2651
    CMD_CANCEL_WAREHOUSE_DEMAND_RSP = 2652
    CMD_DONATE_WAREHOUSE_ITEM_REQ = 2653
    CMD_DONATE_WAREHOUSE_ITEM_RSP = 2654
    CMD_GET_WAREHOUSE_ITEM_REQ = 2655
    CMD_GET_WAREHOUSE_ITEM_RSP = 2656
    CMD_ENTER_ARMADA_CHATROOM_REQ = 2657
    CMD_ENTER_ARMADA_CHATROOM_RSP = 2658
    CMD_SEND_ARMADA_SYSTEM_CHAT_MSG_NOTIFY = 2661
    CMD_RECV_ARMADA_SYSTEM_CHAT_MSG_NOTIFY = 2662
    CMD_DONATE_WAREHOSUE_NOTIFY = 2677
    CMD_ARMADA_BUILD_NOTIFY = 2678
    CMD_ARMADA_BULLETIN_NOTIFY = 2679
    CMD_ARMADA_MANAGE_NOTIFY = 2680
    CMD_ARMADA_PLAYER_NOTIFY = 2681
    CMD_ARMADA_APPLY_NOTIFY = 2682
    CMD_CANCEL_DISSOLVE_ARMADA_REQ = 2683
    CMD_CANCEL_DISSOLVE_ARMADA_RSP = 2684
    CMD_GET_ARMADA_BUILD_OWNERSHIP_REQ = 2685
    CMD_GET_ARMADA_BUILD_OWNERSHIP_RSP = 2686
    CMD_RELEASE_ARMADA_BUILD_OWNERSHIP_REQ = 2687
    CMD_RELEASE_ARMADA_BUILD_OWNERSHIP_RSP = 2688
    CMD_ARMADA_SEND_MAIL_REQ = 2689
    CMD_ARMADA_SEND_MAIL_RSP = 2690
    CMD_CHANGE_ARMADA_NAME_REQ = 2691
    CMD_CHANGE_ARMADA_NAME_RSP = 2692
    CMD_JOIN_ARMADA_ELECTION_REQ = 2693
    CMD_JOIN_ARMADA_ELECTION_RSP = 2694
    CMD_ARMADA_LOGOUT_NOTIFY = 2731
    CMD_QUICK_APPLY_JOIN_ARMADA_REQ = 2732
    CMD_QUICK_APPLY_JOIN_ARMADA_RSP = 2733
    CMD_OPEN_ARMADA_STAGE_REQ = 2799
    CMD_OPEN_ARMADA_STAGE_RSP = 2800
    CMD_TAKE_ARMADA_ACHIEVEMENT_REQ = 2801
    CMD_TAKE_ARMADA_ACHIEVEMENT_RSP = 2802
    CMD_GET_RECOMMEND_ARMADA_MEMBER_LIST_REQ = 2803
    CMD_GET_RECOMMEND_ARMADA_MEMBER_LIST_RSP = 2804
    CMD_JOIN_QUIT_ARMADA_NOTIFY = 2805
    CMD_ARMADA_PLAYER_CONTRIBUTION_SYNC_NOTIFY = 2806
    CMD_GET_ARMADA_STAGE_SCORE_ACTIVITY_REQ = 2821
    CMD_GET_ARMADA_STAGE_SCORE_ACTIVITY_RSP = 2822
    CMD_TAKE_ARMADA_STAGE_SCORE_ACTIVITY_REWARD_REQ = 2823
    CMD_TAKE_ARMADA_STAGE_SCORE_ACTIVITY_REWARD_RSP = 2824
    CMD_GET_ARMADA_ACTIVITY_LIST_REQ = 2825
    CMD_GET_ARMADA_ACTIVITY_LIST_RSP = 2826
    CMD_GET_ARMADA_REUNION_ACTIVITY_REQ = 2834
    CMD_GET_ARMADA_REUNION_ACTIVITY_RSP = 2835
    CMD_ARMADA_REUNION_REWARD_NOTIFY = 2836
    CMD_TAKE_ARMADA_REUNION_REWARD_REQ = 2837
    CMD_TAKE_ARMADA_REUNION_REWARD_RSP = 2838
    CMD_SET_ARMADA_LABEL_REQ = 2840
    CMD_SET_ARMADA_LABEL_RSP = 2841
    CMD_GET_ARMADA_STAGE_SCORE_RANK_REQ = 2842
    CMD_GET_ARMADA_STAGE_SCORE_RANK_RSP = 2843


class ArmadaPlayerStatus(betterproto.Enum):
    ArmadaPlayerStatus0 = 0
    ARMADA_PLAYER_NOT_JOIN = 1
    ARMADA_PLAYER_APPLY = 2
    ARMADA_PLAYER_CHOOSE_CONTACT = 3
    ARMADA_PLAYER_JOINED = 4


class ArmadaPosition(betterproto.Enum):
    ARMADA_POSITION_NONE = 0
    ARMADA_POSITION_LEADER = 1
    ARMADA_POSITION_VICELEADER = 2
    ARMADA_POSITION_MEMBER = 3


class ArmadaCabinType(betterproto.Enum):
    ARMADA_CABIN_NONE = 0
    ARMADA_CABIN_MAIN = 1
    ARMADA_CABIN_CONTACT = 2
    ARMADA_CABIN_HANGAR = 3
    ARMADA_CABIN_WORKSHOP = 4
    ARMADA_CABIN_EXCHEQUER = 5
    ARMADA_CABIN_BOSS = 6


class WareHouseStatus(betterproto.Enum):
    WAREHOUSE_STATUS_NONE = 0
    WAREHOUSE_STATUS_NORMAL = 1
    WAREHOUSE_STATUS_DEMANDING = 2
    WAREHOUSE_STATUS_FINISH = 3
    WAREHOUSE_STATUS_CD = 4


class ArmadaSystemChatMsgType(betterproto.Enum):
    ArmadaSystemChatMsgType0 = 0
    ARMADA_CHAT_MSG_GACHA = 1
    ARMADA_CHAT_MSG_AVATAR_STAR_UP = 2
    ARMADA_CHAT_MSG_AVATAR_UNLOCK = 3
    ARMADA_CHAT_MSG_JOIN_ARMADA = 4
    ARMADA_CHAT_MSG_MISSION_FINISH = 5
    ARMADA_CHAT_MSG_LEVEL_UP = 6
    ARMADA_CHAT_MSG_CABIN_BUILD_FINISH = 7
    ARMADA_CHAT_MSG_CABIN_LEVEL_UP = 8
    ARMADA_CHAT_MSG_POSITION = 9
    ARMADA_CHAT_MSG_KICK = 10
    ARMADA_CHAT_MSG_KEEPUP = 11
    ARMADA_CHAT_MSG_CANCEL_DISSOLVE = 12
    ARMADA_CHAT_MSG_CHANGE_NAME = 13
    ARMADA_CHAT_MSG_TEXT_MAP = 14


class ArmadaBuildNotifyType(betterproto.Enum):
    ArmadaBuildNotifyType0 = 0
    ARMADA_BUILD_NOTIFY_START = 1
    ARMADA_BUILD_NOTIFY_CANCEL = 2
    ARMADA_BUILD_NOTIFY_FINISH = 3
    ARMADA_BUILD_NOTIFY_MOVE = 4


class ArmadaManageNotifyType(betterproto.Enum):
    ArmadaManageNotifyType0 = 0
    ARMADA_MANAGE_NOTIFY_LEADER = 1
    ARMADA_MANAGE_NOTIFY_VICE_LEADER_SET = 2
    ARMADA_MANAGE_NOTIFY_VICE_LEADER_CANCEL = 3


class ArmadaPlayerNotifyType(betterproto.Enum):
    ArmadaPlayerNotifyType0 = 0
    ARMADA_PLAYER_NOTIFY_JOIN = 1
    ARMADA_PLAYER_NOTIFY_QUIT = 2
    ARMADA_PLAYER_NOTIFY_KICK = 3
    ARMADA_PLAYER_NOTIFY_DISSOLVE = 4
    ARMADA_PLAYER_NOTIFY_CHANGE_NAME = 5


class ArmadaApplyNotifyType(betterproto.Enum):
    ArmadaApplyNotifyType0 = 0
    ARMADA_APPLY_NOTIFY_NEW = 1
    ARMADA_APPLY_NOTIFY_APPROVE = 2
    ARMADA_APPLY_NOTIFY_REJECT = 3


class ArmadaStageScoreActivityRewardType(betterproto.Enum):
    ARMADA_STAGE_SCORE_ACTIVITY_REWARD_TYPE_NONE = 0
    ARMADA_STAGE_SCORE_ACTIVITY_REWARD_TYPE_SELF = 1
    ARMADA_STAGE_SCORE_ACTIVITY_REWARD_TYPE_ARMADA = 2


class ArmadaActivityType(betterproto.Enum):
    ARMADA_ACTIVITY_TYPE_NONE = 0
    ARMADA_ACTIVITY_ARMADA_BOSS = 1
    ARMADA_ACTIVITY_MATRIX = 2
    ARMADA_ACTIVITY_QUESTION = 3
    ARMADA_ACTIVITY_TRADING_CARD = 4
    ARMADA_ACTIVITY_ARMADA_STAGE_SCORE_ACTIVITY = 5
    ARMADA_ACTIVITY_REUNION = 6


class ArmadaLabelType(betterproto.Enum):
    ArmadaLabelType0 = 0
    ARMADA_LABEL_PREFIX = 1
    ARMADA_LABEL = 2


class CmdTypeAvatarmission(betterproto.Enum):
    CmdTypeAvatarmission0 = 0
    CMD_GET_AVATAR_MISSION_ACTIVITY_REQ = 3000
    CMD_GET_AVATAR_MISSION_ACTIVITY_RSP = 3001
    CMD_CHOOSE_AVATAR_MISSION_AVATAR_REQ = 3002
    CMD_CHOOSE_AVATAR_MISSION_AVATAR_RSP = 3003
    CMD_TAKE_AVATAR_MISSION_DAILY_REWARD_REQ = 3004
    CMD_TAKE_AVATAR_MISSION_DAILY_REWARD_RSP = 3005
    CMD_TAKE_AVATAR_MISSION_PHASE_REWARD_REQ = 3006
    CMD_TAKE_AVATAR_MISSION_PHASE_REWARD_RSP = 3007
    CMD_RESET_AVATAR_MISSION_AVATAR_REQ = 3008
    CMD_RESET_AVATAR_MISSION_AVATAR_RSP = 3009


class CmdTypeBattlepass(betterproto.Enum):
    CmdTypeBattlepass0 = 0
    CMD_GET_BATTLE_PASS_REQ = 3750
    CMD_GET_BATTLE_PASS_RSP = 3751
    CMD_BUY_BATTLE_PASS_TICKET_REQ = 3752
    CMD_BUY_BATTLE_PASS_TICKET_RSP = 3753
    CMD_TAKE_BATTLE_PASS_LEVEL_REWARD_REQ = 3754
    CMD_TAKE_BATTLE_PASS_LEVEL_REWARD_RSP = 3755
    CMD_BUY_BATTLE_PASS_LEVEL_REQ = 3756
    CMD_BUY_BATTLE_PASS_LEVEL_RSP = 3757
    CMD_TAKE_BATTLE_PASS_PHASE_EXP_REQ = 3758
    CMD_TAKE_BATTLE_PASS_PHASE_EXP_RSP = 3759
    CMD_GET_BATTLE_PASS_THEME_REQ = 3760
    CMD_GET_BATTLE_PASS_THEME_RSP = 3761
    CMD_TAKE_BATTLE_PASS_THEME_LEVEL_REWARD_REQ = 3762
    CMD_TAKE_BATTLE_PASS_THEME_LEVEL_REWARD_RSP = 3763
    CMD_BUY_BATTLE_PASS_THEME_LEVEL_REQ = 3764
    CMD_BUY_BATTLE_PASS_THEME_LEVEL_RSP = 3765
    CMD_BATTLE_PASS_THEME_EXP_TRANSFORM_NOTIFY = 3766
    CMD_GET_BATTLE_PASS_MISSION_PANEL_REQ = 3767
    CMD_GET_BATTLE_PASS_MISSION_PANEL_RSP = 3768


class BattlePassTicketType(betterproto.Enum):
    BATTLE_PASS_TICKET_NONE = 0
    BATTLE_PASS_TICKET_NORMAL = 1
    BATTLE_PASS_TICKET_ADVANCED = 2
    BATTLE_PASS_TICKET_LUXURY = 3


class CmdTypeChapterark(betterproto.Enum):
    CmdTypeChapterark0 = 0
    CMD_CHAPTER_ARK_GET_DATA_REQ = 7950
    CMD_CHAPTER_ARK_GET_DATA_RSP = 7951
    CMD_CHAPTER_ARK_ROLE_LEVEL_UP_REQ = 7952
    CMD_CHAPTER_ARK_ROLE_LEVEL_UP_RSP = 7953
    CMD_CHAPTER_ARK_SKILL_UNLOCK_REQ = 7954
    CMD_CHAPTER_ARK_SKILL_UNLOCK_RSP = 7955
    CMD_CHAPTER_ARK_SKILL_LEVEL_UP_REQ = 7956
    CMD_CHAPTER_ARK_SKILL_LEVEL_UP_RSP = 7957
    CMD_CHAPTER_ARK_TAKE_REWARD_LINE_REWARD_REQ = 7958
    CMD_CHAPTER_ARK_TAKE_REWARD_LINE_REWARD_RSP = 7959
    CMD_CHAPTER_ARK_GET_RANK_REQ = 7960
    CMD_CHAPTER_ARK_GET_RANK_RSP = 7961
    CMD_CHAPTER_ARK_FINISH_OPENING_REQ = 7962
    CMD_CHAPTER_ARK_FINISH_OPENING_RSP = 7963
    CMD_CHAPTER_ARK_SYNC_AUTO_UNLOCK_NOTIFY = 7964
    CMD_CHAPTER_ARK_SUP_SKILL_LEVEL_UP_REQ = 7965
    CMD_CHAPTER_ARK_SUP_SKILL_LEVEL_UP_RSP = 7966
    CMD_CHAPTER_ARK_SETTLE_TOWER_REQ = 7967
    CMD_CHAPTER_ARK_SETTLE_TOWER_RSP = 7968
    CMD_CHAPTER_ARK_REPORT_TOWER_FLOOR_REQ = 7969
    CMD_CHAPTER_ARK_REPORT_TOWER_FLOOR_RSP = 7970
    CMD_ARK_PLUS_ACTIVITY_GET_DATA_REQ = 7971
    CMD_ARK_PLUS_ACTIVITY_GET_DATA_RSP = 7972
    CMD_ARK_PLUS_ACTIVITY_FINISH_ROOM_REQ = 7973
    CMD_ARK_PLUS_ACTIVITY_FINISH_ROOM_RSP = 7974
    CMD_ARK_PLUS_ACTIVITY_RESET_CHALLENGE_REQ = 7975
    CMD_ARK_PLUS_ACTIVITY_RESET_CHALLENGE_RSP = 7976
    CMD_ARK_PLUS_ACTIVITY_GET_RANK_REQ = 7977
    CMD_ARK_PLUS_ACTIVITY_GET_RANK_RSP = 7978
    CMD_ARK_PLUS_ACTIVITY_ADD_LIFT_MATERIAL_REQ = 7979
    CMD_ARK_PLUS_ACTIVITY_ADD_LIFT_MATERIAL_RSP = 7980


class ChapterArkStageType(betterproto.Enum):
    ChapterArkStageType0 = 0
    CHAPTER_ARK_STAGE_MAIN = 1
    CHAPTER_ARK_STAGE_BRANCH = 2
    CHAPTER_ARK_STAGE_DAILY = 3
    CHAPTER_ARK_STAGE_LINEAR = 4
    CHAPTER_ARK_STAGE_CHALLENGE = 5
    CHAPTER_ARK_STAGE_TUTORIAL = 6
    CHAPTER_ARK_STAGE_MID_TERM_DAILY = 7
    CHAPTER_ARK_STAGE_TOWER = 8
    CHAPTER_ARK_STAGE_SUPPORT_CHALLENGE = 9


class ChapterArkStageAvatarChoiceType(betterproto.Enum):
    CHAPTER_ARK_STAGE_AVATAR_CHOICE_NO_CHARACTER = 0
    CHAPTER_ARK_STAGE_AVATAR_CHOICE_TRIAL = 1
    CHAPTER_ARK_STAGE_AVATAR_CHOICE_VIRTUAL = 2
    CHAPTER_ARK_STAGE_AVATAR_CHOICE_NORMAL = 3


class ChapterArkSkillType(betterproto.Enum):
    ChapterArkSkillType0 = 0
    CHAPTER_ARK_SKILL_MAIN = 1
    CHAPTER_ARK_SKILL_SUB = 2
    CHAPTER_ARK_SKILL_ASSIST = 3
    CHAPTER_ARK_SKILL_PROPERTY = 4


class ChapterArkAttribute(betterproto.Enum):
    CHAPTER_ARK_ATTRIBUTE_NONE = 0
    CHAPTER_ARK_ATTRIBUTE_PHYSICS = 1
    CHAPTER_ARK_ATTRIBUTE_FIRE = 2
    CHAPTER_ARK_ATTRIBUTE_LIGHTNING = 3


class ChapterArkSupSkillType(betterproto.Enum):
    ChapterArkSupSkillType0 = 0
    CHAPTER_ARK_SUP_SKILL_MAIN = 1
    CHAPTER_ARK_SUP_SKILL_GENRE = 2
    CHAPTER_ARK_SUP_SKILL_GENRE_SUB = 3
    CHAPTER_ARK_SUP_SKILL_AWAKEN = 4


class CmdTypeChapterbwworld(betterproto.Enum):
    CmdTypeChapterbwworld0 = 0
    CMD_CHAPTER_BW_WORLD_GET_DATA_REQ = 7650
    CMD_CHAPTER_BW_WORLD_GET_DATA_RSP = 7651
    CMD_CHAPTER_BW_WORLD_UPDATE_EQUIP_RUNE_REQ = 7652
    CMD_CHAPTER_BW_WORLD_UPDATE_EQUIP_RUNE_RSP = 7653
    CMD_CHAPTER_BW_WORLD_RUNE_LEVEL_UP_REQ = 7654
    CMD_CHAPTER_BW_WORLD_RUNE_LEVEL_UP_RSP = 7655
    CMD_CHAPTER_BW_WORLD_RUNE_SYNTHESIS_REQ = 7656
    CMD_CHAPTER_BW_WORLD_RUNE_SYNTHESIS_RSP = 7657
    CMD_CHAPTER_BW_WORLD_GET_RANK_REQ = 7658
    CMD_CHAPTER_BW_WORLD_GET_RANK_RSP = 7659
    CMD_CHAPTER_BW_WORLD_TAKE_REWARD_LINE_REWARD_REQ = 7660
    CMD_CHAPTER_BW_WORLD_TAKE_REWARD_LINE_REWARD_RSP = 7661
    CMD_CHAPTER_BW_WORLD_SYNC_RUNE_NOTIFY = 7662
    CMD_CHAPTER_BW_WORLD_TOWER_STAGE_REPORT_FLOOR_REQ = 7663
    CMD_CHAPTER_BW_WORLD_TOWER_STAGE_REPORT_FLOOR_RSP = 7664
    CMD_CHAPTER_BW_WORLD_REFRESH_TICKET_REQ = 7665
    CMD_CHAPTER_BW_WORLD_REFRESH_TICKET_RSP = 7666
    CMD_BW_WORLD_CAMP_ACTIVITY_GET_DATA_REQ = 7671
    CMD_BW_WORLD_CAMP_ACTIVITY_GET_DATA_RSP = 7672
    CMD_BW_WORLD_CAMP_ACTIVITY_SELECT_CAMP_REQ = 7673
    CMD_BW_WORLD_CAMP_ACTIVITY_SELECT_CAMP_RSP = 7674
    CMD_BW_WORLD_CAMP_ACTIVITY_PUBLISH_RUNE_REQ = 7675
    CMD_BW_WORLD_CAMP_ACTIVITY_PUBLISH_RUNE_RSP = 7676
    CMD_BW_WORLD_CAMP_ACTIVITY_REFRESH_WAIT_SELECT_RUNE_REQ = 7677
    CMD_BW_WORLD_CAMP_ACTIVITY_REFRESH_WAIT_SELECT_RUNE_RSP = 7678
    CMD_BW_WORLD_CAMP_ACTIVITY_TAKE_ASSIST_CONTRIBUTION_REQ = 7679
    CMD_BW_WORLD_CAMP_ACTIVITY_TAKE_ASSIST_CONTRIBUTION_RSP = 7680
    CMD_BW_WORLD_CAMP_ACTIVITY_ADD_ASSIST_CONTRIBUTION_NOTIFY = 7681
    CMD_BW_WORLD_CAMP_ACTIVITY_GET_RANK_REQ = 7682
    CMD_BW_WORLD_CAMP_ACTIVITY_GET_RANK_RSP = 7683
    CMD_BW_WORLD_CAMP_ACTIVITY_SELECT_STAGE_RUNE_REQ = 7684
    CMD_BW_WORLD_CAMP_ACTIVITY_SELECT_STAGE_RUNE_RSP = 7685


class ChapterBwWorldStageType(betterproto.Enum):
    ChapterBwWorldStageType0 = 0
    CHAPTER_BW_WORLD_STAGE_MAIN = 1
    CHAPTER_BW_WORLD_STAGE_BRANCH = 2
    CHAPTER_BW_WORLD_STAGE_DAILY = 3
    CHAPTER_BW_WORLD_STAGE_PRE_CHALLENGE = 4
    CHAPTER_BW_WORLD_STAGE_CHALLENGE = 5
    CHAPTER_BW_WORLD_STAGE_THEME = 6
    CHAPTER_BW_WORLD_STAGE_TOWER = 7


class ChapterBwWorldRuneMainType(betterproto.Enum):
    ChapterBwWorldRuneMainType0 = 0
    CHAPTER_BW_WORLD_RUNE_MAIN_TYPE_WHITE = 1
    CHAPTER_BW_WORLD_RUNE_MAIN_TYPE_BLACK = 2
    CHAPTER_BW_WORLD_RUNE_MAIN_TYPE_CHAOS = 3


class BwWorldCampActivityCampType(betterproto.Enum):
    BW_WORLD_CAMP_ACTIVITY_CAMP_NONE = 0
    BW_WORLD_CAMP_ACTIVITY_CAMP_WHITE = 1
    BW_WORLD_CAMP_ACTIVITY_CAMP_BLACK = 2


class BwWorldCampActivityStageType(betterproto.Enum):
    BwWorldCampActivityStageType0 = 0
    BW_WORLD_CAMP_ACTIVITY_STAGE_WHITE = 1
    BW_WORLD_CAMP_ACTIVITY_STAGE_BLACK = 2
    BW_WORLD_CAMP_ACTIVITY_STAGE_ELITE = 3
    BW_WORLD_CAMP_ACTIVITY_STAGE_BOSS = 4


class BwWorldCampActivityPhase(betterproto.Enum):
    BW_WORLD_CAMP_ACTIVITY_PHASE_NONE = 0
    BW_WORLD_CAMP_ACTIVITY_PHASE_INIT = 1
    BW_WORLD_CAMP_ACTIVITY_PHASE_REVERSE = 2
    BW_WORLD_CAMP_ACTIVITY_PHASE_ELITE = 3
    BW_WORLD_CAMP_ACTIVITY_PHASE_BOSS = 4
    BW_WORLD_CAMP_ACTIVITY_PHASE_AFTER_BOSS = 5


class CmdTypeChapterknight(betterproto.Enum):
    CmdTypeChapterknight0 = 0
    CMD_CHAPTER_KNIGHT_RICH_MAN_GET_DATA_REQ = 8350
    CMD_CHAPTER_KNIGHT_RICH_MAN_GET_DATA_RSP = 8351
    CMD_CHAPTER_KNIGHT_RICH_MAN_GET_RANK_REQ = 8352
    CMD_CHAPTER_KNIGHT_RICH_MAN_GET_RANK_RSP = 8353
    CMD_CHAPTER_KNIGHT_RICH_MAN_GET_MAP_REQ = 8354
    CMD_CHAPTER_KNIGHT_RICH_MAN_GET_MAP_RSP = 8355
    CMD_CHAPTER_KNIGHT_RICH_MAN_BEGIN_MAP_REQ = 8356
    CMD_CHAPTER_KNIGHT_RICH_MAN_BEGIN_MAP_RSP = 8357
    CMD_CHAPTER_KNIGHT_RICH_MAN_END_MAP_REQ = 8358
    CMD_CHAPTER_KNIGHT_RICH_MAN_END_MAP_RSP = 8359
    CMD_CHAPTER_KNIGHT_RICH_MAN_THROW_DICE_REQ = 8360
    CMD_CHAPTER_KNIGHT_RICH_MAN_THROW_DICE_RSP = 8361
    CMD_CHAPTER_KNIGHT_RICH_MAN_FINISH_GAME_REQ = 8362
    CMD_CHAPTER_KNIGHT_RICH_MAN_FINISH_GAME_RSP = 8363
    CMD_CHAPTER_KNIGHT_RICH_MAN_REFRESH_SHOP_REQ = 8364
    CMD_CHAPTER_KNIGHT_RICH_MAN_REFRESH_SHOP_RSP = 8365
    CMD_CHAPTER_KNIGHT_RICH_MAN_BUY_SHOP_GOODS_REQ = 8366
    CMD_CHAPTER_KNIGHT_RICH_MAN_BUY_SHOP_GOODS_RSP = 8367
    CMD_CHAPTER_KNIGHT_RICH_MAN_FINISH_SITE_REQ = 8368
    CMD_CHAPTER_KNIGHT_RICH_MAN_FINISH_SITE_RSP = 8369
    CMD_CHAPTER_KNIGHT_RICH_MAN_USE_CARD_REQ = 8370
    CMD_CHAPTER_KNIGHT_RICH_MAN_USE_CARD_RSP = 8371
    CMD_CHAPTER_KNIGHT_RICH_MAN_LEVEL_UP_BUFF_REQ = 8372
    CMD_CHAPTER_KNIGHT_RICH_MAN_LEVEL_UP_BUFF_RSP = 8373
    CMD_CHAPTER_KNIGHT_RICH_MAN_SELECT_ITEM_REQ = 8374
    CMD_CHAPTER_KNIGHT_RICH_MAN_SELECT_ITEM_RSP = 8375
    CMD_CHAPTER_KNIGHT_RICH_MAN_TRIGGER_EVENT_REQ = 8376
    CMD_CHAPTER_KNIGHT_RICH_MAN_TRIGGER_EVENT_RSP = 8377
    CMD_CHAPTER_KNIGHT_RICH_MAN_GET_ITEM_NOTIFY = 8378
    CMD_CHAPTER_KNIGHT_RICH_MAN_REFRESH_WAIT_SELECT_ITEM_REQ = 8379
    CMD_CHAPTER_KNIGHT_RICH_MAN_REFRESH_WAIT_SELECT_ITEM_RSP = 8380
    CMD_CHAPTER_KNIGHT_RICH_MAN_GET_SHOP_REQ = 8381
    CMD_CHAPTER_KNIGHT_RICH_MAN_GET_SHOP_RSP = 8382
    CMD_CHAPTER_KNIGHT_RICH_MAN_SELECT_INIT_BUFF_REQ = 8383
    CMD_CHAPTER_KNIGHT_RICH_MAN_SELECT_INIT_BUFF_RSP = 8384


class ChapterKnightRichManSiteStatus(betterproto.Enum):
    CHAPTER_KNIGHT_RICH_MAN_SITE_STATUS_NONE = 0
    CHAPTER_KNIGHT_RICH_MAN_SITE_STATUS_FINISH = 1
    CHAPTER_KNIGHT_RICH_MAN_SITE_STATUS_IN_GAME = 2
    CHAPTER_KNIGHT_RICH_MAN_SITE_STATUS_IN_STAGE = 3
    CHAPTER_KNIGHT_RICH_MAN_SITE_STATUS_IN_SHOP = 4
    CHAPTER_KNIGHT_RICH_MAN_SITE_STATUS_WAIT_LEVEL_UP_BUFF = 5
    CHAPTER_KNIGHT_RICH_MAN_SITE_STATUS_WAIT_TRIGGER_EVENT = 6
    CHAPTER_KNIGHT_RICH_MAN_SITE_STATUS_WAIT_SELECT_ITEM = 7
    CHAPTER_KNIGHT_RICH_MAN_SITE_STATUS_WAIT_SELECT_INIT_BUFF = 8


class ChapterKnightRichManSiteType(betterproto.Enum):
    ChapterKnightRichManSiteType0 = 0
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_START = 1
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_SHOP = 2
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_LEVEL_UP = 3
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_STAGE = 4
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_ELITE_STAGE = 5
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_BOSS_STAGE = 6
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_ROLL_EVENT = 7
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_CHOICE_EVENT = 8
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_RANDOM_EVENT = 9
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_GAME = 10
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_SCORE = 11
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_COIN = 12
    CHAPTER_KNIGHT_RICH_MAN_SITE_TYPE_CARD = 13


class ChapterKnightRichManEventType(betterproto.Enum):
    CHAPTER_KNIGHT_RICH_MAN_EVENT_EMPTY = 0
    CHAPTER_KNIGHT_RICH_MAN_EVENT_ALL = 1
    CHAPTER_KNIGHT_RICH_MAN_EVENT_ADD_EFFECT = 2
    CHAPTER_KNIGHT_RICH_MAN_EVENT_RANDOM_ADD_BUFF_WITH_LEVEL = 3
    CHAPTER_KNIGHT_RICH_MAN_EVENT_RANDOM_LEVEL_UP_BUFF = 4
    CHAPTER_KNIGHT_RICH_MAN_EVENT_ADD_COIN = 5
    CHAPTER_KNIGHT_RICH_MAN_EVENT_ADD_COIN_BY_PERCENT = 6
    CHAPTER_KNIGHT_RICH_MAN_EVENT_LOSE_ALL_COIN = 7
    CHAPTER_KNIGHT_RICH_MAN_EVENT_ADD_SCORE = 8
    CHAPTER_KNIGHT_RICH_MAN_EVENT_ADD_SCORE_BY_PERCENT = 9
    CHAPTER_KNIGHT_RICH_MAN_EVENT_RANDOM_ADD_CARD = 10
    CHAPTER_KNIGHT_RICH_MAN_EVENT_ADD_CARD = 11
    CHAPTER_KNIGHT_RICH_MAN_EVENT_LOSE_ALL_CARD = 12
    CHAPTER_KNIGHT_RICH_MAN_EVENT_ADD_COIN_WITH_GAMBLING = 13
    CHAPTER_KNIGHT_RICH_MAN_EVENT_ADD_SCORE_WITH_GAMBLING = 14
    CHAPTER_KNIGHT_RICH_MAN_EVENT_ADD_CARD_WITH_GAMBLING = 15


class ChapterKnightRichManCardType(betterproto.Enum):
    ChapterKnightRichManCardType0 = 0
    CHAPTER_KNIGHT_RICH_MAN_CARD_ADD_EFFECT = 1
    CHAPTER_KNIGHT_RICH_MAN_CARD_ADD_CONTROL_DICE = 2
    CHAPTER_KNIGHT_RICH_MAN_CARD_TRIGGER_RANDOM_EVENT_GROUP = 3
    CHAPTER_KNIGHT_RICH_MAN_CARD_RANDOM_LEVEL_UP_BUFF = 4
    CHAPTER_KNIGHT_RICH_MAN_CARD_RANDOM_ADD_BUFF = 5
    CHAPTER_KNIGHT_RICH_MAN_CARD_ADD_SCORE = 6
    CHAPTER_KNIGHT_RICH_MAN_CARD_ADD_REFRESH_TIMES_AFTER_STAGE = 7


class ChapterKnightRichManEffectType(betterproto.Enum):
    ChapterKnightRichManEffectType0 = 0
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_MORE_COIN_PERCENT_SETTLE_SITE = 1
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_MORE_SCORE_PERCENT_SETTLE_SITE = 2
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_MORE_CARD_PERCENT_SETTLE_SITE = 3
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_NO_COIN_SETTLE_SITE = 4
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_NO_BUFF_SETTLE_SITE = 5
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_NO_CARD_SETTLE_SITE = 6
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_ADD_CONTROL_DICE_MOVE_TIMES = 11
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_ADD_SELF_PERCENT_COIN_NUM_MOVE_TIMES = 12
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_MORE_EVENT_TIMES_EVENT_SITE = 16
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_ADD_SELF_PERCENT_COIN_LOSE_EFFECT = 17
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_SKIP_STAGE = 18
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_HIGHER_BUFF_LEVEL_AFTER_STAGE = 19
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_ADD_SCORE_USE_COIN = 20
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_MORE_COIN_PERCENT_OVERALL = 21
    CHAPTER_KNIGHT_RICH_MAN_EFFECT_SHOP_BUY_PRICE_LOWER_PERCENT = 22


class ChapterKnightRichManBuffGradeType(betterproto.Enum):
    ChapterKnightRichManBuffGradeType0 = 0
    CHAPTER_KNIGHT_RICH_MAN_BUFF_GRADE_CORE = 1
    CHAPTER_KNIGHT_RICH_MAN_BUFF_GRADE_NORMAL = 2
    CHAPTER_KNIGHT_RICH_MAN_BUFF_GRADE_SPECIAL = 3
    CHAPTER_KNIGHT_RICH_MAN_BUFF_GRADE_CONVERT_TO_SCORE = 4


class DealChatgroupInviteReqInviteAction(betterproto.Enum):
    INVITE_NONE = 0
    INVITE_AGREE = 1
    INVITE_REJECT = 2


class CmdTypeChat(betterproto.Enum):
    CmdTypeChat0 = 0
    CMD_CREATE_CHATGROUP_REQ = 2200
    CMD_CREATE_CHATGROUP_RSP = 2201
    CMD_INVITE_CHATGROUP_REQ = 2202
    CMD_INVITE_CHATGROUP_RSP = 2203
    CMD_GET_CHATGROUP_LIST_REQ = 2204
    CMD_GET_CHATGROUP_LIST_RSP = 2205
    CMD_SET_CHATGROUP_REQ = 2206
    CMD_SET_CHATGROUP_RSP = 2207
    CMD_LEAVE_CHATGROUP_REQ = 2208
    CMD_LEAVE_CHATGROUP_RSP = 2209
    CMD_CHATGROUP_SYSTEM_NOTIFY = 2211
    CMD_KICK_CHATGROUP_MEMBER_REQ = 2212
    CMD_KICK_CHATGROUP_MEMBER_RSP = 2213
    CMD_DEAL_CHATGROUP_INVITE_REQ = 2214
    CMD_DEAL_CHATGROUP_INVITE_RSP = 2215
    CMD_INVITE_TO_MULTI_CHATGROUP_REQ = 2216
    CMD_INVITE_TO_MULTI_CHATGROUP_RSP = 2217
    CMD_GET_CHATGROUP_HISTORY_CHAT_MSG_REQ = 2218
    CMD_GET_CHATGROUP_HISTORY_CHAT_MSG_RSP = 2219
    CMD_ENTER_WORLD_CHATROOM_REQ = 2231
    CMD_ENTER_WORLD_CHATROOM_RSP = 2232
    CMD_LEAVE_CHATROOM_NOTIFY = 2233
    CMD_SEND_CHAT_MSG_NOTIFY = 2234
    CMD_RECV_CHAT_MSG_NOTIFY = 2235
    CMD_RECV_OFFLINE_PRIVATE_CHAT_MSG_NOTIFY = 2236
    CMD_GET_HISTORY_PRIVATE_CHAT_MSG_REQ = 2237
    CMD_GET_HISTORY_PRIVATE_CHAT_MSG_RSP = 2238
    CMD_CHAT_CLOSED_NOTIFY = 2239


class ChatgroupSystemNotifyType(betterproto.Enum):
    CHATGROUP_NOTIFY_NONE = 0
    CHATGROUP_NOTIFY_NEW = 1
    CHATGROUP_NOTIFY_JOIN = 2
    CHATGROUP_NOTIFY_LEAVE = 3
    CHATGROUP_NOTIFY_DISSOLVE = 4
    CHATGROUP_NOTIFY_SETTING = 5
    CHATGROUP_NOTIFY_INVITE = 6


class ChatRelationType(betterproto.Enum):
    CHAT_RELATION_TYPE_NONE = 0
    CHAT_RELATION_TYPE_FRIEND = 1
    CHAT_RELATION_TYPE_MASTER_PUPIL = 2


class ChatworldBeastStatus(betterproto.Enum):
    ChatworldBeastStatus0 = 0
    CHALLENGE = 1
    TREASURE = 2


class ChatworldMsgItemChatworldMsgType(betterproto.Enum):
    ChatworldMsgItemChatworldMsgType0 = 0
    STR_MSGa = 1
    ENTER_CHATWORLD = 2
    MOVE_IN_CHATWORLD = 3
    LEAVE_CHATWORLD = 4
    INT_MSG = 5
    CLIENT_MSG = 6
    NORMAL_MSG = 7
    USE_ITEM = 8
    CHANGE_AVATAR = 9
    INTERACT_MSG = 10
    ACTION_MSG = 11
    SEND_RED_ENVELOPE = 12
    RED_ENVELOPE_TAKEN_OVER = 13
    TREASURE_MSG = 14
    SKILL_ATTACK_MSG = 15
    SKILL_DAMAGE_MSG = 16
    PLAYER_REBORN_MSG = 17
    BUFF_MSG = 18
    SKILL_CANCEL_MSG = 20
    PLAYER_BATTLE_MSG = 21
    ENTITY_MSG = 23
    ENTITY_HP_MSG = 24
    CHANGE_ENTER_EFFECT = 25


class ChatworldFishEndReqFishEndStatus(betterproto.Enum):
    FISH_END_SUCC = 0
    FISH_END_WAIT_ASSIST = 1
    FISH_END_FAIL = 2


class ChatworldFishKickPlayerNotifyKickReason(betterproto.Enum):
    KICK_NONE = 0
    KICK_CURRENCY_FULL = 1
    KICK_NO_ACTION = 2


class CmdTypeChatworld(betterproto.Enum):
    CmdTypeChatworld0 = 0
    CMD_ENTER_COMMON_CHATWORLD_REQ = 2400
    CMD_ENTER_COMMON_CHATWORLD_RSP = 2401
    CMD_LEAVE_COMMON_CHATWORLD_REQ = 2402
    CMD_LEAVE_COMMON_CHATWORLD_RSP = 2403
    CMD_SEND_COMMON_CHATWORLD_MSG_NOTIFY = 2404
    CMD_RECV_COMMON_CHATWORLD_MSG_NOTIFY = 2405
    CMD_CHATWORLD_USE_ITEM_REQ = 2407
    CMD_CHATWORLD_USE_ITEM_RSP = 2408
    CMD_CHATWORLD_CHANGE_AVATAR_REQ = 2409
    CMD_CHATWORLD_CHANGE_AVATAR_RSP = 2410
    CMD_GET_CHATWORLD_LIST_REQ = 2411
    CMD_GET_CHATWORLD_LIST_RSP = 2412
    CMD_CHATWORLD_INTERACT_REQ = 2413
    CMD_CHATWORLD_INTERACT_RSP = 2414
    CMD_GET_CHATWORLD_TREASURE_DATA_REQ = 2415
    CMD_GET_CHATWORLD_TREASURE_DATA_RSP = 2416
    CMD_OPEN_CHATWORLD_TREASURE_REQ = 2417
    CMD_OPEN_CHATWORLD_TREASURE_RSP = 2418
    CMD_CHATWORLD_TREASURE_REWARD_NOTIFY = 2419
    CMD_CHATWORLD_SKILL_DAMAGE_JUDGE_REQ = 2420
    CMD_CHATWORLD_SKILL_DAMAGE_JUDGE_RSP = 2421
    CMD_CHATWORLD_BATTLE_USE_ITEM_REQ = 2422
    CMD_CHATWORLD_BATTLE_USE_ITEM_RSP = 2423
    CMD_CHATWORLD_POS_RESET_NOTIFY = 2424
    CMD_CHATWORLD_BATTLE_COLLECT_ITEM_REQ = 2425
    CMD_CHATWORLD_BATTLE_COLLECT_ITEM_RSP = 2426
    CMD_CHATWORLD_GET_ACTIVITY_SCHEDULE_REQ = 2427
    CMD_CHATWORLD_GET_ACTIVITY_SCHEDULE_RSP = 2428
    CMD_CHATWORLD_FISH_JOIN_SPOT_REQ = 2429
    CMD_CHATWORLD_FISH_JOIN_SPOT_RSP = 2430
    CMD_CHATWORLD_FISH_LEAVE_SPOT_REQ = 2431
    CMD_CHATWORLD_FISH_LEAVE_SPOT_RSP = 2432
    CMD_CHATWORLD_FISH_START_REQ = 2433
    CMD_CHATWORLD_FISH_START_RSP = 2434
    CMD_CHATWORLD_FISH_END_REQ = 2435
    CMD_CHATWORLD_FISH_END_RSP = 2436
    CMD_CHATWORLD_FISH_ASSIST_REQ = 2437
    CMD_CHATWORLD_FISH_ASSIST_RSP = 2438
    CMD_CHATWORLD_FISH_LIKE_REQ = 2439
    CMD_CHATWORLD_FISH_LIKE_RSP = 2440
    CMD_CHATWORLD_FISH_REWARD_NOTIFY = 2441
    CMD_CHATWORLD_FISH_CANCEL_WAIT_ASSIST_REQ = 2442
    CMD_CHATWORLD_FISH_CANCEL_WAIT_ASSIST_RSP = 2443
    CMD_CHATWORLD_FISH_KICK_PLAYER_NOTIFY = 2444
    CMD_CHATWORLD_FISH_GET_ACTIVITY_INFO_REQ = 2445
    CMD_CHATWORLD_FISH_GET_ACTIVITY_INFO_RSP = 2446
    CMD_CHATWORLD_GET_PRAY_INFO_REQ = 2451
    CMD_CHATWORLD_GET_PRAY_INFO_RSP = 2452
    CMD_CHATWORLD_PRAY_REQ = 2453
    CMD_CHATWORLD_PRAY_RSP = 2454
    CMD_CHATWORLD_GRANT_REWARD_NOTIFY = 2455
    CMD_CHATWORLD_GET_DISH_INFO_REQ = 2456
    CMD_CHATWORLD_GET_DISH_INFO_RSP = 2457
    CMD_CHATWORLD_TAKE_DISH_REWARD_REQ = 2458
    CMD_CHATWORLD_TAKE_DISH_REWARD_RSP = 2459
    CMD_CHATWORLD_BEAST_ADD_RESULT_NOTIFY = 2460
    CMD_CHATWORLD_BEAST_CHALLENGE_REQ = 2461
    CMD_CHATWORLD_BEAST_CHALLENGE_RSP = 2462
    CMD_CHATWORLD_BEAST_SYNC_REQ = 2463
    CMD_CHATWORLD_BEAST_SYNC_RSP = 2464
    CMD_CHATWORLD_BEAST_GET_ACTIVITY_REQ = 2465
    CMD_CHATWORLD_BEAST_GET_ACTIVITY_RSP = 2466
    CMD_CHATWORLD_BOX_GET_DATA_REQ = 2467
    CMD_CHATWORLD_BOX_GET_DATA_RSP = 2468
    CMD_CHATWORLD_BOX_TAKE_REWARD_REQ = 2469
    CMD_CHATWORLD_BOX_TAKE_REWARD_RSP = 2470
    CMD_CHATWORLD_BEAST_TAKE_TREASURE_REQ = 2471
    CMD_CHATWORLD_BEAST_TAKE_TREASURE_RSP = 2472
    CMD_CHATWORLD_BEAST_ABANDON_CHALLENGE_REQ = 2473
    CMD_CHATWORLD_BEAST_ABANDON_CHALLENGE_RSP = 2474
    CMD_CHATWORLD_GET_CINEMA_INFO_REQ = 2475
    CMD_CHATWORLD_GET_CINEMA_INFO_RSP = 2476
    CMD_CHATWORLD_WOODEN_BOY_ENTER_REQ = 2477
    CMD_CHATWORLD_WOODEN_BOY_ENTER_RSP = 2478
    CMD_CHATWORLD_WOODEN_BOY_LEAVE_REQ = 2479
    CMD_CHATWORLD_WOODEN_BOY_LEAVE_RSP = 2480
    CMD_CHATWORLD_WOODEN_BOY_START_NOTIFY = 2481
    CMD_CHATWORLD_WOODEN_BOY_SETTLE_NOTIFY = 2482
    CMD_CHATWORLD_WOODEN_BOY_UPDATE_STATUS_REQ = 2483
    CMD_CHATWORLD_WOODEN_BOY_UPDATE_STATUS_RSP = 2484
    CMD_CHATWORLD_QUESTION_SETTLE_NOTIFY = 2485
    CMD_CHATWORLD_GET_WISH_INFO_REQ = 2486
    CMD_CHATWORLD_GET_WISH_INFO_RSP = 2487
    CMD_CHATWORLD_DO_WISH_REQ = 2488
    CMD_CHATWORLD_DO_WISH_RSP = 2489
    CMD_CHATWORLD_EXCHANGE_GOODS_REQ = 2492
    CMD_CHATWORLD_EXCHANGE_GOODS_RSP = 2493
    CMD_CHATWORLD_CHANGE_ENTER_EFFECT_REQ = 2494
    CMD_CHATWORLD_CHANGE_ENTER_EFFECT_RSP = 2495
    CMD_CHATWORLD_QCANDY_ACTIVITY_GET_REQ = 2496
    CMD_CHATWORLD_QCANDY_ACTIVITY_GET_RSP = 2497
    CMD_CHATWORLD_DUMMY = 2599


class ChatworldComponentType(betterproto.Enum):
    CHATWORLD_COMPONENT_TYPE_NONE = 0
    CHATWORLD_COMPONENT_TYPE_MOVE = 1
    CHATWORLD_COMPONENT_TYPE_BUFF = 2
    CHATWORLD_COMPONENT_TYPE_SKILL = 3
    CHATWORLD_COMPONENT_TYPE_HEALTH = 4
    CHATWORLD_COMPONENT_TYPE_COLLISION = 5


class ChatworldEntityType(betterproto.Enum):
    CHATWORLD_ENTITY_TYPE_NONE = 0
    CHATWORLD_ENTITY_TYPE_PLAYER = 1
    CHATWORLD_ENTITY_TYPE_SKILL = 2
    CHATWORLD_ENTITY_TYPE_ITEM = 3
    CHATWORLD_ENTITY_TYPE_STANCE = 4
    CHATWORLD_ENTITY_TYPE_FISH = 5
    CHATWORLD_ENTITY_TYPE_QUESTION = 6
    CHATWORLD_ENTITY_TYPE_BEAST = 7
    CHATWORLD_ENTITY_TYPE_BOX = 8
    CHATWORLD_ENTITY_TYPE_WOODEN_BOY = 9


class ChatworldQuestionStatus(betterproto.Enum):
    CHATWORLD_QUESTION_NONE = 0
    CHATWORLD_QUESTION_PREPARE = 1
    CHATWORLD_QUESTION_ANSWER = 2
    CHATWORLD_QUESTION_RESULT = 3
    CHATWORLD_QUESTION_CD = 4


class ChatworldBattleCampTag(betterproto.Enum):
    CHATWORLD_BATTLE_CAMP_TAG_NONE = 0
    CHATWORLD_BATTLE_CAMP_TAG_1 = 1
    CHATWORLD_BATTLE_CAMP_TAG_2 = 2


class ChatworldBattleItemEffectTarget(betterproto.Enum):
    CHATWORLD_BATTLE_ITEM_EFFECT_ALL = 0
    CHATWORLD_BATTLE_ITEM_EFFECT_ENEMY_CAMP = 1
    CHATWORLD_BATTLE_ITEM_EFFECT_SELF_CAMP = 2


class ChatworldFisherStatus(betterproto.Enum):
    CHATWORLD_FISHER_STATUS_NONE = 0
    CHATWORLD_FISHER_STATUS_PREPARE = 1
    CHATWORLD_FISHER_STATUS_START = 2
    CHATWORLD_FISHER_STATUS_END = 3
    CHATWORLD_FISHER_STATUS_WAIT_ASSIST = 4


class ChatworldBoxType(betterproto.Enum):
    CHATWORLD_BOX_TYPE_NONE = 0
    CHATWORLD_BOX_TYPE_REWARD = 1
    CHATWORLD_BOX_TYPE_BATTLE = 2


class ChatworldInteractType(betterproto.Enum):
    CHATWORLD_INTERACT_TYPE_NONE = 0
    CHATWORLD_INTERACT_TYPE_HOLD = 1
    CHATWORLD_INTERACT_TYPE_UNHOLD = 2


class SkillDamageCollisionType(betterproto.Enum):
    SkillDamageCollisionType0 = 0
    SKILL_DAMAGE_COLLISION_TYPE_POINT = 1
    SKILL_DAMAGE_COLLISION_TYPE_CIRCLE = 2
    SKILL_DAMAGE_COLLISION_TYPE_RECT = 3
    SKILL_DAMAGE_COLLISION_TYPE_SECTOR = 4


class ChatworldBuffType(betterproto.Enum):
    CHATWORLD_BUFF_TYPE_NONE = 0
    CHATWORLD_BUFF_TYPE_DAMAGE_FREE = 1
    CHATWORLD_BUFF_TYPE_SPEED = 2


class ChatworldType(betterproto.Enum):
    CHATWORLD_TYPE_NONE = 0
    CHATWORLD_TYPE_PLAIN = 1
    CHATWORLD_TYPE_KINGDOM_WAR = 2
    CHATWORLD_TYPE_BRAWL = 3
    CHATWORLD_TYPE_STANCE = 4
    CHATWORLD_TYPE_SPRING_FESTIVAL = 5


class ChatworldEnterType(betterproto.Enum):
    CHATWORLD_ENTER_TYPE_NONE = 0
    CHATWORLD_ENTER_TYPE_WORLD = 1
    CHATWORLD_ENTER_TYPE_ARMADA = 2


class ChatworldActivityType(betterproto.Enum):
    ChatworldActivityType0 = 0
    CHATWORLD_ACTIVITY_TYPE_MAIN_PAGE_NOTICE = 1
    CHATWORLD_ACTIVITY_TYPE_ACTIVITY_NOTICE = 2
    CHATWORLD_ACTIVITY_TYPE_FIRE_WORKS = 3
    CHATWORLD_ACTIVITY_TYPE_FISH = 4
    CHATWORLD_ACTIVITY_TYPE_PRAY = 5
    CHATWORLD_ACTIVITY_TYPE_QUESTION = 6
    CHATWORLD_ACTIVITY_TYPE_PREPARE = 7
    CHATWORLD_ACTIVITY_TYPE_ARMADA_REUNION = 8
    CHATWORLD_ACTIVITY_TYPE_DISH = 9
    CHATWORLD_ACTIVITY_TYPE_BEAST = 10
    CHATWORLD_ACTIVITY_TYPE_BOX = 11
    CHATWORLD_ACTIVITY_TYPE_PRAY_WITH_ORDER = 12
    CHATWORLD_ACTIVITY_TYPE_CINEMA = 13
    CHATWORLD_ACTIVITY_TYPE_WOODEN_BOY = 14
    CHATWORLD_ACTIVITY_TYPE_QCANDY = 15


class ChatworldFishHardLevel(betterproto.Enum):
    CHATWORLD_FISH_HARD_LEVEL_NONE = 0
    CHATWORLD_FISH_HARD_LEVEL_EASY = 1
    CHATWORLD_FISH_HARD_LEVEL_NORMAL = 2
    CHATWORLD_FISH_HARD_LEVEL_HARD = 3


class FishRewardSrc(betterproto.Enum):
    FISH_REWARD_SRC_NONE = 0
    FISH_REWARD_SRC_NORMAL = 1
    FISH_REWARD_SRC_GET_MISSED = 2
    FISH_REWARD_SRC_ASSIST = 3
    FISH_REWARD_SRC_LIKE = 4


class ChatworldPrayType(betterproto.Enum):
    CHATWORLD_PRAY_TYPE_NONE = 0
    CHATWORLD_PRAY_TYPE_NORMAL = 1
    CHATWORLD_PRAY_TYPE_CHARACTER = 2
    CHATWORLD_PRAY_TYPE_OLD = 3


class DishRewardType(betterproto.Enum):
    DISH_REWARD_TYPE_NONE = 0
    DISH_REWARD_TYPE_PREPARE = 1
    DISH_REWARD_TYPE_DAILY = 2
    DISH_REWARD_TYPE_LIMITED = 3


class ChatwoldBeastLevel(betterproto.Enum):
    ChatwoldBeastLevel0 = 0
    CHATWORLD_BEAST_SENIOR = 1
    CHATWORLD_BEAST_JUNIOR = 2


class ChatworldBeastAwardType(betterproto.Enum):
    ChatworldBeastAwardType0 = 0
    CHATWORLD_BEAST_AWARD_HP_RATIO = 1
    CHATWORLD_BEAST_AWARD_SCORE = 2


class ChatworldWoodenBoyStatus(betterproto.Enum):
    CHATWORLD_WOODEN_BOY_NONE = 0
    CHATWORLD_WOODEN_BOY_PREPARE = 1
    CHATWORLD_WOODEN_BOY_PLAY = 2
    CHATWORLD_WOODEN_BOY_RESULT = 3
    CHATWORLD_WOODEN_BOY_CD = 4


class ChatWorldWishItemType(betterproto.Enum):
    CHATWORLD_WISH_ITEM_NONE = 0
    CHATWORLD_WISH_ITEM_REWARD = 1
    CHATWORLD_WISH_ITEM_AVATAR = 2
    CHATWORLD_WISH_ITEM_ENTER_EFFECT = 3
    CHATWORLD_WISH_ITEM_REDENVELOPE = 4


class ChatWorldGoodsType(betterproto.Enum):
    CHATWORLD_GOODS_NONE = 0
    CHATWORLD_GOODS_AVATAR = 1
    CHATWORLD_GOODS_EFFECT = 2
    CHATWORLD_GOODS_COIN = 3


class ChatWorldGoodsSourceType(betterproto.Enum):
    CHATWORLD_SOURCE_TYPE_NONE = 0
    CHATWORLD_SOURCE_TYPE_EXCHANGE = 1
    CHATWORLD_SOURCE_TYPE_WISH = 2
    CHATWORLD_SOURCE_TYPE_DEFAULT_UNLOCK = 3


class ChatworldAvatarType(betterproto.Enum):
    CHATWORLD_AVATAR_NONE = 0
    CHATWORLD_AVATAR_DORM = 1
    CHATWORLD_AVATAR_QCANDY = 2


class CmdTypeCredit(betterproto.Enum):
    CmdTypeCredit0 = 0
    CMD_CREDIT_REPORT_DATA_REQ = 6000
    CMD_CREDIT_REPORT_DATA_RSP = 6001
    CMD_CREDIT_ACCOUNT_GET_REQ = 6002
    CMD_CREDIT_ACCOUNT_GET_RSP = 6003


class CreditType(betterproto.Enum):
    CREDIT_NONE = 0
    CREDIT_TVT = 1


class CreditBehavior(betterproto.Enum):
    CreditBehavior0 = 0
    CREDIT_UNCONFIRM = 1
    CREDIT_ON_HOOK = 2
    CREDIT_TEAM_MATCH = 3
    CREDIT_WIN = 4
    CREDIT_LOSE = 5
    CREDIT_DAILY_REFRESH = 99


class DevilAutoChessEndGameReqStatus(betterproto.Enum):
    WIN1 = 0
    LOSE1 = 1
    ABANDON1 = 2


class CmdTypeDevilautochess(betterproto.Enum):
    CmdTypeDevilautochess0 = 0
    CMD_DEVIL_AUTO_CHESS_GET_ACTIVITY_REQ = 8200
    CMD_DEVIL_AUTO_CHESS_GET_ACTIVITY_RSP = 8201
    CMD_DEVIL_AUTO_CHESS_ROLE_LEVEL_UP_REQ = 8202
    CMD_DEVIL_AUTO_CHESS_ROLE_LEVEL_UP_RSP = 8203
    CMD_DEVIL_AUTO_CHESS_BEGIN_GAME_REQ = 8204
    CMD_DEVIL_AUTO_CHESS_BEGIN_GAME_RSP = 8205
    CMD_DEVIL_AUTO_CHESS_GET_GAME_REQ = 8206
    CMD_DEVIL_AUTO_CHESS_GET_GAME_RSP = 8207
    CMD_DEVIL_AUTO_CHESS_END_GAME_REQ = 8208
    CMD_DEVIL_AUTO_CHESS_END_GAME_RSP = 8209
    CMD_DEVIL_AUTO_CHESS_REMOVE_CARD_REQ = 8210
    CMD_DEVIL_AUTO_CHESS_REMOVE_CARD_RSP = 8211
    CMD_DEVIL_AUTO_CHESS_REFRESH_TREASURE_POOL_REQ = 8212
    CMD_DEVIL_AUTO_CHESS_REFRESH_TREASURE_POOL_RSP = 8213
    CMD_DEVIL_AUTO_CHESS_REFRESH_CARD_POOL_REQ = 8214
    CMD_DEVIL_AUTO_CHESS_REFRESH_CARD_POOL_RSP = 8215
    CMD_DEVIL_AUTO_CHESS_PROMOTE_CARD_REQ = 8216
    CMD_DEVIL_AUTO_CHESS_PROMOTE_CARD_RSP = 8217
    CMD_DEVIL_AUTO_CHESS_SELECT_TREASURE_REQ = 8218
    CMD_DEVIL_AUTO_CHESS_SELECT_TREASURE_RSP = 8219
    CMD_DEVIL_AUTO_CHESS_SELECT_CARD_REQ = 8220
    CMD_DEVIL_AUTO_CHESS_SELECT_CARD_RSP = 8221
    CMD_DEVIL_AUTO_CHESS_FINISH_WAVE_REQ = 8222
    CMD_DEVIL_AUTO_CHESS_FINISH_WAVE_RSP = 8223
    CMD_DEVIL_AUTO_CHESS_TRIGGER_EVENT_REQ = 8224
    CMD_DEVIL_AUTO_CHESS_TRIGGER_EVENT_RSP = 8225
    CMD_DEVIL_AUTO_CHESS_SWEEP_CHALLENGE_REQ = 8226
    CMD_DEVIL_AUTO_CHESS_SWEEP_CHALLENGE_RSP = 8227
    CMD_DEVIL_AUTO_CHESS_GET_SPECIAL_RANK_REQ = 8228
    CMD_DEVIL_AUTO_CHESS_GET_SPECIAL_RANK_RSP = 8229
    CMD_DEVIL_AUTO_CHESS_GET_WIKI_REQ = 8230
    CMD_DEVIL_AUTO_CHESS_GET_WIKI_RSP = 8231
    CMD_DEVIL_AUTO_CHESS_UNLOCK_ACHIEVEMENT_REQ = 8232
    CMD_DEVIL_AUTO_CHESS_UNLOCK_ACHIEVEMENT_RSP = 8233
    CMD_DEVIL_AUTO_CHESS_UNLOCK_BOND_REQ = 8234
    CMD_DEVIL_AUTO_CHESS_UNLOCK_BOND_RSP = 8235


class DevilAutoChessGameType(betterproto.Enum):
    DevilAutoChessGameType0 = 0
    DEVIL_AUTO_CHESS_GAME_TYPE_STORY = 1
    DEVIL_AUTO_CHESS_GAME_TYPE_CHALLENGE = 2
    DEVIL_AUTO_CHESS_GAME_TYPE_SPECIAL = 3


class DevilAutoChessCollectionType(betterproto.Enum):
    DevilAutoChessCollectionType0 = 0
    DEVIL_AUTO_CHESS_COLLECTION_TYPE_CARD = 1
    DEVIL_AUTO_CHESS_COLLECTION_TYPE_TREASURE = 2
    DEVIL_AUTO_CHESS_COLLECTION_TYPE_ACHIEVEMENT = 3
    DEVIL_AUTO_CHESS_COLLECTION_TYPE_BOND = 4


class DevilAutoChessCardRarity(betterproto.Enum):
    DevilAutoChessCardRarity0 = 0
    DEVIL_AUTO_CHESS_CARD_RARITY_COMMON = 1
    DEVIL_AUTO_CHESS_CARD_RARITY_RARE = 2
    DEVIL_AUTO_CHESS_CARD_RARITY_EPIC = 3
    DEVIL_AUTO_CHESS_CARD_RARITY_LEGENDARY = 4


class DevilAutoChessEventType(betterproto.Enum):
    DevilAutoChessEventType0 = 0
    DEVIL_AUTO_CHESS_EMPTY = 1
    DEVIL_AUTO_CHESS_ADD_CARD = 2
    DEVIL_AUTO_CHESS_REMOVE_CARD = 3
    DEVIL_AUTO_CHESS_REMOVE_TREASURE = 4
    DEVIL_AUTO_CHESS_ADD_PROMOTE = 5
    DEVIL_AUTO_CHESS_ADD_REFRESH = 6
    DEVIL_AUTO_CHESS_ADD_REMOVAL = 7
    DEVIL_AUTO_CHESS_ADD_EPIC_CARD_EXT_WEIGHT = 8
    DEVIL_AUTO_CHESS_SUB_EPIC_CARD_EXT_WEIGHT = 9
    DEVIL_AUTO_CHESS_ADD_LEGENDARY_CARD_EXT_WEIGHT = 10
    DEVIL_AUTO_CHESS_SUB_LEGENDARY_CARD_EXT_WEIGHT = 11
    DEVIL_AUTO_CHESS_ADD_EXT_WAIT_SELECT_CARD_NUM = 12
    DEVIL_AUTO_CHESS_REFERSH_CARD_POOL = 13
    DEVIL_AUTO_CHESS_SUB_PROMOTE = 14
    DEVIL_AUTO_CHESS_SUB_REFRESH = 15
    DEVIL_AUTO_CHESS_SUB_REMOVAL = 16
    DEVIL_AUTO_CHESS_REFERSH_TREASURE_POOL = 17


class DiceyDungeonActivityDungeonEndRspStatus(betterproto.Enum):
    WIN2 = 0
    LOSE2 = 1
    ABANDON2 = 2


class DiceyDungeonActivityRoomEndReqStatus(betterproto.Enum):
    WIN3 = 0
    LOSE3 = 1
    SKIP3 = 2


class CmdTypeDiceydungeon(betterproto.Enum):
    CmdTypeDiceydungeon0 = 0
    CMD_DICEY_DUNGEON_ACTIVITY_GET_DATA_REQ = 6500
    CMD_DICEY_DUNGEON_ACTIVITY_GET_DATA_RSP = 6501
    CMD_DICEY_DUNGEON_ACTIVITY_ROLE_LEVEL_UP_REQ = 6502
    CMD_DICEY_DUNGEON_ACTIVITY_ROLE_LEVEL_UP_RSP = 6503
    CMD_DICEY_DUNGEON_ACTIVITY_DUNGEON_BEGIN_REQ = 6504
    CMD_DICEY_DUNGEON_ACTIVITY_DUNGEON_BEGIN_RSP = 6505
    CMD_DICEY_DUNGEON_ACTIVITY_DUNGEON_END_REQ = 6506
    CMD_DICEY_DUNGEON_ACTIVITY_DUNGEON_END_RSP = 6507
    CMD_DICEY_DUNGEON_ACTIVITY_ROOM_BEGIN_REQ = 6508
    CMD_DICEY_DUNGEON_ACTIVITY_ROOM_BEGIN_RSP = 6509
    CMD_DICEY_DUNGEON_ACTIVITY_ROOM_END_REQ = 6510
    CMD_DICEY_DUNGEON_ACTIVITY_ROOM_END_RSP = 6511
    CMD_DICEY_DUNGEON_ACTIVITY_GET_WEAPON_GACHA_DISPLAY_REQ = 6512
    CMD_DICEY_DUNGEON_ACTIVITY_GET_WEAPON_GACHA_DISPLAY_RSP = 6513
    CMD_DICEY_DUNGEON_ACTIVITY_WEAPON_GACHA_REQ = 6514
    CMD_DICEY_DUNGEON_ACTIVITY_WEAPON_GACHA_RSP = 6515
    CMD_DICEY_DUNGEON_ACTIVITY_SELECT_ORNAMENT_REQ = 6516
    CMD_DICEY_DUNGEON_ACTIVITY_SELECT_ORNAMENT_RSP = 6517
    CMD_DICEY_DUNGEON_ACTIVITY_REFRESH_ORNAMENT_REQ = 6518
    CMD_DICEY_DUNGEON_ACTIVITY_REFRESH_ORNAMENT_RSP = 6519
    CMD_DICEY_DUNGEON_ACTIVITY_GET_DAILY_SCORE_RANK_REQ = 6520
    CMD_DICEY_DUNGEON_ACTIVITY_GET_DAILY_SCORE_RANK_RSP = 6521


class DiceyDungeonType(betterproto.Enum):
    DICEY_DUNGEON_NONE = 0
    DICEY_DUNGEON_STORY = 1
    DICEY_DUNGEON_SCHEDULE = 2
    DICEY_DUNGEON_ENDLESS = 3


class DiceyDungeonRoomType(betterproto.Enum):
    DiceyDungeonRoomType0 = 0
    DICEY_DUNGEON_ROOM_DICEY_BATTLE = 1
    DICEY_DUNGEON_ROOM_AVATAR_BATTLE = 2
    DICEY_DUNGEON_ROOM_ORNAMENT_REWARD = 3
    DICEY_DUNGEON_ROOM_HP_RECOVER = 4
    DICEY_DUNGEON_ROOM_PLOT = 5
    DICEY_DUNGEON_ROOM_BOSS = 6
    DICEY_DUNGEON_ROOM_SKIP = 7


class DiceyDungeonSkillType(betterproto.Enum):
    DICEY_DUNGEON_SKILL_NONE = 0
    DICEY_DUNGEON_SKILL_INITIATIVE = 1
    DICEY_DUNGEON_SKILL_PASSIVE = 2


class DiceyDungeonRoleAttributeType(betterproto.Enum):
    DiceyDungeonRoleAttributeType0 = 0
    DICEY_DUNGEON_ROLE_ATTR_STRENGTH = 1
    DICEY_DUNGEON_ROLE_ATTR_AGILITY = 2
    DICEY_DUNGEON_ROLE_ATTR_INTELLIGENCE = 3


class DiceyDungeonGachaType(betterproto.Enum):
    DiceyDungeonGachaType0 = 0
    DICEY_DUNGEON_GACHA_WEAPON = 1
    DICEY_DUNGEON_GACHA_ORNAMENT_INITIATIVE = 2
    DICEY_DUNGEON_GACHA_ORNAMENT_PASSIVE = 3


class CmdTypeDlc(betterproto.Enum):
    CmdTypeDlc0 = 0
    CMD_GET_DLC_REQ = 3550
    CMD_GET_DLC_RSP = 3551
    CMD_LEVEL_UP_DLC_AVATAR_TALENT_REQ = 3552
    CMD_LEVEL_UP_DLC_AVATAR_TALENT_RSP = 3553
    CMD_EQUIP_DLC_AVATAR_TALENT_REQ = 3554
    CMD_EQUIP_DLC_AVATAR_TALENT_RSP = 3555
    CMD_SYNC_DLC_AVATAR_NOTIFY = 3556
    CMD_MODIFY_DLC_NAME_REQ = 3557
    CMD_MODIFY_DLC_NAME_RSP = 3558
    CMD_GET_DLC_AVATAR_REQ = 3559
    CMD_GET_DLC_AVATAR_RSP = 3560
    CMD_TAKE_DLC_LEVEL_REWARD_REQ = 3561
    CMD_TAKE_DLC_LEVEL_REWARD_RSP = 3562
    CMD_DLC_TOWER_STAGE_BEGIN_REQ = 3563
    CMD_DLC_TOWER_STAGE_BEGIN_RSP = 3564
    CMD_DLC_TOWER_STAGE_END_REQ = 3565
    CMD_DLC_TOWER_STAGE_END_RSP = 3566
    CMD_DLC_AVATAR_REVIVE_REQ = 3569
    CMD_DLC_AVATAR_REVIVE_RSP = 3570
    CMD_GET_DLC_TOWER_RANK_REQ = 3571
    CMD_GET_DLC_TOWER_RANK_RSP = 3572
    CMD_TAKE_DLC_RANK_REWARD_NOTIFY = 3573
    CMD_GET_DLC_TOWER_REQ = 3574
    CMD_GET_DLC_TOWER_RSP = 3575
    CMD_RESET_DLC_TOWER_PROGRESS_REQ = 3576
    CMD_RESET_DLC_TOWER_PROGRESS_RSP = 3577
    CMD_FINISH_DLC_DIALOG_REQ = 3578
    CMD_FINISH_DLC_DIALOG_RSP = 3579
    CMD_REFRESH_DLC_TALENT_AFFIX_REQ = 3580
    CMD_REFRESH_DLC_TALENT_AFFIX_RSP = 3581
    CMD_SELECT_DLC_TALENT_AFFIX_REQ = 3584
    CMD_SELECT_DLC_TALENT_AFFIX_RSP = 3585
    CMD_UNLOCK_DLC_PHOTO_REQ = 3586
    CMD_UNLOCK_DLC_PHOTO_RSP = 3587
    CMD_SWITCH_DLC_AVATAR_TALENT_REQ = 3588
    CMD_SWITCH_DLC_AVATAR_TALENT_RSP = 3589
    CMD_REPORT_DLC_DROP_ITEM_REQ = 3590
    CMD_REPORT_DLC_DROP_ITEM_RSP = 3591


class DLCSupportType(betterproto.Enum):
    DLCSupportType0 = 0
    DLC_SUPPORT_TYPE_COLLECTION = 1
    DLC_SUPPORT_TYPE_STAGE_BEGIN = 2
    DLC_SUPPORT_TYPE_STORY = 3
    DLC_SUPPORT_TYPE_DIALOG = 4
    DLC_SUPPORT_TYPE_QUEST = 5


class DLCTalentType(betterproto.Enum):
    DLC_TALENT_TYPE_NONE = 0
    DLC_TALENT_TYPE_AUTO = 1
    DLC_TALENT_TYPE_ACTIVE = 2
    DLC_TALENT_TYPE_PASSIVE = 3
    DLC_TALENT_TYPE_REFRESHABLE = 4


class DLCAvatarReviveType(betterproto.Enum):
    DLC_AVATAR_REVIVE_TYPE_NONE = 0
    DLC_AVATAR_REVIVE_TYPE_DLC_TOWER = 1
    DLC_AVATAR_REVIVE_TYPE_DLC_STAGE = 2
    DLC_AVATAR_REVIVE_TYPE_OUTER_STAGE = 3
    DLC_AVATAR_REVIVE_TYPE_DLC_OW = 4


class DLCAvatarReviveCostType(betterproto.Enum):
    DLC_AVATAR_REVIVE_COST_TYPE_NONE = 0
    DLC_AVATAR_REVIVE_COST_TYPE_REVIVE_COIN = 1
    DLC_AVATAR_REVIVE_COST_TYPE_COIN = 2


class CmdTypeElf(betterproto.Enum):
    CmdTypeElf0 = 0
    CMD_GET_ELF_DATA_REQ = 2100
    CMD_GET_ELF_DATA_RSP = 2101
    CMD_SYNC_ELF_DATA_NOTIFY = 2102
    CMD_SYNC_ELF_FRAGMENT_NOTIFY = 2103
    CMD_ELF_STAR_UP_REQ = 2105
    CMD_ELF_STAR_UP_RSP = 2106
    CMD_ADD_ELF_EXP_BY_MATERIAL_REQ = 2107
    CMD_ADD_ELF_EXP_BY_MATERIAL_RSP = 2108
    CMD_ELF_FRAGMENT_TRANSFORM_REQ = 2121
    CMD_ELF_FRAGMENT_TRANSFORM_RSP = 2122
    CMD_ELF_SKILL_LEVEL_UP_REQ = 2123
    CMD_ELF_SKILL_LEVEL_UP_RSP = 2124
    CMD_ELF_TAKE_COMPENSATION_REQ = 2125
    CMD_ELF_TAKE_COMPENSATION_RSP = 2126


class ElfType(betterproto.Enum):
    ELF_TYPE_NONE = 0
    ELF_TYPE_ELF = 1
    ELF_TYPE_ASTRA_MATE = 2
    ELF_TYPE_ASTRA_MATE_HERO = 3


class ElfSkillSystemType(betterproto.Enum):
    ELF_SKILL_SYSTEM_TYPE_NONE = 0
    ELF_SKILL_SYSTEM_TYPE_ELF_SKILL = 1
    ELF_SKILL_SYSTEM_TYPE_ASTRA_SKILL = 2


class OpenworldEndlessWarInfoType(betterproto.Enum):
    NONE = 0
    SET_TRAP = 1
    TRIGGER_TRAP = 2
    SCENE_GEAR = 3
    INVASION = 4
    INVASION_SUB_SCORE = 5
    FINISH_INVASION = 6


class CmdTypeEndless(betterproto.Enum):
    CmdTypeEndless0 = 0
    CMD_GET_LAST_ENDLESS_REWARD_DATA_REQ = 3406
    CMD_GET_LAST_ENDLESS_REWARD_DATA_RSP = 3407
    CMD_TAKE_ENDLESS_BASE_REWARD_REQ = 3417
    CMD_TAKE_ENDLESS_BASE_REWARD_RSP = 3418
    CMD_GET_OPENWORLD_ENDLESS_DATA_REQ = 3419
    CMD_GET_OPENWORLD_ENDLESS_DATA_RSP = 3420
    CMD_OPENWORLD_ENDLESS_ITEM_UPDATE_NOTIFY = 3421
    CMD_USE_OPENWORLD_ENDLESS_ITEM_REQ = 3422
    CMD_USE_OPENWORLD_ENDLESS_ITEM_RSP = 3423
    CMD_FINISH_OPENWORLD_ENDLESS_MONSTER_GROUP_REQ = 3424
    CMD_FINISH_OPENWORLD_ENDLESS_MONSTER_GROUP_RSP = 3425
    CMD_GET_OPENWORLD_ENDLESS_STAGE_INNER_DATA_REQ = 3426
    CMD_GET_OPENWORLD_ENDLESS_STAGE_INNER_DATA_RSP = 3427
    CMD_TRIGGER_OPENWORLD_ENDLESS_TRAP_REQ = 3428
    CMD_TRIGGER_OPENWORLD_ENDLESS_TRAP_RSP = 3429
    CMD_FINISH_OPENWORLD_ENDLESS_INVASION_MONSTER_REQ = 3430
    CMD_FINISH_OPENWORLD_ENDLESS_INVASION_MONSTER_RSP = 3431
    CMD_GET_ENDLESS_STATUS_REQ = 3432
    CMD_GET_ENDLESS_STATUS_RSP = 3433
    CMD_REPORT_OPENWORLD_ENDLESS_DATA_REQ = 3434
    CMD_REPORT_OPENWORLD_ENDLESS_DATA_RSP = 3435
    CMD_OPENWORLD_ENDLESS_BATTLE_BEGIN_REQ = 3438
    CMD_OPENWORLD_ENDLESS_BATTLE_BEGIN_RSP = 3439
    CMD_OPENWORLD_ENDLESS_BATTLE_END_REQ = 3440
    CMD_OPENWORLD_ENDLESS_BATTLE_END_RSP = 3441
    CMD_OPENWORLD_ENDLESS_WAR_INFO_NOTIFY = 3442
    CMD_GET_OPENWORLD_ENDLESS_PLAYER_WAR_INFO_REQ = 3443
    CMD_GET_OPENWORLD_ENDLESS_PLAYER_WAR_INFO_RSP = 3444
    CMD_OPENWORLD_ENDLESS_PLAYER_UPDATE_NOTIFY = 3445
    CMD_GET_OPENWORLD_ENDLESS_TOP_GROUP_REQ = 3446
    CMD_GET_OPENWORLD_ENDLESS_TOP_GROUP_RSP = 3447
    CMD_SET_OPENWORLD_ENDLESS_MONSTER_GROUP_PROGRESS_REQ = 3448
    CMD_SET_OPENWORLD_ENDLESS_MONSTER_GROUP_PROGRESS_RSP = 3449
    CMD_OPENWORLD_ENDLESS_CHANGE_AVATAR_REQ = 3450
    CMD_OPENWORLD_ENDLESS_CHANGE_AVATAR_RSP = 3451
    CMD_ENDLESS_IN_SETTLE_NOTIFY = 3452
    CMD_GREEDY_ENDLESS_ENROLL_REQ = 3453
    CMD_GREEDY_ENDLESS_ENROLL_RSP = 3454
    CMD_GREEDY_ENDLESS_REPORT_FLOOR_END_REQ = 3455
    CMD_GREEDY_ENDLESS_REPORT_FLOOR_END_RSP = 3456
    CMD_GREEDY_ENDLESS_FLOOR_REWARD_NOTIFY = 3457
    CMD_GREEDY_ENDLESS_GET_RANK_REQ = 3458
    CMD_GREEDY_ENDLESS_GET_RANK_RSP = 3459
    CMD_GREEDY_ENDLESS_TAKE_RANK_REWARD_REQ = 3460
    CMD_GREEDY_ENDLESS_TAKE_RANK_REWARD_RSP = 3461
    CMD_ENDLESS_SELECT_TYPE_REQ = 3462
    CMD_ENDLESS_SELECT_TYPE_RSP = 3463
    CMD_GREEDY_ENDLESS_REPORT_FLOOR_BEGIN_REQ = 3464
    CMD_GREEDY_ENDLESS_REPORT_FLOOR_BEGIN_RSP = 3465


class OpenworldEndlessItemType(betterproto.Enum):
    OpenworldEndlessItemType0 = 0
    OPENWORLD_ENDLESS_ITEM_INVASION = 1
    OPENWORLD_ENDLESS_ITEM_BUFF = 2
    OPENWORLD_ENDLESS_ITEM_TRAP = 3
    OPENWORLD_ENDLESS_ITEM_COUNTER = 4
    OPENWORLD_ENDLESS_ITEM_CONSUME = 5
    OPENWORLD_ENDLESS_ITEM_TRAP_BUFF = 6


class OpenworldEndlessInvasionBuffConditionType(betterproto.Enum):
    OpenworldEndlessInvasionBuffConditionType0 = 0
    INVASION_BUFF_CONDITION_TOTAL_LEVEL = 1
    INVASION_BUFF_CONDITION_NUM_LEVEL = 2
    INVASION_BUFF_CONDITION_NUM_LEVEL_ATTRIBUTE = 3
    INVASION_BUFF_CONDITION_NUM_LEVEL_ALL_ATTRIBUTE = 4
    INVASION_BUFF_CONDITION_NUM_CLASS = 5
    INVASION_BUFF_CONDITION_ID_STAR_LEVEL = 6


class OpenworldEndlessDataType(betterproto.Enum):
    OpenworldEndlessDataType0 = 0
    OPENWORLD_ENDLESS_DATA_TYPE_INVAISON = 1
    OPENWORLD_ENDLESS_DATA_TYPE_SCENE_GEAR = 2


class GreedyEndlessFloorType(betterproto.Enum):
    GreedyEndlessFloorType0 = 0
    GREEDY_ENDLESS_FLOOR_DEMOTE = 1
    GREEDY_ENDLESS_FLOOR_NORMAL = 2
    GREEDY_ENDLESS_FLOOR_PROMOTE = 3


class CmdTypeEquipforge(betterproto.Enum):
    CmdTypeEquipforge0 = 0
    CMD_GET_EQUIPMENT_FORGE_DATA_REQ = 3650
    CMD_GET_EQUIPMENT_FORGE_DATA_RSP = 3651
    CMD_FORGE_EQUIPMENT_REQ = 3652
    CMD_FORGE_EQUIPMENT_RSP = 3653
    CMD_EXTRACT_EQUIPMENT_REQ = 3654
    CMD_EXTRACT_EQUIPMENT_RSP = 3655
    CMD_REFORGE_EQUIPMENT_REQ = 3657
    CMD_REFORGE_EQUIPMENT_RSP = 3658
    CMD_GET_EXTRACT_REFORGE_ACTIVITY_REQ = 3659
    CMD_GET_EXTRACT_REFORGE_ACTIVITY_RSP = 3660
    CMD_GET_EQUIPMENT_BACK_REQ = 3661
    CMD_GET_EQUIPMENT_BACK_RSP = 3662
    CMD_BACK_EQUIPMENT_REQ = 3663
    CMD_BACK_EQUIPMENT_RSP = 3664


class EquipmentForgeType(betterproto.Enum):
    EquipmentForgeType0 = 0
    EQUIPMENT_FORGE_TIMES = 1
    EQUIPMENT_FORGE_PACKAGE_NUM = 2


class EquipmentForgeRefreshType(betterproto.Enum):
    EQUIPMENT_FORGE_REFRESH_NONE = 0
    EQUIPMENT_FORGE_REFRESH_SCHEDULE = 1
    EQUIPMENT_FORGE_REFRESH_DAILY = 2


class GachaProtectDisplayInfoProtectDisplayType(betterproto.Enum):
    NO_DISPLAY = 0
    AVATAR_DISPLAY = 1
    EQUIP_DISPLAY = 2


class CustomGachaDataProtectDisplayType(betterproto.Enum):
    NO_DISPLAY1 = 0
    AVATAR_DISPLAY1 = 1
    EQUIP_DISPLAY1 = 2


class CmdTypeGacha(betterproto.Enum):
    CmdTypeGacha0 = 0
    CMD_GACHA_REQ = 4700
    CMD_GACHA_RSP = 4701
    CMD_GET_GACHA_DISPLAY_REQ = 4702
    CMD_GET_GACHA_DISPLAY_RSP = 4703
    CMD_BUY_GACHA_TICKET_REQ = 4704
    CMD_BUY_GACHA_TICKET_RSP = 4705
    CMD_GET_GACHA_LOG_REQ = 4706
    CMD_GET_GACHA_LOG_RSP = 4707
    CMD_GET_GACHA_PROB_REQ = 4708
    CMD_GET_GACHA_PROB_RSP = 4709
    CMD_WISH_WELL_REQ = 4710
    CMD_WISH_WELL_RSP = 4711
    CMD_BUY_CONTROLLABLE_BOX_GACHA_TICKET_REQ = 4712
    CMD_BUY_CONTROLLABLE_BOX_GACHA_TICKET_RSP = 4713
    CMD_TAKE_GACHA_EX_REWARD_REQ = 4714
    CMD_TAKE_GACHA_EX_REWARD_RSP = 4715
    CMD_CHOOSE_OPTIONAL_GACHA_REQ = 4716
    CMD_CHOOSE_OPTIONAL_GACHA_RSP = 4717
    CMD_SELECT_CONTROLLABLE_BOX_GACHA_SELECTABLE_GROUP_ITEM_REQ = 4718
    CMD_SELECT_CONTROLLABLE_BOX_GACHA_SELECTABLE_GROUP_ITEM_RSP = 4719
    CMD_UNIQUE_GACHA_UPDATE_ITEM_POOL_REQ = 4722
    CMD_UNIQUE_GACHA_UPDATE_ITEM_POOL_RSP = 4723


class GachaUniqueType(betterproto.Enum):
    GACHA_UNIQUE_NONE = 0
    GACHA_UNIQUE_WEAPON = 1
    GACHA_UNIQUE_STIGMATA = 2
    GACHA_UNIQUE_EQUIP = 3


class GachaProtectType(betterproto.Enum):
    GACHA_PROTECT_NONE = 0
    GACHA_PROTECT_UP = 1
    GACHA_PROTECT_NO_UP = 2


class GachaAdventureConditionType(betterproto.Enum):
    GACHA_ADVENTURE_CONDITION_NONE = 0
    GACHA_ADVENTURE_CONDITION_CONDITION_ID = 1
    GACHA_ADVENTURE_CONDITION_ITEM_ID = 2


class GachaFreeType(betterproto.Enum):
    GACHA_FREE_NONE = 0
    GACHA_FREE_ONE_PULL = 1
    GACHA_FREE_TEN_PULLS = 2


class GachaExRewardDisplayType(betterproto.Enum):
    GACHA_EX_REWARD_DISPLAY_NONE = 0
    GACHA_EX_REWARD_DISPLAY_BRIEF = 1
    GACHA_EX_REWARD_DISPLAY_DETAIL = 2
    GACHA_EX_REWARD_DISPLAY_SHINING = 3


class AdventureSubGroupType(betterproto.Enum):
    ADVENTURE_SUB_GROUP_NORMAL = 0
    ADVENTURE_SUB_GROUP_S_AVATAR = 1
    ADVENTURE_SUB_GROUP_A_AVATAR = 2


class CmdTypeGeneralactivity(betterproto.Enum):
    CmdTypeGeneralactivity0 = 0
    CMD_GENERAL_ACTIVITY_SCORE_REWARD_NOTIFY = 4000
    CMD_GENERAL_ACTIVITY_GET_SCORE_REWARD_INFO_REQ = 4001
    CMD_GENERAL_ACTIVITY_GET_SCORE_REWARD_INFO_RSP = 4002
    CMD_GENERAL_ACTIVITY_GET_SCHEDULE_REQ = 4003
    CMD_GENERAL_ACTIVITY_GET_SCHEDULE_RSP = 4004
    CMD_GENERAL_ACTIVITY_GET_MAIN_INFO_REQ = 4005
    CMD_GENERAL_ACTIVITY_GET_MAIN_INFO_RSP = 4006
    CMD_GENERAL_ACTIVITY_GET_RANK_REQ = 4007
    CMD_GENERAL_ACTIVITY_GET_RANK_RSP = 4008
    CMD_PUSH_TOWER_ACTIVTIY_TAKE_STAGE_REWARD_REQ = 4009
    CMD_PUSH_TOWER_ACTIVTIY_TAKE_STAGE_REWARD_RSP = 4010
    CMD_PUSH_TOWER_ACTIVTIY_TAKE_CLEAR_REWARD_REQ = 4011
    CMD_PUSH_TOWER_ACTIVTIY_TAKE_CLEAR_REWARD_RSP = 4012
    CMD_GENERAL_ACTIVITY_STAGE_EXCHANGE_ENTER_TIMES_REQ = 4030
    CMD_GENERAL_ACTIVITY_STAGE_EXCHANGE_ENTER_TIMES_RSP = 4031
    CMD_GENERAL_ACTIVITY_STAGE_TAKE_STAGE_REWARD_REQ = 4032
    CMD_GENERAL_ACTIVITY_STAGE_TAKE_STAGE_REWARD_RSP = 4033
    CMD_TAKE_GENERAL_ACTIVITY_SCORE_REWARD_REQ = 4034
    CMD_TAKE_GENERAL_ACTIVITY_SCORE_REWARD_RSP = 4035
    CMD_GENERAL_ACTIVITY_STAGE_TAKE_STAGE_GROUP_REWARD_REQ = 4036
    CMD_GENERAL_ACTIVITY_STAGE_TAKE_STAGE_GROUP_REWARD_RSP = 4037
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_FINISH_FLOOR_REQ = 4038
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_FINISH_FLOOR_RSP = 4039
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_RESET_REQ = 4040
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_RESET_RSP = 4041
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_BATTLE_BEGIN_REQ = 4042
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_BATTLE_BEGIN_RSP = 4043
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_BATTLE_END_REQ = 4044
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_BATTLE_END_RSP = 4045
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_TAKE_ITEM_REQ = 4046
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_TAKE_ITEM_RSP = 4047
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_USE_ITEM_REQ = 4048
    CMD_ENDLESS_SINGLE_MODE_ACTIVITY_USE_ITEM_RSP = 4049
    CMD_GENERAL_ACTIVITY_GET_STAGE_RANK_REQ = 4052
    CMD_GENERAL_ACTIVITY_GET_STAGE_RANK_RSP = 4053
    CMD_CRISIS_MODE_ACTIVITY_TAKE_STAGE_REWARD_REQ = 4056
    CMD_CRISIS_MODE_ACTIVITY_TAKE_STAGE_REWARD_RSP = 4057
    CMD_GENERAL_ACTIVITY_TAKE_TICKET_REQ = 4060
    CMD_GENERAL_ACTIVITY_TAKE_TICKET_RSP = 4061
    CMD_BOSS_CHALLENGE_ACTIVITY_GET_STAGE_RANK_REQ = 4062
    CMD_BOSS_CHALLENGE_ACTIVITY_GET_STAGE_RANK_RSP = 4063
    CMD_FRONT_ENDLESS_ACTIVITY_BATTLE_BEGIN_REQ = 4064
    CMD_FRONT_ENDLESS_ACTIVITY_BATTLE_BEGIN_RSP = 4065
    CMD_FRONT_ENDLESS_ACTIVITY_BATTLE_END_REQ = 4066
    CMD_FRONT_ENDLESS_ACTIVITY_BATTLE_END_RSP = 4067
    CMD_GENERAL_ACTIVITY_DUMMY = 4099


class GeneralActivityRankType(betterproto.Enum):
    GENERAL_ACTIVITY_RANK_TYPE_NONE = 0
    GENERAL_ACTIVITY_RANK_TYPE_ABS = 1
    GENERAL_ACTIVITY_RANK_TYPE_PERCENT = 2


class GeneralActivityRankSettleType(betterproto.Enum):
    GENERAL_ACTIVITY_RANK_SETTLE_TYPE_DEFAULT = 0
    GENERAL_ACTIVITY_RANK_SETTLE_TYPE_ACTIVITY = 1


class GeneralActivityPreCondType(betterproto.Enum):
    GENERAL_ACTIVITY_PRE_COND_TYPE_NONE = 0
    GENERAL_ACTIVITY_PRE_COND_TYPE_SCORE = 1


class GeneralActivityStageAvatarBonusType(betterproto.Enum):
    GENERAL_ACTIVITY_STAGE_AVATAR_BONUS_NONE = 0
    GENERAL_ACTIVITY_STAGE_AVATAR_BONUS_ONCE = 1
    GENERAL_ACTIVITY_STAGE_AVATAR_BONUS_ALL = 2


class EndlessSingleModeActivityType(betterproto.Enum):
    ENDLESS_SINGLE_MODE_ACTIVITY_TYPE_NONE = 0
    ENDLESS_SINGLE_MODE_ACTIVITY_TYPE_NORMAL = 1
    ENDLESS_SINGLE_MODE_ACTIVITY_TYPE_OW = 2


class GeneralActivityTicketRefreshType(betterproto.Enum):
    GENERAL_ACTIVITY_TICKET_REFRESH_NONE = 0
    GENERAL_ACTIVITY_TICKET_REFRESH_DAILY = 1
    GENERAL_ACTIVITY_TICKET_REFRESH_WEEKLY = 2


class CmdTypeGlobalexplore(betterproto.Enum):
    CmdTypeGlobalexplore0 = 0
    CMD_GLOBAL_EXPLORE_GET_ACTIVITY_REQ = 6900
    CMD_GLOBAL_EXPLORE_GET_ACTIVITY_RSP = 6901
    CMD_GLOBAL_EXPLORE_NOTIFY = 6902
    CMD_GLOBAL_EXPLORE_MOVE_REQ = 6903
    CMD_GLOBAL_EXPLORE_MOVE_RSP = 6904
    CMD_GLOBAL_EXPLORE_INTERACT_REQ = 6905
    CMD_GLOBAL_EXPLORE_INTERACT_RSP = 6906
    CMD_GLOBAL_EXPLORE_ACTION_REQ = 6907
    CMD_GLOBAL_EXPLORE_ACTION_RSP = 6908


class GlobalExploreFlagType(betterproto.Enum):
    GlobalExploreFlagType0 = 0
    GLOBAL_EXPLORE_FLAG_MATERIAL_NUM = 1
    GLOBAL_EXPLORE_FLAG_CUR_GRID = 2
    GLOBAL_EXPLORE_FLAG_ENTITY_INACTIVE = 3
    GLOBAL_EXPLORE_FLAG_ENTITY_ACTIVE = 4
    GLOBAL_EXPLORE_FLAG_STAGE_COMPLETED = 5
    GLOBAL_EXPLORE_FLAG_MISSION_COMPLETED = 6
    GLOBAL_EXPLORE_FLAG_GRID_ADJACENT = 7
    GLOBAL_EXPLORE_FLAG_QUEST_STATUS = 8
    GLOBAL_EXPLORE_FLAG_WITHOUT_MATERIAL = 9


class GlobalExploreEventType(betterproto.Enum):
    GlobalExploreEventType0 = 0
    GLOBAL_EXPLORE_EVENT_DICE = 1
    GLOBAL_EXPLORE_EVENT_DROP_MATERIAL = 2
    GLOBAL_EXPLORE_EVENT_REPLACE_ENTITY = 3
    GLOBAL_EXPLORE_EVENT_DESTROY_ENTITY = 4
    GLOBAL_EXPLORE_EVENT_TELEPORT_RANDOM = 5
    GLOBAL_EXPLORE_EVENT_CHANGE_GRID = 6
    GLOBAL_EXPLORE_EVENT_ACCEPT_QUEST = 7
    GLOBAL_EXPLORE_EVENT_TELEPORT_SPECIFIC = 8
    GLOBAL_EXPLORE_EVENT_RECOVER_STAMINA = 9
    GLOBAL_EXPLORE_EVENT_ENTER_STAGE = 10
    GLOBAL_EXPLORE_EVENT_ADD_QUEST_PROGRESS = 11
    GLOBAL_EXPLORE_EVENT_CHANGE_GRID_RANDOM = 12
    GLOBAL_EXPLORE_EVENT_DROP_MATERIAL_RANDOM = 13
    GLOBAL_EXPLORE_EVENT_CREATE_ENTITY_RANDOM = 14
    GLOBAL_EXPLORE_EVENT_MOVE_CAMERA = 15
    GLOBAL_EXPLORE_EVENT_TEXT_MAP_HINT = 16
    GLOBAL_EXPLORE_EVENT_TRIGGER_PLOT = 17
    GLOBAL_EXPLORE_EVENT_START_TUTORIAL = 18
    GLOBAL_EXPLORE_EVENT_ZOOM_MAP = 19


class GlobalExploreHintType(betterproto.Enum):
    GLOBAL_EXPLORE_HINT_NONE = 0
    GLOBAL_EXPLORE_HINT_COIN = 1
    GLOBAL_EXPLORE_HINT_INVISIBLE_REWARD = 2
    GLOBAL_EXPLORE_HINT_COMPLETE_QUEST = 3


class GlobalExploreActionType(betterproto.Enum):
    GLOBAL_EXPLORE_ACTION_NONE = 0
    GLOBAL_EXPLORE_ACTION_DICE = 1
    GLOBAL_EXPLORE_ACTION_EXCHANGE = 2
    GLOBAL_EXPLORE_ACTION_BATTLE = 3
    GLOBAL_EXPLORE_ACTION_TELEPORT = 4
    GLOBAL_EXPLORE_ACTION_AREA_TELEPORT = 5
    GLOBAL_EXPLORE_ACTION_ACCEPT_QUEST = 6
    GLOBAL_EXPLORE_ACTION_USE_HAMMER = 7
    GLOBAL_EXPLORE_ACTION_USE_SPADE = 8


class GlobalExploreEntityType(betterproto.Enum):
    GlobalExploreEntityType0 = 0
    GLOBAL_EXPLORE_ENTITY_REWARD = 1
    GLOBAL_EXPLORE_ENTITY_DICE = 2
    GLOBAL_EXPLORE_ENTITY_STAGE = 3
    GLOBAL_EXPLORE_ENTITY_PLOT = 4
    GLOBAL_EXPLORE_ENTITY_TELEPORT = 5
    GLOBAL_EXPLORE_ENTITY_EVENT = 6


class GlobalExploreEntityCriticalType(betterproto.Enum):
    GlobalExploreEntityCriticalType0 = 0
    GLOBAL_EXPLORE_ENTITY_CRITICAL_STAGE = 1001
    GLOBAL_EXPLORE_ENTITY_CRITICAL_QUEST = 1002
    GLOBAL_EXPLORE_ENTITY_CRITICAL_WATCHTOWER = 1003
    GLOBAL_EXPLORE_ENTITY_CRITICAL_BOSS = 1005


class GlobalExploreQuestType(betterproto.Enum):
    GlobalExploreQuestType0 = 0
    GLOBAL_EXPLORE_QUEST_EXPLORE = 1
    GLOBAL_EXPLORE_QUEST_MOVE_PATH = 2
    GLOBAL_EXPLORE_QUEST_PASS_STAGE = 3
    GLOBAL_EXPLORE_QUEST_ADD_MATERIAL = 4
    GLOBAL_EXPLORE_QUEST_FINISH_QUEST = 100


class GlobalExploreQuestStatus(betterproto.Enum):
    GlobalExploreQuestStatus0 = 0
    GLOBAL_EXPLORE_QUEST_DOING = 1
    GLOBAL_EXPLORE_QUEST_CLOSE = 2


class GlobalExplorePoolType(betterproto.Enum):
    GLOBAL_EXPLORE_POOL_WITH_REPLACEMENT = 0
    GLOBAL_EXPLORE_POOL_WITHOUT_REPLACEMENT = 1
    GLOBAL_EXPLORE_POOL_CYCLE = 2


class GlobalExplorePoolContentType(betterproto.Enum):
    GlobalExplorePoolContentType0 = 0
    GLOBAL_EXPLORE_POOL_CONTENT_EVENT = 1
    GLOBAL_EXPLORE_POOL_CONTENT_QUEST = 2
    GLOBAL_EXPLORE_POOL_CONTENT_ENTITY = 3


class GlobalExploreMoveType(betterproto.Enum):
    GlobalExploreMoveType0 = 0
    GLOBAL_EXPLORE_MOVE_WALK = 1
    GLOBAL_EXPLORE_MOVE_TELEPORT = 2
    GLOBAL_EXPLORE_EVENT_TELEPORT = 3
    GLOBAL_EXPLORE_GM_TELEPORT = 4


class GlobalExploreBleedingType(betterproto.Enum):
    GlobalExploreBleedingType0 = 0
    GLOBAL_EXPLORE_BLEEDING_POINT = 1
    GLOBAL_EXPLORE_BLEEDING_BOSS = 2


class CmdTypeGlobalwar(betterproto.Enum):
    CmdTypeGlobalwar0 = 0
    CMD_GET_GLOBAL_WAR_ACTIVITY_REQ = 3950
    CMD_GET_GLOBAL_WAR_ACTIVITY_RSP = 3951
    CMD_GLOBAL_WAR_TAKE_POINT_REWARD_REQ = 3952
    CMD_GLOBAL_WAR_TAKE_POINT_REWARD_RSP = 3953
    CMD_GLOBAL_WAR_ADD_CURRENCY_NOTIFY = 3954
    CMD_GLOBAL_WAR_EXCHANGE_CURRENCY_REQ = 3955
    CMD_GLOBAL_WAR_EXCHANGE_CURRENCY_RSP = 3956
    CMD_GLOBAL_WAR_GET_RANK_REQ = 3957
    CMD_GLOBAL_WAR_GET_RANK_RSP = 3958
    CMD_GLOBAL_WAR_TAKE_SWEEP_REWARD_REQ = 3959
    CMD_GLOBAL_WAR_TAKE_SWEEP_REWARD_RSP = 3960
    CMD_GLOBAL_WAR_DUMMY = 3999


class GlobalWarPointType(betterproto.Enum):
    GLOBAL_WAR_POINT_TYPE_NONE = 0
    GLOBAL_WAR_POINT_TYPE_NORMAL = 1
    GLOBAL_WAR_POINT_TYPE_CRITICAL = 2
    GLOBAL_WAR_POINT_TYPE_BOSS = 3


class GlobalWarPointRankType(betterproto.Enum):
    GLOBAL_WAR_POINT_RANK_NONE = 0
    GLOBAL_WAR_POINT_RANK_CURRENCY = 1
    GLOBAL_WAR_POINT_RANK_SCORE = 2


class GlobalWarPointStatus(betterproto.Enum):
    GLOBAL_WAR_POINT_STATUS_NONE = 0
    GLOBAL_WAR_POINT_STATUS_LOCKED = 1
    GLOBAL_WAR_POINT_STATUS_ACTIVE = 2
    GLOBAL_WAR_POINT_STATUS_CLOSE = 3


class GlobalWarIsolatePointStatus(betterproto.Enum):
    GLOBAL_WAR_ISOLATE_POINT_STATUS_NONE = 0
    GLOBAL_WAR_ISOLATE_POINT_STATUS_LOCKED = 1
    GLOBAL_WAR_ISOLATE_POINT_STATUS_ACTIVE = 2
    GLOBAL_WAR_ISOLATE_POINT_STATUS_CLOSE = 3


class GlobalWarStageType(betterproto.Enum):
    GLOBAL_WAR_STAGE_FOR_NONE = 0
    GLOBAL_WAR_STAGE_FOR_POINT = 1
    GLOBAL_WAR_STAGE_FOR_ISOLATE_POINT = 2


class ResetGodWarChallengeReqResetChannel(betterproto.Enum):
    ResetGodWarChallengeReqResetChannel0 = 0
    USER_OPERATION = 1
    FORCE_SETTLE = 2


class GodWarEventInfoEventSettleStatus(betterproto.Enum):
    EFFECT = 0
    FLAG_NOT_VALID = 1
    SETTLE_FAIL = 2
    SETTLE_REPEATED = 3
    TALE_NOT_FOUND = 4
    TRIGGER_PARAM_NOT_VALID = 5
    CANDIDATE_EMPTY = 6
    FORCE_SETTLE1 = 7


class GodWarGoodsGoodsType(betterproto.Enum):
    GOODS_TYPE_NONE = 0
    GOODS_TYPE_BUFF = 1
    GOODS_TYPE_LEVEL_UP_BUFF = 2


class CmdTypeGodwar(betterproto.Enum):
    CmdTypeGodwar0 = 0
    CMD_GET_GOD_WAR_REQ = 6150
    CMD_GET_GOD_WAR_RSP = 6151
    CMD_SELECT_GOD_WAR_CHALLENGE_AVATAR_REQ = 6152
    CMD_SELECT_GOD_WAR_CHALLENGE_AVATAR_RSP = 6153
    CMD_CHANGE_GOD_WAR_CHALLENGE_SUPPORT_AVATAR_REQ = 6154
    CMD_CHANGE_GOD_WAR_CHALLENGE_SUPPORT_AVATAR_RSP = 6155
    CMD_SYNC_GOD_WAR_TALE_NOTIFY = 6156
    CMD_RESET_GOD_WAR_CHALLENGE_REQ = 6157
    CMD_RESET_GOD_WAR_CHALLENGE_RSP = 6158
    CMD_GOD_WAR_EVENT_NOTIFY = 6160
    CMD_TRIGGER_GOD_WAR_EVENT_REQ = 6161
    CMD_TRIGGER_GOD_WAR_EVENT_RSP = 6162
    CMD_REFRESH_GOD_WAR_TELEPORT_EVENT_REQ = 6163
    CMD_REFRESH_GOD_WAR_TELEPORT_EVENT_RSP = 6164
    CMD_SELECT_GOD_WAR_BUFF_REQ = 6170
    CMD_SELECT_GOD_WAR_BUFF_RSP = 6171
    CMD_LEVELUP_GOD_WAR_TALENT_REQ = 6172
    CMD_LEVELUP_GOD_WAR_TALENT_RSP = 6173
    CMD_TAKE_GOD_WAR_TALENT_SUPPORT_LEVEL_REWARD_NOTIFY = 6176
    CMD_ADD_GOD_WAR_ROLE_RELATION_EXP_REQ = 6177
    CMD_ADD_GOD_WAR_ROLE_RELATION_EXP_RSP = 6178
    CMD_LEVELUP_GOD_WAR_ROLE_RELATION_REQ = 6179
    CMD_LEVELUP_GOD_WAR_ROLE_RELATION_RSP = 6180
    CMD_TAKE_GOD_WAR_ROLE_RELATION_LEVEL_REWARD_REQ = 6181
    CMD_TAKE_GOD_WAR_ROLE_RELATION_LEVEL_REWARD_RSP = 6182
    CMD_GET_GOD_WAR_TALE_SHOP_REQ = 6183
    CMD_GET_GOD_WAR_TALE_SHOP_RSP = 6184
    CMD_BUY_GOD_WAR_SHOP_GOODS_REQ = 6185
    CMD_BUY_GOD_WAR_SHOP_GOODS_RSP = 6186
    CMD_TAKE_GOD_WAR_ROLE_STORY_REWARD_REQ = 6187
    CMD_TAKE_GOD_WAR_ROLE_STORY_REWARD_RSP = 6188
    CMD_REFRESH_GOD_WAR_TICKET_REQ = 6189
    CMD_REFRESH_GOD_WAR_TICKET_RSP = 6190
    CMD_PREDICT_GOD_WAR_EVENT_REQ = 6191
    CMD_PREDICT_GOD_WAR_EVENT_RSP = 6192
    CMD_REFRESH_GOD_WAR_BUFF_EVENT_REQ = 6193
    CMD_REFRESH_GOD_WAR_BUFF_EVENT_RSP = 6194
    CMD_GET_GOD_WAR_ROLE_REQ = 6195
    CMD_GET_GOD_WAR_ROLE_RSP = 6196
    CMD_GET_GOD_WAR_TELEPORT_EVENT_REQ = 6197
    CMD_GET_GOD_WAR_TELEPORT_EVENT_RSP = 6198
    CMD_SWITCH_GOD_WAR_CHAPTER_REQ = 6199
    CMD_SWITCH_GOD_WAR_CHAPTER_RSP = 6200
    CMD_GET_GOD_WAR_LOBBY_REQ = 6201
    CMD_GET_GOD_WAR_LOBBY_RSP = 6202
    CMD_FINISH_GOD_WAR_LOBBY_ACTION_REQ = 6203
    CMD_FINISH_GOD_WAR_LOBBY_ACTION_RSP = 6204
    CMD_REFRESH_GOD_WAR_SHOP_GOODS_REQ = 6205
    CMD_REFRESH_GOD_WAR_SHOP_GOODS_RSP = 6206
    CMD_SKIP_GOD_WAR_STORY_NODE_REQ = 6207
    CMD_SKIP_GOD_WAR_STORY_NODE_RSP = 6208
    CMD_REFRESH_GOD_WAR_GACHA_REQ = 6209
    CMD_REFRESH_GOD_WAR_GACHA_RSP = 6210
    CMD_GOD_WAR_DUMMY = 6299


class GodWarEffectConditionType(betterproto.Enum):
    GodWarEffectConditionType0 = 0
    GOD_WAR_EFFECT_CONDITION_CURRENT = 1
    GOD_WAR_EFFECT_CONDITION_SNAPSHOT_SHOP = 2


class GodWarInitBuffLevelType(betterproto.Enum):
    GOD_WAR_INIT_BUFF_LEVEL_NONE = 0
    GOD_WAR_INIT_BUFF_LEVEL_SETTLED = 1
    GOD_WAR_INIT_BUFF_LEVEL_ALL = 2


class GodWarEffectType(betterproto.Enum):
    GodWarEffectType0 = 0
    GOD_WAR_EFFECT_ABILITY = 1
    GOD_WAR_EFFECT_ADD_TELEPORT_REFRESH_TIMES = 3
    GOD_WAR_EFFECT_MATERIAL_EVENT_ADD_RATIO = 4
    GOD_WAR_EFFECT_ADD_INIT_COIN_NUM = 5
    GOD_WAR_EFFECT_BUFF_GOODS_DISCOUNT = 6
    GOD_WAR_EFFECT_LEVELUP_BUFF_GOODS_DISCOUNT = 7
    GOD_WAR_EFFECT_ADD_BUFF_POOL_QUALITY = 10
    GOD_WAR_EFFECT_ADD_SHOP_BUFF_GOODS_NUM = 11
    GOD_WAR_EFFECT_ADD_SHOP_LEVELUP_BUFF_GOODS_NUM = 12
    GOD_WAR_EFFECT_ADD_REVIVE_TIMES = 13
    GOD_WAR_EFFECT_REVIVE_HP_SP_PERCENT = 14
    GOD_WAR_EFFECT_ADD_BUFF_SUIT_INIT_LEVEL = 15
    GOD_WAR_EFFECT_SHOP_SPECIAL_DISCOUNT = 16
    GOD_WAR_EFFECT_MATERIAL_EVENT_SUB_RATIO = 17
    GOD_WAR_EFFECT_ADD_SPECIFIED_NUM_BUFF_INIT_LEVEL = 18
    GOD_WAR_EFFECT_SPECIFIED_QUALITY_BUFF_GOODS_DISCOUNT = 19
    GOD_WAR_EFFECT_SPECIFIED_QUALITY_LEVEL_UP_BUFF_GOODS_DISCOUNT = 20
    GOD_WAR_EFFECT_ADD_TELEPORT_REFRESH_TIMES_BY_OVERALL = 21
    GOD_WAR_EFFECT_ADD_GACHA_REFRESH_TIMES_BY_OVERALL = 22
    GOD_WAR_EFFECT_ADD_BUFF_REFRESH_TIMES = 23


class GodWarBuffQualityType(betterproto.Enum):
    GodWarBuffQualityType0 = 0
    GOD_WAR_BUFF_QUALITY_BASE = 1
    GOD_WAR_BUFF_QUALITY_CORE_ARTIFACT = 2
    GOD_WAR_BUFF_QUALITY_CORE = 3
    GOD_WAR_BUFF_QUALITY_AVATAR_SPECIAL = 4


class GodWarSiteStatus(betterproto.Enum):
    GOD_WAR_SITE_STATUS_INVALID = 0
    GOD_WAR_SITE_STATUS_HIDE = 1
    GOD_WAR_SITE_STATUS_SHOW = 2
    GOD_WAR_SITE_STATUS_UNLOCKED = 3
    GOD_WAR_SITE_STATUS_CLOSED = 4


class GodWarSiteType(betterproto.Enum):
    GodWarSiteType0 = 0
    GOD_WAR_SITE_TYPE_NORMAL = 1
    GOD_WAR_SITE_TYPE_REST = 2
    GOD_WAR_SITE_TYPE_BOSS = 3
    GOD_WAR_SITE_TYPE_FINAL_BOSS = 4
    GOD_WAR_SITE_TYPE_ALLEVIATION = 5


class GodWarOverallRefreshType(betterproto.Enum):
    GOD_WAR_OVERALL_REFRESH_NONE = 0
    GOD_WAR_OVERALL_REFRESH_DAILY = 1
    GOD_WAR_OVERALL_REFRESH_WEEKLY = 2


class GodWarBitmapType(betterproto.Enum):
    GodWarBitmapType0 = 0
    GOD_WAR_BITMAP_EVENT = 1
    GOD_WAR_BITMAP_NO_REPEAT_SETTLE_EVENT = 2


class GodWarBonusType(betterproto.Enum):
    GodWarBonusType0 = 0
    GOD_WAR_BONUS_APPEND = 1
    GOD_WAR_BONUS_ADD = 2
    GOD_WAR_BONUS_REFRESH = 3


class GodWarRoleType(betterproto.Enum):
    GOD_WAR_ROLE_NONE = 0
    GOD_WAR_ROLE_MEMORY_DEPRECATED = 1
    GOD_WAR_ROLE_AVATAR = 2
    GOD_WAR_ROLE_MEMORY = 3


class GodWarFlagOperator(betterproto.Enum):
    GOD_WAR_FLAG_OPERATOR_INVALID = 0
    GOD_WAR_FLAG_OPERATOR_AND = 1
    GOD_WAR_FLAG_OPERATOR_OR = 2
    GOD_WAR_FLAG_OPERATOR_NOT = 3
    GOD_WAR_FLAG_OPERATOR_EQ = 4
    GOD_WAR_FLAG_OPERATOR_GT = 5
    GOD_WAR_FLAG_OPERATOR_LT = 6
    GOD_WAR_FLAG_OPERATOR_COUNT_GE = 7
    GOD_WAR_FLAG_OPERATOR_SUM_GE = 8
    GOD_WAR_FLAG_OPERATOR_COUNT_LT = 9
    GOD_WAR_FLAG_OPERATOR_SUM_LT = 10
    GOD_WAR_FLAG_OPERATOR_COUNT_EQ = 11
    GOD_WAR_FLAG_OPERATOR_SUM_EQ = 12


class GodWarFlagType(betterproto.Enum):
    GodWarFlagType0 = 0
    GOD_WAR_FLAG_GROUP = 1
    GOD_WAR_FLAG_OVERALL = 2
    GOD_WAR_FLAG_AVATAR = 3
    GOD_WAR_FLAG_BUFF = 4
    GOD_WAR_FLAG_CUR_SITE = 5
    GOD_WAR_FLAG_CUR_SITE_TYPE = 6
    GOD_WAR_FLAG_EXTRA_ITEM = 7
    GOD_WAR_FLAG_SETTLE_EVENT = 8
    GOD_WAR_FLAG_PUNISH_LEVEL = 9
    GOD_WAR_FLAG_PUNISH_BUFF = 10
    GOD_WAR_FLAG_MISSION_FINISH = 11
    GOD_WAR_FLAG_LOBBY_NPC = 12
    GOD_WAR_FLAG_BITMAP = 13
    GOD_WAR_FLAG_CUR_TALE = 14
    GOD_WAR_FLAG_STAGE_TAG = 15
    GOD_WAR_FLAG_MISSION_STATUS = 16
    GOD_WAR_FLAG_SHOPPING_COST = 17
    GOD_WAR_FLAG_BUFF_LEVEL = 18
    GOD_WAR_FLAG_ALLEVIATION = 19
    GOD_WAR_FLAG_MATERIAL_NUM = 1002
    GOD_WAR_FLAG_TALENT_LEVEL = 1003
    GOD_WAR_FLAG_TALENT_TOTAL_LEVEL = 1004
    GOD_WAR_FLAG_TALENT_UNLOCK_NUM = 1005
    GOD_WAR_FLAG_ROLE_RELATION_LEVEL = 1006
    GOD_WAR_FLAG_SUPPORT_LEVEL = 1007


class GodWarEventSourceType(betterproto.Enum):
    GodWarEventSourceType0 = 0
    GOD_WAR_EVENT_SOURCE_NORMAL = 1
    GOD_WAR_EVENT_SOURCE_SITE_ENTER = 2
    GOD_WAR_EVENT_SOURCE_SITE_BUFF = 3
    GOD_WAR_EVENT_SOURCE_SHOP_RECOVER = 4
    GOD_WAR_EVENT_SOURCE_SHOP_CHANGE_STATE = 5
    GOD_WAR_EVENT_SOURCE_ALLEVIATION_TELEPORT = 6
    GOD_WAR_EVENT_SOURCE_ALLEVIATION_START = 7


class GodWarWeightType(betterproto.Enum):
    GodWarWeightType0 = 0
    GOD_WAR_WEIGHT_NUM = 1
    GOD_WAR_WEIGHT_OVERALL = 2


class GodWarEventType(betterproto.Enum):
    GodWarEventType0 = 0
    GOD_WAR_EVENT_RANDOM_STAGE_ONCE = 1
    GOD_WAR_EVENT_RANDOM_PLOT_ONCE = 2
    GOD_WAR_EVENT_RANDOM_REWARD_ONCE = 3
    GOD_WAR_EVENT_BUFF = 4
    GOD_WAR_EVENT_ENTER_SITE = 5
    GOD_WAR_EVENT_TELEPORT = 6
    GOD_WAR_EVENT_FIXED_STAGE = 7
    GOD_WAR_EVENT_FIXED_PLOT = 8
    GOD_WAR_EVENT_FIXED_REWARD = 9
    GOD_WAR_EVENT_SAVE = 10
    GOD_WAR_EVENT_OVERALL_ADD = 11
    GOD_WAR_EVENT_OVERALL_SUB = 12
    GOD_WAR_EVENT_OVERALL_SET = 13
    GOD_WAR_EVENT_PREDICT = 14
    GOD_WAR_EVENT_SHOP = 15
    GOD_WAR_EVENT_DROP_MATERIAL = 16
    GOD_WAR_EVENT_UNLOCK_COLLECTION = 17
    GOD_WAR_EVENT_STAGE_EXIT = 18
    GOD_WAR_EVENT_DROP_EFFECT_MATERIAL = 19
    GOD_WAR_EVENT_SYNC_LOBBY = 20
    GOD_WAR_EVENT_REFRESH_LOBBY = 21
    GOD_WAR_EVENT_CHANGE_STATE = 22
    GOD_WAR_EVENT_SCORE = 23
    GOD_WAR_EVENT_PANEL = 24
    GOD_WAR_EVENT_DROP_SCORE_COIN = 25
    GOD_WAR_EVENT_RANDOM_PLOT_REPLACEMENT = 26
    GOD_WAR_EVENT_TELEPORT_OVERALL = 27
    GOD_WAR_EVENT_OVERALL_ADD_IMMEDIATE = 28
    GOD_WAR_EVENT_OVERALL_SUB_IMMEDIATE = 29
    GOD_WAR_EVENT_OVERALL_SET_IMMEDIATE = 30
    GOD_WAR_EVENT_OVERALL_ADD_LOBBY = 31
    GOD_WAR_EVENT_OVERALL_SUB_LOBBY = 32
    GOD_WAR_EVENT_OVERALL_SET_LOBBY = 33
    GOD_WAR_EVENT_AVATAR_HP_ADD = 34
    GOD_WAR_EVENT_AVATAR_HP_SUB = 35
    GOD_WAR_EVENT_AVATAR_HP_SET = 36
    GOD_WAR_EVENT_CREATE_LOBBY_NPC = 37
    GOD_WAR_EVENT_TELEPORT_GROUP = 38
    GOD_WAR_EVENT_FORCE_END = 39
    GOD_WAR_EVENT_FORK = 40
    GOD_WAR_EVENT_APPEND_NPC_ACTION = 41
    GOD_WAR_EVENT_REMOVE_NPC = 42
    GOD_WAR_EVENT_DROP_COIN = 43
    GOD_WAR_EVENT_DROP_EFFECT_COIN = 44
    GOD_WAR_EVENT_OVERALL_SET_CLIENT = 45
    GOD_WAR_EVENT_OVERALL_SET_CLIENT_IMMEDIATE = 46
    GOD_WAR_EVENT_COST_COIN = 47
    GOD_WAR_EVENT_COST_EFFECT_COIN = 48
    GOD_WAR_EVENT_TALE_OVERALL_ADD_IMMEDIATE = 49
    GOD_WAR_EVENT_TALE_OVERALL_SUB_IMMEDIATE = 50
    GOD_WAR_EVENT_TALE_OVERALL_SET_IMMEDIATE = 51
    GOD_WAR_EVENT_BONUS = 52
    GOD_WAR_EVENT_TELEPORT_RECOVER = 53
    GOD_WAR_EVENT_ALLEVIATION_BUFF = 54
    GOD_WAR_EVENT_ALLEVIATION_ENTER_FLOOR = 55
    GOD_WAR_EVENT_ALLEVIATION_TELEPORT = 56
    GOD_WAR_EVENT_TRIGGER_EVENT_GROUP = 99
    GOD_WAR_EVENT_TRIGGER_EVENT_GROUP_UNIQUE = 100
    GOD_WAR_EVENT_RANDOM_TRIGGER_EVENT_ONCE = 101
    GOD_WAR_EVENT_RANDOM_TRIGGER_EVENT_REPLACEMENT = 102
    GOD_WAR_EVENT_RANDOM_TRIGGER_EVENT_WITHOUT_REPLACEMENT = 103
    GOD_WAR_EVENT_GACHA_RANDOM_SEED_TRIGGER_EVENT_REPLACEMENT = 104


class GodWarEventRandomType(betterproto.Enum):
    GodWarEventRandomType0 = 0
    GOD_WAR_EVENT_RANDOM_STAGE = 1
    GOD_WAR_EVENT_RANDOM_PLOT = 2
    GOD_WAR_EVENT_RANDOM_REWARD = 3
    GOD_WAR_EVENT_RANDOM_BUFF = 4
    GOD_WAR_EVENT_RANDOM_TELEPORT = 5
    GOD_WAR_EVENT_RANDOM_LOBBY = 6
    GOD_WAR_EVENT_RANDOM_MATERIAL = 7
    GOD_WAR_EVENT_RANDOM_TRIGGER = 8


class GodWarEventCacheType(betterproto.Enum):
    GodWarEventCacheType0 = 0
    GOD_WAR_EVENT_CACHE_REWARD = 1
    GOD_WAR_EVENT_CACHE_OVERALL = 2
    GOD_WAR_EVENT_CACHE_MATERIAL = 3
    GOD_WAR_EVENT_CACHE_SCORE = 4
    GOD_WAR_EVENT_CACHE_LOBBY_NPC = 5
    GOD_WAR_EVENT_CACHE_COIN = 6


class GodWarTriggerType(betterproto.Enum):
    GOD_WAR_TRIGGER_NORMAL = 0
    GOD_WAR_TRIGGER_STAGE_REPORT = 1
    GOD_WAR_TRIGGER_NPC_ACTION = 2
    GOD_WAR_TRIGGER_OVERALL_REPORT = 3
    GOD_WAR_TRIGGER_ALLEVIATION_TELEPORT = 4


class GodWarMaterialType(betterproto.Enum):
    GodWarMaterialType0 = 0
    GOD_WAR_MATERIAL_CHALLENGE_COIN = 1
    GOD_WAR_MATERIAL_AVATAR_EXP = 2
    GOD_WAR_MATERIAL_ROLE_GIFT = 3
    GOD_WAR_MATERIAL_TALENT_POINT = 4
    GOD_WAR_MATERIAL_AVATAR_UNLOCK = 5
    GOD_WAR_MATERIAL_SUPPORT_AVATAR_UNLOCK = 6
    GOD_WAR_MATERIAL_DECORATION_UNLOCK = 7
    GOD_WAR_MATERIAL_ROLE_UPGRADE = 8
    GOD_WAR_MATERIAL_AVATAR_UPGRADE = 9


class GodWarRefreshTicketType(betterproto.Enum):
    GodWarRefreshTicketType0 = 0
    GOD_WAR_REFRESH_TICKET_WEEK_DAY = 1


class GodWarTaleType(betterproto.Enum):
    GodWarTaleType0 = 0
    GOD_WAR_TALE_STORY_CHALLENGE = 1
    GOD_WAR_TALE_AVATAR_CHALLENGE = 2
    GOD_WAR_TALE_WEEKLY_CHALLENGE = 3
    GOD_WAR_TALE_LOBBY = 4


class GodWarNpcType(betterproto.Enum):
    GOD_WAR_NPC_NONE = 0
    GOD_WAR_NPC_MAIN_LINE = 1
    GOD_WAR_NPC_BRANCH_LINE = 2


class GodWarSupportAvatarSlotLimitLevel(betterproto.Enum):
    GodWarSupportAvatarSlotLimitLevel0 = 0
    GOD_WAR_SUPPORT_AVATAR_SLOT_SPECIFIC = 1
    GOD_WAR_SUPPORT_AVATAR_SLOT_NORMAL = 2
    GOD_WAR_SUPPORT_AVATAR_SLOT_LOCK = 3


class GodWarDataSourceType(betterproto.Enum):
    GodWarDataSourceType0 = 0
    GOD_WAR_DATA_SOURCE_CUR_TALE = 1
    GOD_WAR_DATA_SOURCE_SPECIFIC_TALE = 2


class GourmetHuntStopExploreReqEndStatus(betterproto.Enum):
    WIN4 = 0
    TIMEOUT = 1
    DEAD = 2
    EXIT = 3


class CmdTypeGourmethunt(betterproto.Enum):
    CmdTypeGourmethunt0 = 0
    CMD_GOURMET_HUNT_GET_ACTIVITY_REQ = 8150
    CMD_GOURMET_HUNT_GET_ACTIVITY_RSP = 8151
    CMD_GOURMET_HUNT_LEVEL_UP_REQ = 8152
    CMD_GOURMET_HUNT_LEVEL_UP_RSP = 8153
    CMD_GOURMET_HUNT_UNLOCK_WEAPON_MODULE_REQ = 8154
    CMD_GOURMET_HUNT_UNLOCK_WEAPON_MODULE_RSP = 8155
    CMD_GOURMET_HUNT_UNLOCK_FURNITURE_REQ = 8156
    CMD_GOURMET_HUNT_UNLOCK_FURNITURE_RSP = 8157
    CMD_GOURMET_HUNT_START_MANAGEMENT_REQ = 8158
    CMD_GOURMET_HUNT_START_MANAGEMENT_RSP = 8159
    CMD_GOURMET_HUNT_STOP_MANAGEMENT_REQ = 8160
    CMD_GOURMET_HUNT_STOP_MANAGEMENT_RSP = 8161
    CMD_GOURMET_HUNT_START_EXPLORE_REQ = 8162
    CMD_GOURMET_HUNT_START_EXPLORE_RSP = 8163
    CMD_GOURMET_HUNT_STOP_EXPLORE_REQ = 8164
    CMD_GOURMET_HUNT_STOP_EXPLORE_RSP = 8165
    CMD_GOURMET_HUNT_OPEN_TREASURE_REQ = 8166
    CMD_GOURMET_HUNT_OPEN_TREASURE_RSP = 8167
    CMD_GOURMET_HUNT_TRIGGER_TELEPORT_REQ = 8168
    CMD_GOURMET_HUNT_TRIGGER_TELEPORT_RSP = 8169
    CMD_GOURMET_HUNT_KILL_BOSS_REQ = 8170
    CMD_GOURMET_HUNT_KILL_BOSS_RSP = 8171
    CMD_GOURMET_HUNT_ENTER_ROOM_REQ = 8172
    CMD_GOURMET_HUNT_ENTER_ROOM_RSP = 8173
    CMD_GOURMET_HUNT_GET_RANK_REQ = 8174
    CMD_GOURMET_HUNT_GET_RANK_RSP = 8175
    CMD_GOURMET_HUNT_TRIGGER_ENTITY_REQ = 8176
    CMD_GOURMET_HUNT_TRIGGER_ENTITY_RSP = 8177
    CMD_GOURMET_HUNT_DAILY_STAMINA_RECOVERY_NOTIFY = 8178
    CMD_GOURMET_HUNT_BUILD_BRANCH_STORE_REQ = 8179
    CMD_GOURMET_HUNT_BUILD_BRANCH_STORE_RSP = 8180
    CMD_GOURMET_HUNT_OPEN_BRANCH_STORE_REQ = 8181
    CMD_GOURMET_HUNT_OPEN_BRANCH_STORE_RSP = 8182


class GourmetHuntFurnitureType(betterproto.Enum):
    GOURMET_HUNT_FURNITURE_TYPE_NONE = 0
    GOURMET_HUNT_FURNITURE_TYPE_NORMAL = 1
    GOURMET_HUNT_FURNITURE_TYPE_TABLE = 2
    GOURMET_HUNT_FURNITURE_TYPE_INGREDIENT_BOX = 3
    GOURMET_HUNT_FURNITURE_TYPE_STAMINA_BOX = 4


class GourmetHuntEntityType(betterproto.Enum):
    GOURMET_HUNT_ENTITY_TYPE_NONE = 0
    GOURMET_HUNT_ENTITY_TYPE_ENV_DESTRUCTIBLE = 1
    GOURMET_HUNT_ENTITY_TYPE_TREASURE_BOX = 2
    GOURMET_HUNT_ENTITY_TYPE_TELEPORT = 3
    GOURMET_HUNT_ENTITY_TYPE_MONSTER_ALTAR = 4
    GOURMET_HUNT_ENTITY_TYPE_HIDDEN_WALL = 5
    GOURMET_HUNT_ENTITY_TYPE_OPTICAL_CABLE = 6
    GOURMET_HUNT_ENTITY_TYPE_CONTROLLER = 7


class GourmetHuntMonsterType(betterproto.Enum):
    GOURMET_HUNT_MONSTER_TYPE_NONE = 0
    GOURMET_HUNT_MONSTER_TYPE_NORMAL_MONSTER = 1
    GOURMET_HUNT_MONSTER_TYPE_BOSS = 2
    GOURMET_HUNT_MONSTER_TYPE_ALTAR_TOKEN = 3
    GOURMET_HUNT_MONSTER_TYPE_CHALLENGE_MONSTER = 4


class GourmetHuntMapType(betterproto.Enum):
    GOURMET_HUNT_MAP_TYPE_NONE = 0
    GOURMET_HUNT_MAP_TYPE_STORE = 1
    GOURMET_HUNT_MAP_TYPE_EXPLORE = 2
    GOURMET_HUNT_MAP_TYPE_CHALLENGE = 3


class GourmetHuntIdentityType(betterproto.Enum):
    GOURMET_HUNT_IDENTITY_TYPE_NONE = 0
    GOURMET_HUNT_IDENTITY_TYPE_WAITER = 1
    GOURMET_HUNT_IDENTITY_TYPE_CHEF = 2
    GOURMET_HUNT_IDENTITY_TYPE_MANAGER = 3


class GratuityStageMessageMessageType(betterproto.Enum):
    MESSAGE_NONE = 0
    MESSAGE_MONSTER_DAMAGE = 1


class CmdTypeGratuity(betterproto.Enum):
    CmdTypeGratuity0 = 0
    CMD_GET_GRATUITY_ACTIVITY_REQ = 4100
    CMD_GET_GRATUITY_ACTIVITY_RSP = 4101
    CMD_ACCEPT_GRATUITY_STAGE_REQ = 4102
    CMD_ACCEPT_GRATUITY_STAGE_RSP = 4103
    CMD_ASSIST_GRATUITY_STAGE_REQ = 4104
    CMD_ASSIST_GRATUITY_STAGE_RSP = 4105
    CMD_CANCEL_GRATUITY_STAGE_REQ = 4106
    CMD_CANCEL_GRATUITY_STAGE_RSP = 4107
    CMD_GET_GRATUITY_BATTLE_HISTORY_REQ = 4108
    CMD_GET_GRATUITY_BATTLE_HISTORY_RSP = 4109
    CMD_SYNC_GRATUITY_STAGE_REQ = 4112
    CMD_SYNC_GRATUITY_STAGE_RSP = 4113
    CMD_PUBLISH_GRATUITY_STAGE_REQ = 4114
    CMD_PUBLISH_GRATUITY_STAGE_RSP = 4115
    CMD_GET_GRATUITY_STAGE_LIST_REQ = 4116
    CMD_GET_GRATUITY_STAGE_LIST_RSP = 4117
    CMD_REJECT_GRATUITY_STAGE_REQ = 4118
    CMD_REJECT_GRATUITY_STAGE_RSP = 4119
    CMD_GRATUITY_STAGE_INVITE_NOTIFY = 4120
    CMD_GRATUITY_STAGE_FINISH_NOTIFY = 4121


class GratuityAcceptType(betterproto.Enum):
    GRATUITY_ACCEPT_NONE = 0
    GRATUITY_ACCEPT_FREE = 1
    GRATUITY_ACCEPT_ACTIVITY = 2


class CmdTypeKingdom(betterproto.Enum):
    CmdTypeKingdom0 = 0
    CMD_GET_KINGDOM_WAR_REQ = 3050
    CMD_GET_KINGDOM_WAR_RSP = 3051
    CMD_KINGDOM_WAR_MOVE_REQ = 3052
    CMD_KINGDOM_WAR_MOVE_RSP = 3053
    CMD_KINGDOM_WAR_VOTE_REQ = 3054
    CMD_KINGDOM_WAR_VOTE_RSP = 3055
    CMD_KINGDOM_WAR_GET_RANK_REQ = 3058
    CMD_KINGDOM_WAR_GET_RANK_RSP = 3059
    CMD_KINGDOM_WAR_TAKE_DAILY_REWARD_REQ = 3060
    CMD_KINGDOM_WAR_TAKE_DAILY_REWARD_RSP = 3061
    CMD_KINGDOM_WAR_EXCHANGE_CURRENCY_REQ = 3062
    CMD_KIGNDOM_WAR_EXCHANGE_CURRENCY_RSP = 3063
    CMD_KINGDOM_WAR_GET_POINT_RANK_REQ = 3064
    CMD_KINGDOM_WAR_GET_POINT_RANK_RSP = 3065


class KingdomWarPhaseType(betterproto.Enum):
    KINGDOM_WAR_PHASE_NONE = 0
    KINGDOM_WAR_PHASE_OCCUPY_POINT = 1
    KINGDOM_WAR_PHASE_ATTACK_AND_DEFENSE = 2
    KINGDOM_WAR_PHASE_BATTLE_LINE = 3


class KingdomWarCombatType(betterproto.Enum):
    KINGDOM_WAR_COMBAT_TYPE_NONE = 0
    KINGDOM_WAR_COMBAT_TYPE_VIP_POINT = 1
    KINGDOM_WAR_COMBAT_TYPE_LEVEL = 2
    KINGDOM_WAR_COMBAT_TYPE_AVATAR_STAR = 3


class KingdomWarKingdomStatus(betterproto.Enum):
    KINGDOM_WAR_KINGDOM_NONE = 0
    KINGDOM_WAR_KINGDOM_DEFENSE = 1
    KINGDOM_WAR_KINGDOM_ATTACK = 2


class KingdomWarPointType(betterproto.Enum):
    KINGDOM_WAR_POINT_NONE = 0
    KINGDOM_WAR_POINT_NORMAL = 1
    KINGDOM_WAR_POINT_CHATWORLD = 2
    KINGDOM_WAR_POINT_MAIN_CITY = 3
    KINGDOM_WAR_POINT_BOSS = 4


class KingdomWarPhaseSettleType(betterproto.Enum):
    KINGDOM_WAR_PHASE_SETTLE_TYPE_NONE = 0
    KINGDOM_WAR_PHASE_SETTLE_TYPE_FAME = 1
    KINGDOM_WAR_PHASE_SETTLE_TYPE_BELIEF = 2


class MahouCardHandCardChangeNotifyReason(betterproto.Enum):
    NONEType = 0
    DRAW = 1
    EXCHANGE = 2
    DISCARD = 3
    CARD_LEVEL_UP = 4
    SET_TO_BATTLE = 5
    RECALL_FROM_BATTLE = 6
    EVENT = 7
    GROWTH = 8


class MahouCardSetBattleCardReqDirection(betterproto.Enum):
    NONEType1 = 0
    LEFT = 1
    RIGHT = 2


class MahouCardBattleEndReqStatus(betterproto.Enum):
    BATTLE_LOSE = 0
    BATTLE_WIN = 1
    BATTLE_LOSE_AND_RETRY = 2


class CmdTypeMahoucard(betterproto.Enum):
    CmdTypeMahoucard0 = 0
    CMD_MAHOU_CARD_GET_ACTIVITY_REQ = 7900
    CMD_MAHOU_CARD_GET_ACTIVITY_RSP = 7901
    CMD_MAHOU_CARD_ROLE_LEVEL_UP_REQ = 7902
    CMD_MAHOU_CARD_ROLE_LEVEL_UP_RSP = 7903
    CMD_MAHOU_CARD_ENTER_SITE_REQ = 7904
    CMD_MAHOU_CARD_ENTER_SITE_RSP = 7905
    CMD_MAHOU_CARD_ENTER_ROOM_REQ = 7906
    CMD_MAHOU_CARD_ENTER_ROOM_RSP = 7907
    CMD_MAHOU_CARD_EXIT_ROOM_REQ = 7908
    CMD_MAHOU_CARD_EXIT_ROOM_RSP = 7909
    CMD_MAHOU_CARD_GET_CUR_SITE_INFO_REQ = 7910
    CMD_MAHOU_CARD_GET_CUR_SITE_INFO_RSP = 7911
    CMD_MAHOU_CARD_HAND_CARD_CHANGE_NOTIFY = 7912
    CMD_MAHOU_CARD_EXCHANGE_CARD_REQ = 7913
    CMD_MAHOU_CARD_EXCHANGE_CARD_RSP = 7914
    CMD_MAHOU_CARD_DISCARD_CARD_REQ = 7915
    CMD_MAHOU_CARD_DISCARD_CARD_RSP = 7916
    CMD_MAHOU_CARD_LEVEL_UP_CARD_REQ = 7917
    CMD_MAHOU_CARD_LEVEL_UP_CARD_RSP = 7918
    CMD_MAHOU_CARD_SET_BATTLE_CARD_REQ = 7919
    CMD_MAHOU_CARD_SET_BATTLE_CARD_RSP = 7920
    CMD_MAHOU_CARD_RECALL_BATTLE_CARD_REQ = 7921
    CMD_MAHOU_CARD_RECALL_BATTLE_CARD_RSP = 7922
    CMD_MAHOU_CARD_SELECT_PROPHESY_REQ = 7923
    CMD_MAHOU_CARD_SELECT_PROPHESY_RSP = 7924
    CMD_MAHOU_CARD_EXIT_SITE_REQ = 7925
    CMD_MAHOU_CARD_EXIT_SITE_RSP = 7926
    CMD_MAHOU_CARD_CHOOSE_EVENT_OPTION_REQ = 7927
    CMD_MAHOU_CARD_CHOOSE_EVENT_OPTION_RSP = 7928
    CMD_MAHOU_CARD_EVENT_NOTIFY = 7929
    CMD_MAHOU_CARD_BATTLE_BEGIN_REQ = 7930
    CMD_MAHOU_CARD_BATTLE_BEGIN_RSP = 7931
    CMD_MAHOU_CARD_BATTLE_END_REQ = 7932
    CMD_MAHOU_CARD_BATTLE_END_RSP = 7933
    CMD_MAHOU_CARD_UNLOCK_DAILY_SITE_REQ = 7934
    CMD_MAHOU_CARD_UNLOCK_DAILY_SITE_RSP = 7935
    CMD_MAHOU_CARD_GET_DAILY_SITE_RANK_REQ = 7936
    CMD_MAHOU_CARD_GET_DAILY_SITE_RANK_RSP = 7937
    CMD_MAHOU_CARD_OVERDRAWN_NOTIFY = 7938


class MahouCardSiteType(betterproto.Enum):
    MAHOU_CARD_SITE_TYPE_NONE = 0
    MAHOU_CARD_SITE_TYPE_TUTORIAL = 1
    MAHOU_CARD_SITE_TYPE_NORMAL = 2
    MAHOU_CARD_SITE_TYPE_TOWER = 3
    MAHOU_CARD_SITE_TYPE_DAILY = 4
    MAHOU_CARD_SITE_TYPE_ENTRY = 5


class MahouCardRoomType(betterproto.Enum):
    MAHOU_CARD_ROOM_TYPE_NONE = 0
    MAHOU_CARD_ROOM_TYPE_NORMAL = 1
    MAHOU_CARD_ROOM_TYPE_BOSS = 2
    MAHOU_CARD_ROOM_TYPE_EVENT = 3
    MAHOU_CARD_ROOM_TYPE_REWARD = 4


class MahouCardEventType(betterproto.Enum):
    MAHOU_CARD_EVENT_TYPE_NONE = 0
    MAHOU_CARD_EVENT_TYPE_BATTLE = 1
    MAHOU_CARD_EVENT_TYPE_DRAW = 2
    MAHOU_CARD_EVENT_TYPE_LEVEL_UP_RANDOM_BATTLE_CARD = 6
    MAHOU_CARD_EVENT_TYPE_ADD_EXCHANGE_TIMES = 9
    MAHOU_CARD_EVENT_TYPE_DECREASE_EXCHANGE_TIMES = 10
    MAHOU_CARD_EVENT_TYPE_COPY_FIRST_BATTLE_CARD = 11
    MAHOU_CARD_EVENT_TYPE_COPY_LAST_BATTLE_CARD = 12
    MAHOU_CARD_EVENT_TYPE_LEVEL_UP_RANDOM_CARD = 13
    MAHOU_CARD_EVENT_TYPE_CHANGE_ALL_CARD_BY_LEVEL = 14
    MAHOU_CARD_EVENT_TYPE_CHANGE_ALL_CARD_RANDOM = 15
    MAHOU_CARD_EVENT_TYPE_SET_BATTLE_HP = 16
    MAHOU_CARD_EVENT_TYPE_ADD_BATTLE_HP = 17
    MAHOU_CARD_EVENT_TYPE_DECREASE_BATTLE_HP = 18
    MAHOU_CARD_EVENT_TYPE_ADD_SPECIFY_CARD = 19
    MAHOU_CARD_EVENT_TYPE_TRIGGER_GROWTH = 20
    MAHOU_CARD_EVENT_TYPE_ADD_TAG_TO_ALL_CARD = 21
    MAHOU_CARD_EVENT_TYPE_ADD_CARD_POOL = 23
    MAHOU_CARD_EVENT_TYPE_TRIGGER_PROPHESY_POOL = 25
    MAHOU_CARD_EVENT_TYPE_CLEAR_CUR_EVENT = 100
    MAHOU_CARD_EVENT_TYPE_ADD_BUFF = 3
    MAHOU_CARD_EVENT_TYPE_ADD_ROOM_SUCC_EVENT = 7
    MAHOU_CARD_EVENT_TYPE_ADD_ROOM_FAIL_EVENT = 8
    MAHOU_CARD_EVENT_TYPE_GET_ALL_ROLE_PROPHESY = 24
    MAHOU_CARD_EVENT_TYPE_ADD_DISCARD_TIMES = 26
    MAHOU_CARD_EVENT_TYPE_JUDGE_AND_TRIGGER_DISCARD_EVENT = 27
    MAHOU_CARD_EVENT_TYPE_JUDGE_AND_TRIGGER_EXCHANGE_EVENT = 28
    MAHOU_CARD_EVENT_TYPE_ADD_DISCARD_EVENT = 29
    MAHOU_CARD_EVENT_TYPE_ADD_EXCHANGE_EVENT = 30
    MAHOU_CARD_EVENT_TYPE_EVENT_GROUP = 101
    MAHOU_CARD_EVENT_TYPE_TRIGGER_RANDOM_EVENT = 22
    MAHOU_CARD_EVENT_TYPE_DRAW_AND_SELECT = 5
    MAHOU_CARD_EVENT_TYPE_OPTIONAL_EVENT = 102
    MAHOU_CARD_EVENT_TYPE_LOST_CARD_WITH_TAG = 201
    MAHOU_CARD_EVENT_TYPE_LOST_CARD_AND_TRIGGER_EVENT = 202
    MAHOU_CARD_EVENT_TYPE_DRAW_SPECIFY_QUALITY_AND_SELECT_FROM_CUR_POOL = 203
    MAHOU_CARD_EVENT_TYPE_DRAW_MAX_QUALITY_AND_SELECT_FROM_CUR_POOL = 204
    MAHOU_CARD_EVENT_TYPE_DAILY_SITE_DRAW = 205
    MAHOU_CARD_EVENT_TYPE_COPY_CHOSEN_CARD = 206
    MAHOU_CARD_EVENT_TYPE_TAKE_FROM_AREA_STORAGE = 207
    MAHOU_CARD_EVENT_TYPE_SAVE_TO_AREA_STORAGE = 208


class MahouCardBuffType(betterproto.Enum):
    MAHOU_CARD_BUFF_TYPE_NONE = 0
    MAHOU_CARD_BUFF_TYPE_ADD_BATTLE_HP = 1
    MAHOU_CARD_BUFF_TYPE_ADD_DRAW_NUM = 2
    MAHOU_CARD_BUFF_TYPE_ADD_EXCHANGE_TIMES = 3
    MAHOU_CARD_BUFF_TYPE_ADD_HP = 4
    MAHOU_CARD_BUFF_TYPE_GOING_SECOND = 5
    MAHOU_CARD_BUFF_TYPE_ADD_PROPHESY_CHOICE_NUM = 6
    MAHOU_CARD_BUFF_TYPE_ADDITIONAL_CARD_POOL = 7
    MAHOU_CARD_BUFF_TYPE_EVENT_TRIGGER = 8
    MAHOU_CARD_BUFF_TYPE_DECREASE_HP = 9
    MAHOU_CARD_BUFF_TYPE_ADD_MP = 10
    MAHOU_CARD_BUFF_TYPE_DECREASE_DISCARD_GOAL = 11
    MAHOU_CARD_BUFF_TYPE_DECREASE_BATTLE_HP = 12
    MAHOU_CARD_BUFF_TYPE_CLIENT_BUFF_1001 = 1001
    MAHOU_CARD_BUFF_TYPE_CLIENT_BUFF_1002 = 1002
    MAHOU_CARD_BUFF_TYPE_CLIENT_BUFF_1003 = 1003
    MAHOU_CARD_BUFF_TYPE_CLIENT_BUFF_1004 = 1004
    MAHOU_CARD_BUFF_TYPE_CLIENT_BUFF_1005 = 1005


class MahouCardConditionType(betterproto.Enum):
    MAHOU_CARD_CONDITION_TYPE_NONE = 0
    MAHOU_CARD_CONDITION_TYPE_EXCHANGE_TIMES_GT = 1
    MAHOU_CARD_CONDITION_TYPE_BATTLE_HP_GT = 2
    MAHOU_CARD_CONDITION_TYPE_HAS_CARD_ID = 3
    MAHOU_CARD_CONDITION_TYPE_HAS_CARD_TAG = 4
    MAHOU_CARD_CONDITION_TYPE_HAS_ANY_CARD = 5


class MahouCardTiming(betterproto.Enum):
    MAHOU_CARD_TIMING_NONE = 0
    MAHOU_CARD_TIMING_ON_EXCHANGE = 2
    MAHOU_CARD_TIMING_ON_DISCARD = 3


class MahouCardTag(betterproto.Enum):
    MAHOU_CARD_TAG_NONE = 0
    MAHOU_CARD_TAG_1 = 1
    MAHOU_CARD_TAG_2 = 2
    MAHOU_CARD_TAG_3 = 3
    MAHOU_CARD_TAG_4 = 4
    MAHOU_CARD_TAG_5 = 5
    MAHOU_CARD_TAG_6 = 6
    MAHOU_CARD_TAG_7 = 7
    MAHOU_CARD_TAG_8 = 8
    MAHOU_CARD_TAG_ODD = 9
    MAHOU_CARD_TAG_EVEN = 10
    MAHOU_CARD_TAG_11 = 11
    MAHOU_CARD_TAG_12 = 12
    MAHOU_CARD_TAG_13 = 13
    MAHOU_CARD_TAG_14 = 14
    MAHOU_CARD_TAG_15 = 15
    MAHOU_CARD_TAG_16 = 16
    MAHOU_CARD_TAG_17 = 17
    MAHOU_CARD_TAG_GROWTH = 21
    MAHOU_CARD_TAG_WILD = 22
    MAHOU_CARD_TAG_ONLY_IN_HAND = 23


class CmdTypeMail(betterproto.Enum):
    CmdTypeMail0 = 0
    CMD_GET_CLIENT_MAIL_DATA_REQ = 3800
    CMD_GET_CLIENT_MAIL_DATA_RSP = 3801
    CMD_TAKE_CLIENT_MAIL_ATTACHMENT_REQ = 3802
    CMD_TAKE_CLIENT_MAIL_ATTACHMENT_RSP = 3803
    CMD_MARK_CLIENT_MAIL_READ_REQ = 3804
    CMD_MARK_CLIENT_MAIL_READ_RSP = 3805
    CMD_DEL_CLIENT_MAIL_REQ = 3806
    CMD_DEL_CLIENT_MAIL_RSP = 3807
    CMD_NEW_CLIENT_MAIL_NOTIFY = 3808
    CMD_SET_CLIENT_MAIL_FAVORITE_REQ = 3809
    CMD_SET_CLIENT_MAIL_FAVORITE_RSP = 3810


class ClientMailType(betterproto.Enum):
    CLIENT_MAIL_NONE = 0
    CLIENT_MAIL_MAIL = 1
    CLIENT_MAIL_NOTICE = 2


class ClientMailFilterType(betterproto.Enum):
    CLIENT_MAIL_FILTER_TYPE_ALL = 0
    CLIENT_MAIL_FILTER_TYPE_IMPORTANT = 1
    CLIENT_MAIL_FILTER_TYPE_FAVORITE = 2


class MarblesShootShopOperateReqOperateType(betterproto.Enum):
    OPERATE_NONE = 0
    OPERATE_BUY_BALL = 1
    OPERATE_LEVEL_UP_BALL = 2
    OPERATE_DEL_BALL = 3
    OPERATE_ADD_HP = 4
    OPERATE_CHOOSE_TREASURE = 5


class CmdTypeMarblesshoot(betterproto.Enum):
    CmdTypeMarblesshoot0 = 0
    CMD_MARBLES_SHOOT_GET_ACTIVITY_REQ = 8050
    CMD_MARBLES_SHOOT_GET_ACTIVITY_RSP = 8051
    CMD_MARBLES_SHOOT_AVATAR_LEVEL_UP_REQ = 8052
    CMD_MARBLES_SHOOT_AVATAR_LEVEL_UP_RSP = 8053
    CMD_MARBLES_SHOOT_GET_GAME_REQ = 8054
    CMD_MARBLES_SHOOT_GET_GAME_RSP = 8055
    CMD_MARBLES_SHOOT_BEGIN_GAME_REQ = 8056
    CMD_MARBLES_SHOOT_BEGIN_GAME_RSP = 8057
    CMD_MARBLES_SHOOT_END_GAME_REQ = 8058
    CMD_MARBLES_SHOOT_END_GAME_RSP = 8059
    CMD_MARBLES_SHOOT_FINISH_ROOM_REQ = 8060
    CMD_MARBLES_SHOOT_FINISH_ROOM_RSP = 8061
    CMD_MARBLES_SHOOT_TRIGGER_EVENT_REQ = 8062
    CMD_MARBLES_SHOOT_TRIGGER_EVENT_RSP = 8063
    CMD_MARBLES_SHOOT_FINISH_BATTLE_REQ = 8064
    CMD_MARBLES_SHOOT_FINISH_BATTLE_RSP = 8065
    CMD_MARBLES_SHOOT_SELECT_REWARD_REQ = 8066
    CMD_MARBLES_SHOOT_SELECT_REWARD_RSP = 8067
    CMD_MARBLES_SHOOT_SHOP_OPERATE_REQ = 8068
    CMD_MARBLES_SHOOT_SHOP_OPERATE_RSP = 8069
    CMD_MARBLES_SHOOT_GET_RANK_REQ = 8070
    CMD_MARBLES_SHOOT_GET_RANK_RSP = 8071
    CMD_MARBLES_SHOOT_SELECT_INIT_ITEM_REQ = 8072
    CMD_MARBLES_SHOOT_SELECT_INIT_ITEM_RSP = 8073
    CMD_MARBLES_SHOOT_GET_WIKI_REQ = 8074
    CMD_MARBLES_SHOOT_GET_WIKI_RSP = 8075


class MarblesShootGameType(betterproto.Enum):
    MARBLES_SHOOT_GAME_TYPE_NONE = 0
    MARBLES_SHOOT_GAME_TYPE_STORY = 1
    MARBLES_SHOOT_GAME_TYPE_CHALLENGE = 2
    MARBLES_SHOOT_GAME_TYPE_DAILY = 3


class MarblesShootEventChangeType(betterproto.Enum):
    MARBLES_SHOOT_EVENT_CHANGE_DEL = 0
    MARBLES_SHOOT_EVENT_CHANGE_ADD = 1


class MarblesShootEventType(betterproto.Enum):
    MarblesShootEventType0 = 0
    MARBLES_SHOOT_EVENT_EMPTY = 1
    MARBLES_SHOOT_EVENT_AND = 2
    MARBLES_SHOOT_EVENT_WEIGHT_OR = 3
    MARBLES_SHOOT_EVENT_CHANGE_HP_BY_VALUE = 4
    MARBLES_SHOOT_EVENT_CHANGE_HP_BY_PERCENT = 5
    MARBLES_SHOOT_EVENT_CHANGE_COIN_BY_VALUE = 6
    MARBLES_SHOOT_EVENT_ADD_BALL = 7
    MARBLES_SHOOT_EVENT_DEL_BALL = 8
    MARBLES_SHOOT_EVENT_ADD_TREASURE = 9
    MARBLES_SHOOT_EVENT_DEL_TREASURE = 10
    MARBLES_SHOOT_EVENT_ENTER_BATTLE = 11
    MARBLES_SHOOT_EVENT_RECOVER_TREASURE_EFFECT_TIMES = 12
    MARBLES_SHOOT_EVENT_RANDOM_ADD_BALL = 13
    MARBLES_SHOOT_EVENT_RANDOM_LEVEL_UP_BALL = 14


class MarblesShootEventConditionType(betterproto.Enum):
    MarblesShootEventConditionType0 = 0
    MARBLES_SHOOT_EVENT_CONDITION_USE_AVATAR = 1
    MARBLES_SHOOT_EVENT_CONDITION_HAS_BALL = 2
    MARBLES_SHOOT_EVENT_CONDITION_COIN_GREATER_EQUAL = 3
    MARBLES_SHOOT_EVENT_CONDITION_HAS_TREASURE = 4
    MARBLES_SHOOT_EVENT_CONDITION_NOT_HAS_TREASURE = 5
    MARBLES_SHOOT_EVENT_CONDITION_HAS_TRIGGER_EVENT = 6
    MARBLES_SHOOT_EVENT_CONDITION_HAS_FINISH_BATTLE = 7
    MARBLES_SHOOT_EVENT_CONDITION_BALL_NUM_LESS_THAN = 8
    MARBLES_SHOOT_EVENT_CONDITION_BALL_NUM_GREATER_THAN = 9


class MarblesShootRoomStatus(betterproto.Enum):
    MARBLES_SHOOT_ROOM_STATUS_NONE = 0
    MARBLES_SHOOT_ROOM_STATUS_IN_BATTLE = 1
    MARBLES_SHOOT_ROOM_STATUS_END_BATTLE = 2
    MARBLES_SHOOT_ROOM_STATUS_WAIT_TRIGGER_EVENT = 3
    MARBLES_SHOOT_ROOM_STATUS_HAS_TRIGGER_EVENT = 4
    MARBLES_SHOOT_ROOM_STATUS_WAIT_SELECT_REWARD = 5
    MARBLES_SHOOT_ROOM_STATUS_HAS_SELECT_REWARD = 6
    MARBLES_SHOOT_ROOM_STATUS_WAIT_SELECT_INIT_ITEM = 7


class MarblesShootRoomType(betterproto.Enum):
    MARBLES_SHOOT_ROOM_TYPE_NONE = 0
    MARBLES_SHOOT_ROOM_TYPE_BATTLE = 1
    MARBLES_SHOOT_ROOM_TYPE_EVENT = 2
    MARBLES_SHOOT_ROOM_TYPE_REWARD = 3


class MassiveWarBattleMessageMassiveWarMessageType(betterproto.Enum):
    MASSIVE_WAR_MESSAGE_NONE = 0
    MASSIVE_WAR_MESSAGE_BOSS_DAMAGE = 1
    MASSIVE_WAR_MESSAGE_FIELD = 2


class CmdTypeMassivewar(betterproto.Enum):
    CmdTypeMassivewar0 = 0
    CMD_MASSIVE_WAR_GET_ACTIVITY_REQ = 4800
    CMD_MASSIVE_WAR_GET_ACTIVITY_RSP = 4801
    CMD_MASSIVE_WAR_GET_BATTLE_INFO_REQ = 4802
    CMD_MASSIVE_WAR_GET_BATTLE_INFO_RSP = 4803
    CMD_MASSIVE_WAR_GET_RANK_REQ = 4804
    CMD_MASSIVE_WAR_GET_RANK_RSP = 4805
    CMD_MASSIVE_WAR_BATTLE_BEGIN_NOTIFY = 4806
    CMD_MASSIVE_WAR_REPORT_BATTLE_MESSAGE_NOTIFY = 4807
    CMD_MASSIVE_WAR_EXIT_BATTLE_REQ = 4808
    CMD_MASSIVE_WAR_EXIT_BATTLE_RSP = 4809
    CMD_MASSIVE_WAR_BATTLE_END_NOTIFY = 4810
    CMD_MASSIVE_WAR_LINEUP_INFO_NOTIFY = 4811
    CMD_MASSIVE_WAR_TAKE_SCORE_REWARD_REQ = 4812
    CMD_MASSIVE_WAR_TAKE_SCORE_REWARD_RSP = 4813
    CMD_MASSIVE_WAR_DUMMY = 4899


class MassiveWarBattleStatus(betterproto.Enum):
    MASSIVE_WAR_BATTLE_STATUS_NONE = 0
    MASSIVE_WAR_BATTLE_STATUS_PREPARE = 1
    MASSIVE_WAR_BATTLE_STATUS_FIGHTING = 2
    MASSIVE_WAR_BATTLE_STATUS_WAIT_SETTLE = 3
    MASSIVE_WAR_BATTLE_STATUS_CLOSE = 4
    MASSIVE_WAR_BATTLE_STATUS_DELETE = 5


class MassiveWarFieldActionType(betterproto.Enum):
    MASSIVE_WAR_FIELD_ACTION_NONE = 0
    MASSIVE_WAR_FIELD_ACTION_JOIN = 1
    MASSIVE_WAR_FIELD_ACTION_LEAVE = 2


class MatchThreeRoomEndReqStatus(betterproto.Enum):
    WIN5 = 0
    LOSE4 = 1
    ABANDON4 = 2


class CmdTypeMatchthree(betterproto.Enum):
    CmdTypeMatchthree0 = 0
    CMD_MATCH_THREE_GET_ACTIVITY_REQ = 7601
    CMD_MATCH_THREE_GET_ACTIVITY_RSP = 7602
    CMD_MATCH_THREE_ROLE_LEVEL_UP_REQ = 7603
    CMD_MATCH_THREE_ROLE_LEVEL_UP_RSP = 7604
    CMD_MATCH_THREE_GEM_GACHA_DISPLAY_REQ = 7605
    CMD_MATCH_THREE_GEM_GACHA_DISPLAY_RSP = 7606
    CMD_MATCH_THREE_GEM_GACHA_REQ = 7607
    CMD_MATCH_THREE_GEM_GACHA_RSP = 7608
    CMD_MATCH_THREE_GET_RANK_REQ = 7609
    CMD_MATCH_THREE_GET_RANK_RSP = 7610
    CMD_MATCH_THREE_ROOM_BEGIN_REQ = 7611
    CMD_MATCH_THREE_ROOM_BEGIN_RSP = 7612
    CMD_MATCH_THREE_ROOM_END_REQ = 7613
    CMD_MATCH_THREE_ROOM_END_RSP = 7614


class MatchThreeGemGachaPoolStatus(betterproto.Enum):
    MatchThreeGemGachaPoolStatus0 = 0
    MATCH_THREE_GEM_GACHA_POOL_LOCKED = 1
    MATCH_THREE_GEM_GACHA_POOL_DOING = 2
    MATCH_THREE_GEM_GACHA_POOL_FINISHED = 3


class MatchThreeRoomType(betterproto.Enum):
    MATCH_THREE_ROOM_NONE = 0
    MATCH_THREE_ROOM_MAIN = 1
    MATCH_THREE_ROOM_SIDE = 2
    MATCH_THREE_ROOM_DAILY = 3
    MATCH_THREE_ROOM_TOWER = 4


class CmdTypeMirage(betterproto.Enum):
    CmdTypeMirage0 = 0
    CMD_MIRAGE_GET_ACTIVITY_REQ = 7000
    CMD_MIRAGE_GET_ACTIVITY_RSP = 7001
    CMD_MIRAGE_TALENT_LEVEL_UP_REQ = 7002
    CMD_MIRAGE_TALENT_LEVEL_UP_RSP = 7003
    CMD_MIRAGE_REPORT_STAGE_BEGIN_REQ = 7004
    CMD_MIRAGE_REPORT_STAGE_BEGIN_RSP = 7005
    CMD_MIRAGE_RESET_DAILY_DROP_LIMIT_REQ = 7006
    CMD_MIRAGE_RESET_DAILY_DROP_LIMIT_RSP = 7007


class MirageStageUnlockFlagType(betterproto.Enum):
    MIRAGE_STAGE_UNLOCK_FLAG_TYPE_NONE = 0
    MIRAGE_STAGE_UNLOCK_FLAG_TYPE_UNTIL_TIME = 1


class MirageStageType(betterproto.Enum):
    MirageStageType0 = 0
    MIRAGE_STAGE_TYPE_CHALLENGE = 1
    MIRAGE_STAGE_TYPE_DAILY = 2
    MIRAGE_STAGE_TYPE_TUTORIAL = 3


class CmdTypeMonopoly(betterproto.Enum):
    CmdTypeMonopoly0 = 0
    CMD_GET_MONOPOLY_ACTIVITY_REQ = 3850
    CMD_GET_MONOPOLY_ACTIVITY_RSP = 3851
    CMD_MONOPOLY_THROW_DICE_REQ = 3852
    CMD_MONOPOLY_THROW_DICE_RSP = 3853
    CMD_MONOPOLY_BUILDING_CONSTRUCT_REQ = 3854
    CMD_MONOPOLY_BUILDING_CONSTRUCT_RSP = 3855
    CMD_MONOPOLY_END_ROUND_REQ = 3856
    CMD_MONOPOLY_END_ROUND_RSP = 3857
    CMD_MONOPOLY_USE_ITEM_REQ = 3858
    CMD_MONOPOLY_USE_ITEM_RSP = 3859
    CMD_MONOPOLY_REWARD_NOTIFY = 3860
    CMD_MONOPOLY_BUY_GOODS_REQ = 3861
    CMD_MONOPOLY_BUY_GOODS_RSP = 3862
    CMD_MONOPOLY_SKIP_BATTLE_REQ = 3863
    CMD_MONOPOLY_SKIP_BATTLE_RSP = 3864
    CMD_MONOPOLY_RESET_FLOOR_REQ = 3865
    CMD_MONOPOLY_RESET_FLOOR_RSP = 3866
    CMD_MONOPOLY_ADD_MONSTER_REQ = 3867
    CMD_MONOPOLY_ADD_MONSTER_RSP = 3868
    CMD_EXCHANGE_RAFFLE_MATERIAL_REQ = 3890
    CMD_EXCHANGE_RAFFLE_MATERIAL_RSP = 3891
    CMD_TAKE_RAFFLE_REWARD_REQ = 3894
    CMD_TAKE_RAFFLE_REWARD_RSP = 3895
    CMD_DRAW_RAFFLE_TICKET_REQ = 3896
    CMD_DRAW_RAFFLE_TICKET_RSP = 3897
    CMD_GET_RAFFLE_ACTIVITY_REQ = 3898
    CMD_GET_RAFFLE_ACTIVITY_RSP = 3899


class MonopolyRoundStatus(betterproto.Enum):
    MONOPOLY_ROUND_STATUS_NONE = 0
    MONOPOLY_ROUND_STATUS_START = 1
    MONOPOLY_ROUND_STATUS_AFTER_DICE = 2
    MONOPOLY_ROUND_STATUS_AFTER_CONSTRUCT = 3


class MonopolyBehaviorType(betterproto.Enum):
    MonopolyBehaviorType0 = 0
    MONOPOLY_BEHAVIOR_WALK = 1
    MONOPOLY_BEHAVIOR_DEMOLISH_BUILDING = 2
    MONOPOLY_BEHAVIOR_FREEZE_BUILDING = 3
    MONOPOLY_BEHAVIOR_RANDOM_FREEZE = 4
    MONOPOLY_BEHAVIOR_SUMMON = 5
    MONOPOLY_BEHAVIOR_REPEL = 7
    MONOPOLY_BEHAVIOR_DELELTE_SELF = 8
    MONOPOLY_BEHAVIOR_TRIGGER_RPG_EVENT = 9


class MonopolyItemType(betterproto.Enum):
    MonopolyItemType0 = 0
    MONOPOLY_ITEM_CONTROLABLE_DICE = 1
    MONOPOLY_ITEM_ROADBLOCK = 2
    MONOPOLY_ITEM_EXCHANGE_POSITION = 4
    MONOPOLY_ITEM_LEVELUP_BUILDING = 7
    MONOPOLY_ITEM_CHANGE_DIRECTION = 8


class MonopolyBuildingFuncType(betterproto.Enum):
    MonopolyBuildingFuncType0 = 0
    MONOPOLY_BUILDING_FUNC_PRODUCT = 1
    MONOPOLY_BUILDING_FUNC_BUFF = 2


class MonopolyDiceType(betterproto.Enum):
    MONOPOLY_DICE_NONE = 0
    MONOPOLY_DICE_NORMAL = 1
    MONOPOLY_DICE_BUILDING_PRIORITY = 2


class MonopolyAreaStatus(betterproto.Enum):
    MONOPOLY_AREA_STATUS_NONE = 0
    MONOPOLY_AREA_STATUS_LOCKED = 1
    MONOPOLY_AREA_STATUS_UNLOCKED = 2


class RaffleRewardGrade(betterproto.Enum):
    RAFFLE_REWARD_NONE = 0
    RAFFLE_REWARD_FIRST = 1
    RAFFLE_REWARD_SECOND = 2
    RAFFLE_REWARD_THIRD = 3


class RaffleActivityType(betterproto.Enum):
    RAFFLE_ACTIVITY_NONE = 0
    RAFFLE_ACTIVITY_MONOPOLY = 1


class CmdTypeNinja(betterproto.Enum):
    CmdTypeNinja0 = 0
    CMD_GET_NINJA_ACTIVITY_REQ = 4400
    CMD_GET_NINJA_ACTIVITY_RSP = 4401
    CMD_NINJA_SLOT_STRENGTHEN_REQ = 4402
    CMD_NINJA_SLOT_STRENGTHEN_RSP = 4403
    CMD_NINJA_ACTIVITY_NOTIFY = 4404
    CMD_NINJA_SLOT_CHOOSE_EFFECT_REQ = 4405
    CMD_NINJA_SLOT_CHOOSE_EFFECT_RSP = 4406
    CMD_NINJA_DUMMY = 4449


class NinjaSiteType(betterproto.Enum):
    NinjaSiteType0 = 0
    NINJA_SITE_NORMAL = 1
    NINJA_SITE_BOSS = 2
    NINJA_SITE_CHALLENGE = 3


class GetMainDataReqDataType(betterproto.Enum):
    ALL = 0
    NICKNAME = 2
    LEVEL = 3
    EXP = 4
    HCOIN = 5
    SCOIN = 6
    STAMINA = 7
    STAMINA_RECOVER_LEFT_TIME = 8
    STAMINA_RECOVER_CONFIG_TIME = 9
    EQUIPMENT_SIZE_LIMIT = 14
    SELF_DESC = 16
    PAY_HCOIN = 17
    FREE_HCOIN = 18
    ASSISTANT_AVATAR_ID = 19
    IS_ALLOW_COST_SENIOR_EQUIP_ON_CUR_DEVICE = 20
    BIRTHDAY = 21
    RECHARGE_PRICE = 22
    WAIT_DEL_HCOIN = 23
    ON_MEDAL_ID = 24
    USE_FRAME_ID = 26
    MCOIN = 27
    PANEL_ACTIVITY = 28
    VIDEO_POPUP = 29
    ON_PHONE_PENDANT_ID = 30
    STORE_EVALUATE = 31
    CHATWORLD_ACTIVITY = 32
    LEVEL_LOCK = 33
    WARSHIP_AVATAR = 35
    USE_CUSTOM_HEAD = 36
    TOTAL_LOGIN_DAYS = 37
    WARSHIP_THEME = 38
    WAIT_DEL_MATERIAL = 39


class GetBulletinReqReqBulletinType(betterproto.Enum):
    BULLETIN_ALL = 0
    BULLETIN_UPDATE_TIME = 1
    BULLETIN_TITLE = 2
    BULLETIN_CONTENT = 3


class AddGoodfeelReqAddGoodfeelType(betterproto.Enum):
    AddGoodfeelReqAddGoodfeelType0 = 0
    TOUCH = 1
    STAGE = 2
    DORM = 3


class CreateWeiXinOrderReqTradeType(betterproto.Enum):
    NONEType2 = 0
    APP = 1
    NATIVE = 2


class VerifyGoogleOrderNotifyGoogleType(betterproto.Enum):
    VerifyGoogleOrderNotifyGoogleType0 = 0
    GOOGLE_JAPAN = 1
    GOOGLE_TW = 2
    GOOGLE_KR = 3
    GOOGLE_OVERSEAS = 4
    GOOGLE_GLOBAL = 5


class GetMpDataRspOpType(betterproto.Enum):
    INIT_DATA = 0
    ADD_DATA = 1
    UPDATE_DATA = 2


class CmdTypeOne(betterproto.Enum):
    CmdTypeOne0 = 0
    CMD_KEEP_ALIVE_NOTIFY = 1
    CMD_GET_GAMESERVER_REQ = 2
    CMD_GET_GAMESERVER_RSP = 3
    CMD_GET_PLAYER_TOKEN_REQ = 4
    CMD_GET_PLAYER_TOKEN_RSP = 5
    CMD_PLAYER_LOGIN_REQ = 6
    CMD_PLAYER_LOGIN_RSP = 7
    CMD_PLAYER_LOGOUT_REQ = 8
    CMD_PLAYER_LOGOUT_RSP = 9
    CMD_GET_MAIN_DATA_REQ = 10
    CMD_GET_MAIN_DATA_RSP = 11
    CMD_GET_SCOIN_EXCHANGE_INFO_REQ = 12
    CMD_GET_SCOIN_EXCHANGE_INFO_RSP = 13
    CMD_SCOIN_EXCHANGE_REQ = 14
    CMD_SCOIN_EXCHANGE_RSP = 15
    CMD_GET_STAMINA_EXCHANGE_INFO_REQ = 16
    CMD_GET_STAMINA_EXCHANGE_INFO_RSP = 17
    CMD_STAMINA_EXCHANGE_REQ = 18
    CMD_STAMINA_EXCHANGE_RSP = 19
    CMD_NICKNAME_MODIFY_REQ = 20
    CMD_NICKNAME_MODIFY_RSP = 21
    CMD_GM_TALK_REQ = 22
    CMD_GM_TALK_RSP = 23
    CMD_GET_AVATAR_DATA_REQ = 24
    CMD_GET_AVATAR_DATA_RSP = 25
    CMD_GET_EQUIPMENT_DATA_REQ = 26
    CMD_GET_EQUIPMENT_DATA_RSP = 27
    CMD_DEL_EQUIPMENT_NOTIFY = 28
    CMD_AVATAR_STAR_UP_REQ = 29
    CMD_AVATAR_STAR_UP_RSP = 30
    CMD_EQUIPMENT_POWER_UP_REQ = 31
    CMD_EQUIPMENT_POWER_UP_RSP = 32
    CMD_EQUIPMENT_SELL_REQ = 33
    CMD_EQUIPMENT_SELL_RSP = 34
    CMD_ADD_AVATAR_EXP_BY_MATERIAL_REQ = 35
    CMD_ADD_AVATAR_EXP_BY_MATERIAL_RSP = 36
    CMD_EQUIPMENT_EVO_REQ = 37
    CMD_EQUIPMENT_EVO_RSP = 38
    CMD_DRESS_EQUIPMENT_REQ = 39
    CMD_DRESS_EQUIPMENT_RSP = 40
    CMD_GET_STAGE_DATA_REQ = 41
    CMD_GET_STAGE_DATA_RSP = 42
    CMD_STAGE_BEGIN_REQ = 43
    CMD_STAGE_BEGIN_RSP = 44
    CMD_STAGE_END_REQ = 45
    CMD_STAGE_END_RSP = 46
    CMD_GET_AVATAR_TEAM_DATA_REQ = 47
    CMD_GET_AVATAR_TEAM_DATA_RSP = 48
    CMD_UPDATE_AVATAR_TEAM_NOTIFY = 49
    CMD_AVATAR_SUB_SKILL_LEVEL_UP_REQ = 50
    CMD_AVATAR_SUB_SKILL_LEVEL_UP_RSP = 51
    CMD_MATERIAL_EVO_REQ = 56
    CMD_MATERIAL_EVO_RSP = 57
    CMD_GET_STAGE_DROP_DISPLAY_REQ = 60
    CMD_GET_STAGE_DROP_DISPLAY_RSP = 61
    CMD_GET_FRIEND_LIST_REQ = 64
    CMD_GET_FRIEND_LIST_RSP = 65
    CMD_ADD_FRIEND_REQ = 66
    CMD_ADD_FRIEND_RSP = 67
    CMD_DEL_FRIEND_REQ = 68
    CMD_DEL_FRIEND_RSP = 69
    CMD_GET_ASK_ADD_FRIEND_LIST_REQ = 70
    CMD_GET_ASK_ADD_FRIEND_LIST_RSP = 71
    CMD_GET_PLAYER_DETAIL_DATA_REQ = 72
    CMD_GET_PLAYER_DETAIL_DATA_RSP = 73
    CMD_UPDATE_EQUIPMENT_PROTECTED_STATUS_REQ = 74
    CMD_UPDATE_EQUIPMENT_PROTECTED_STATUS_RSP = 75
    CMD_GET_RECOMMEND_FRIEND_LIST_REQ = 76
    CMD_GET_RECOMMEND_FRIEND_LIST_RSP = 77
    CMD_SET_SELF_DESC_REQ = 78
    CMD_SET_SELF_DESC_RSP = 79
    CMD_DEL_FRIEND_NOTIFY = 80
    CMD_GET_OFFLINE_FRIENDS_POINT_NOTIFY = 81
    CMD_VERIFY_ITUNES_ORDER_NOTIFY = 82
    CMD_GET_MAIL_DATA_REQ = 84
    CMD_GET_MAIL_DATA_RSP = 85
    CMD_GET_MAIL_ATTACHMENT_REQ = 86
    CMD_GET_MAIL_ATTACHMENT_RSP = 87
    CMD_UNLOCK_AVATAR_SKILL_REQ = 88
    CMD_UNLOCK_AVATAR_SKILL_RSP = 89
    CMD_EQUIPMENT_QUICK_LEVEL_UP_REQ = 90
    CMD_EQUIPMENT_QUICK_LEVEL_UP_RSP = 91
    CMD_REFRESH_AVATAR_SKILL_REQ = 92
    CMD_REFRESH_AVATAR_SKILL_RSP = 93
    CMD_GET_ASSISTANT_FROZEN_LIST_REQ = 100
    CMD_GET_ASSISTANT_FROZEN_LIST_RSP = 101
    CMD_SELL_AVATAR_FRAGMENT_REQ = 102
    CMD_SELL_AVATAR_FRAGMENT_RSP = 103
    CMD_GET_HAS_GOT_ITEM_ID_LIST_REQ = 104
    CMD_GET_HAS_GOT_ITEM_ID_LIST_RSP = 105
    CMD_AVATAR_REVIVE_REQ = 106
    CMD_AVATAR_REVIVE_RSP = 107
    CMD_RESET_STAGE_ENTER_TIMES_REQ = 108
    CMD_RESET_STAGE_ENTER_TIMES_RSP = 109
    CMD_GET_CONFIG_REQ = 110
    CMD_GET_CONFIG_RSP = 111
    CMD_GET_MISSION_DATA_REQ = 112
    CMD_GET_MISSION_DATA_RSP = 113
    CMD_GET_MISSION_REWARD_REQ = 114
    CMD_GET_MISSION_REWARD_RSP = 115
    CMD_DEL_MISSION_NOTIFY = 116
    CMD_UPDATE_MISSION_PROGRESS_REQ = 117
    CMD_UPDATE_MISSION_PROGRESS_RSP = 118
    CMD_BIND_ACCOUNT_REQ = 119
    CMD_BIND_ACCOUNT_RSP = 120
    CMD_GET_SIGN_IN_REWARD_STATUS_REQ = 121
    CMD_GET_SIGN_IN_REWARD_STATUS_RSP = 122
    CMD_GET_SIGN_IN_REWARD_REQ = 123
    CMD_GET_SIGN_IN_REWARD_RSP = 124
    CMD_GET_WEEK_DAY_ACTIVITY_DATA_REQ = 125
    CMD_GET_WEEK_DAY_ACTIVITY_DATA_RSP = 126
    CMD_GET_FINISH_GUIDE_DATA_REQ = 127
    CMD_GET_FINISH_GUIDE_DATA_RSP = 128
    CMD_FINISH_GUIDE_REPORT_REQ = 129
    CMD_FINISH_GUIDE_REPORT_RSP = 130
    CMD_STAGE_INNER_DATA_REPORT_REQ = 131
    CMD_STAGE_INNER_DATA_REPORT_RSP = 132
    CMD_GET_DISPATCH_REQ = 133
    CMD_GET_DISPATCH_RSP = 134
    CMD_EXCHANGE_AVATAR_WEAPON_REQ = 135
    CMD_EXCHANGE_AVATAR_WEAPON_RSP = 136
    CMD_GET_BULLETIN_REQ = 137
    CMD_GET_BULLETIN_RSP = 138
    CMD_ADD_GOODFEEL_REQ = 154
    CMD_ADD_GOODFEEL_RSP = 155
    CMD_ISLAND_DISJOIN_EQUIPMENT_REQ = 179
    CMD_ISLAND_DISJOIN_EQUIPMENT_RSP = 180
    CMD_GET_GUIDE_REWARD_REQ = 185
    CMD_GET_GUIDE_REWARD_RSP = 186
    CMD_URGENCY_MSG_NOTIFY = 187
    CMD_REFINE_STIGMATA_RUNE_REQ = 193
    CMD_REFINE_STIGMATA_RUNE_RSP = 194
    CMD_SELECT_NEW_STIGMATA_RUNE_REQ = 195
    CMD_SELECT_NEW_STIGMATA_RUNE_RSP = 196
    CMD_CREATE_WEIXIN_ORDER_REQ = 207
    CMD_CREATE_WEIXIN_ORDER_RSP = 208
    CMD_COMMENT_REPORT_REQ = 229
    CMD_COMMENT_REPORT_RSP = 230
    CMD_GET_EXTRA_STORY_DATA_REQ = 231
    CMD_GET_EXTRA_STORY_DATA_RSP = 232
    CMD_GET_EXTRA_STORY_ACTIVITY_ACT_REQ = 233
    CMD_GET_EXTRA_STORY_ACTIVITY_ACT_RSP = 234
    CMD_GET_EXTRA_STORY_ACHIEVE_DATA_REQ = 235
    CMD_GET_EXTRA_STORY_ACHIEVE_DATA_RSP = 236
    CMD_GET_EXTRA_STORY_ACHIEVE_REWARD_REQ = 237
    CMD_GET_EXTRA_STORY_ACHIEVE_REWARD_RSP = 238
    CMD_SWITCH_DYNAMIC_HARD_LV_REQ = 239
    CMD_SWITCH_DYNAMIC_HARD_LV_RSP = 240
    CMD_GET_ISLAND_EVENT_REQ = 241
    CMD_GET_ISLAND_EVENT_RSP = 242
    CMD_FINISH_ISLAND_EVENT_REQ = 243
    CMD_FINISH_ISLAND_EVENT_RSP = 244
    CMD_SET_TRANSFER_PWD_REQ = 245
    CMD_SET_TRANSFER_PWD_RSP = 246
    CMD_VERIFY_GOOGLE_ORDER_NOTIFY = 247
    CMD_SET_DRESS_REQ = 248
    CMD_SET_DRESS_RSP = 249
    CMD_DRESS_TO_RETURN_MATERIAL_NOTIFY = 250
    CMD_USE_MATERIAL_REQ = 251
    CMD_USE_MATERIAL_RSP = 252
    CMD_SWITCH_AVATAR_SUB_SKILL_REQ = 253
    CMD_SWITCH_AVATAR_SUB_SKILL_RSP = 254
    CMD_EXCHANGE_WEEK_DAY_ACTIVITY_TIMES_REQ = 259
    CMD_EXCHANGE_WEEK_DAY_ACTIVITY_TIMES_RSP = 260
    CMD_UPDATE_CUSTOM_AVATAR_TEAM_REQ = 269
    CMD_UPDATE_CUSTOM_AVATAR_TEAM_RSP = 270
    CMD_UPDATE_ASSISTANT_AVATAR_ID_REQ = 271
    CMD_UPDATE_ASSISTANT_AVATAR_ID_RSP = 272
    CMD_TAKE_DUTY_REWARD_REQ = 288
    CMD_TAKE_DUTY_REWARD_RSP = 289
    CMD_REPORT_BIRTHDAY_REQ = 299
    CMD_REPORT_BIRTHDAY_RSP = 300
    CMD_CREATE_LOBBY_REQ = 301
    CMD_CREATE_LOBBY_RSP = 302
    CMD_ENTER_LOBBY_REQ = 303
    CMD_ENTER_LOBBY_RSP = 304
    CMD_LEAVE_TEAM_REQ = 305
    CMD_LEAVE_TEAM_RSP = 306
    CMD_UPDATE_LOBBY_LINEUP_REQ = 307
    CMD_UPDATE_LOBBY_LINEUP_RSP = 308
    CMD_SWITCH_MEMBER_STATUS_REQ = 309
    CMD_SWITCH_MEMBER_STATUS_RSP = 310
    CMD_LOBBY_STAGE_BEGIN_REQ = 311
    CMD_LOBBY_STAGE_BEGIN_RSP = 312
    CMD_LOBBY_STAGE_END_REQ = 313
    CMD_LOBBY_STAGE_END_RSP = 314
    CMD_KICK_LOBBY_MEMBER_REQ = 317
    CMD_KICK_LOBBY_MEMBER_RSP = 318
    CMD_SET_LOBBY_FAST_ENTRANCE_REQ = 319
    CMD_SET_LOBBY_FAST_ENTRANCE_RSP = 320
    CMD_LOBBY_ENTER_FIGHT_ERROR_NOTIFY = 321
    CMD_PROMOTE_STIGMATA_RUNE_REQ = 332
    CMD_PROMOTE_STIGMATA_RUNE_RSP = 333
    CMD_GET_MP_DATA_REQ = 340
    CMD_GET_MP_DATA_RSP = 341
    CMD_MP_UPGRADE_SKILL_REQ = 342
    CMD_MP_UPGRADE_SKILL_RSP = 343
    CMD_MP_RESET_SKILL_POINT_REQ = 344
    CMD_MP_RESET_SKILL_POINT_RSP = 345
    CMD_MP_GET_TEAM_REQ = 346
    CMD_MP_GET_TEAM_RSP = 347
    CMD_MP_CREATE_TEAM_REQ = 348
    CMD_MP_CREATE_TEAM_RSP = 349
    CMD_MP_ENTER_TEAM_REQ = 350
    CMD_MP_ENTER_TEAM_RSP = 351
    CMD_GET_TEAM_BRIEF_INFO_REQ = 352
    CMD_GET_TEAM_BRIEF_INFO_RSP = 353
    CMD_MP_KICK_FROM_TEAM_REQ = 354
    CMD_MP_KICK_FROM_TEAM_RSP = 355
    CMD_MP_TEAM_ENTER_LOBBY_REQ = 356
    CMD_MP_TEAM_ENTER_LOBBY_RSP = 357
    CMD_MP_TEAM_CHANGE_LEADER_REQ = 362
    CMD_MP_TEAM_CHANGE_LEADER_RSP = 363
    CMD_GET_GOBACK_REQ = 364
    CMD_GET_GOBACK_RSP = 365
    CMD_TAKE_GOBACK_LOGIN_REWARD_REQ = 366
    CMD_TAKE_GOBACK_LOGIN_REWARD_RSP = 367
    CMD_TEAM_LEADER_CHANGE_NOTIFY = 371
    CMD_MP_TEAM_LEAVE_LOBBY_REQ = 373
    CMD_MP_TEAM_LEAVE_LOBBY_RSP = 374
    CMD_MP_MEMBER_SET_CLIENT_STATUS_REQ = 375
    CMD_MP_MEMBER_SET_CLIENT_STATUS_RSP = 376
    CMD_MP_STAGE_END_REQ = 379
    CMD_MP_STAGE_END_RSP = 380
    CMD_MP_REPORT_PLAYER_REQ = 381
    CMD_MP_REPORT_PLAYER_RSP = 382
    CMD_MP_STAGE_SETTLE_NOTIFY = 391
    CMD_MP_LIKE_PLAYER_REQ = 392
    CMD_MP_LIKE_PLAYER_RSP = 393
    CMD_FRIEND_BOND_NOTIFY = 394
    CMD_MP_TEAM_SYNC_NOTIFY = 395
    CMD_MP_TEAM_MEMBER_SET_VOICE_ID_REQ = 396
    CMD_MP_TEAM_MEMBER_SET_VOICE_ID_RSP = 397
    CMD_REPORT_CLIENT_DATA_VERSION_REQ = 398
    CMD_REPORT_CLIENT_DATA_VERSION_RSP = 399


class PanelActivityType(betterproto.Enum):
    PanelActivityType0 = 0
    PANEL_ACTIVITY_THEME = 2
    PANEL_ACTIVITY_KINGDOM_WAR = 5
    PANEL_ACTIVITY_BATTLE_PASS = 6
    PANEL_ACTIVITY_GLOBAL_WAR = 7
    PANEL_ACTIVITY_SLG = 8
    PANEL_ACTIVITY_GLOBAL_POLLING = 9
    PANEL_ACTIVITY_COLLABORATION = 10


class EnterTimesType(betterproto.Enum):
    EnterTimesType0 = 0
    ACITIVYT_TIMES_REF = 1
    STAGE_TIMES_REF = 2


class OpenworldChapterBuffType(betterproto.Enum):
    OpenworldChapterBuffType0 = 0
    SKILL = 3


class CmdTypeOpenworld(betterproto.Enum):
    CmdTypeOpenworld0 = 0
    CMD_OPENWORLD_PERIOD_SETTLE_NOTIFY = 4450
    CMD_OPENWORLD_WEEKLY_SETTLE_NOTIFY = 4451
    CMD_ACCEPT_OPENWORLD_STORY_REQ = 4452
    CMD_ACCEPT_OPENWORLD_STORY_RSP = 4453
    CMD_SET_OPENWORLD_STORY_PROGRESS_REQ = 4454
    CMD_SET_OPENWORLD_STORY_PROGRESS_RSP = 4455
    CMD_TAKE_OPENWORLD_STORY_REWARD_REQ = 4456
    CMD_TAKE_OPENWORLD_STORY_REWARD_RSP = 4457
    CMD_TAKE_OPENWORLD_EVENT_REWARD_REQ = 4458
    CMD_TAKE_OPENWORLD_EVENT_REWARD_RSP = 4459
    CMD_GET_OPENWORLD_STAGE_REQ = 4460
    CMD_GET_OPENWORLD_STAGE_RSP = 4461
    CMD_OPENWORLD_STAGE_BEGIN_REQ = 4462
    CMD_OPENWORLD_STAGE_BEGIN_RSP = 4463
    CMD_OPENWORLD_STAGE_END_REQ = 4464
    CMD_OPENWORLD_STAGE_END_RSP = 4465
    CMD_GET_OPENWORLD_STAGE_BOSS_REQ = 4466
    CMD_GET_OPENWORLD_STAGE_BOSS_RSP = 4467
    CMD_OPENWORLD_STAGE_BOSS_BEGIN_REQ = 4468
    CMD_OPENWORLD_STAGE_BOSS_BEGIN_RSP = 4469
    CMD_OPENWORLD_STAGE_BOSS_END_REQ = 4470
    CMD_OPENWORLD_STAGE_BOSS_END_RSP = 4471
    CMD_TAKE_OPENWORLD_STAGE_BOSS_REWARD_REQ = 4472
    CMD_TAKE_OPENWORLD_STAGE_BOSS_REWARD_RSP = 4473
    CMD_OPEN_OPENWORLD_QUEST_REQ = 4474
    CMD_OPEN_OPENWORLD_QUEST_RSP = 4475
    CMD_GET_OPENWORLD_SELECT_QUEST_REQ = 4476
    CMD_GET_OPENWORLD_SELECT_QUEST_RSP = 4477
    CMD_CHOOSE_OPENWORLD_QUEST_REQ = 4478
    CMD_CHOOSE_OPENWORLD_QUEST_RSP = 4479
    CMD_REFRESH_OPENWORLD_QUEST_REQ = 4480
    CMD_REFRESH_OPENWORLD_QUEST_RSP = 4481
    CMD_TAKE_OPENWORLD_QUEST_REWARD_REQ = 4482
    CMD_TAKE_OPENWORLD_QUEST_REWARD_RSP = 4483
    CMD_ABANDON_OPENWORLD_QUEST_REQ = 4484
    CMD_ABANDON_OPENWORLD_QUEST_RSP = 4485
    CMD_REPORT_OPENWORLD_SPAWN_POINT_REQ = 4486
    CMD_REPORT_OPENWORLD_SPAWN_POINT_RSP = 4487
    CMD_FINISH_OPENWORLD_QUEST_REQ = 4488
    CMD_FINISH_OPENWORLD_QUEST_RSP = 4489
    CMD_TAKE_OPENWORLD_CYCLE_FINISH_REWARD_REQ = 4490
    CMD_TAKE_OPENWORLD_CYCLE_FINISH_REWARD_RSP = 4491
    CMD_EAT_OPENWORLD_COOK_REQ = 4492
    CMD_EAT_OPENWORLD_COOK_RSP = 4493
    CMD_TAKE_OPENWORLD_KEY_QUEST_REWARD_REQ = 4494
    CMD_TAKE_OPENWORLD_KEY_QUEST_REWARD_RSP = 4495
    CMD_GET_NEW_OPENWORLD_REQ = 4496
    CMD_GET_NEW_OPENWORLD_RSP = 4497
    CMD_GET_OPENWORLD_MAP_REQ = 4498
    CMD_GET_OPENWORLD_MAP_RSP = 4499
    CMD_GET_OPENWORLD_STORY_REQ = 4500
    CMD_GET_OPENWORLD_STORY_RSP = 4501
    CMD_UNLOCK_OPENWORLD_TECH_SKILL_REQ = 4502
    CMD_UNLOCK_OPENWORLD_TECH_SKILL_RSP = 4503
    CMD_ACTIVATE_OPENWORLD_MAP_REQ = 4504
    CMD_ACTIVATE_OPENWORLD_MAP_RSP = 4505
    CMD_OPENWORLD_SET_MECHA_TEAM_REQ = 4506
    CMD_OPENWORLD_SET_MECHA_TEAM_RSP = 4507
    CMD_OPENWORLD_GET_MECHA_TEAM_REQ = 4508
    CMD_OPENWORLD_GET_MECHA_TEAM_RSP = 4509
    CMD_OPENWORLD_MECHA_DEFENSE_BEGIN_REQ = 4510
    CMD_OPENWORLD_MECHA_DEFENSE_BEGIN_RSP = 4511
    CMD_OPENWORLD_MECHA_DEFENSE_END_REQ = 4512
    CMD_OPENWORLD_MECHA_DEFENSE_END_RSP = 4513
    CMD_GET_OPENWORLD_MECHA_DEFENSE_REQ = 4514
    CMD_GET_OPENWORLD_MECHA_DEFENSE_RSP = 4515
    CMD_MAKE_OPENWORLD_MECHA_REQ = 4516
    CMD_MAKE_OPENWORLD_MECHA_RSP = 4517
    CMD_SET_MECHA_PORT_REQ = 4518
    CMD_SET_MECHA_PORT_RSP = 4519
    CMD_CHOOSE_OPENWORLD_BOSS_REQ = 4520
    CMD_CHOOSE_OPENWORLD_BOSS_RSP = 4521
    CMD_UPDATE_OPENWORLD_BOSS_STATUS_REQ = 4522
    CMD_UPDATE_OPENWORLD_BOSS_STATUS_RSP = 4523
    CMD_UPDATE_OPENWORLD_BOSS_SEARCH_TIME_REQ = 4524
    CMD_UPDATE_OPENWORLD_BOSS_SEARCH_TIME_RSP = 4525
    CMD_TAKE_OPENWORLD_BOSS_REWARD_REQ = 4526
    CMD_TAKE_OPENWORLD_BOSS_REWARD_RSP = 4527
    CMD_TAKE_OPENWORLD_BOSS_HUNT_RATING_REWARD_REQ = 4528
    CMD_TAKE_OPENWORLD_BOSS_HUNT_RATING_REWARD_RSP = 4529
    CMD_SYNC_OPENWORLD_BOSS_HUNT_NOTIFY = 4530
    CMD_TAKE_OPENWORLD_ACTIVITY_LEVEL_REWARD_REQ = 4531
    CMD_TAKE_OPENWORLD_ACTIVITY_LEVEL_REWARD_RSP = 4532
    CMD_GET_OPENWORLD_BOSS_HUNT_RANK_REQ = 4533
    CMD_GET_OPENWORLD_BOSS_HUNT_RANK_RSP = 4534
    CMD_SYNC_OPENWORLD_ACTIVITY_NOTIFY = 4535
    CMD_RESET_OPENWORLD_BOSS_REQ = 4536
    CMD_RESET_OPENWORLD_BOSS_RSP = 4537
    CMD_REPORT_OPENWORLD_AREA_INFO_REQ = 4538
    CMD_REPORT_OPENWORLD_AREA_INFO_RSP = 4539
    CMD_OPENWORLD_FIGHT_BEGIN_NOTIFY = 4540
    CMD_OPENWORLD_FIGHT_END_NOTIFY = 4541
    CMD_REPORT_OPENWORLD_AREA_ENTITY_STATE_REQ = 4542
    CMD_REPORT_OPENWORLD_AREA_ENTITY_STATE_RSP = 4543
    CMD_UPDATE_OPENWORLD_QUEST_PROGRESS_REQ = 4544
    CMD_UPDATE_OPENWORLD_QUEST_PROGRESS_RSP = 4545
    CMD_GET_OPENWORLD_QUEST_ACTIVITY_REQ = 4546
    CMD_GET_OPENWORLD_QUEST_ACTIVITY_RSP = 4547
    CMD_GET_OPENWORLD_AVATAR_ACTIVITY_REQ = 4548
    CMD_GET_OPENWORLD_AVATAR_ACTIVITY_RSP = 4549
    CMD_OPENWORLD_AVATAR_ACTIVITY_ACCEPT_DAILY_QUEST_REQ = 4550
    CMD_OPENWORLD_AVATAR_ACTIVITY_ACCEPT_DAILY_QUEST_RSP = 4551
    CMD_OPENWORLD_AVATAR_ACTIVITY_REFRESH_DAILY_QUEST_REQ = 4552
    CMD_OPENWORLD_AVATAR_ACTIVITY_REFRESH_DAILY_QUEST_RSP = 4553
    CMD_OPENWORLD_AVATAR_ACTIVITY_FINISH_QUEST_REQ = 4554
    CMD_OPENWORLD_AVATAR_ACTIVITY_FINISH_QUEST_RSP = 4555
    CMD_OPENWORLD_AVATAR_ACTIVITY_TAKE_QUEST_REWARD_REQ = 4556
    CMD_OPENWORLD_AVATAR_ACTIVITY_TAKE_QUEST_REWARD_RSP = 4557
    CMD_OPENWORLD_AVATAR_ACTIVITY_CULTIVATE_REQ = 4558
    CMD_OPENWORLD_AVATAR_ACTIVITY_CULTIVATE_RSP = 4559
    CMD_OPENWORLD_AVATAR_ACTIVITY_TALENT_LEVELUP_REQ = 4560
    CMD_OPENWORLD_AVATAR_ACTIVITY_TALENT_LEVELUP_RSP = 4561
    CMD_OPENWORLD_AVATAR_ACTIVITY_GET_FILE_REQ = 4562
    CMD_OPENWORLD_AVATAR_ACTIVITY_GET_FILE_RSP = 4563
    CMD_OPENWORLD_AVATAR_ACTIVITY_SPECIAL_QUEST_NOTIFY = 4564
    CMD_OPENWORLD_CHAPTER_GET_DATA_REQ = 4565
    CMD_OPENWORLD_CHAPTER_GET_DATA_RSP = 4566
    CMD_OPENWORLD_CHAPTER_SLOT_EQUIP_BUFF_REQ = 4567
    CMD_OPENWORLD_CHAPTER_SLOT_EQUIP_BUFF_RSP = 4568
    CMD_OPENWORLD_ACCEPT_NEW_STORY_REQ = 4569
    CMD_OPENWORLD_ACCEPT_NEW_STORY_RSP = 4570
    CMD_OPENWORLD_CHAPTER_TAKE_REWARD_REQ = 4571
    CMD_OPENWORLD_CHAPTER_TAKE_REWARD_RSP = 4572
    CMD_OPENWORLD_CLOSE_STORY_REQ = 4573
    CMD_OPENWORLD_CLOSE_STORY_RSP = 4574
    CMD_OPENWORLD_CHAPTER_GET_SHOP_DATA_REQ = 4575
    CMD_OPENWORLD_CHAPTER_GET_SHOP_DATA_RSP = 4576
    CMD_OPENWORLD_CHAPTER_SHOP_BUY_GOODS_REQ = 4577
    CMD_OPENWORLD_CHAPTER_SHOP_BUY_GOODS_RSP = 4578
    CMD_OPENWORLD_CHAPTER_ENDLESS_TOWER_GET_RANK_REQ = 4579
    CMD_OPENWORLD_CHAPTER_ENDLESS_TOWER_GET_RANK_RSP = 4580
    CMD_OPENWORLD_CHAPTER_ENDLESS_TOWER_TAKE_REWARD_REQ = 4581
    CMD_OPENWORLD_CHAPTER_ENDLESS_TOWER_TAKE_REWARD_RSP = 4582
    CMD_OPENWORLD_CHAPTER_LEVEL_UP_HERO_REQ = 4583
    CMD_OPENWORLD_CHAPTER_LEVEL_UP_HERO_RSP = 4584
    CMD_OPENWORLD_CHAPTER_EQUIP_CARD_GROUP_REQ = 4585
    CMD_OPENWORLD_CHAPTER_EQUIP_CARD_GROUP_RSP = 4586
    CMD_OPENWORLD_CHAPTER_MODIFY_CARD_GROUP_NAME_REQ = 4587
    CMD_OPENWORLD_CHAPTER_MODIFY_CARD_GROUP_NAME_RSP = 4588
    CMD_OPENWORLD_CHAPTER_ACTIVE_CARD_GROUP_REQ = 4589
    CMD_OPENWORLD_CHAPTER_ACTIVE_CARD_GROUP_RSP = 4590
    CMD_OPENWORLD_CHAPTER_DELETE_CARD_GROUP_REQ = 4591
    CMD_OPENWORLD_CHAPTER_DELETE_CARD_GROUP_RSP = 4592
    CMD_OPENWORLD_CHAPTER_GET_CHALLENGE_DATA_REQ = 4593
    CMD_OPENWORLD_CHAPTER_GET_CHALLENGE_DATA_RSP = 4594
    CMD_OPENWORLD_CHAPTER_FINISH_CHALLENGE_REQ = 4595
    CMD_OPENWORLD_CHAPTER_FINISH_CHALLENGE_RSP = 4596
    CMD_OPENWORLD_CHAPTER_HERO_CARD_LEVEL_UP_NOTIFY = 4597
    CMD_OPENWORLD_CHAPTER_OPEN_HERO_TREASURE_REQ = 4598
    CMD_OPENWORLD_CHAPTER_OPEN_HERO_TREASURE_RSP = 4599
    CMD_OPENWORLD_HUNT_ACTIVITY_GET_DATA_REQ = 4600
    CMD_OPENWORLD_HUNT_ACTIVITY_GET_DATA_RSP = 4601
    CMD_OPENWORLD_HUNT_ACTIVITY_GET_MAP_DATA_REQ = 4602
    CMD_OPENWORLD_HUNT_ACTIVITY_GET_MAP_DATA_RSP = 4603
    CMD_OPENWORLD_HUNT_ACTIVITY_COMMON_STATE_CHANGE_REQ = 4604
    CMD_OPENWORLD_HUNT_ACTIVITY_COMMON_STATE_CHANGE_RSP = 4605
    CMD_OPENWORLD_HUNT_ACTIVITY_TALENT_UPGRADE_REQ = 4606
    CMD_OPENWORLD_HUNT_ACTIVITY_TALENT_UPGRADE_RSP = 4607
    CMD_OPENWORLD_HUNT_ACTIVITY_FINISH_QUEST_REQ = 4608
    CMD_OPENWORLD_HUNT_ACTIVITY_FINISH_QUEST_RSP = 4609
    CMD_OPENWORLD_HUNT_ACTIVITY_TAKE_STRONGHOLD_REWARD_NOTIFY = 4610
    CMD_OPENWORLD_HUNT_ACTIVITY_CHANGE_HUNTER_AREA_REQ = 4611
    CMD_OPENWORLD_HUNT_ACTIVITY_CHANGE_HUNTER_AREA_RSP = 4612
    CMD_OPENWORLD_HUNT_ACTIVITY_REPORT_HUNTING_SCORE_REQ = 4613
    CMD_OPENWORLD_HUNT_ACTIVITY_REPORT_HUNTING_SCORE_RSP = 4614
    CMD_OPENWORLD_CHAPTER_CHALLENGE_BEGIN_REQ = 4630
    CMD_OPENWORLD_CHAPTER_CHALLENGE_BEGIN_RSP = 4631
    CMD_OPENWORLD_CHAPTER_ENDLESS_CHALLENGE_BEGIN_REQ = 4632
    CMD_OPENWORLD_CHAPTER_ENDLESS_CHALLENGE_BEGIN_RSP = 4633
    CMD_OPENWORLD_CHAPTER_ENDLESS_CHALLENGE_END_REQ = 4634
    CMD_OPENWORLD_CHAPTER_ENDLESS_CHALLENGE_END_RSP = 4635
    CMD_OPENWORLD_CHAPTER_LEVEL_UP_BUILDING_REQ = 4636
    CMD_OPENWORLD_CHAPTER_LEVEL_UP_BUILDING_RSP = 4637
    CMD_OPENWORLD_CHAPTER_LEVEL_UP_BUILDING_FINISH_NOTIFY = 4638
    CMD_OPENWORLD_CHAPTER_ACCELERATE_LEVEL_UP_BUILDING_REQ = 4639
    CMD_OPENWORLD_CHAPTER_ACCELERATE_LEVEL_UP_BUILDING_RSP = 4640
    CMD_OPENWORLD_CHATPER_TERMINAL_PERIOD_UPGRADE_REQ = 4641
    CMD_OPENWORLD_CHATPER_TERMINAL_PERIOD_UPGRADE_RSP = 4642
    CMD_OPENWORLD_CHAPTER_GET_SELECT_QUEST_REQ = 4643
    CMD_OPENWORLD_CHAPTER_GET_SELECT_QUEST_RSP = 4644
    CMD_OPENWORLD_CHAPTER_REFRESH_QUEST_REQ = 4645
    CMD_OPENWORLD_CHAPTER_REFRESH_QUEST_RSP = 4646
    CMD_OPENWORLD_CHAPTER_ACCEPT_QUEST_REQ = 4647
    CMD_OPENWORLD_CHAPTER_ACCEPT_QUEST_RSP = 4648
    CMD_OPENWORLD_CHAPTER_FINISH_QUEST_REQ = 4649
    CMD_OPENWORLD_CHAPTER_FINISH_QUEST_RSP = 4650
    CMD_OPENWORLD_CHAPTER_TAKE_QUEST_REWARD_REQ = 4651
    CMD_OPENWORLD_CHAPTER_TAKE_QUEST_REWARD_RSP = 4652
    CMD_OPENWORLD_CHAPTER_FURNACE_START_WORK_REQ = 4653
    CMD_OPENWORLD_CHAPTER_FURNACE_START_WORK_RSP = 4654
    CMD_OPENWORLD_CHAPTER_FURNACE_CANCEL_WORK_REQ = 4655
    CMD_OPENWORLD_CHAPTER_FURNACE_CANCEL_WORK_RSP = 4656
    CMD_OPENWORLD_CHAPTER_FURNACE_ACCELERATE_WORK_REQ = 4657
    CMD_OPENWORLD_CHAPTER_FURNACE_ACCLELRATE_WORK_RSP = 4658
    CMD_TAKE_OPENWORLD_CHAPTER_FURNACE_WORK_REWARD_REQ = 4659
    CMD_TAKE_OPENWORLD_CHAPTER_FURNACE_WORK_REWARD_RSP = 4660
    CMD_OPENWORLD_CHAPTER_LEVEL_UP_TALENT_REQ = 4661
    CMD_OPENWORLD_CHAPTER_LEVEL_UP_TALENT_RSP = 4662
    CMD_OPENWORLD_CHAPTER_ACTIVE_TALENT_REQ = 4663
    CMD_OPENWORLD_CHAPTER_ACTIVE_TALENT_RSP = 4664
    CMD_OPENWORLD_CHAPTER_DIGSITE_START_REQ = 4665
    CMD_OPENWORLD_CHAPTER_DIGSITE_START_RSP = 4666
    CMD_OPENWORLD_CHAPTER_DIGSITE_CANCEL_REQ = 4667
    CMD_OPENWORLD_CHAPTER_DIGSITE_CANCEL_RSP = 4668
    CMD_OPENWORLD_CHAPTER_DIGSITE_TAKE_REWARD_REQ = 4669
    CMD_OPENWORLD_CHAPTER_DIGSITE_TAKE_REWARD_RSP = 4670
    CMD_OPENWORLD_CHAPTER_DIGSITE_ACCELERATE_REQ = 4671
    CMD_OPENWORLD_CHAPTER_DIGSITE_ACCELERATE_RSP = 4672
    CMD_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_GET_DATA_REQ = 4673
    CMD_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_GET_DATA_RSP = 4674
    CMD_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_BATTLE_BEGIN_REQ = 4675
    CMD_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_BATTLE_BEGIN_RSP = 4676
    CMD_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_BATTLE_END_REQ = 4677
    CMD_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_BATTLE_END_RSP = 4678
    CMD_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_SWEEP_REQ = 4679
    CMD_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_SWEEP_RSP = 4680
    CMD_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_GET_RANK_REQ = 4681
    CMD_OPENWORLD_CHAPTER_MOON_CHALLENGE_TOWER_GET_RANK_RSP = 4682
    CMD_OPENWORLD_CHAPTER_QTE_MAP_END_REQ = 4683
    CMD_OPENWORLD_CHAPTER_QTE_MAP_END_RSP = 4684
    CMD_OPENWORLD_CHAPTER_REPORT_DROP_ITEM_REQ = 4685
    CMD_OPENWORLD_CHAPTER_REPORT_DROP_ITEM_RSP = 4686
    CMD_OPENWORLD_CHAPTER_MOON_RELICS_CHANGE_REQ = 4687
    CMD_OPENWORLD_CHAPTER_MOON_RELICS_CHANGE_RSP = 4688
    CMD_OPENWORLD_CHAPTER_GET_ANTIGRAVITY_DATA_REQ = 4689
    CMD_OPENWORLD_CHAPTER_GET_ANTIGRAVITY_DATA_RSP = 4690
    CMD_OPENWORLD_DUMMY = 4699


class EventJudgeType(betterproto.Enum):
    EVENT_JUDGE_TYPE_NONT = 0
    EVENT_JUDGE_TYPE_COLLECT = 1
    EVENT_JUDGE_TYPE_MONSTER = 2
    EVENT_JUDGE_TYPE_EMERGENCY = 3


class CookEffectType(betterproto.Enum):
    CookEffectType0 = 0
    COOK_ADD_BUFFER = 1
    COOK_REVIVE = 2
    COOK_RECOVER_ONE_HP = 3
    COOK_RECOVER_ALL_HP = 4
    COOK_RECOVER_ONE_SP = 5
    COOK_RECOVER_ALL_SP = 6


class OpenworldStatId(betterproto.Enum):
    OpenworldStatId0 = 0
    OPENWORLD_STAT_QUEST = 1
    OPENWORLD_STAT_EVENT_MONSTER = 2
    OPENWORLD_STAT_EVENT_EMERGENCY = 3
    OPENWORLD_STAT_EVENT_COLLECT = 4
    OPENWORLD_STAT_MECHA = 5


class OpenworldFunction(betterproto.Enum):
    OpenworldFunction0 = 0
    OPENWORLD_FUNCTION_QUEST = 1
    OPENWORLD_FUNCTION_COOK = 2
    OPENWORLD_FUNCTION_MECHA = 3
    OPENWORLD_FUNCTION_MECHA_DEFENSE = 4
    OPENWORLD_FUNCTION_SHOP = 5
    OPENWORLD_FUNCTION_WEEK_SETTLE = 6
    OPENWORLD_FUNCTION_TREASURE = 7
    OPENWORLD_FUNCTION_TECH = 8
    OPENWORLD_FUNCTION_WEATHER = 9
    OPENWORLD_FUNCTION_BOSS_HUNT = 10
    OPENWORLD_FUNCTION_STORY = 11
    OPENWORLD_FUNCTION_KEY_QUEST = 12


class OpenworldFunctionUnlockType(betterproto.Enum):
    OPENWORLD_FUNCTION_UNLOCK_AUTO = 0
    OPENWORLD_FUNCTION_UNLOCK_QUEST_LEVEL = 1
    OPENWORLD_FUNCTION_UNLOCK_STORY = 2
    OPENWORLD_FUNCTION_UNLOCK_TECH_LEVEL = 3


class OpenworldStageCondition(betterproto.Enum):
    OpenworldStageCondition0 = 0
    OPENWORLD_STAGE_COND_LD_SP = 1


class OpenworldDataType(betterproto.Enum):
    OPENWORLD_DATA_ALL = 0
    OPENWORLD_DATA_COOK = 1
    OPENWORLD_DATA_TECH = 2
    OPENWORLD_DATA_MECHA = 3


class OpenworldMapStatus(betterproto.Enum):
    OPENWORLD_MAP_STATUS_NONE = 0
    OPENWORLD_MAP_STATUS_ACTIVATE = 1
    OPENWORLD_MAP_STATUS_AUTO_ACTIVATE = 2
    OPENWORLD_MAP_STATUS_LOCK = 3


class OpenworldEventSubType(betterproto.Enum):
    OpenworldEventSubType0 = 0
    OPENWORLD_EVENT_SUB_TREASURE = 50


class OpenworldEventRefreshType(betterproto.Enum):
    OpenworldEventRefreshType0 = 0
    OPENWORLD_EVENT_REFRESH_CYCLE = 1
    OPENWORLD_EVENT_REFRESH_ONCE = 2
    OPENWORLD_EVENT_REFRESH_TIME = 3


class OpenworldQuestSettleType(betterproto.Enum):
    OPENWORLD_QUEST_SETTLE_DEFAULT = 0
    OPENWORLD_QUEST_SETTLE_CHALLENGE = 1


class OpenworldMapType(betterproto.Enum):
    OpenworldMapType0 = 0
    OPENWORLD_NORMAL_MAP = 1
    OPENWORLD_ACTIVITY_MAP = 2
    OPENWORLD_ENDLESS_MAP = 3
    OPENWORLD_DLC_MAP = 4
    OPENWORLD_ENDLESS_SINGLE_MAP = 5
    OPENWORLD_AVATAR_ACTIVITY_MAP = 6
    OPENWORLD_CHAPTER_MAP = 7
    OPENWORLD_SC_DLC_MAP = 8
    OPENWORLD_HUNT_ACTIVITY_MAP = 9
    OPENWORLD_AI_CYBER_ACTIVITY_MAP = 10


class OpenworldActivityType(betterproto.Enum):
    OpenworldActivityType0 = 0
    OPENWORLD_BOSS_HUNT_ACTIVITY = 1


class OpenworldFightEndStatus(betterproto.Enum):
    OPENWORLD_FIGHT_STATUS_NONE = 0
    OPENWORLD_FIGHT_STATUS_WIN = 1
    OPENWORLD_FIGHT_STATUS_EXCAPE = 2
    OPENWORLD_FIGHT_STATUS_ALL_DEAD = 3


class OpenworldSpecialMapID(betterproto.Enum):
    OpenworldSpecialMapID0 = 0
    OPENWORLD_SAKURA_MAP_ID = 1
    OPENWORLD_TM_MAP_ID = 2
    OPENWORLD_DLC_MAP_ID = 401
    OPENWORLD_SC_DLC_MAP_ID = 601
    OPENWORLD_CHAPTER_29_OW = 801
    OPENWORLD_CHAPTER_31_OW = 1001


class OpenworldQuestFinishWay(betterproto.Enum):
    OPENWORLD_QUEST_FINISH_WAY_NONE = 0
    OPENWORLD_QUEST_FINISH_WAY_DLC_COIN = 1
    OPENWORLD_QUEST_FINISH_WAY_FINISH_EVENT = 2
    OPENWORLD_QUEST_FINISH_WAY_ASSASSIN_KILL = 3
    OPENWORLD_QUEST_FINISH_WAY_QTE_KILL = 4
    OPENWORLD_QUEST_FINISH_WAY_KILL_MONSTER_TYPE = 5
    OPENWORLD_QUEST_FINISH_WAY_AIR_KILL = 6
    OPENWORLD_QUEST_FINISH_WAY_KILL_NATURE_MONSTER = 7
    OPENWORLD_QUEST_FINISH_WAY_AIRSTRIKE_KILL = 8
    OPENWORLD_QUEST_FINISH_WAY_THROWBLOW = 9
    OPENWORLD_QUEST_FINISH_WAT_CHAPTER_OW_FINAL_COIN = 10
    OPENWORLD_QUEST_FINISH_WAT_CHAPTER_OW_FINAL_ROBOT_ULTRA_KILL = 11
    OPENWORLD_QUEST_FINISH_WAT_CHAPTER_OW_FINAL_ROBOT_USE_CATCH = 12


class OpenworldMechaTeamPosType(betterproto.Enum):
    OpenworldMechaTeamPosType0 = 0
    MECHA_TEAM_POS_1 = 1
    MECHA_TEAM_POS_2 = 2
    MECHA_TEAM_POS_3 = 3
    MECHA_TEAM_POS_4 = 4
    MECHA_TEAM_POS_5 = 5


class OpenworldQuestCreateWay(betterproto.Enum):
    OpenworldQuestCreateWay0 = 0
    OPENWORLD_QUEST_CREATE_WAY_RARITY = 1
    OPENWORLD_QUEST_CREATE_WAY_MAP_LEVEL = 2


class OpenworldAvatarActivityConditionType(betterproto.Enum):
    OPENWORLD_AVATAR_ACTIVITY_CONDITION_NONE = 0
    OPENWORLD_AVATAR_ACTIVITY_CONDITION_LEVEL = 1
    OPENWORLD_AVATAR_ACTIVITY_CONDITION_TALENT = 2
    OPENWORLD_AVATAR_ACTIVITY_CONDITION_STORY = 3
    OPENWORLD_AVATAR_ACTIVITY_CONDITION_EVENT = 4
    OPENWORLD_AVATAR_ACTIVITY_CONDITION_QUEST = 5
    OPENWORLD_AVATAR_ACTIVITY_CONDITION_CULTIVATE = 6


class OpenworldAvatarActivityCultivateType(betterproto.Enum):
    OpenworldAvatarActivityCultivateType0 = 0
    OPENWORLD_AVATAR_ACTIVITY_CULTIVATE_AVATAR = 1
    OPENWORLD_AVATAR_ACTIVITY_CULTIVATE_STIGMATA = 2
    OPENWORLD_AVATAR_ACTIVITY_CULTIVATE_WEAPON = 3


class OpenworldChapterUnlockConditionType(betterproto.Enum):
    OPENWORLD_CHAPTER_UNLOCK_NONE = 0
    OPENWORLD_CHAPTER_UNLOCK_PRE_EVENT = 1
    OPENWORLD_CHAPTER_UNLOCK_DATETIME = 2
    OPENWORLD_CHAPTER_UNLOCK_STAGE = 3
    OPENWORLD_CHAPTER_UNLOCK_MISSION = 4
    OPENWORLD_CHAPTER_UNLOCK_PRE_STORY = 5
    OPENWORLD_CHAPTER_UNLOCK_PRE_TOWER = 6


class OpenworldUnlockConditionType(betterproto.Enum):
    OpenworldUnlockConditionType0 = 0
    OPENWORLD_UNLOCK_PRE_EVENT_LIST = 1
    OPENWORLD_UNLOCK_DATETIME = 2
    OPENWORLD_UNLOCK_STAGE_LIST = 3
    OPENWORLD_UNLOCK_MISSION_LIST = 4
    OPENWORLD_UNLOCK_PRE_STORY_LIST = 5


class OpenworldChapterStoryType(betterproto.Enum):
    OpenworldChapterStoryType0 = 0
    OPENWORLD_CHAPTER_STAGE = 1
    OPENWORLD_CHAPTER_STORY = 2


class OpenworldQuestRewardType(betterproto.Enum):
    OpenworldQuestRewardType0 = 0
    OW_QUEST_REWARD_A_AVATAR_FRAGMENT = 1
    OW_QUEST_REWARD_SP_AVATAR_FRAGMENT = 2
    OW_QUEST_REWARD_PURPLEJADE = 3
    OW_QUEST_REWARD_NORMAL = 4
    OW_QUEST_REWARD_ARTIFACT = 5


class OpenworldChapterTowerType(betterproto.Enum):
    OpenworldChapterTowerType0 = 0
    OPENWORLD_CHAPTER_TOWER_COMMON = 1
    OPENWORLD_CHAPTER_TOWER_ENDLESS = 2


class OpenworldChapterTowerSiteType(betterproto.Enum):
    OpenworldChapterTowerSiteType0 = 0
    OPENWORLD_CHAPTER_TOWER_SITE_STAGE = 1
    OPENWORLD_CHAPTER_TOWER_SITE_PLOT = 2


class OpenworldChapterHeroType(betterproto.Enum):
    OpenworldChapterHeroType0 = 0
    OPENWORLD_CHAPTER_CARD_HERO = 1
    OPENWORLD_CHAPTER_NORMAL_HERO = 2


class HuntActivityEntityType(betterproto.Enum):
    HUNT_ACTIVITY_TYPE_NONE = 0
    HUNT_ACTIVITY_TYPE_HUNTER = 1
    HUNT_ACTIVITY_TYPE_STRONGHOLD = 2
    HUNT_ACTIVITY_TYPE_MACHINE = 3


class HuntActivityHunterState(betterproto.Enum):
    HUNTER_STATE_NONE = 0
    HUNTER_STATE_PARTOL = 1
    HUNTER_STATE_CHASE = 2
    HUNTER_STATE_BATTLE = 3
    HUNTER_STATE_DEAD = 4


class OpenworldChapterBuildingType(betterproto.Enum):
    OpenworldChapterBuildingType0 = 0
    OPENWORLD_CHAPTER_BUILDING_FURNACE = 1
    OPENWORLD_CHAPTER_BUILDING_QUEST = 2
    OPENWORLD_CHAPTER_BUILDING_WORKSHOP = 3
    OPENWORLD_CHAPTER_BUILDING_BAG = 4
    OPENWORLD_CHAPTER_BUILDING_DIGSITE = 5
    OPENWORLD_CHAPTER_BUILDING_TRANSPORT = 6


class OpenworldChapterQuestType(betterproto.Enum):
    OpenworldChapterQuestType0 = 0
    OPENWORLD_CHAPTER_NORMAL_QUEST = 1
    OPENWORLD_CHAPTER_SPECIAL_QUEST = 2


class OpenworldChapterFurnaceWorkStatus(betterproto.Enum):
    OPENWORLD_CHAPTER_FURNACE_WORK_INVALID = 0
    OPENWORLD_CHAPTER_FURNACE_WORK_NOT_BEGIN = 1
    OPENWORLD_CHAPTER_FURNACE_WORK_DOING = 2
    OPENWORLD_CHAPTER_FURNACE_WORK_FINISHED = 3


class OpenworldChapterTalentType(betterproto.Enum):
    OpenworldChapterTalentType0 = 0
    OPENWORLD_CHAPTER_NORMAL_TALENT = 1
    OPENWORLD_CHAPTER_ACTIVE_TALENT = 2
    OPENWORLD_CHAPTER_DIG_TALENT = 3


class MoonChallengeTowerBattleEndStatus(betterproto.Enum):
    MOON_CHALLENGE_TOWER_BATTLE_END_INVALID = 0
    MOON_CHALLENGE_TOWER_BATTLE_END_SUCC = 1
    MOON_CHALLENGE_TOWER_BATTLE_END_FAIL = 2


class OpenworldChapterQTEMapType(betterproto.Enum):
    OpenworldChapterQTEMapType0 = 0
    OPENWORLD_CHAPTER_QTE_NORMAL_MAP = 1
    OPENWORLD_CHAPTER_QTE_SPECIAL_MAP = 2


class QTEMapEndStatus(betterproto.Enum):
    QTE_MAP_END_STATUS_SUCC = 0
    QTE_MAP_END_STATUS_EXIT = 1
    QTE_MAP_END_STATUS_EXHAUSTED = 2


class PjmsTeleportStatus(betterproto.Enum):
    PJMS_TELEPORT_STATUS_LOCK = 0
    PJMS_TELEPORT_STATUS_INACTIVE = 1
    PJMS_TELEPORT_STATUS_ACTIVE = 2


class CmdTypePjms(betterproto.Enum):
    CmdTypePjms0 = 0
    CMD_PJMS_ENTER_WORLD_REQ = 7700
    CMD_PJMS_ENTER_WORLD_RSP = 7701
    CMD_PJMS_GET_CUR_WORLD_REQ = 7702
    CMD_PJMS_GET_CUR_WORLD_RSP = 7703
    CMD_PJMS_GET_MAIN_DATA_REQ = 7706
    CMD_PJMS_GET_MAIN_DATA_RSP = 7707
    CMD_PJMS_GET_STORY_DATA_REQ = 7708
    CMD_PJMS_GET_STORY_DATA_RSP = 7709
    CMD_PJMS_UPDATE_STORY_PROGRESS_NOTIFY = 7714
    CMD_PJMS_SYNC_MAP_INFO_NOTIFY = 7719
    CMD_PJMS_UPDATE_ENTITY_NOTIFY = 7720
    CMD_PJMS_UPDATE_STORY_PROGRESS_REQ = 7725
    CMD_PJMS_UPDATE_STORY_PROGRESS_RSP = 7726
    CMD_PJMS_KILL_MONSTER_REQ = 7727
    CMD_PJMS_KILL_MONSTER_RSP = 7728
    CMD_PJMS_CHANGE_GADGET_STATE_REQ = 7729
    CMD_PJMS_CHANGE_GADGET_STATE_RSP = 7730
    CMD_PJMS_ACTIVE_GROUP_REQ = 7731
    CMD_PJMS_ACTIVE_GROUP_RSP = 7732
    CMD_PJMS_ACTIVE_ENTITY_REQ = 7733
    CMD_PJMS_ACTIVE_ENTITY_RSP = 7734
    CMD_PJMS_SET_WORLD_TIME_REQ = 7735
    CMD_PJMS_SET_WORLD_TIME_RSP = 7736
    CMD_PJMS_COMMON_DROP_NOTIFY = 7737
    CMD_PJMS_CHANGE_CHAPTER_REQ = 7738
    CMD_PJMS_CHANGE_CHAPTER_RSP = 7739
    CMD_PJMS_SET_CUR_AVATAR_REQ = 7740
    CMD_PJMS_SET_CUR_AVATAR_RSP = 7741
    CMD_PJMS_UPDATE_FORMATION_REQ = 7742
    CMD_PJMS_UPDATE_FORMATION_RSP = 7743
    CMD_PJMS_UPDATE_AVATAR_STATUS_REQ = 7744
    CMD_PJMS_UPDATE_AVATAR_STATUS_RSP = 7745
    CMD_PJMS_GET_AVATAR_STATUS_REQ = 7746
    CMD_PJMS_GET_AVATAR_STATUS_RSP = 7747
    CMD_PJMS_UPDATE_CHAPTER_NOTIFY = 7756
    CMD_PJMS_LEVEL_UP_TALENT_REQ = 7757
    CMD_PJMS_LEVEL_UP_TALENT_RSP = 7758
    CMD_PJMS_SET_NAME_REQ = 7761
    CMD_PJMS_SET_NAME_RSP = 7762
    CMD_PJMS_SET_GENDER_REQ = 7763
    CMD_PJMS_SET_GENDER_RSP = 7764
    CMD_PJMS_GET_UNIT_INFO_REQ = 7765
    CMD_PJMS_GET_UNIT_INFO_RSP = 7766
    CMD_PJMS_LEVEL_UP_CORE_UNIT_REQ = 7767
    CMD_PJMS_LEVEL_UP_CORE_UNIT_RSP = 7768
    CMD_PJMS_LEVEL_UP_AUXILIARY_UNIT_REQ = 7769
    CMD_PJMS_LEVEL_UP_AUXILIARY_UNIT_RSP = 7770
    CMD_PJMS_UNIT_SET_CHANGE_NOTIFY = 7771
    CMD_PJMS_SET_CUR_UNIT_SET_REQ = 7773
    CMD_PJMS_SET_CUR_UNIT_SET_RSP = 7774
    CMD_PJMS_CHANGE_UNIT_SET_SLOT_REQ = 7775
    CMD_PJMS_CHANGE_UNIT_SET_SLOT_RSP = 7776
    CMD_PJMS_UNIT_CHANGE_NOTIFY = 7777
    CMD_PJMS_CHANGE_BGM_REQ = 7778
    CMD_PJMS_CHANGE_BGM_RSP = 7779
    CMD_PJMS_TAKE_CHAPTER_REWARD_REQ = 7780
    CMD_PJMS_TAKE_CHAPTER_REWARD_RSP = 7781
    CMD_PJMS_DISJOIN_AUXILIARY_UNIT_REQ = 7782
    CMD_PJMS_DISJOIN_AUXILIARY_UNIT_RSP = 7783
    CMD_PJMS_GET_RESIDENT_STAGE_DATA_REQ = 7784
    CMD_PJMS_GET_RESIDENT_STAGE_DATA_RSP = 7785
    CMD_PJMS_GET_EXPLORE_SCORE_REQ = 7786
    CMD_PJMS_GET_EXPLORE_SCORE_RSP = 7787
    CMD_PJMS_GET_HOME_DATA_REQ = 7788
    CMD_PJMS_GET_HOME_DATA_RSP = 7789
    CMD_PJMS_GET_ACHIEVEMENT_DATA_REQ = 7790
    CMD_PJMS_GET_ACHIEVEMENT_DATA_RSP = 7791
    CMD_PJMS_TAKE_ACHIEVEMENT_PLATINUM_REWARD_REQ = 7792
    CMD_PJMS_TAKE_ACHIEVEMENT_PLATINUM_REWARD_RSP = 7793
    CMD_PJMS_SET_AUXILIARY_UNIT_LOCK_STATUS_REQ = 7794
    CMD_PJMS_SET_AUXILIARY_UNIT_LOCK_STATUS_RSP = 7795
    CMD_PJMS_TAKE_CHAPTER_LEVEL_REWARD_REQ = 7796
    CMD_PJMS_TAKE_CHAPTER_LEVEL_REWARD_RSP = 7797
    CMD_PJMS_REVIVE_AVATAR_REQ = 7798
    CMD_PJMS_REVIVE_AVATAR_RSP = 7799
    CMD_PJMS_REFRESH_GROUP_REQ = 7800
    CMD_PJMS_REFRESH_GROUP_RSP = 7801
    CMD_PJMS_FINISH_CONSUME_MATERIAL_STORY_REQ = 7802
    CMD_PJMS_FINISH_CONSUME_MATERIAL_STORY_RSP = 7803
    CMD_PJMS_STORY_STATUS_NOTIFY = 7804
    CMD_PJMS_CHANGE_NPC_STATE_REQ = 7805
    CMD_PJMS_CHANGE_NPC_STATE_RSP = 7806
    CMD_PJMS_ADD_SHADOW_LAKE_ENERGY_REQ = 7807
    CMD_PJMS_ADD_SHADOW_LAKE_ENERGY_RSP = 7808
    CMD_PJMS_SUB_SHADOW_LAKE_ENERGY_REQ = 7809
    CMD_PJMS_SUB_SHADOW_LAKE_ENERGY_RSP = 7810
    CMD_PJMS_SHADOWLAKE_NOTIFY = 7811
    CMD_PJMS_GET_CHAPTER_DATA_REQ = 7812
    CMD_PJMS_GET_CHAPTER_DATA_RSP = 7813
    CMD_PJMS_GET_ACTIVITY_PANEL_REQ = 7814
    CMD_PJMS_GET_ACTIVITY_PANEL_RSP = 7815
    CMD_PJMS_RESIDENT_STAGE_GET_RANK_REQ = 7816
    CMD_PJMS_RESIDENT_STAGE_GET_RANK_RSP = 7817
    CMD_PJMS_GET_RECOVERY_RECORD_REQ = 7818
    CMD_PJMS_GET_RECOVERY_RECORD_RSP = 7819
    CMD_PJMS_RECORD_RECOVERY_ACTION_REQ = 7820
    CMD_PJMS_RECORD_RECOVERY_ACTION_RSP = 7821
    CMD_PJMS_GET_CONDITION_DATA_REQ = 7822
    CMD_PJMS_GET_CONDITION_DATA_RSP = 7823
    CMD_PJMS_CHAPTER_TRACK_STORY_SERIES_REQ = 7826
    CMD_PJMS_CHAPTER_TRACK_STORY_SERIES_RSP = 7827
    CMD_PJMS_LEAVE_CUR_WORLD_REQ = 7828
    CMD_PJMS_LEAVE_CUR_WORLD_RSP = 7829
    CMD_PJMS_CHAPTER_ACTIVE_ECOLOGY_TALK_REQ = 7830
    CMD_PJMS_CHAPTER_ACTIVE_ECOLOGY_TALK_RSP = 7831
    CMD_PJMS_TRACK_STORY_SERIES_REQ = 7834
    CMD_PJMS_TRACK_STORY_SERIES_RSP = 7835
    CMD_PJMS_SKIP_STORY_REQ = 7836
    CMD_PJMS_SKIP_STORY_RSP = 7837
    CMD_PJMS_DUMMY = 7899


class PjmsChapterIdEnum(betterproto.Enum):
    PjmsChapterIdEnum0 = 0
    PJMS_CHAPTER_ID_SHADOW_LAKE = 100
    PJMS_CHAPTER_ID_RE = 150
    PJMS_CHAPTER_ID_KNIGHT = 200


class PjmsWorldType(betterproto.Enum):
    PJMS_WORLD_TYPE_NONE = 0
    PJMS_WORLD_TYPE_BASE = 1
    PJMS_WORLD_TYPE_OWSTAGE_WITH_BATTLE = 2
    PJMS_WORLD_TYPE_OWSTAGE_NO_BATTLE = 3
    PJMS_WORLD_TYPE_DUNGEON = 4
    PJMS_WORLD_TYPE_OWSTAGE_UAUTO = 200


class PjmsEntityType(betterproto.Enum):
    PJMS_ENTITY_TYPE_NONE = 0
    PJMS_ENTITY_TYPE_NPC = 1
    PJMS_ENTITY_TYPE_GADGET = 2
    PJMS_ENTITY_TYPE_MONSTER = 3
    PJMS_ENTITY_TYPE_WALKER = 4


class PjmsEventType(betterproto.Enum):
    PJMS_EVENT_TYPE_NONE = 0
    PJMS_EVENT_TYPE_FINISH_STORY = 2
    PJMS_EVENT_TYPE_ADD_MATERIAL = 4
    PJMS_EVENT_TYPE_ENTER_WORLD = 5
    PJMS_EVENT_TYPE_LEVEL_UP = 6
    PJMS_EVENT_TYPE_KILL_MONSTER = 7
    PJMS_EVENT_TYPE_GADGET_STATE_CHANGE = 8
    PJMS_EVENT_TYPE_GROUP_STATE_CHANGE = 9
    PJMS_EVENT_TYPE_SET_WORLD_TIME = 10
    PJMS_EVENT_TYPE_STAGE_END = 11
    PJMS_EVENT_TYPE_CHAPTER_LEVEL_UP = 12
    PJMS_EVENT_TYPE_FINISH_MISSION = 13
    PJMS_EVENT_TYPE_GROUP_ACTIVE_CHANGE = 14
    PJMS_EVENT_TYPE_SHOP_BUY_GOODS = 15
    PJMS_EVENT_TYPE_LEAVE_WORLD = 16


class PjmsGroupStateEventType(betterproto.Enum):
    PjmsGroupStateEventType0 = 0
    PJMS_GROUP_STATE_EVENT_TYPE_KILL_MONSTER = 1
    PJMS_GROUP_STATE_EVENT_TYPE_GADGET_STATE_CHANGE = 2
    PJMS_GROUP_STATE_EVENT_TYPE_STORY_STATUS_CHANGE = 3


class PjmsStoryStatus(betterproto.Enum):
    PJMS_STORY_STATUS_NONE = 0
    PJMS_STORY_STATUS_DOING = 1
    PJMS_STORY_STATUS_FINISH = 2
    PJMS_STORY_STATUS_CLOSE = 3
    PJMS_STORY_STATUS_WAIT_DELETE = 4


class PjmsPreStoryJudgeType(betterproto.Enum):
    PJMS_PRE_STORY_JUDGE_TPYE_AND = 0
    PJMS_PRE_STORY_JUDGE_TPYE_OR = 1


class PjmsStoryFinishType(betterproto.Enum):
    PJMS_STORY_FINISH_TYPE_NONE = 0
    PJMS_STORY_FINISH_TYPE_FINISH_STORY = 1
    PJMS_STORY_FINISH_TYPE_FINISH_INTERACT = 2
    PJMS_STORY_FINISH_TYPE_ADD_MATERIAL = 3
    PJMS_STORY_FINISH_TYPE_ENTER_WORLD = 4
    PJMS_STORY_FINISH_TYPE_CLIENT_TRIGGER = 5
    PJMS_STORY_FINISH_TYPE_KILL_MONSTER = 6
    PJMS_STORY_FINISH_TYPE_GADGET_STATE_CHANGE = 7
    PJMS_STORY_FINISH_TYPE_GROUP_STATE_CHANGE = 8
    PJMS_STORY_FINISH_TYPE_CONSUME_MATERIAL = 9
    PJMS_STORY_FINISH_TYPE_STAGE_ID = 10
    PJMS_STORY_FINISH_TYPE_FINISH_MISSION = 11
    PJMS_STORY_FINISH_TYPE_SHOPPING_TIMES = 12
    PJMS_STORY_FINISH_TYPE_LEAVE_WORLD = 13
    PJMS_STORY_FINISH_TYPE_TAKE_MISSION_REWARD = 14


class PjmsSeriesType(betterproto.Enum):
    PjmsSeriesType0 = 0
    PJMS_SERIES_TYPE_MAIN = 1
    PJMS_SERIES_TYPE_BRANCH = 2
    PJMS_SERIES_TYPE_QUEST = 3
    PJMS_SERIES_TYPE_TIMED = 4
    PJMS_SERIES_TYPE_ACTIVITY = 5


class PjmsConditionType(betterproto.Enum):
    PJMS_CONDITION_TYPE_NONE = 0
    PJMS_CONDITION_TYPE_EXPRESSION = 1
    PJMS_CONDITION_TYPE_ALWAYS_TRUE = 2
    PJMS_CONDITION_TYPE_ALWAYS_FALSE = 3
    PJMS_CONDITION_TYPE_ALL_OF = 4
    PJMS_CONDITION_TYPE_ANY_OF = 5
    PJMS_CONDITION_TYPE_NONE_OF = 6
    PJMS_CONDITION_TYPE_LEVEL_GE = 11
    PJMS_CONDITION_TYPE_PASS_STAGE_AND = 12
    PJMS_CONDITION_TYPE_PASS_STAGE_OR = 13
    PJMS_CONDITION_TYPE_GENDER = 14
    PJMS_CONDITION_TYPE_STORY_STATUS_MATCH = 15
    PJMS_CONDITION_TYPE_CUR_CHAPTER_MATCH = 16
    PJMS_CONDITION_TYPE_DATETIME_GE = 17
    PJMS_CONDITION_TYPE_CHPATER_LEVEL_GE = 18
    PJMS_CONDITION_TYPE_WORLD_TIME_LIMIT = 19
    PJMS_CONDITION_TYPE_SHADOW_LAKE_ENERGY_NUM_GE = 20
    PJMS_CONDITION_TYPE_GADGET_STATE_MATCH = 21
    PJMS_CONDITION_TYPE_GROUP_STATE_MATCH = 22
    PJMS_CONDITION_TYPE_GROUP_ACTIVE_MATCH = 23
    PJMS_CONDITION_TYPE_PJMS_ACTIVITY_SUB_MODULE_OPEN = 24
    PJMS_CONDITION_TYPE_MATERIAL_NUM_GE = 25
    PJMS_CONDITION_TYPE_IN_WORLD_LIST = 26
    PJMS_CONDITION_TYPE_THELEMA_ACTIVITY_NPC_FINISH = 10001
    PJMS_CONDITION_TYPE_NO_PJMS_ACTIVITY = 10002


class PjmsActionType(betterproto.Enum):
    PjmsActionType0 = 0
    PJMS_ACTION_TYPE_SUB_MATERIAL = 1
    PJMS_ACTION_TYPE_CLOSE_STORY = 2
    PJMS_ACTION_TYPE_UNLOCK_FOG = 3
    PJMS_ACTION_TYPE_SET_ENTITY_ACTIVE = 4
    PJMS_ACTION_TYPE_SET_GROUP_ACTIVE = 5
    PJMS_ACTION_TYPE_CHANGE_GADGET_STATE = 6
    PJMS_ACTION_TYPE_ACTIVATE_TELEPORT = 7
    PJMS_ACTION_TYPE_REFRESH_GROUP = 8
    PJMS_ACTION_TYPE_ADD_SHADOW_LAKE_ENERGY_MAX_NUM = 9
    PJMS_ACTION_TYPE_ADD_SHADOW_LAKE_ENERGY_NUM = 10
    PJMS_ACTION_TYPE_SUB_SHADOW_LAKE_ENERGY_NUM = 11
    PJMS_ACTION_TYPE_REFRESH_DAILY_QUEST = 12
    PJMS_ACTION_TYPE_SET_GENDER = 13


class PjmsGenderType(betterproto.Enum):
    PJMS_GENDER_TYPE_NONE = 0
    PJMS_GENDER_TYPE_FEMALE = 1
    PJMS_GENDER_TYPE_MALE = 2


class PjmsGroupRefreshType(betterproto.Enum):
    PJMS_GROUP_REFRESH_TYPE_NONE = 0
    PJMS_GROUP_REFRESH_TYPE_NEVER = 1
    PJMS_GROUP_REFRESH_TYPE_ON_LOAD = 2
    PJMS_GROUP_REFRESH_TYPE_INTERVAL_SECOND_AFTER_CREATE = 3
    PJMS_GROUP_REFRESH_TYPE_INTERVAL_DAY_AFTER_CREATE = 4
    PJMS_GROUP_REFRESH_TYPE_INTERVAL_SECOND_AFTER_MODIFY = 5


class PjmsChapterItemType(betterproto.Enum):
    PJMS_CHAPTER_ITEM_TYPE_NONE = 0
    PJMS_CHAPTER_ITEM_TYPE_MATERIAL = 1
    PJMS_CHAPTER_ITEM_TYPE_AUX_UNIT_EXP = 2


class PjmsResidentStageType(betterproto.Enum):
    PjmsResidentStageType0 = 0
    PJMS_RESIDENT_STAGE_TYPE_MATERIAL = 1
    PJMS_RESIDENT_STAGE_TYPE_WEEKLY = 2
    PJMS_RESIDENT_STAGE_TYPE_TOWER = 3


class DropFromType(betterproto.Enum):
    DROP_FROM_TYPE_NONE = 0
    DROP_FROM_TYPE_GADGET = 1
    DROP_FROM_TYPE_MONSTER = 2
    DROP_FROM_TYPE_STORY = 3


class PjmsUnitSetIdRange(betterproto.Enum):
    PjmsUnitSetIdRange0 = 0
    PJMS_MIN_UNIT_SET_ID = 1
    PJMS_MAX_UNIT_SET_ID = 5


class PjmsUnitSetSlotType(betterproto.Enum):
    PJMS_UNIT_SET_SLOT_TYPE_NONE = 0
    PJMS_UNIT_SET_SLOT_TYPE_CORE = 1
    PJMS_UNIT_SET_SLOT_TYPE_AUXILIARY = 2


class PjmsTrackStorySeriesType(betterproto.Enum):
    PjmsTrackStorySeriesType0 = 0
    PJMS_TRACK_STORY_SERIES_TYPE_CHAPTER = 1
    PJMS_TRACK_STORY_SERIES_TYPE_CLIENT = 2


class CmdTypePlatformshooter(betterproto.Enum):
    CmdTypePlatformshooter0 = 0
    CMD_PLATFORM_SHOOTER_GET_ACTIVITY_REQ = 6950
    CMD_PLATFORM_SHOOTER_GET_ACTIVITY_RSP = 6951
    CMD_PLATFORM_SHOOTER_QAVATAR_LEVEL_UP_REQ = 6952
    CMD_PLATFORM_SHOOTER_QAVATAR_LEVEL_UP_RSP = 6953
    CMD_PLATFORM_SHOOTER_WEAPON_POOL_GET_DISPLAY_REQ = 6954
    CMD_PLATFORM_SHOOTER_WEAPON_POOL_GET_DISPLAY_RSP = 6955
    CMD_PLATFORM_SHOOTER_WEAPON_POOL_GACHA_REQ = 6956
    CMD_PLATFORM_SHOOTER_WEAPON_POOL_GACHA_RSP = 6957
    CMD_PLATFORM_SHOOTER_WEAPON_AFFIX_REFINE_REQ = 6958
    CMD_PLATFORM_SHOOTER_WEAPON_AFFIX_REFINE_RSP = 6959
    CMD_PLATFORM_SHOOTER_WEAPON_AFFIX_CONFIRM_REQ = 6960
    CMD_PLATFORM_SHOOTER_WEAPON_AFFIX_CONFIRM_RSP = 6961
    CMD_PLATFORM_SHOOTER_GET_RANK_REQ = 6962
    CMD_PLATFORM_SHOOTER_GET_RANK_RSP = 6963


class PlatformShooterWeaponAffixConfirmType(betterproto.Enum):
    PLATFORM_SHOOTER_WEAPON_AFFIX_CONFIRM_NONE = 0
    PLATFORM_SHOOTER_WEAPON_AFFIX_CONFIRM_CONFIRM = 1
    PLATFORM_SHOOTER_WEAPON_AFFIX_CONFIRM_ABANDON = 2


class PlatformShooterWeaponAffixRefineType(betterproto.Enum):
    PLATFORM_SHOOTER_WEAPON_AFFIX_REFINE_NONE = 0
    PLATFORM_SHOOTER_WEAPON_AFFIX_REFINE_JUNIOR = 1
    PLATFORM_SHOOTER_WEAPON_AFFIX_REFINE_SENIOR = 2
    PLATFORM_SHOOTER_WEAPON_AFFIX_REFINE_TOP = 3


class PlatformShooterStageType(betterproto.Enum):
    PLATFORM_SHOOTER_STAGE_INVALID = 0
    PLATFORM_SHOOTER_STAGE_MAIN = 1
    PLATFORM_SHOOTER_STAGE_DAILY = 2
    PLATFORM_SHOOTER_STAGE_DAILY_CHALLENGE = 3
    PLATFORM_SHOOTER_STAGE_TOWER = 4
    PLATFORM_SHOOTER_STAGE_QAVATAR_CHALLENGE = 5


class PlatformShooterWeaponPoolStatus(betterproto.Enum):
    PLATFORM_SHOOTER_WEAPON_POOL_NONE = 0
    PLATFORM_SHOOTER_WEAPON_POOL_LOCKED = 1
    PLATFORM_SHOOTER_WEAPON_POOL_DOING = 2
    PLATFORM_SHOOTER_WEAPON_POOL_FINISHED = 3


class CmdTypePvz(betterproto.Enum):
    CmdTypePvz0 = 0
    CMD_PVZ_GET_ACTIVITY_REQ = 6550
    CMD_PVZ_GET_ACTIVITY_RSP = 6551
    CMD_PVZ_BATTLE_BEGIN_REQ = 6552
    CMD_PVZ_BATTLE_BEGIN_RSP = 6553
    CMD_PVZ_BATTLE_END_REQ = 6554
    CMD_PVZ_BATTLE_END_RSP = 6555
    CMD_PVZ_QAVATAR_LEVEL_UP_REQ = 6556
    CMD_PVZ_QAVATAR_LEVEL_UP_RSP = 6557


class PvzSiteType(betterproto.Enum):
    PvzSiteType0 = 0
    PVZ_SITE_NORMAL = 1
    PVZ_SITE_DAILY = 2
    PVZ_SITE_CHALLENGE = 3


class PvzBattleEndStatus(betterproto.Enum):
    PVZ_BATTLE_END_NONE = 0
    PVZ_BATTLE_END_SUCC = 1
    PVZ_BATTLE_END_FAIL = 2
    PVZ_BATTLE_END_QUIT = 3


class PvzQAvatarNextLevelConditionType(betterproto.Enum):
    PVZ_QAVATAR_NEXT_LEVEL_CONDITION_NONE = 0
    PVZ_QAVATAR_NEXT_LEVEL_CONDITION_PASS_SITE = 1


class PvzQAvatarType(betterproto.Enum):
    PvzQAvatarType0 = 0
    PVZ_QAVATAR_ATTACK = 1
    PVZ_QAVATAR_ASSIST = 2


class QAvatarBattleComponentOpNotifyComponentOpType(betterproto.Enum):
    COMPONENT_OP_NONE = 0
    COMPONENT_OP_ADD = 1
    COMPONENT_OP_DEL = 2


class CmdTypeQavatarbattle(betterproto.Enum):
    CmdTypeQavatarbattle0 = 0
    CMD_QAVATAR_BATTLE_BEGIN_NOTIFY = 5550
    CMD_QAVATAR_BATTLE_SETTLE_NOTIFY = 5551
    CMD_QAVATAR_BATTLE_GET_LOBBY_INFO_REQ = 5552
    CMD_QAVATAR_BATTLE_GET_LOBBY_INFO_RSP = 5553
    CMD_QAVATAR_BATTLE_DATA_NOTIFY = 5600
    CMD_QAVATAR_BATTLE_ENTER_BATTLE_REQ = 5601
    CMD_QAVATAR_BATTLE_ENTER_BATTLE_RSP = 5602
    CMD_QAVATAR_BATTLE_MOVE_NOTIFY = 5603
    CMD_QAVATAR_BATTLE_START_SKILL_REQ = 5604
    CMD_QAVATAR_BATTLE_START_SKILL_RSP = 5605
    CMD_QAVATAR_BATTLE_START_SKILL_NOTIFY = 5606
    CMD_QAVATAR_BATTLE_END_SKILL_REQ = 5607
    CMD_QAVATAR_BATTLE_END_SKILL_RSP = 5608
    CMD_QAVATAR_BATTLE_END_SKILL_NOTIFY = 5609
    CMD_QAVATAR_BATTLE_SKILL_TRIGGER_NOTIFY = 5610
    CMD_QAVATAR_BATTLE_COMPONENT_OP_NOTIFY = 5611
    CMD_QAVATAR_BATTLE_DISCARD_STIGMATA_REQ = 5612
    CMD_QAVATAR_BATTLE_DISCARD_STIGMATA_RSP = 5613
    CMD_QAVATAR_BATTLE_GET_DATA_NOTIFY = 5614
    CMD_QAVATAR_BATTLE_KILL_NOTIFY = 5621
    CMD_QAVATAR_BATTLE_REFRESH_GADGET_FORECAST_NOTIFY = 5622
    CMD_QAVATAR_BATTLE_REFRESH_GADGET_GENERATE_NOTIFY = 5623
    CMD_QAVATAR_BATTLE_END_BATTLE_NOTIFY = 5630
    CMD_QAVATAR_BATTLE_DUMMY = 5649


class QAvatarBattleComponentType(betterproto.Enum):
    QAVATAR_BATTLE_COMPONENT_TYPE_NONE = 0
    QAVATAR_BATTLE_COMPONENT_TYPE_POSITION = 1
    QAVATAR_BATTLE_COMPONENT_TYPE_SPEED = 2
    QAVATAR_BATTLE_COMPONENT_TYPE_RIGID_BODY = 3
    QAVATAR_BATTLE_COMPONENT_TYPE_SKILL = 4
    QAVATAR_BATTLE_COMPONENT_TYPE_BUFF = 5
    QAVATAR_BATTLE_COMPONENT_TYPE_EVADE = 6
    QAVATAR_BATTLE_COMPONENT_TYPE_STIGMATA = 7
    QAVATAR_BATTLE_COMPONENT_TYPE_CONTACT = 8
    QAVATAR_BATTLE_COMPONENT_TYPE_TICK = 9


class QAvatarBattleEntityType(betterproto.Enum):
    QAVATAR_BATTLE_ENTITY_TYPE_NONE = 0
    QAVATAR_BATTLE_ENTITY_TYPE_PLAYER = 1
    QAVATAR_BATTLE_ENTITY_TYPE_BULLET = 2
    QAVATAR_BATTLE_ENTITY_TYPE_GADGET = 3
    QAVATAR_BATTLE_ENTITY_TYPE_SCHEDULED_TASK = 4


class QAvatarBattleCollidePropertyType(betterproto.Enum):
    QAVATAR_BATTLE_COLLIDE_PROPERTY_TYPE_WALL = 0
    QAVATAR_BATTLE_COLLIDE_PROPERTY_TYPE_AVATAR_SENSOR = 1
    QAVATAR_BATTLE_COLLIDE_PROPERTY_TYPE_BULLET = 2
    QAVATAR_BATTLE_COLLIDE_PROPERTY_TYPE_AVATAR = 3


class QAvatarBattleGadgetType(betterproto.Enum):
    QAvatarBattleGadgetType0 = 0
    QAVATAR_BATTLE_GADGET_TYPE_BREAKABLE_BOX = 1
    QAVATAR_BATTLE_GADGET_TYPE_DROP_ITEM = 2
    QAVATAR_BATTLE_GADGET_TYPE_DAMAGE_AREA = 3
    QAVATAR_BATTLE_GADGET_TYPE_DELAYED_BOMB = 4
    QAVATAR_BATTLE_GADGET_TYPE_UNSTABLE_DELAYED_BOMB = 5
    QAVATAR_BATTLE_GADGET_TYPE_BREAKABLE_DELAYED_BOMB = 6


class QAvatarBattleTickComponentEventType(betterproto.Enum):
    QAvatarBattleTickComponentEventType0 = 0
    QAVATAR_BATTLE_TICK_EVENT_TYPE_ENABLE = 1
    QAVATAR_BATTLE_TICK_EVENT_TYPE_INTERVAL = 2


class QAvatarBattleDropItemType(betterproto.Enum):
    QAvatarBattleDropItemType0 = 0
    QAVATAR_BATTLE_DROP_ITEM_TYPE_BUFF = 1
    QAVATAR_BATTLE_DROP_ITEM_TYPE_STIGMATA = 2
    QAVATAR_BATTLE_DROP_ITEM_TYPE_INSTANT_HEAL_HP = 3


class QAvatarBattleGadgetEffectCampType(betterproto.Enum):
    QAVATAR_BATTLE_GADGET_EFFECT_CAMP_TYPE_ALL = 0
    QAVATAR_BATTLE_GADGET_EFFECT_CAMP_TYPE_ALLIES = 1
    QAVATAR_BATTLE_GADGET_EFFECT_CAMP_TYPE_ENEMIES = 2


class QAvatarLobbyStatus(betterproto.Enum):
    QAVATAR_LOBBY_STATUS_INVALID = 0
    QAVATAR_LOBBY_STATUS_INIT = 1
    QAVATAR_LOBBY_STATUS_PREPARE = 2
    QAVATAR_LOBBY_STATUS_FIGHT = 3
    QAVATAR_LOBBY_STATUS_SETTLE = 4
    QAVATAR_LOBBY_STATUS_DELETE = 5


class QAvatarBattleEntityDeleteReasonType(betterproto.Enum):
    QAVATAR_BATTLE_ENTITY_DELETE_REASON_NONE = 0
    QAVATAR_BATTLE_ENTITY_DELETE_REASON_EXPIRE = 1
    QAVATAR_BATTLE_ENTITY_DELETE_REASON_HIT = 2
    QAVATAR_BATTLE_ENTITY_DELETE_REASON_PICK_UP = 3


class QAvatarBattleEndReason(betterproto.Enum):
    QAVATAR_BATTLE_END_REASON_NONE = 0
    QAVATAR_BATTLE_END_REASON_FAIL = 1
    QAVATAR_BATTLE_END_REASON_TIMEOUT = 2
    QAVATAR_BATTLE_END_REASON_TIMEOUT_INVALID = 3
    QAVATAR_BATTLE_END_REASON_KILL_NUM = 4
    QAVATAR_BATTLE_END_REASON_GM = 5


class QAvatarSkillType(betterproto.Enum):
    QAVATAR_SKILL_NONE = 0
    QAVATAR_SKILL_ATK = 1
    QAVATAR_SKILL_SKL01 = 2
    QAVATAR_SKILL_SKL02 = 3


class QAvatarSkillTriggerType(betterproto.Enum):
    QAVATAR_SKILL_TRIGGER_NONE = 0
    QAVATAR_SKILL_TRIGGER_DOWN = 1
    QAVATAR_SKILL_TRIGGER_UP = 2
    QAVATAR_SKILL_TRIGGER_HOLDUP = 3
    QAVATAR_SKILL_TRIGGER_HOLDLOOP = 4


class QAvatarChangePropType(betterproto.Enum):
    QAVATAR_CHANGE_PROP_NONE = 0
    QAVATAR_CHANGE_PROP_HP = 1
    QAVATAR_CHANGE_PROP_SP = 2


class QAvatarActionType(betterproto.Enum):
    QAVATAR_ACTION_NONE = 0
    QAVATAR_ACTION_ADD_BUFF = 1
    QAVATAR_ACTION_REMOVE_BUFF = 2
    QAVATAR_ACTION_EVADE = 3
    QAVATAR_ACTION_SHOOT_BULLET = 4
    QAVATAR_ACTION_MELEE_ATK = 5
    QAVATAR_ACTION_COMBO_ATK = 6
    QAVATAR_ACTION_CREATE_GADGET = 7
    QAVATAR_ACTION_MUTE_SKILL = 8
    QAVATAR_ACTION_BREAK_SKILL = 9
    QAVATAR_ACTION_CHANGE_PROP = 11
    QAVATAR_ACTION_HOLDUP_ACTION = 13
    QAVATAR_ACTION_SET_ANIM_PARA = 21
    QAVATAR_ACTION_APPLY_EFFECT = 22
    QAVATAR_ACTION_SET_CAMERA_PARA = 23
    QAVATAR_ACTION_LOCK_AIM_ROTATION = 24
    QAVATAR_ACTION_SIM_SKILL_BUTTON_OP = 25


class QAvatarBuffType(betterproto.Enum):
    QAVATAR_BUFF_NONE = 0
    QAVATAR_BUFF_MAXHP = 1
    QAVATAR_BUFF_ATTACK = 2
    QAVATAR_BUFF_MOVESPEED = 3
    QAVATAR_BUFF_HEALHP = 4
    QAVATAR_BUFF_CHANGESKILL = 5
    QAVATAR_BUFF_HEALSP = 6
    QAVATAR_BUFF_ADDEDDAMAGERATIO = 7
    QAVATAR_BUFF_DAMAGETAKENRATIO = 8
    QAVATAR_BUFF_CHANGESKILLCD = 9
    QAVATAR_BUFF_CRITICALRATE = 10
    QAVATAR_BUFF_CRITICALDAMAGERATIO = 11
    QAVATAR_BUFF_CLIENT_ONLY = 21


class QAvatarBuffEffectType(betterproto.Enum):
    QAVATAR_BUFF_EFFECT_NONE = 0
    QAVATAR_BUFF_EFFECT_HP_GREATER = 1
    QAVATAR_BUFF_EFFECT_HP_LESS = 2
    QAVATAR_BUFF_EFFECT_OUT_OF_BATTLE = 3


class QAvatarStigmataSrcType(betterproto.Enum):
    QAVATAR_STIGMATA_SRC_NONE = 0
    QAVATAR_STIGMATA_SRC_DEFAULT = 1
    QAVATAR_STIGMATA_SRC_DROP = 2


class QAvatarStigmataEffectType(betterproto.Enum):
    QAVATAR_STIGMATA_EFFECT_NONE = 0
    QAVATAR_STIGMATA_EFFECT_DIRECT = 1
    QAVATAR_STIGMATA_EFFECT_SKILL_TRIGGER = 2
    QAVATAR_STIGMATA_EFFECT_ROLE = 3
    QAVATAR_STIGMATA_EFFECT_AVATAR_ID = 4
    QAVATAR_STIGMATA_EFFECT_ATTACK_ON = 5
    QAVATAR_STIGMATA_EFFECT_DEL_HP = 8


class QAvatarShapeType(betterproto.Enum):
    QAVATAR_SHAPE_NONE = 0
    QAVATAR_SHAPE_AABB = 1
    QAVATAR_SHAPE_CIRCLE = 2
    QAVATAR_SHAPE_OAB = 3


class CmdTypeQcandybattle(betterproto.Enum):
    CmdTypeQcandybattle0 = 0
    CMD_QCANDY_BATTLE_ENTER_BATTLE_REQ = 6570
    CMD_QCANDY_BATTLE_ENTER_BATTLE_RSP = 6571
    CMD_QCANDY_BATTLE_DATA_NOTIFY = 6572
    CMD_QCANDY_BATTLE_END_NOTIFY = 6573
    CMD_QCANDY_BATTLE_MOVE_NOTIFY = 6574
    CMD_QCANDY_BATTLE_TRIGGER_ENTITY_REQ = 6580
    CMD_QCANDY_BATTLE_TRIGGER_ENTITY_RSP = 6581
    CMD_QCANDY_BATTLE_LIFE_TIMES_CHANGE_NOTIFY = 6582
    CMD_QCANDY_BATTLE_ARRIVE_REQ = 6583
    CMD_QCANDY_BATTLE_ARRIVE_RSP = 6584
    CMD_QCANDY_BATTLE_USE_SKILL_REQ = 6585
    CMD_QCANDY_BATTLE_USE_SKILL_RSP = 6586
    CMD_QCANDY_BATTLE_PLAYER_USE_SKILL_NOTIFY = 6587
    CMD_QCANDY_BATTLE_AVATAR_STATE_CLIENT_NOTIFY = 6588
    CMD_QCANDY_BATTLE_AVATAR_STATE_SERVER_NOTIFY = 6589
    CMD_QCANDY_BATTLE_SKILL_EFFECT_NOTIFY = 6590
    CMD_QCANDY_BATTLE_FINISH_BATTLE_NOTIFY = 6591
    CMD_QCANDY_BATTLE_LEAVE_BATTLE_REQ = 6592
    CMD_QCANDY_BATTLE_LEAVE_BATTLE_RSP = 6593
    CMD_QCANDY_BATTLE_LEAVE_BATTLE_NOTIFY = 6594
    CMD_QCANDY_BATTLE_START_TIMELINE_NOTIFY = 6595
    CMD_QCANDY_BATTLE_SKILL_USE_TIMES_CHANGE_NOTIFY = 6596
    CMD_QCANDY_BATTLE_SEND_EMOJI_REQ = 6597
    CMD_QCANDY_BATTLE_SEND_EMOJI_RSP = 6598
    CMD_QCANDY_BATTLE_SEND_EMOJI_NOTIFY = 6599
    CMD_QCANDY_BATTLE_SYNC_ABILITY_NOTIFY = 6600
    CMD_QCANDY_BATTLE_GET_ACTIVITY_REQ = 6601
    CMD_QCANDY_BATTLE_GET_ACTIVITY_RSP = 6602
    CMD_QCANDY_BATTLE_BEGIN_NOTIFY = 6603
    CMD_QCANDY_BATTLE_CHOOSE_AVATAR_REQ = 6604
    CMD_QCANDY_BATTLE_CHOOSE_AVATAR_RSP = 6605
    CMD_QCANDY_BATTLE_UNLOCK_AVATAR_REQ = 6606
    CMD_QCANDY_BATTLE_UNLOCK_AVATAR_RSP = 6607
    CMD_QCANDY_BATTLE_SETTLE_BATTLE_NOTIFY = 6608
    CMD_QCANDY_BATTLE_MEMORY_ROUND_END_REQ = 6622
    CMD_QCANDY_BATTLE_MEMORY_ROUND_END_RSP = 6623
    CMD_QCANDY_BATTLE_DUMMY = 6649


class QCandyActivityType(betterproto.Enum):
    QCANDY_ACTIVITY_NONE = 0
    QCANDY_ACTIVITY_NORMAL = 1
    QCANDY_ACTIVITY_CHATLOBBY = 2


class QCandyBattleType(betterproto.Enum):
    QCANDY_BATTLE_TYPE_NONE = 0
    QCANDY_BATTLE_TYPE_RACING = 1
    QCANDY_BATTLE_TYPE_SURVIVE = 2
    QCANDY_BATTLE_TYPE_SCORE = 3
    QCANDY_BATTLE_TYPE_COOPERATION_SCORE = 4
    QCANDY_BATTLE_TYPE_MEMORY_SURVIVE = 5


class QCandyBattleComponentType(betterproto.Enum):
    QCANDY_BATTLE_COMPONENT_TYPE_NONE = 0
    QCANDY_BATTLE_COMPONENT_TYPE_POSITION = 1


class QCandyBattleTriggerEventType(betterproto.Enum):
    QCandyBattleTriggerEventType0 = 0
    QCANDY_BATTLE_TRIGGER_EVENT_TYPE_ADD_SCORE = 1
    QCANDY_BATTLE_TRIGGER_EVENT_TYPE_SUB_SKILL_USE_TIMES = 2


class QCandyBattleDelayActionType(betterproto.Enum):
    QCANDY_BATTLE_DELAY_ACTION_TYPE_NONE = 0
    QCANDY_BATTLE_DELAY_ACTION_TYPE_STATE_RESET = 1
    QCANDY_BATTLE_DELAY_ACTION_TYPE_SKILL_END = 2


class QCandyBattleEntityType(betterproto.Enum):
    QCANDY_BATTLE_ENTITY_TYPE_NONE = 0
    QCANDY_BATTLE_ENTITY_TYPE_PLAYER = 1
    QCANDY_BATTLE_ENTITY_TYPE_PROP = 2


class QCandyBattlePropState(betterproto.Enum):
    QCANDY_BATTLE_PROP_CANNOT_TRIGGER = 0
    QCANDY_BATTLE_PROP_CAN_TRIGGER = 1


class QCandyBattlePropType(betterproto.Enum):
    QCANDY_BATTLE_PROP_TYPE_NONE = 0
    QCANDY_BATTLE_PROP_TYPE_HAS_CD = 1
    QCANDY_BATTLE_PROP_TYPE_AUTO_RECOVER = 2


class QCandyLobbyStatus(betterproto.Enum):
    QCANDY_LOBBY_STATUS_INVALID = 0
    QCANDY_LOBBY_STATUS_INIT = 1
    QCANDY_LOBBY_STATUS_FIGHT = 2
    QCANDY_LOBBY_STATUS_SETTLE = 3
    QCANDY_LOBBY_STATUS_DELETE = 4


class QCandyBattleMemoryPictureType(betterproto.Enum):
    QCANDY_BATTLE_MEMORY_PICTURE_TYPE_NONE = 0
    QCANDY_BATTLE_MEMORY_PICTURE_TYPE_SPRING = 1
    QCANDY_BATTLE_MEMORY_PICTURE_TYPE_FRUIT = 2
    QCANDY_BATTLE_MEMORY_PICTURE_TYPE_HOMU = 3


class CmdTypeRaidreplace(betterproto.Enum):
    CmdTypeRaidreplace0 = 0
    CMD_RAID_REPLACE_GET_DATA_REQ = 8100
    CMD_RAID_REPLACE_GET_DATA_RSP = 8101
    CMD_RAID_REPLACE_TAKE_REWARD_LINE_REWARD_REQ = 8102
    CMD_RAID_REPLACE_TAKE_REWARD_LINE_REWARD_RSP = 8103
    CMD_RAID_REPLACE_TAKE_SPECIAL_REWARD_REQ = 8104
    CMD_RAID_REPLACE_TAKE_SPECIAL_REWARD_RSP = 8105


class RaidReplaceStageType(betterproto.Enum):
    RAID_REPLACE_STAGE_NONE = 0
    RAID_REPLACE_STAGE_MACHINERY = 1
    RAID_REPLACE_STAGE_NOSTALGIA = 2
    RAID_REPLACE_STAGE_AVATAR = 3
    RAID_REPLACE_STAGE_FUNNY = 4
    RAID_REPLACE_STAGE_BOSS = 5


class InLevelContextContextType(betterproto.Enum):
    INVALID = 0
    NORMAL = 1
    ENDLESS = 2
    OPENWORLD_ENDLESS = 3
    EXBOSS = 4


class CmdTypeReport(betterproto.Enum):
    CMD_DUMMY = 0


class RoomMemberMemberPosition(betterproto.Enum):
    RoomMemberMemberPosition0 = 0
    NORMA1L = 1
    LEADER = 2


class SyncRoomMatchDataNotifyReason(betterproto.Enum):
    SUCC = 0
    CANCEL = 1
    TIMEOUT1 = 2
    MATCH_SUCC = 3


class CmdTypeRoom(betterproto.Enum):
    CmdTypeRoom0 = 0
    CMD_GET_ROOM_DATA_REQ = 3150
    CMD_GET_ROOM_DATA_RSP = 3151
    CMD_SYNC_ROOM_DATA_NOTIFY = 3152
    CMD_CREATE_ROOM_REQ = 3153
    CMD_CREATE_ROOM_RSP = 3154
    CMD_ENTER_ROOM_REQ = 3155
    CMD_ENTER_ROOM_RSP = 3156
    CMD_EXIT_ROOM_REQ = 3157
    CMD_EXIT_ROOM_RSP = 3158
    CMD_EXIT_ROOM_NOTIFY = 3159
    CMD_INVITE_ROOM_REQ = 3160
    CMD_INVITE_ROOM_RSP = 3161
    CMD_ROOM_INVITATION_NOTIFY = 3162
    CMD_SEND_ROOM_CHAT_MSG_NOTIFY = 3163
    CMD_RECV_ROOM_CHAT_MSG_NOTIFY = 3164
    CMD_START_ROOM_MATCH_REQ = 3165
    CMD_START_ROOM_MATCH_RSP = 3166
    CMD_CANCEL_ROOM_MATCH_REQ = 3167
    CMD_CANCEL_ROOM_MATCH_RSP = 3168
    CMD_SYNC_ROOM_MATCH_DATA_NOTIFY = 3169
    CMD_ROOM_MATCH_TIMEOUT_NOTIFY = 3170
    CMD_UPDATE_ROOM_INFO_REQ = 3171
    CMD_UPDATE_ROOM_INFO_RSP = 3172
    CMD_ROOM_SWITCH_MEMBER_STATUS_REQ = 3173
    CMD_ROOM_SWITCH_MEMBER_STATUS_RSP = 3174
    CMD_ROOM_KICK_MEMBER_REQ = 3175
    CMD_ROOM_KICK_MEMBER_RSP = 3176
    CMD_ROOM_TRANSFER_LEADER_REQ = 3177
    CMD_ROOM_TRANSFER_LEADER_RSP = 3178
    CMD_ROOM_MEMBER_SET_VOICE_ID_REQ = 3179
    CMD_ROOM_MEMBER_SET_VOICE_ID_RSP = 3180
    CMD_ROOM_GET_STATUS_REQ = 3181
    CMD_ROOM_GET_STATUS_RSP = 3182
    CMD_DISMISS_ROOM_REQ = 3183
    CMD_DISMISS_ROOM_RSP = 3184


class RoomMemberStatus(betterproto.Enum):
    RoomMemberStatus0 = 0
    ROOM_UNREADY = 1
    ROOM_READY = 2
    ROOM_IN_BATTLE = 3


class RoomClientStatus(betterproto.Enum):
    ROOM_CLIENT_NONE = 0
    ROOM_CLIENT_SELECTING_MAP = 1
    ROOM_CLIENT_EQUIPING = 2


class RoomExitReason(betterproto.Enum):
    ROOM_EXIT_NONE = 0
    ROOM_EXIT_KICK = 1
    ROOM_EXIT_DISMISSED = 2


class CmdTypeRpgdungeon(betterproto.Enum):
    CmdTypeRpgdungeon0 = 0
    CMD_RPG_DUNGEON_GET_ACTIVITY_REQ = 5500
    CMD_RPG_DUNGEON_GET_ACTIVITY_RSP = 5501
    CMD_RPG_DUNGEON_SELECT_QUEST_REQ = 5502
    CMD_RPG_DUNGEON_SELECT_QUEST_RSP = 5503
    CMD_RPG_DUNGEON_GET_CANDIDATE_BUFF_REQ = 5504
    CMD_RPG_DUNGEON_GET_CANDIDATE_BUFF_RSP = 5505
    CMD_RPG_DUNGEON_SELECT_BUFF_REQ = 5506
    CMD_RPG_DUNGEON_SELECT_BUFF_RSP = 5507


class CmdTypeRpgtale(betterproto.Enum):
    CmdTypeRpgtale0 = 0
    CMD_GET_RPG_TALE_REQ = 2300
    CMD_GET_RPG_TALE_RSP = 2301
    CMD_SYNC_RPG_TALE_SITE_NOTIFY = 2302
    CMD_ENTER_RPG_TALE_SITE_REQ = 2303
    CMD_ENTER_RPG_TALE_SITE_RSP = 2304
    CMD_FINISH_RPG_TALE_PLOT_REQ = 2305
    CMD_FINISH_RPG_TALE_PLOT_RSP = 2306
    CMD_UNLOCK_RPG_TALE_SITE_REQ = 2307
    CMD_UNLOCK_RPG_TALE_SITE_RSP = 2308
    CMD_TAKE_RPG_TALE_COLLECTION_REWARD_REQ = 2309
    CMD_TAKE_RPG_TALE_COLLECTION_REWARD_RSP = 2310
    CMD_RPG_TALE_EVENT_NOTIFY = 2312
    CMD_TRIGGER_RPG_TALE_EVENT_REQ = 2313
    CMD_TRIGGER_RPG_TALE_EVENT_RSP = 2314
    CMD_CHECK_RPG_TALE_STAGE_TRIGGER_REQ = 2315
    CMD_CHECK_RPG_TALE_STAGE_TRIGGER_RSP = 2316
    CMD_TRIGGER_RPG_TALE_STAGE_EVENT_REQ = 2317
    CMD_TRIGGER_RPG_TALE_STAGE_EVENT_RSP = 2318
    CMD_GET_MATRIX_REQ = 2320
    CMD_GET_MATRIX_RSP = 2321
    CMD_GET_MATRIX_FLOOR_REQ = 2322
    CMD_GET_MATRIX_FLOOR_RSP = 2323
    CMD_MATRIX_ENTER_REQ = 2324
    CMD_MATRIX_ENTER_RSP = 2325
    CMD_MATRIX_ADVANCE_REQ = 2326
    CMD_MATRIX_ADVANCE_RSP = 2327
    CMD_SYNC_MATRIX_FLOOR_NOTIFY = 2328
    CMD_SYNC_MATRIX_NOTIFY = 2329
    CMD_MATRIX_TRIGGER_EVENT_REQ = 2330
    CMD_MATRIX_TRIGGER_EVENT_RSP = 2331
    CMD_MATRIX_CANCEL_EVENT_REQ = 2332
    CMD_MATRIX_CANCEL_EVENT_RSP = 2333
    CMD_SYNC_MATRIX_CUR_EVENT_NOTIFY = 2334
    CMD_MATRIX_EVENT_FINISH_NOTIFY = 2335
    CMD_FINISH_MATRIX_EVENT_PLOT_REQ = 2336
    CMD_FINISH_MATRIX_EVENT_PLOT_RSP = 2337
    CMD_MATRIX_TELEPORT_NOTIFY = 2338
    CMD_MATRIX_MOVE_OBJECT_REQ = 2339
    CMD_MATRIX_MOVE_OBJECT_RSP = 2340
    CMD_MATRIX_RESET_FLOOR_REQ = 2341
    CMD_MATRIX_RESET_FLOOR_RSP = 2342
    CMD_MATRIX_SETTLE_FLOOR_EVENT_REQ = 2343
    CMD_MATRIX_SETTLE_FLOOR_EVENT_RSP = 2344
    CMD_MATRIX_THROW_DICE_REQ = 2345
    CMD_MATRIX_THROW_DICE_RSP = 2346
    CMD_MATRIX_SET_DICE_DESTINATION_REQ = 2347
    CMD_MATRIX_SET_DICE_DESTINATION_RSP = 2348
    CMD_MATRIX_GUESS_FINGER_REQ = 2349
    CMD_MATRIX_GUESS_FINGER_RSP = 2350
    CMD_MATRIX_SET_LOTTERY_NUM_REQ = 2351
    CMD_MATRIX_SET_LOTTERY_NUM_RSP = 2352
    CMD_MATRIX_LOTTERY_DRAW_NOTIFY = 2353
    CMD_FINISH_RPG_TALE_STAGE_PLOT_REQ = 2370
    CMD_FINISH_RPG_TALE_STAGE_PLOT_RSP = 2371
    CMD_REPORT_RPG_TALE_STAGE_REQ = 2374
    CMD_REPORT_RPG_TALE_STAGE_RSP = 2375
    CMD_RPG_TALE_SWEEP_REQ = 2376
    CMD_RPG_TALE_SWEEP_RSP = 2377
    CMD_GET_RPG_TALE_FILE_REQ = 2378
    CMD_GET_RPG_TALE_FILE_RSP = 2379
    CMD_RPG_TALE_REFRESH_TICKET_REQ = 2380
    CMD_RPG_TALE_REFRESH_TICKET_RSP = 2381
    CMD_RPG_TALE_LEVEL_UP_ABILITY_REQ = 2382
    CMD_RPG_TALE_LEVEL_UP_ABILITY_RSP = 2383
    CMD_RPG_TALE_RESET_TOWER_REQ = 2384
    CMD_RPG_TALE_RESET_TOWER_RSP = 2385
    CMD_RPG_TALE_SET_OVERALL_REQ = 2386
    CMD_RPG_TALE_SET_OVERALL_RSP = 2387
    CMD_RPG_TALE_REFRESH_SITE_REQ = 2388
    CMD_RPG_TALE_REFRESH_SITE_RSP = 2389
    CMD_RPG_TALE_SET_PVP_VIRTUAL_AVATAR_REQ = 2390
    CMD_RPG_TALE_SET_PVP_VIRTUAL_AVATAR_RSP = 2391
    CMD_RPG_TALE_GET_PVP_DIVISION_REWARD_REQ = 2392
    CMD_RPG_TALE_GET_PVP_DIVISION_REWARD_RSP = 2393
    CMD_RPG_TALE_GET_STAGE_SCORE_RANK_REQ = 2394
    CMD_RPG_TALE_GET_STAGE_SCORE_RANK_RSP = 2395
    CMD_RPG_TALE_FINISH_MISSION_GROUP_NOTIFY = 2396


class RpgTaleSiteContentType(betterproto.Enum):
    RPG_TALE_SITE_CONTENT_INVALID = 0
    RPG_TALE_SITE_CONTENT_NONE = 1
    RPG_TALE_SITE_CONTENT_MATRIX = 2
    RPG_TALE_SITE_CONTENT_PLOT = 3
    RPG_TALE_SITE_CONTENT_TIPS = 4
    RPG_TALE_SITE_CONTENT_LINK = 5


class RpgTaleFlagType(betterproto.Enum):
    RPG_TALE_FLAG_INVALID = 0
    RPG_TALE_FLAG_MATERIAL = 1
    RPG_TALE_FLAG_MISSION = 2
    RPG_TALE_FLAG_DIALOG = 3
    RPG_TALE_FLAG_ROLE = 4
    RPG_TALE_FLAG_ROLE_STAR_NUM = 5
    RPG_TALE_FLAG_BEGIN_TIME = 6
    RPG_TALE_FLAG_END_TIME = 7
    RPG_TALE_FLAG_PRE_SITE = 8
    RPG_TALE_FLAG_MATERIAL_NUM = 9
    RPG_TALE_FLAG_AVATAR = 10
    RPG_TALE_FLAG_STAGE_CHALLENGE_NUM = 11
    RPG_TALE_FLAG_PLAYER_LEVEL = 12
    RPG_TALE_FLAG_OVERALL = 13
    RPG_TALE_FLAG_TOTAL_STAGE_SCORE = 15
    RPG_TALE_FLAG_STAGE_SCORE = 16
    RPG_TALE_FLAG_ABILITY_LEVEL = 17
    RPG_TALE_FLAG_ABILITY_TOTAL_LEVEL = 18
    RPG_TALE_FLAG_SITE_ALLOW_ENTER = 19
    RPG_TALE_FLAG_SITE_STATUS = 20
    RPG_TALE_FLAG_DROP_LIMIT = 21
    RPG_TALE_FLAG_IS_STAGE_PASSED = 22


class RpgTaleOverallCmpType(betterproto.Enum):
    RPG_TALE_CMP_INVALID = 0
    RPG_TALE_CMP_LESS = 1
    RPG_TALE_CMP_LESS_OR_EQUAL = 2
    RPG_TALE_CMP_EQUAL = 3
    RPG_TALE_CMP_GREATER = 4
    RPG_TALE_CMP_GREATER_OR_EQUAL = 5


class RpgTaleSiteStatus(betterproto.Enum):
    RPG_TALE_SITE_STATUS_INVALID = 0
    RPG_TALE_SITE_STATUS_HIDE = 1
    RPG_TALE_SITE_STATUS_SHOW = 2
    RPG_TALE_SITE_STATUS_CONTENT_UNLOCKED = 3
    RPG_TALE_SITE_STATUS_PASSED = 4
    RPG_TALE_SITE_STATUS_CLOSED = 5
    RPG_TALE_SITE_STATUS_CD = 6
    RPG_TALE_SITE_STATUS_DISCARD = 7


class RpgTaleRoleStatus(betterproto.Enum):
    RPG_TALE_ROLE_STATUS_INVALID = 0
    RPG_TALE_ROLE_STATUS_LOCKED = 1
    RPG_TALE_ROLE_STATUS_UNLOCKED = 2
    RPG_TALE_ROLE_STATUS_AWAY = 3


class RpgTaleCollectionRewardType(betterproto.Enum):
    RPG_TALE_COLLECTION_REWARD_NONE = 0
    RPG_TALE_COLLECTION_REWARD_QAVATAR_STAR = 1
    RPG_TALE_COLLECTION_REWARD_EVENT = 2
    RPG_TALE_COLLECTION_REWARD_SHOP = 3
    RPG_TALE_COLLECTION_REWARD_TOTAL_STAGE_SCORE = 4
    RPG_TALE_COLLECTION_REWARD_STAGE_CHALLENGE_NUM = 5
    RPG_TALE_COLLECTION_REWARD_LINKED_ACTIVITY_SCORE = 6
    RPG_TALE_COLLECTION_REWARD_STAGE_SCORE = 7


class RpgTaleLinkedActivityType(betterproto.Enum):
    RPG_TALE_LINKED_NONE = 0
    RPG_TALE_LINKED_NEWBIE = 2
    RPG_TALE_LINKED_RPG_DUNGEON = 3
    RPG_TALE_LINKED_RANCH = 4
    RPG_TALE_LINKED_RESTAURANT = 5
    RPG_TALE_LINKED_TOWN = 6
    RPG_TALE_LINKED_MONSTER_CARD = 7
    RPG_TALE_LINKED_DICEY_DUNGEON = 8
    RPG_TALE_LINKED_PVZ = 9
    RPG_TALE_LINKED_QCANDY_BATTLE = 10
    RPG_TALE_LINKED_GLOBAL_EXPLORE = 11
    RPG_TALE_LINKED_PLATFORM_SHOOTER = 12
    RPG_TALE_LINKED_AVATAR_CULTIVATE = 13
    RPG_TALE_LINKED_SUSANNA_TRIAL = 14
    RPG_TALE_LINKED_MATCH_THREE = 15
    RPG_TALE_LINKED_SHIGURE_KIRA = 16
    RPG_TALE_LINKED_MAHOU_CARD = 17
    RPG_TALE_LINKED_TILED_GAME_LUNA = 18
    RPG_TALE_LINKED_TILED_GAME_FARM = 19
    RPG_TALE_LINKED_MINION_CLASH = 20
    RPG_TALE_LINKED_MARBLES_SHOOT = 21
    RPG_TALE_LINKED_GOURMET_HUNT = 22
    RPG_TALE_LINKED_MATCH_THREE_PLUS = 23
    RPG_TALE_LINKED_DEVIL_AUTO_CHESS = 24
    RPG_TALE_LINKED_TILED_GAME_SRPG = 25
    RPG_TALE_LINKED_QRTS = 26
    RPG_TALE_LINKED_MONSTER_CARD_PVP = 27
    RPG_TALE_LINKED_MONSTER_FARM = 28
    RPG_TALE_LINKED_TILED_GAME_PRPG = 29


class RpgScheduleRankType(betterproto.Enum):
    RpgScheduleRankType0 = 0
    RPG_SCHEDULE_RANK_COLLECTION = 1
    RPG_SCHEDULE_RANK_GENERAL = 2


class RpgTaleStageRankType(betterproto.Enum):
    RpgTaleStageRankType0 = 0
    RPG_TALE_STAGE_RANK_TYPE_MINI = 1
    RPG_TALE_STAGE_RANK_TYPE_NORMAL = 2


class RpgTaleStageRankKeyType(betterproto.Enum):
    RpgTaleStageRankKeyType0 = 0
    RPG_TALE_STAGE_RANK_KEY_TYPE_SCHEDULE = 1
    RPG_TALE_STAGE_RANK_KEY_TYPE_TALE = 2


class RpgTaleOverallRefreshType(betterproto.Enum):
    RPG_TALE_OVERALL_REFRESH_NONE = 0
    RPG_TALE_OVERALL_REFRESH_DAILY = 1
    RPG_TALE_OVERALL_REFRESH_WEEKLY = 2


class RpgTaleProgressType(betterproto.Enum):
    RPG_TALE_PROGRESS_NONE = 0
    RPG_TALE_PROGRESS_EVENT = 1
    RPG_TALE_PROGRESS_TOWER = 2
    RPG_TALE_PROGRESS_GENERAL_ACTIVITY = 3
    RPG_TALE_PROGRESS_STAGE_SCORE = 4


class MatrixFloorStatus(betterproto.Enum):
    MATRIX_FLOOR_STATUS_INVALID = 0
    MATRIX_FLOOR_STATUS_LOCKED = 1
    MATRIX_FLOOR_STATUS_UNLOCKED = 2
    MATRIX_FLOOR_STATUS_FREE = 3
    MATRIX_FLOOR_STATUS_IN_STAGE = 11
    MATRIX_FLOOR_STATUS_IN_PLOT = 12


class MatrixFloorType(betterproto.Enum):
    MATRIX_FLOOR_INVALID = 0
    MATRIX_FLOOR_NORMAL = 1
    MATRIX_FLOOR_EXPLORE = 2
    MATRIX_FLOOR_MONOPOLY = 3


class MatrixGridType(betterproto.Enum):
    MATRIX_GRID_NONE = 0
    MATRIX_GRID_EMPTY = 1
    MATRIX_GRID_BARRIER = 2
    MATRIX_GRID_START = 3
    MATRIX_GRID_ITEM = 4
    MATRIX_GRID_MONSTER = 5
    MATRIX_GRID_RANDOM = 6
    MATRIX_GRID_TRAP = 7
    MATRIX_GRID_SHOP = 8
    MATRIX_GRID_EXIT = 9
    MATRIX_GRID_DIALOG = 10
    MATRIX_GRID_TELEPORT = 11
    MATRIX_GRID_ICE = 12
    MATRIX_GRID_INVALID = -1


class MatrixEventType(betterproto.Enum):
    MATRIX_EVENT_INVALID = 0
    MATRIX_EVENT_FINISH = 1
    MATRIX_EVENT_CANCEL = 2
    MATRIX_EVENT_LINK = 3
    MATRIX_EVENT_COMPLEX = 4
    MATRIX_EVENT_MOVE = 5
    MATRIX_EVENT_LOTTERY = 6
    MATRIX_EVENT_BUFF = 7
    MATRIX_EVENT_GUESS = 8
    MATRIX_EVENT_FORWARD = 9
    MATRIX_EVENT_RESET_FLOOR = 10
    MATRIX_EVENT_PLOT = 11
    MATRIX_EVENT_STAGE = 12
    MATRIX_EVENT_ITEM_DROP = 13
    MATRIX_EVENT_ITEM_REWARD = 14
    MATRIX_EVENT_TIPS = 15
    MATRIX_EVENT_SUB_RPG_MATERIAL = 16
    MATRIX_EVENT_RANDOM_PLOT_ONCE = 17
    MATRIX_EVENT_RANDOM_STAGE_ONCE = 18
    MATRIX_EVENT_RANDOM_AREA_ONCE = 19
    MATRIX_EVENT_TRIGGER_EVENT_GROUP = 21
    MATRIX_EVENT_PASS_RPG_TALE_SITE = 101
    MATRIX_EVENT_UNLOCK_RPG_TALE_ROLE = 102
    MATRIX_EVENT_AWAY_RPG_TALE_ROLE = 103
    MATRIX_EVENT_ADD_RPG_TALE_MISSION = 104
    MATRIX_EVENT_ADD_RPG_TALE_PHOTO = 105
    MATRIX_EVENT_ADD_RPG_OVERALL = 106
    MATRIX_EVENT_DEL_RPG_OVERALL = 107
    MATRIX_EVENT_SET_RPG_OVERALL = 108
    MATRIX_EVENT_DISCARD_RPG_TALE_SITE = 109
    MATRIX_EVENT_NOTIFY = 110
    MATRIX_EVENT_MATRIX_FLOOR = 111
    MATRIX_EVENT_MONOPOLY = 112
    MATRIX_EVENT_RPG_DUNGEON = 113
    MATRIX_EVENT_RPG_DUNGEON_BUFF = 114
    MATRIX_EVENT_ROGUE_TOWER_HP_HEAL = 115
    MATRIX_EVENT_ROGUE_TOWER_HP_HEAL_NO_EXTRA = 116
    MATRIX_EVENT_ROGUE_TOWER_ADD_COIN = 117
    MATRIX_EVENT_ROGUE_TOWER_SUB_COIN = 118
    MATRIX_EVENT_ROGUE_TOWER_GET_RANDOM_BUFF = 119
    MATRIX_EVENT_ROGUE_TOWER_LEVEL_UP_RANDOM_BUFF = 120
    MATRIX_EVENT_ROGUE_TOWER_HP_COST = 121
    MATRIX_EVENT_ROGUE_TOWER_SUPPORT_LEVELUP_TIMES = 122
    MATRIX_EVENT_RANCH_UNLOCK_AREA = 123
    MATRIX_EVENT_RANCH_STAGE = 124
    MATRIX_EVENT_TOWN = 125
    MATRIX_EVENT_DICEY_DUNGEON = 126
    MATRIX_EVENT_PVZ_ADD_QAVATAR = 127
    MATRIX_EVENT_QCANDY_ADD_AVATAR = 128
    MATRIX_EVENT_PLATFORM_SHOOTER_ADD_AVATAR = 129
    MATRIX_EVENT_SUSANNA_TRIAL_PASS_SITE = 130
    MATRIX_EVENT_MATCH_THREE_ENTER_ROOM = 131
    MATRIX_EVENT_MAHOU_CARD_ENTER_SITE = 132
    MATRIX_EVENT_MAHOU_CARD_ENTER_SITE_FROM_AVATAR = 133
    MATRIX_EVENT_TILED_GAME_FARM_FINISH_AVATAR_SCENE = 134
    MATRIX_EVENT_MARBLES_SHOOT_ADD_AVATAR = 135
    MATRIX_EVENT_GOURMET_HUNT_FORCE_REFRESH_DAILY_QUEST = 136
    MATRIX_EVENT_GOURMET_HUNT_GRANT_DAILY_QUEST_REWARD = 137
    MATRIX_EVENT_TILED_GAME_SRPG_ADD_AVATAR = 138
    MATRIX_EVENT_TILED_GAME_SRPG_TRY_REFRESH_DAILY_QUEST = 140
    MATRIX_EVENT_TILED_GAME_SRPG_REPLACE_AVATAR = 141
    MATRIX_EVENT_TILED_GAME_MONSTER_FARM_BUILDING_LEVEL_UP = 142
    MATRIX_EVENT_TILED_GAME_MONSTER_FARM_FINISH_PRIVILEGE = 144
    MATRIX_EVENT_AWAY_VIRTUAL_AVATAR = 171
    MATRIX_EVENT_BACK_VIRTUAL_AVATAR = 172
    MATRIX_EVENT_CLIENT = 200
    MATRIX_EVENT_TILE_MARK = 201
    MATRIX_EVENT_SET_STAGE_SCORE = 302


class MatrixEventPlotRequirementType(betterproto.Enum):
    MATRIX_EVENT_PLOT_REQUIREMENT_INVALID = 0
    MATRIX_EVENT_PLOT_REQUIREMENT_MATERIAL = 1
    MATRIX_EVENT_PLOT_REQUIREMENT_MISSION = 2
    MATRIX_EVENT_PLOT_REQUIREMENT_DIALOG = 3
    MATRIX_EVENT_PLOT_REQUIREMENT_FLOOR_EVENT = 4


class MatrixTriggerType(betterproto.Enum):
    MATRIX_TRIGGER_NONE = 0
    MATRIX_TRIGGER_STEP_NUM_GE = 1
    MATRIX_TRIGGER_POSITION = 2
    MATRIX_TRIGGER_STEP_NUM_LE = 3


class DiceType(betterproto.Enum):
    DICE_TYPE_NONE = 0
    DICE_TYPE_RANDOM = 1
    DICE_TYPE_FIXED = 2
    DICE_TYPE_FORWARD = 3


class MatrixFingerType(betterproto.Enum):
    MATRIX_FINGER_NONE = 0
    MATRIX_FINGER_SCISSORS = 1
    MATRIX_FINGER_STONE = 2
    MATRIX_FINGER_CLOTH = 3


class MatrixMonopolyBuffType(betterproto.Enum):
    MATRIX_MONOPOLY_BUFF_NONE = 0
    MATRIX_MONOPOLY_BUFF_DICE = 1
    MATRIX_MONOPOLY_BUFF_STAGE = 2
    MATRIX_MONOPOLY_BUFF_DROP = 3


class RpgTaleTicketRefreshType(betterproto.Enum):
    RpgTaleTicketRefreshType0 = 0
    RPG_TALE_TICKET_REFRESH_DAILY = 1
    RPG_TALE_TICKET_REFRESH_WEEKLY = 2
    RPG_TALE_TICKET_REFRESH_CUSTOM = 3
    RPG_TALE_TICKET_REFRESH_DAILY_WITH_STORAGE = 4


class RpgTaleSiteType(betterproto.Enum):
    RpgTaleSiteType0 = 0
    RPG_TALE_SITE_TYPE_STORY = 1
    RPG_TALE_SITE_TYPE_CLUE = 2
    RPG_TALE_SITE_TYPE_CYCLE = 3
    RPG_TALE_SITE_TYPE_RANK = 4
    RPG_TALE_SITE_TYPE_ENDLESS = 5


class CmdTypeScdlc(betterproto.Enum):
    CmdTypeScdlc0 = 0
    CMD_GET_SC_DLC_REQ = 6300
    CMD_GET_SC_DLC_RSP = 6301
    CMD_UPDATE_SC_DLC_FEVER_SUITE_REQ = 6304
    CMD_UPDATE_SC_DLC_FEVER_SUITE_RSP = 6305
    CMD_ACTIVE_SC_DLC_FEVER_SUITE_REQ = 6306
    CMD_ACTIVE_SC_DLC_FEVER_SUITE_RSP = 6307
    CMD_ADD_SC_DLC_SUUPORT_NPC_EXP_REQ = 6308
    CMD_ADD_SC_DLC_SUUPORT_NPC_EXP_RSP = 6309
    CMD_LEVEL_UP_SC_DLC_AVATAR_REQ = 6310
    CMD_LEVEL_UP_SC_DLC_AVATAR_RSP = 6311
    CMD_LEVEL_UP_SC_DLC_TALENT_REQ = 6312
    CMD_LEVEL_UP_SC_DLC_TALENT_RSP = 6313
    CMD_EQUIP_SC_DLC_AVATAR_TALENT_REQ = 6314
    CMD_EQUIP_SC_DLC_AVATAR_TALENT_RSP = 6315
    CMD_GET_SC_DLC_SELECT_DAILY_QUEST_REQ = 6316
    CMD_GET_SC_DLC_SELECT_DAILY_QUEST_RSP = 6317
    CMD_REFRESH_SC_DLC_DAILY_QUEST_REQ = 6318
    CMD_REFRESH_SC_DLC_DAILY_QUEST_RSP = 6319
    CMD_ACCEPT_SC_DLC_DAILY_QUEST_REQ = 6320
    CMD_ACCEPT_SC_DLC_DAILY_QUEST_RSP = 6321
    CMD_FINISH_SC_DLC_DAILY_QUEST_REQ = 6322
    CMD_FINISH_SC_DLC_DAILY_QUEST_RSP = 6323
    CMD_TAKE_SC_DLC_DAILY_QUEST_REWARD_REQ = 6324
    CMD_TAKE_SC_DLC_DAILY_QUEST_REWARD_RSP = 6325
    CMD_MODIFY_SC_DLC_NAME_REQ = 6326
    CMD_MODIFY_SC_DLC_NAME_RSP = 6327
    CMD_TAKE_SC_DLC_CHALLENGE_REWARD_REQ = 6328
    CMD_TAKE_SC_DLC_CHALLENGE_REWARD_RSP = 6329
    CMD_FINISH_SC_DLC_PLOT_REQ = 6330
    CMD_FINISH_SC_DLC_PLOT_RSP = 6331
    CMD_GET_SC_DLC_TOWER_REQ = 6332
    CMD_GET_SC_DLC_TOWER_RSP = 6333
    CMD_SC_DLC_TOWER_STAGE_BEGIN_REQ = 6334
    CMD_SC_DLC_TOWER_STAGE_BEGIN_RSP = 6335
    CMD_SC_DLC_TOWER_STAGE_END_REQ = 6336
    CMD_SC_DLC_TOWER_STAGE_END_RSP = 6337
    CMD_GET_SC_DLC_TOWER_RANK_REQ = 6338
    CMD_GET_SC_DLC_TOWER_RANK_RSP = 6339
    CMD_SC_DLC_TOWER_SCHEDULE_REWARD_NOTIFY = 6340
    CMD_SC_DLC_REVIVE_AVATAR_REQ = 6341
    CMD_SC_DLC_REVIVE_AVATAR_RSP = 6342
    CMD_SC_DLC_TOWER_REVIVE_AVATAR_REQ = 6343
    CMD_SC_DLC_TOWER_REVIVE_AVATAR_RSP = 6344
    CMD_SC_DLC_ACTIVE_FEVER_ABILITY_REQ = 6345
    CMD_SC_DLC_ACTIVE_FEVER_ABILITY_RSP = 6346
    CMD_SC_DLC_SWEEP_TOWER_REQ = 6347
    CMD_SC_DLC_SWEEP_TOWER_RSP = 6348
    CMD_SCDLC_DUMMY = 6449


class AntiAddictNotifyAntiAddictMsgType(betterproto.Enum):
    ANTI_ADDICT_MSG_ERROR = 0
    ANTI_ADDICT_MSG_ANTI_ADDICT = 1
    ANTI_ADDICT_MSG_SHOULD_BIND_ACCOUNT = 2


class KickOutPlayerNotifyKickOutReason(betterproto.Enum):
    REASON_NONE = 0
    REASON_MTP_ERROR = 1
    REASON_PLATFORM_ERROR = 2
    REASON_SQUEEZE = 3
    REASON_LOGIN_UNFINISH = 4


class CmdTypeSecurity(betterproto.Enum):
    CmdTypeSecurity0 = 0
    CMD_UPDATE_CLIENT_SETTING_NOTIFY = 5002
    CMD_COMMON_CD_CHECK_NOTIFY = 5003
    CMD_ANTI_ADDICT_NOTIFY = 5004
    CMD_SENSITIVE_WORD_CHECK_REQ = 5005
    CMD_SENSITIVE_WORD_CHECK_RSP = 5006
    CMD_KICK_OUT_PLAYER_NOTIFY = 5007
    CMD_CLIENT_REPORT_REQ = 5008
    CMD_CLIENT_REPORT_RSP = 5009
    CMD_GET_AUTHKEY_REQ = 5010
    CMD_GET_AUTHKEY_RSP = 5011
    CMD_CLIENT_REPORT_BIN_REQ = 5012
    CMD_CLIENT_REPORT_BIN_RSP = 5013
    CMD_NET_TEST_REQ = 5014
    CMD_NET_TEST_RSP = 5015
    CMD_GET_SECURITY_PASSWORD_REQ = 5021
    CMD_GET_SECURITY_PASSWORD_RSP = 5022
    CMD_SET_SECURITY_PASSWORD_REQ = 5023
    CMD_SET_SECURITY_PASSWORD_RSP = 5024
    CMD_CHANGE_SECURITY_PASSWORD_REQ = 5025
    CMD_CHANGE_SECURITY_PASSWORD_RSP = 5026
    CMD_UNLOCK_DEVICE_SECURITY_PASSWORD_REQ = 5027
    CMD_UNLOCK_DEVICE_SECURITY_PASSWORD_RSP = 5028
    CMD_SECURITY_PASSWORD_OP_REQ = 5029
    CMD_SECURITY_PASSWORD_OP_RSP = 5030
    CMD_RESET_SECURITY_PASSWORD_REQ = 5031
    CMD_RESET_SECURITY_PASSWORD_RSP = 5032
    CMD_SECURITY_PASSWORD_REJECTION_NOTIFY = 5033


class AntiOfflineReportStatus(betterproto.Enum):
    ANTI_OFFLINE_REPORT_CORRECT = 0
    ANTI_OFFLINE_REPORT_ERROR = 1
    ANTI_OFFLINE_REPORT_TIMEOUT = 2
    ANTI_OFFLINE_REPORT_SOON_LOGOUT = 3
    ANTI_OFFLINE_REPORT_UNEXPECTED = 4


class AuthkeySignType(betterproto.Enum):
    AuthkeySignType0 = 0
    AUTHKEY_SIGN_TYPE_DEFAULT = 1
    AUTHKEY_SIGN_TYPE_RSA = 2


class ClientReportBinType(betterproto.Enum):
    CLIENT_REPORT_BIN_INVALID = 0
    CLIENT_REPORT_BIN_AVATAR_DETAIL = 1
    CLIENT_REPORT_BIN_ATTACK_SNAPSHOT = 2


class SecurityPasswordStatus(betterproto.Enum):
    SECURITY_PASSWORD_NOT_SET = 0
    SECURITY_PASSWORD_IS_SET = 1
    SECURITY_PASSWORD_TOO_MANY_FAILS = 2


class SecurityPasswordDeviceStatus(betterproto.Enum):
    SECURITY_PASSWORD_DEVICE_UNLOCKED = 0
    SECURITY_PASSWORD_DEVICE_LOCKED = 1


class SecurityPasswordOpType(betterproto.Enum):
    SECURITY_PASSWORD_NONE_OP = 0
    SECURITY_PASSWORD_FAST_UNPROTECT_WEAPON = 1
    SECURITY_PASSWORD_FAST_UNPROTECT_STIGMATA = 2


class GoodsRefreshTimeType(betterproto.Enum):
    SHOP_TYPE = 0
    DAY_TYPE = 1
    WEEK_TYPE = 2
    MONTH_TYPE = 3
    VERSION_TYPE = 4
    DOUBLE_WEEK_TYPE = 5


class GoodsShowType(betterproto.Enum):
    GoodsShowType0 = 0
    NORMAL_SHOW = 1
    LOCK_SHOW = 2


class CmdTypeShop(betterproto.Enum):
    CmdTypeShop0 = 0
    CMD_GET_SHOP_LIST_REQ = 6700
    CMD_GET_SHOP_LIST_RSP = 6701
    CMD_GET_SHOPPING_MALL_LIST_REQ = 6702
    CMD_GET_SHOPPING_MALL_LIST_RSP = 6703
    CMD_GET_SINGLE_SHOP_WITHOUT_REFRESH_REQ = 6704
    CMD_GET_SINGLE_SHOP_WITHOUT_REFRESH_RSP = 6705
    CMD_GET_PRODUCT_LIST_REQ = 6706
    CMD_GET_PRODUCT_LIST_RSP = 6707
    CMD_MANUAL_REFRESH_SHOP_REQ = 6708
    CMD_MANUAL_REFRESH_SHOP_RSP = 6709
    CMD_GET_RECOMMEND_GOODS_REQ = 6710
    CMD_GET_RECOMMEND_GOODS_RSP = 6711
    CMD_BUY_GOODS_REQ = 6714
    CMD_BUY_GOODS_RSP = 6715
    CMD_GLOBAL_SHOP_GOODS_INFO_NOTIFY = 6716
    CMD_GET_VIP_REWARD_DATA_REQ = 6717
    CMD_GET_VIP_REWARD_DATA_RSP = 6718
    CMD_GET_VIP_REWARD_REQ = 6719
    CMD_GET_VIP_REWARD_RSP = 6720
    CMD_GET_CARD_PRODUCT_INFO_REQ = 6721
    CMD_GET_CARD_PRODUCT_INFO_RSP = 6722
    CMD_TAKE_CARD_PRODUCT_DAILY_REWARD_REQ = 6723
    CMD_TAKE_CARD_PRODUCT_DAILY_REWARD_RSP = 6724
    CMD_TAKE_CARD_PRODUCT_BONUS_REWARD_REQ = 6725
    CMD_TAKE_CARD_PRODUCT_BONUS_REWARD_RSP = 6726
    CMD_TAKE_FOUNDATION_REWARD_REQ = 6727
    CMD_TAKE_FOUNDATION_REWARD_RSP = 6728
    CMD_GET_PRODUCT_RECOMMEND_LIST_REQ = 6729
    CMD_GET_PRODUCT_RECOMMEND_LIST_RSP = 6730
    CMD_BUY_PRODUCT_REQ = 6731
    CMD_BUY_PRODUCT_RSP = 6732
    CMD_EXCHANGE_HCOIN_BY_MCOIN_REQ = 6733
    CMD_EXCHANGE_HCOIN_BY_MCOIN_RSP = 6734
    CMD_GET_MYCARD_AUTH_CODE_REQ = 6739
    CMD_GET_MYCARD_AUTH_CODE_RSP = 6740
    CMD_VERIFY_MYCARD_ORDER_NOTIFY = 6741
    CMD_RECHARGE_FINISH_NOTIFY = 6742
    CMD_REPORT_CLICK_RECHARGE_BUTTON_NOTIFY = 6743
    CMD_GLOBAL_SHOP_GOODS_GET_BUY_ORDER_REQ = 6744
    CMD_GLOBAL_SHOP_GOODS_GET_BUY_ORDER_RSP = 6745


class ShopType(betterproto.Enum):
    ShopType0 = 0
    SHOP_NORMAL = 1
    SHOP_ENDLESS = 2
    SHOP_ACTIVITY = 3
    SHOP_EXTRASTORY = 4
    SHOP_ARMADA = 5
    SHOP_GACHATICKET = 6
    SHOP_EXCHANGE_HOUSE = 7
    SHOP_EXTRASTORY_ACTIVITY = 8
    SHOP_MP = 9
    SHOP_EXBOSS = 10
    SHOP_SKIN = 11
    SHOP_MASTER = 12
    SHOP_DORM = 13
    SHOP_FRAGMENT = 14
    SHOP_ACTIVITY_EXCLUDE = 15
    SHOP_MINUTE = 16
    SHOP_DUNGEONS = 17
    SHOP_GOBACK = 18
    SHOP_MASTER_PUPIL = 19
    SHOP_TYPE_ENCORE = 20
    SHOP_TYPE_WANTED = 21
    SHOP_TYPE_ADVENTURE = 22
    SHOP_TYPE_NEWBIE_ACTIVITY = 23
    SHOP_TYPE_VIP_EQUIPMENT = 24
    SHOP_TYPE_GACHA_COIN = 25
    SHOP_TYPE_MAIN_STORY = 26
    SHOP_GOBACK_2 = 27
    SHOP_GOBACK_3 = 28
    SHOP_TYPE_NEWBIE_ACTIVITY_2 = 29
    SHOP_TYPE_NEWBIE_ACTIVITY_3 = 30
    SHOP_TYPE_GOD_WAR = 31
    SHOP_TYPE_CHAPTER = 32
    SHOP_TYPE_SC_DLC = 33
    SHOP_TYPE_BP_ELITE_WORKS = 34
    SHOP_TYPE_BP_STORE = 35
    SHOP_TYPE_BP_ELITE_WORKS_VINTAGE = 36
    SHOP_TYPE_NEWBIE_ACTIVITY_4 = 37
    SHOP_TYPE_NEWBIE_ACTIVITY_5 = 38
    SHOP_TYPE_CHAPTER_OW = 39
    SHOP_GOBACK_SPECIAL = 40
    SHOP_OPENWORLD = 100
    SHOP_OPENWORLD_SENIOR = 101
    SHOP_OPENWORLD_NEW = 102
    SHOP_OPENWORLD_ACTIVITY = 103
    SHOP_PJMS_MATERIAL = 104
    SHOP_PJMS_BGM = 105
    SHOP_PJMS_FURNITURE = 106
    SHOP_TYPE_GIFT_PACK = 201
    SHOP_ACTIVITY_2 = 302
    SHOP_ACTIVITY_3 = 303
    SHOP_ACTIVITY_4 = 304
    SHOP_ACTIVITY_5 = 305
    SHOP_ACTIVITY_6 = 306
    SHOP_ACTIVITY_7 = 307
    SHOP_ACTIVITY_8 = 308
    SHOP_ACTIVITY_9 = 309
    SHOP_ACTIVITY_10 = 310
    SHOP_ACTIVITY_11 = 311
    SHOP_ACTIVITY_12 = 312
    SHOP_WEST = 1001


class ShopGoodsPoolUnlockType(betterproto.Enum):
    ShopGoodsPoolUnlockType0 = 0
    SHOP_GOODS_POOL_UNLOCK_PLAYER_LEVEL = 1
    SHOP_GOODS_POOL_UNLOCK_MAX_QUEST_LEVEL = 3
    SHOP_GOODS_POOL_UNLOCK_OPENWORLD_ACTIVITY_LEVEL = 4
    SHOP_GOODS_POOL_UNLOCK_EX_BOSS_MONSTER_LEVEL = 5
    SHOP_GOODS_POOL_UNLOCK_EX_BOSS_SCORE = 6
    SHOP_GOODS_POOL_UNLOCK_ELF = 7
    SHOP_GOODS_POOL_UNLOCK_GLOBALWAR_POINT_NUM = 8
    SHOP_GOODS_POOL_UNLOCK_GLOBALWAR_POINT_ID = 9
    SHOP_GOODS_POOL_UNLOCK_ADVENTURE_LEVEL = 10
    SHOP_GOODS_POOL_UNLOCK_DAILY_DUTY_POINT = 11
    SHOP_GOODS_POOL_UNLOCK_AVATAR = 12
    SHOP_GOODS_POOL_UNLOCK_STAGE = 13
    SHOP_GOODS_POOL_UNLOCK_KINGDOM_WAR_CURRENCY = 14
    SHOP_GOODS_POOL_UNLOCK_MISSION = 15
    SHOP_GOODS_POOL_UNLOCK_SANCTUARY_LEVEL = 16
    SHOP_GOODS_POOL_UNLOCK_GOBACK_LEVEL = 17
    SHOP_GOODS_POOL_UNLOCK_AVATAR_LOCKED = 18
    SHOP_GOODS_POOL_UNLOCK_HAS_GOT_ITEM = 19
    SHOP_GOODS_POOL_UNLOCK_AVATAR_DETAIL = 20
    SHOP_GOODS_POOL_UNLOCK_ELF_DETAIL = 21
    SHOP_GOODS_POOL_UNLOCK_BATTLE_PASS_TICKET = 22
    SHOP_GOODS_POOL_UNLOCK_PRIVILEGE_DETAIL = 23
    SHOP_GOODS_POOL_UNLOCK_HAS_NOT_GOT_ITEM = 24
    SHOP_GOODS_POOL_UNLOCK_BP_LEVEL = 25
    SHOP_GOODS_POOL_UNLOCK_PLAYER_LEVEL_LOCK_ID = 26
    SHOP_GOODS_POOL_UNLOCK_GOBACK_NEWBIE_LEVEL = 27


class ShopGoodsMaxBuyType(betterproto.Enum):
    SHOP_GOODS_MAX_BUY_TYPE_SCHEDULE_MAX_LIMIT = 0
    SHOP_GOODS_MAX_BUY_TYPE_BACKPACK_MAX_LIMIT = 1
    SHOP_GOODS_MAX_BUY_TYPE_NO_LIMIT = 2


class ShopGoodsAutoOpenType(betterproto.Enum):
    SHOP_GOODS_NOT_AUTO_OPEN = 0
    SHOP_GOODS_CLIENT_AUTO_OPEN_WITH_NOTIFY = 1
    SHOP_GOODS_CLIENT_AUTO_OPEN_WITHOUT_NOTIFY = 2
    SHOP_GOODS_SERVER_AUTO_OPEN = 3


class ProductType(betterproto.Enum):
    ProductType0 = 0
    PRODUCT_NORMAL = 1
    PRODUCT_LIMIT = 2
    PRODUCT_CARD = 3
    PRODUCT_SUBSCRIPTION = 4
    PRODUCT_RANDOM_BOX = 5
    PRODUCT_FIXED_BOX = 6
    PRODUCT_MCOIN = 7
    PRODUCT_FOUNDATION = 8
    PRODUCT_SUBSCRIPTION_NON_RENEWING = 9
    PRODUCT_MAIL_REWARD = 10
    PRODUCT_PROMO_CODE = 11


class AccurateGoodsTriggerType(betterproto.Enum):
    ACCURATE_GOODS_TRIGGER_TYPE_NONE = 0
    ACCURATE_GOODS_TRIGGER_TYPE_UNLOCK_AVATAR = 1
    ACCURATE_GOODS_TRIGGER_TYPE_FIRST_GOT = 2
    ACCURATE_GOODS_TRIGGER_TYPE_REPEAT_GOT = 3
    ACCURATE_GOODS_TRIGGER_TYPE_UNLOCK_ELF = 4
    ACCURATE_GOODS_TRIGGER_TYPE_FINISH_MISSION = 5
    ACCURATE_GOODS_TRIGGER_TYPE_EXCHANGE_SCOIN = 6
    ACCURATE_GOODS_TRIGGER_TYPE_EXCHANGE_STAMINA = 7
    ACCURATE_GOODS_TRIGGER_TYPE_LOSE_STAGE = 8
    ACCURATE_GOODS_TRIGGER_TYPE_WIN_STAGE_FIRST = 9
    ACCURATE_GOODS_TRIGGER_TYPE_AVATAR_LEVEL = 10
    ACCURATE_GOODS_TRIGGER_TYPE_PLAYER_LEVEL = 11
    ACCURATE_GOODS_TRIGGER_TYPE_GOBACK_DAYS = 12
    ACCURATE_GOODS_TRIGGER_TYPE_AVATAR_STAR = 13


class VipRewardStatus(betterproto.Enum):
    VipRewardStatus0 = 0
    VIP_REWARD_LOCKED = 1
    VIP_REWARD_NOT_GET = 2
    VIP_REWARD_HAS_GOT = 3
    VIP_REWARD_HAS_GOT_BUT_SPECIAL = 4


class CmdTypeSimplifiedgodwar(betterproto.Enum):
    CmdTypeSimplifiedgodwar0 = 0
    CMD_SIMPLIFIED_GOD_WAR_GET_ACTIVITY_REQ = 8250
    CMD_SIMPLIFIED_GOD_WAR_GET_ACTIVITY_RSP = 8251
    CMD_SIMPLIFIED_GOD_WAR_SELECT_CHALLENGE_AVATAR_REQ = 8252
    CMD_SIMPLIFIED_GOD_WAR_SELECT_CHALLENGE_AVATAR_RSP = 8253
    CMD_SIMPLIFIED_GOD_WAR_RESET_CHALLENGE_REQ = 8254
    CMD_SIMPLIFIED_GOD_WAR_RESET_CHALLENGE_RSP = 8255
    CMD_SIMPLIFIED_GOD_WAR_GET_BUFF_REQ = 8256
    CMD_SIMPLIFIED_GOD_WAR_GET_BUFF_RSP = 8257
    CMD_SIMPLIFIED_GOD_WAR_SELECT_BUFF_REQ = 8258
    CMD_SIMPLIFIED_GOD_WAR_SELECT_BUFF_RSP = 8259
    CMD_SIMPLIFIED_GOD_WAR_GET_ASSIST_ROLE_REQ = 8260
    CMD_SIMPLIFIED_GOD_WAR_GET_ASSIST_ROLE_RSP = 8261
    CMD_SIMPLIFIED_GOD_WAR_SELECT_ASSIST_ROLE_REQ = 8262
    CMD_SIMPLIFIED_GOD_WAR_SELECT_ASSIST_ROLE_RSP = 8263
    CMD_SIMPLIFIED_GOD_WAR_ENTER_SITE_REQ = 8264
    CMD_SIMPLIFIED_GOD_WAR_ENTER_SITE_RSP = 8265


class SimplifiedGodWarSiteType(betterproto.Enum):
    SimplifiedGodWarSiteType0 = 0
    SIMPLIFIED_GOD_WAR_SITE_TYPE_START = 1
    SIMPLIFIED_GOD_WAR_SITE_TYPE_NORMAL = 2
    SIMPLIFIED_GOD_WAR_SITE_TYPE_ASSIST_ROLE = 3
    SIMPLIFIED_GOD_WAR_SITE_TYPE_FINAL_BOSS = 4


class CmdTypeSlg(betterproto.Enum):
    CmdTypeSlg0 = 0
    CMD_SLG_GET_DATA_REQ = 6050
    CMD_SLG_GET_DATA_RSP = 6051
    CMD_SLG_POINT_SWEEP_REQ = 6052
    CMD_SLG_POINT_SWEEP_RSP = 6053
    CMD_SLG_BATTLE_MATCH_RSP = 6054
    CMD_SLG_ENROLL_REQ = 6055
    CMD_SLG_ENROLL_RSP = 6056
    CMD_SLG_GET_ACTIVITY_STAMINA_REQ = 6057
    CMD_SLG_GET_ACTIVITY_STAMINA_RSP = 6058
    CMD_SLG_TAKE_SCORE_REWARD_REQ = 6059
    CMD_SLG_TAKE_SCORE_REWARD_RSP = 6060
    CMD_SLG_BATTLE_ADD_SCORE_FAIL_NOTIFY = 6061
    CMD_SLG_GET_BATTLE_RANK_REQ = 6062
    CMD_SLG_GET_BATTLE_RANK_RSP = 6063
    CMD_SLG_GET_POINT_RANK_REQ = 6064
    CMD_SLG_GET_POINT_RANK_RSP = 6065
    CMD_SLG_BATTLE_SETTLE_NOTIFY = 6066
    CMD_SLG_BROADCAST_NOTIFY = 6068
    CMD_SLG_MAIN_PAGE_REQ = 6069
    CMD_SLG_BATTLE_IN_SETTLE_NOTIFY = 6070
    CMD_SLG_GET_BRIEF_RANK_REQ = 6071
    CMD_SLG_GET_BRIEF_RANK_RSP = 6072
    CMD_SLG_DUMMY = 6149


class SlgMatchFactorType(betterproto.Enum):
    SLG_MATCH_FACTOR_TYPE_NONE = 0
    SLG_MATCH_FACTOR_TYPE_CRYSTAL_COST = 1
    SLG_MATCH_FACTOR_TYPE_PLAYER_LEVEL = 2
    SLG_MATCH_FACTOR_TYPE_TOP_AVATAR_COMBAT_SUM = 3
    SLG_MATCH_FACTOR_TYPE_CUR_BATTLE_SCORE = 4


class SlgBuffType(betterproto.Enum):
    SLG_BUFF_TYPE_NONE = 0
    SLG_BUFF_TYPE_ACTIVITY_STAMINA_COST = 1
    SLG_BUFF_TYPE_STAGE_SCORE = 2
    SLG_BUFF_TYPE_SETTLE_SCORE = 3
    SLG_BUFF_TYPE_STAGE = 4


class SlgBuildingType(betterproto.Enum):
    SlgBuildingType0 = 0
    SLG_BUILDING_TYPE_OCCUPY_OWNER_BUFF = 1
    SLG_BUILDING_TYPE_OCCUPY_OTHERS_BUFF = 2
    SLG_BUILDING_TYPE_SMALL_BOSS = 3
    SLG_BUILDING_TYPE_BIG_BOSS = 4


class SlgBossType(betterproto.Enum):
    SLG_BOSS_TYPE_NONE = 0
    SLG_BOSS_TYPE_SMALL_BOSS = 1
    SLG_BOSS_TYPE_BIG_BOSS = 2


class SlgScoreRewardType(betterproto.Enum):
    SLG_SCORE_REWARD_TYPE_NONE = 0
    SLG_SCORE_REWARD_TYPE_PERSONAL_TOTAL = 1
    SLG_SCORE_REWARD_TYPE_COUNTRY = 2


class SlgBroadcastType(betterproto.Enum):
    SlgBroadcastType0 = 0
    SLG_BROADCAST_TYPE_OCCUPY = 1
    SLG_BROADCAST_TYPE_SCORE_STREAK = 2
    SLG_BROADCAST_TYPE_OCCUPY_STREAK = 3


class SlgBattleRankType(betterproto.Enum):
    SlgBattleRankType0 = 0
    SLG_BATTLE_RANK_NORMAL_POINT = 1
    SLG_BATTLE_RANK_BIG_BOSS = 2
    SLG_BATTLE_RANK_COUNTRY = 3


class CmdTypeSwitch(betterproto.Enum):
    CmdTypeSwitch0 = 0
    CMD_SWITCH_DATA_NOTIFY = 3700
    CMD_SWITCH_CHANGE_DATA_NOTIFY = 3701


class ChatSwitchChannelType(betterproto.Enum):
    CHAT_SWITCH_CHANNEL_TYPE_NONE = 0
    CHAT_SWITCH_CHANNEL_TYPE_WORLD = 1
    CHAT_SWITCH_CHANNEL_TYPE_PRIVATE = 2
    CHAT_SWITCH_CHANNEL_TYPE_ARMADA = 3
    CHAT_SWITCH_CHANNEL_TYPE_TEAM = 4
    CHAT_SWITCH_CHANNEL_TYPE_GROUP = 5
    CHAT_SWITCH_CHANNEL_TYPE_COMMON_CHATWORLD = 6
    CHAT_SWITCH_CHANNEL_TYPE_OTHERS = 7


class FeatureSwitchActivityType(betterproto.Enum):
    FEATURE_SWITCH_ACTIVITY_TYPE_NONE = 0
    FEATURE_SWITCH_ACTIVITY_TYPE_SLG_GAME = 1
    FEATURE_SWITCH_ACTIVITY_TYPE_SLG_BATTLE = 2
    FEATURE_SWITCH_ACTIVITY_TYPE_SLG_MATCH = 3
    FEATURE_SWITCH_ACTIVITY_TYPE_GLOBAL_POLLING = 4
    FEATURE_SWITCH_ACTIVITY_TYPE_SLG_CHAT = 5
    FEATURE_SWITCH_ACTIVITY_TYPE_SLG_BROADCAST = 6
    FEATURE_SWITCH_ACTIVITY_TYPE_GLOBAL_EXPLORE_BROADCAST = 7
    FEATURE_SWITCH_ACTIVITY_TYPE_BW_WORLD_CAMP = 8


class QCandyBattleActivitySwitchType(betterproto.Enum):
    QCANDY_BATTLE_ACTIVITY_SWITCH_TYPE_NONE = 0
    QCANDY_BATTLE_ACTIVITY_SWITCH_TYPE_PVP = 1
    QCANDY_BATTLE_ACTIVITY_SWITCH_TYPE_RANK = 2


class ChatForbidNotifyForbidType(betterproto.Enum):
    FORBID_COMMON = 0
    REPEAT_CHAT = 1


class CreateAlipayOrderReqTradeType(betterproto.Enum):
    NONE1 = 0
    APP1 = 1
    QR_CODE = 2
    HUA_BEI = 3


class CmdTypeThree(betterproto.Enum):
    CmdTypeThree0 = 0
    CMD_CHECK_EXTRA_STORY_LOCKED_AVATAR_BIND_EQUIP_REQ = 1000
    CMD_CHECK_EXTRA_STORY_LOCKED_AVATAR_BIND_EQUIP_RSP = 1001
    CMD_SWITCH_EXTRA_STORY_LOCKED_AVATAR_BIND_EQUIP_REQ = 1002
    CMD_SWITCH_EXTRA_STORY_LOCKED_AVATAR_BIND_EQUIP_RSP = 1003
    CMD_TAKE_DORM_LIKES_DROP_REQ = 1008
    CMD_TAKE_DORM_LIKES_DROP_RSP = 1009
    CMD_CHECK_DORM_LIKES_DROP_REQ = 1010
    CMD_CHECK_DORM_LIKES_DROP_RSP = 1011
    CMD_GET_WORLD_MAP_DATA_REQ = 1012
    CMD_GET_WORLD_MAP_DATA_RSP = 1013
    CMD_GET_MP_STAGE_RECORD_REQ = 1018
    CMD_GET_MP_STAGE_RECORD_RSP = 1019
    CMD_LOBBY_SET_CLIENT_STATUS_REQ = 1026
    CMD_LOBBY_SET_CLIENT_STATUS_RSP = 1027
    CMD_LOBBY_PREPARE_COUNT_DOWN_NOTIFY = 1028
    CMD_MP_STAGE_VOTE_COUNT_DOWN_NOTIFY = 1029
    CMD_MP_STAGE_VOTE_REQ = 1030
    CMD_MP_STAGE_VOTE_RSP = 1031
    CMD_MP_STAGE_VOTE_RESULT_NOTIFY = 1032
    CMD_LOBBY_TIMEOUT_NO_LEADER_NOTIFY = 1033
    CMD_TAKE_WEEK_DAY_ACTIVITY_RETURN_COIN_REQ = 1034
    CMD_TAKE_WEEK_DAY_ACTIVITY_RETURN_COIN_RSP = 1035
    CMD_MP_STAGE_GET_VOTE_INFO_REQ = 1036
    CMD_MP_STAGE_GET_VOTE_INFO_RSP = 1037
    CMD_MP_STAGE_MEMBER_VOTE_NOTIFY = 1038
    CMD_SWITCH_EXTRA_STORY_LINE_ENHANCE_REQ = 1039
    CMD_SWITCH_EXTRA_STORY_LINE_ENHANCE_RSP = 1040
    CMD_GET_CHALLENGE_STEP_BONUS_REQ = 1043
    CMD_GET_CHALLENGE_STEP_BONUS_RSP = 1044
    CMD_LEAVE_TEAM_NOTIFY = 1101
    CMD_GET_LOBBY_STAT_REQ = 1102
    CMD_GET_LOBBY_STAT_RSP = 1103
    CMD_DISJOIN_FURNITURE_REQ = 1134
    CMD_DISJOIN_FURNITURE_RSP = 1135
    CMD_CHAT_REPORT_REQ = 1150
    CMD_CHAT_REPORT_RSP = 1151
    CMD_CHAT_REPORT_NOTIFY = 1152
    CMD_CHAT_UNFORBID_NOTIFY = 1153
    CMD_CHAT_FORBID_NOTIFY = 1154
    CMD_GET_CHAT_REPORT_INFO_REQ = 1159
    CMD_GET_CHAT_REPORT_INFO_RSP = 1160
    CMD_CHAT_FORBID_SNS_NOTIFY = 1161
    CMD_RECOVER_CHAT_CREDIT_NOTIFY = 1162
    CMD_SEND_CHAT_RED_ENVELOPE_REQ = 1163
    CMD_SEND_CHAT_RED_ENVELOPE_RSP = 1164
    CMD_TAKE_CHAT_RED_ENVELOPE_REQ = 1165
    CMD_TAKE_CHAT_RED_ENVELOPE_RSP = 1166
    CMD_GET_PHOTO_DATA_REQ = 1191
    CMD_GET_PHOTO_DATA_RSP = 1192
    CMD_GET_WIKI_DATA_REQ = 1193
    CMD_GET_WIKI_DATA_RSP = 1194
    CMD_TAKE_WIKI_RATING_REWARD_REQ = 1195
    CMD_TAKE_WIKI_RATING_REWARD_RSP = 1196
    CMD_GET_PHONE_PENDANT_DATA_REQ = 1197
    CMD_GET_PHONE_PENDANT_DATA_RSP = 1198
    CMD_PHONE_PENDANT_OP_REQ = 1199
    CMD_PHONE_PENDANT_OP_RSP = 1200
    CMD_GET_TEAM_LIST_REQ = 1215
    CMD_GET_TEAM_LIST_RSP = 1216
    CMD_GET_EMOJI_DATA_REQ = 1245
    CMD_GET_EMOJI_DATA_RSP = 1246
    CMD_MP_FAST_MATCH_REQ = 1247
    CMD_MP_FAST_MATCH_RSP = 1248
    CMD_GET_SNS_SHOW_DATA_REQ = 1266
    CMD_GET_SNS_SHOW_DATA_RSP = 1267
    CMD_GET_CLIENT_SETTING_REQ = 1270
    CMD_UPDATE_CLIENT_SETTING_REQ = 1271
    CMD_GET_CLIENT_SETTING_RSP = 1272
    CMD_GET_OTHER_PLAYER_CLIENT_SETTING_REQ = 1273
    CMD_GET_OTHER_PLAYER_CLIENT_SETTING_RSP = 1274
    CMD_UPDATE_LOBBY_SETTING_REQ = 1365
    CMD_UPDATE_LOBBY_SETTING_RSP = 1366
    CMD_EXCHANGE_PURPLE_JADE_REQ = 1367
    CMD_EXCHANGE_PURPLE_JADE_RSP = 1368
    CMD_GET_BRIEF_DATA_LIST_REQ = 1374
    CMD_GET_BRIEF_DATA_LIST_RSP = 1375
    CMD_FINISH_PLOT_REQ = 1378
    CMD_FINISH_PLOT_RSP = 1379
    CMD_GET_REGION_UID_RANGE_REQ = 1380
    CMD_GET_REGION_UID_RANGE_RSP = 1381
    CMD_GET_PLOT_LIST_REQ = 1382
    CMD_GET_PLOT_LIST_RSP = 1383
    CMD_GET_FARM_ACTIVITY_DATA_REQ = 1385
    CMD_GET_FARM_ACTIVITY_DATA_RSP = 1386
    CMD_UNLOCK_FARM_SLOT_REQ = 1387
    CMD_UNLOCK_FARM_SLOT_RSP = 1388
    CMD_START_FARM_PRODUCE_REQ = 1389
    CMD_START_FARM_PRODUCE_RSP = 1390
    CMD_FINISH_FARM_PRODUCE_REQ = 1391
    CMD_FINISH_FARM_PRODUCE_RSP = 1392
    CMD_SPEED_UP_FARM_PRODUCE_REQ = 1393
    CMD_SPEED_UP_FARM_PRODUCE_RSP = 1394
    CMD_SYNC_FARM_ACTIVITY_DATA_NOTIFY = 1395
    CMD_AVATAR_ARTIFACT_UNLOCK_REQ = 1444
    CMD_AVATAR_ARTIFACT_UNLOCK_RSP = 1445
    CMD_AVATAR_ARTIFACT_LEVEL_UP_REQ = 1446
    CMD_AVATAR_ARTIFACT_LEVEL_UP_RSP = 1447
    CMD_TAKE_GOBACK_SCORE_REWARD_REQ = 1448
    CMD_TAKE_GOBACK_SCORE_REWARD_RSP = 1449
    CMD_GET_AVATAR_EQUIP_SUITE_REQ = 1454
    CMD_GET_AVATAR_EQUIP_SUITE_RSP = 1455
    CMD_SET_AVATAR_EQUIP_SUITE_REQ = 1456
    CMD_SET_AVATAR_EQUIP_SUITE_RSP = 1457
    CMD_SELECT_AVATAR_EQUIP_SUITE_REQ = 1458
    CMD_SELECT_AVATAR_EQUIP_SUITE_RSP = 1459
    CMD_REFRESH_AND_SYNC_MISSION_NOTIFY = 1473
    CMD_GET_CURRENCY_EXCHANGE_INFO_REQ = 1480
    CMD_GET_CURRENCY_EXCHANGE_INFO_RSP = 1481
    CMD_SET_LEVEL_LOCK_REQ = 1488
    CMD_SET_LEVEL_LOCK_RSP = 1489
    CMD_FINISH_FAST_PASS_REQ = 1490
    CMD_FINISH_FAST_PASS_RSP = 1491
    CMD_SET_WARSHIP_AVATAR_REQ = 1492
    CMD_SET_WARSHIP_AVATAR_RSP = 1493
    CMD_CREATE_ALIPAY_ORDER_REQ = 1494
    CMD_CREATE_ALIPAY_ORDER_RSP = 1495
    CMD_SUBSCRIPTION_STATUS_NOTIFY = 1496
    CMD_GET_CHAT_RED_ENVELOPE_INFO_REQ = 1502
    CMD_GET_CHAT_RED_ENVELOPE_INFO_RSP = 1503
    CMD_WANTED_MIRROR_RECOVERY_REQ = 1517
    CMD_WANTED_MIRROR_RECOVERY_RSP = 1518
    CMD_GET_RECOMMEND_MISSION_PANEL_LIST_REQ = 1519
    CMD_GET_RECOMMEND_MISSION_PANEL_LIST_RSP = 1520
    CMD_GET_CUSTOM_HEAD_DATA_REQ = 1523
    CMD_GET_CUSTOM_HEAD_DATA_RSP = 1524
    CMD_SET_CUSTOM_HEAD_REQ = 1525
    CMD_SET_CUSTOM_HEAD_RSP = 1526
    CMD_GET_STAGE_BUFF_REQ = 1528
    CMD_GET_STAGE_BUFF_RSP = 1529
    CMD_CHOOSE_STAGE_BUFF_REQ = 1530
    CMD_CHOOSE_STAGE_BUFF_RSP = 1531
    CMD_TRIGGER_RECOMMEND_GOODS_NOTIFY = 1538
    CMD_CONFIRM_RECOMMEND_GOODS_REQ = 1539
    CMD_CONFIRM_RECOMMEND_GOODS_RSP = 1540
    CMD_GET_STAGE_RECOMMEND_AVATAR_REQ = 1541
    CMD_GET_STAGE_RECOMMEND_AVATAR_RSP = 1542
    CMD_SEND_DANMAKU_REQ = 1543
    CMD_SEND_DANMAKU_RSP = 1544
    CMD_GET_DANMAKU_LIST_REQ = 1545
    CMD_GET_DANMAKU_LIST_RSP = 1546
    CMD_GET_DANMAKU_BRIEF_INFO_REQ = 1547
    CMD_GET_DANMAKU_BRIEF_INFO_RSP = 1548
    CMD_IMPEACH_DANMAKU_REQ = 1549
    CMD_IMPEACH_DANMAKU_RSP = 1550
    CMD_DANMAKU_BLACKLIST_NOTIFY = 1551
    CMD_GET_TEAM_STATUS_REQ = 1553
    CMD_GET_TEAM_STATUS_RSP = 1554
    CMD_GET_FAST_PASS_DATA_REQ = 1555
    CMD_GET_FAST_PASS_DATA_RSP = 1556
    CMD_GET_PLAYER_ONLINE_STATUS_REQ = 1576
    CMD_GET_PLAYER_ONLINE_STATUS_RSP = 1577
    CMD_MP_SYNC_ACTION_FROM_PLAYER_NOTIFY = 1579
    CMD_MP_SYNC_ACTION_FROM_SERVER_NOTIFY = 1580
    CMD_VERIFY_SAMSUNG_ORDER_NOTIFY = 1581
    CMD_GET_CLIENT_DATA_REQ = 1586
    CMD_GET_CLIENT_DATA_RSP = 1587
    CMD_SET_CLIENT_DATA_REQ = 1588
    CMD_SET_CLIENT_DATA_RSP = 1589
    CMD_WIKI_TAKE_ACTIVITY_SUIT_REWARD_REQ = 1592
    CMD_WIKI_TAKE_ACTIVITY_SUIT_REWARD_RSP = 1593
    CMD_GET_BLACK_LIST_REQ = 1594
    CMD_GET_BLACK_LIST_RSP = 1595
    CMD_ADD_TO_BLACK_LIST_REQ = 1596
    CMD_ADD_TO_BLACK_LIST_RSP = 1597
    CMD_DEL_FROM_BLACK_LIST_REQ = 1598
    CMD_DEL_FROM_BLACK_LIST_RSP = 1599
    CMD_DEBUG_HOT_PATCH_FILE_NOTIFY = 1600
    CMD_GET_WEB_ACTIVITY_INFO_REQ = 1601
    CMD_GET_WEB_ACTIVITY_INFO_RSP = 1602
    CMD_GET_MINI_RANK_REQ = 1603
    CMD_GET_MINI_RANK_RSP = 1604
    CMD_CHARGE_ACTIVITY_BUFF_REQ = 1605
    CMD_CHARGE_ACTIVITY_BUFF_RSP = 1606
    CMD_LOGIN_WISH_GET_MAIN_DATA_REQ = 1607
    CMD_LOGIN_WISH_GET_MAIN_DATA_RSP = 1608
    CMD_LOGIN_WISH_TAKE_LOGIN_REWARD_REQ = 1609
    CMD_LOGIN_WISH_TAKE_LOGIN_REWARD_RSP = 1610
    CMD_LOGIN_WISH_TAKE_SPECIAL_REWARD_REQ = 1611
    CMD_LOGIN_WISH_TAKE_SPECIAL_REWARD_RSP = 1612
    CMD_LOGIN_WISH_MAKE_WISH_REQ = 1613
    CMD_LOGIN_WISH_MAKE_WISH_RSP = 1614
    CMD_LOGIN_WISH_TAKE_WISH_REWARD_REQ = 1615
    CMD_LOGIN_WISH_TAKE_WISH_REWARD_RSP = 1616
    CMD_DEV_LEVEL_CHANGE_NOTIFY = 1619
    CMD_DEL_AVATAR_EQUIP_SUITE_REQ = 1620
    CMD_DEL_AVATAR_EQUIP_SUITE_RSP = 1621
    CMD_CLIENT_CHECK_NETWORK_ENV_REQ = 1626
    CMD_CLIENT_CHECK_NETWORK_ENV_RSP = 1627
    CMD_GET_STAGE_RECOMMEND_AVATAR_COURSE_INFO_REQ = 1630
    CMD_GET_STAGE_RECOMMEND_AVATAR_COURSE_INFO_RSP = 1631
    CMD_GET_MISSION_STEP_COMPENSATION_INFO_REQ = 1632
    CMD_GET_MISSION_STEP_COMPENSATION_INFO_RSP = 1633
    CMD_TAKE_MISSION_STEP_COMPENSATION_REQ = 1634
    CMD_TAKE_MISSION_STEP_COMPENSATION_RSP = 1635
    CMD_GET_ELITE_CHAPTER_COMPENSATION_INFO_REQ = 1636
    CMD_GET_ELITE_CHAPTER_COMPENSATION_INFO_RSP = 1637
    CMD_TAKE_ELITE_CHAPTER_COMPENSATION_REQ = 1638
    CMD_TAKE_ELITE_CHAPTER_COMPENSATION_RSP = 1639
    CMD_UNLOCK_PRIVILEGE_REQ = 1642
    CMD_UNLOCK_PRIVILEGE_RSP = 1643
    CMD_MP_SET_EXTRA_SKILL_REQ = 1644
    CMD_MP_SET_EXTRA_SKILL_RSP = 1645
    CMD_GET_PRIVILEGE_INFO_REQ = 1646
    CMD_GET_PRIVILEGE_INFO_RSP = 1647
    CMD_CREATE_STEAM_ORDER_REQ = 1648
    CMD_CREATE_STEAM_ORDER_RSP = 1649
    CMD_VERIFY_STEAM_ORDER_NOTIFY = 1650
    CMD_UNLOCK_GOBACK_FUND_REQ = 1651
    CMD_UNLOCK_GOBACK_FUND_RSP = 1652
    CMD_TAKE_GOBACK_FUND_REWARD_REQ = 1653
    CMD_TAKE_GOBACK_FUND_REWARD_RSP = 1654
    CMD_EX_BOSS_SWEEP_REQ = 1655
    CMD_EX_BOSS_SWEEP_RSP = 1656
    CMD_EX_BOSS_TAKE_BOSS_SCORE_REWARD_NOTIFY = 1657
    CMD_BIND_HOYOLAB_ACCOUNT_REQ = 1658
    CMD_BIND_HOYOLAB_ACCOUNT_RSP = 1659
    CMD_CHAPTER_GROUP_GET_DATA_REQ = 1660
    CMD_CHAPTER_GROUP_GET_DATA_RSP = 1661
    CMD_WEEK_DAY_ACTIVITY_SWEEP_REQ = 1664
    CMD_WEEK_DAY_ACTIVITY_SWEEP_RSP = 1665
    CMD_GET_WEEK_DAY_ACTIVITY_COMPENSATION_INFO_REQ = 1666
    CMD_GET_WEEK_DAY_ACTIVITY_COMPENSATION_INFO_RSP = 1667
    CMD_TAKE_WEEK_DAY_ACTIVITY_COMPENSATION_REQ = 1668
    CMD_TAKE_WEEK_DAY_ACTIVITY_COMPENSATION_RSP = 1669
    CMD_REQUEST_LOGOFF_REQ = 1670
    CMD_REQUEST_LOGOFF_RSP = 1671
    CMD_GET_CHAPTER_COMPENSATION_INFO_REQ = 1672
    CMD_GET_CHAPTER_COMPENSATION_INFO_RSP = 1673
    CMD_TAKE_CHAPTER_COMPENSATION_REQ = 1674
    CMD_TAKE_CHAPTER_COMPENSATION_RSP = 1675
    CMD_GET_CHALLENGE_STEP_COMPENSATION_INFO_REQ = 1676
    CMD_GET_CHALLENGE_STEP_COMPENSATION_INFO_RSP = 1677
    CMD_TAKE_CHALLENGE_STEP_COMPENSATION_REQ = 1678
    CMD_TAKE_CHALLENGE_STEP_COMPENSATION_RSP = 1679
    CMD_GET_SPECIFIC_RANK_REQ = 1684
    CMD_GET_SPECIFIC_RANK_RSP = 1685
    CMD_GET_INVITE_ACTIVITY_INVITER_DATA_REQ = 1690
    CMD_GET_INVITE_ACTIVITY_INVITER_DATA_RSP = 1691
    CMD_TAKE_INVITE_ACTIVITY_INVITER_PROGRESS_REWARD_REQ = 1692
    CMD_TAKE_INVITE_ACTIVITY_INVITER_PROGRESS_REWARD_RSP = 1693
    CMD_GET_INVITE_ACTIVITY_INVITEE_DATA_REQ = 1694
    CMD_GET_INVITE_ACTIVITY_INVITEE_DATA_RSP = 1695
    CMD_INVITE_ACTIVITY_ACCEPT_INVITE_REQ = 1696
    CMD_INVITE_ACTIVITY_ACCEPT_INVITE_RSP = 1697
    CMD_GET_MAIN_STORY_MEMOIRS_DATA_REQ = 1701
    CMD_GET_MAIN_STORY_MEMOIRS_DATA_RSP = 1702
    CMD_GET_MAIN_STORY_BLESS_REQ = 1703
    CMD_GET_MAIN_STORY_BLESS_RSP = 1704
    CMD_GET_ACTIVITY_MAIN_DATA_REQ = 1705
    CMD_GET_ACTIVITY_MAIN_DATA_RSP = 1706
    CMD_SET_RED_POINT_STATUS_NOTIFY = 1707
    CMD_CLIENT_RESET_NOTIFY = 1708
    CMD_ADD_CUSTOM_AVATAR_TEAM_REQ = 1709
    CMD_ADD_CUSTOM_AVATAR_TEAM_RSP = 1710
    CMD_DEL_CUSTOM_AVATAR_TEAM_REQ = 1711
    CMD_DEL_CUSTOM_AVATAR_TEAM_RSP = 1712
    CMD_GET_WORLD_MAP_RECOMMEND_REQ = 1713
    CMD_GET_WORLD_MAP_RECOMMEND_RSP = 1714
    CMD_UNLOCK_COLLECTION_REQ = 1715
    CMD_UNLOCK_COLLECTION_RSP = 1716
    CMD_GET_COLLECTION_LIST_REQ = 1717
    CMD_GET_COLLECTION_LIST_RSP = 1718
    CMD_ACTIVATE_COLLECTION_REQ = 1719
    CMD_ACTIVATE_COLLECTION_RSP = 1720
    CMD_EXCHANGE_AVATAR_STIGMATA_REQ = 1721
    CMD_EXCHANGE_AVATAR_STIGMATA_RSP = 1722
    CMD_CHOOSE_SPECIAL_GOBACK_REQ = 1723
    CMD_CHOOSE_SPECIAL_GOBACK_RSP = 1724
    CMD_GOBACK_SPECIAL_BP_PURCHASE_REQ = 1725
    CMD_GOBACK_SPECIAL_BP_PURCHASE_RSP = 1726
    CMD_GOBACK_SPECIAL_BP_TAKE_REWARD_REQ = 1727
    CMD_GOBACK_SPECIAL_BP_TAKE_REWARD_RSP = 1728
    CMD_WEAPON_HOMOLOGY_REQ = 1734
    CMD_WEAPON_HOMOLOGY_RSP = 1735
    CMD_UPDATE_MULTI_MISSION_PROGRESS_REQ = 1736
    CMD_UPDATE_MULTI_MISSION_PROGRESS_RSP = 1737
    CMD_WEAPON_LEVEL_UP_USE_TICKET_REQ = 1738
    CMD_WEAPON_LEVEL_UP_USE_TICKET_RSP = 1739
    CMD_STIGMATA_LEVEL_UP_USE_TICKET_REQ = 1740
    CMD_STIGMATA_LEVEL_UP_USE_TICKET_RSP = 1741
    CMD_THREE_DEAD_LINE = 1999


class MpStageVoteOption(betterproto.Enum):
    MP_STAGE_VOTE_OPTION_STAY_IN_TEAM = 0
    MP_STAGE_VOTE_OPTION_STAGE_AGAIN = 1
    MP_STAGE_VOTE_OPTION_NEXT_STAGE = 2


class CityActivityDataType(betterproto.Enum):
    CITY_ACTIVITY_DATA_ALL = 0
    CITY_ACTIVITY_DATA_EVENT = 1
    CITY_ACTIVITY_DATA_PHONE_EVENT = 2
    CITY_ACTIVITY_DATA_PHOTO = 3


class EmojiUnlockType(betterproto.Enum):
    EmojiUnlockType0 = 0
    EMOJI_UNLOCK_TYPE_DEFAULT = 1
    EMOJI_UNLOCK_TYPE_ITEM_DROP = 2


class WikiDetailType(betterproto.Enum):
    WIKI_UNKNOWN = 0
    WIKI_ALL = 1
    WIKI_STIGMATA = 2
    WIKI_WEAPON = 3
    WIKI_DORM = 4
    WIKI_CG = 5
    WIKI_MEDAL = 6
    WIKI_ACHIEVEMENT = 7
    WIKI_SKIN = 8
    WIKI_EMOJI = 9
    WIKI_AVATAR = 10


class ClientSettingType(betterproto.Enum):
    CLIENT_SETTING_NONE = 0
    CLIENT_SETTING_ALL = 1
    CLIENT_SETTING_WEEKLY_GUIDE_SWITCH = 2
    CLIENT_SETTING_SNS_SHOW = 3
    CLIENT_SETTING_AVATAR_ARTIFACT = 4
    CLIENT_SETTING_MASTER_PUPIL_TAG_SWITCH = 5


class PlotType(betterproto.Enum):
    PLOT_TYPE_NORMAL = 0
    PLOT_TYPE_DORM = 1
    PLOT_TYPE_MATRIX = 2
    PLOT_TYPE_RPG = 3
    PLOT_TYPE_ISLAND = 4
    PLOT_TYPE_CITY_ACTIVITY = 5


class FarmSlotStatus(betterproto.Enum):
    FARM_SLOT_NONE = 0
    FARM_SLOT_LOCKED = 1
    FARM_SLOT_FREE = 2
    FARM_SLOT_IN_PRODUCE = 3
    FARM_SLOT_FINISH_PRODUCE = 4


class FastPassLimitType(betterproto.Enum):
    FAST_PASS_LIMIT_NONE = 0
    FAST_PASS_LIMIT_DAILY = 1
    FAST_PASS_LIMIT_WEEKLY = 2


class FastPassType(betterproto.Enum):
    FAST_PASS_TYPE_NONE = 0
    FAST_PASS_TYPE_OW = 1
    FAST_PASS_TYPE_WEEKDAY = 2


class PlatFormType(betterproto.Enum):
    PLATFORM_NONE = 0
    PLATFORM_ANDROID = 100001
    PLATFORM_IOS = 200002
    PLATFORM_PC = 300003


class CustomHeadType(betterproto.Enum):
    CUSTOM_HEAD_TYPE_NONE = 0
    CUSTOM_HEAD_TYPE_AVATAR = 1
    CUSTOM_HEAD_TYPE_DRESS = 2
    CUSTOM_HEAD_TYPE_NORMAL = 3


class AvatarRecommendType(betterproto.Enum):
    AVATAR_RECOMMEND_NONE = 0
    AVATAR_RECOMMEND_STAGE = 1
    AVATAR_RECOMMEND_EXBOSS = 2
    AVATAR_RECOMMEND_WEEKLY_REPORT_ENDLESS = 3
    AVATAR_RECOMMEND_WEEKLY_REPORT_EX_BOSS = 4
    AVATAR_RECOMMEND_WEEKLY_REPORT_ULTRA_ENDLESS = 5
    AVATAR_RECOMMEND_ULTRA_ENDLESS = 6
    AVATAR_RECOMMEND_GREEDY = 7
    AVATAR_RECOMMEND_WEEKLY_REPORT_GREEDY = 8


class AvatarRecommendStyle(betterproto.Enum):
    AVATAR_RECOMMEND_STYLE_NONE = 0
    AVATAR_RECOMMEND_STYLE_HOT = 1
    AVATAR_RECOMMEND_STYLE_CHOICE = 2
    AVATAR_RECOMMEND_STYLE_SINGLE_AVATAR = 3


class AvatarRecommendSource(betterproto.Enum):
    AVATAR_RECOMMEND_SOURCE_NONE = 0
    AVATAR_RECOMMEND_SOURCE_DB = 1
    AVATAR_RECOMMEND_SOURCE_DESIGN_DATA = 2


class DanmakuSlotStatus(betterproto.Enum):
    DANMAKU_SLOT_STATUS_NONE = 0
    DANMAKU_SLOT_STATUS_CLOSE = 1
    DANMAKU_SLOT_STATUS_FAKE = 2


class PlayerOnlineStatus(betterproto.Enum):
    PLAYER_ONLINE_STATUS_NONE = 0
    PLAYER_ONLINE_STATUS_ONLINE = 1
    PLAYER_ONLINE_STATUS_WAIT_SAVE = 2
    PLAYER_ONLINE_STATUS_OFFLINE = 3


class MpAction(betterproto.Enum):
    MP_ACTION_ERROR = 0
    MP_ACTION_CLOSE_MVP_PAGE = 1
    MP_ACTION_CLOSE_LIKE_PAGE = 2


class ClientDataType(betterproto.Enum):
    CLIENT_DATA_NONE = 0
    CLIENT_DATA_ALL = 1
    CLIENT_DATA_RPG_TALE = 2
    CLIENT_DATA_WORLDMAP = 3
    CLIENT_DATA_KINGDOM_WAR = 4
    CLIENT_DATA_AUGMENT_PERFORMANCE = 5
    CLIENT_DATA_AVATAR = 6
    CLIENT_DATA_OPENWORLD_CHAPTER = 7
    CLIENT_DATA_OPENWORLD = 8
    CLIENT_DATA_NINJA = 9
    CLIENT_DATA_AVATAR_TUTORIAL = 10
    CLIENT_DATA_PHONE_NOTICE = 11
    CLIENT_DATA_NEWBIE_ACTIVITY = 12
    CLIENT_DATA_CHATWORLD = 13
    CLIENT_DATA_MAINSTORY_LEVEL_SPECIAL_JOB = 14
    CLIENT_DATA_MEMOIRS = 15
    CLIENT_DATA_GODWAR = 16
    CLIENT_DATA_THEME_TOWER = 17
    CLIENT_DATA_MAINLINE_BAG = 18
    CLIENT_DATA_GOBACK = 19
    CLIENT_DATA_ADVENTURE_GROUP = 20
    CLIENT_DATA_NEW_RED_DOT_DRESS_ID = 21
    CLIENT_DATA_NEW_ELF = 22
    CLIENT_DATA_PJMS_ACTIVITY = 23
    CLIENT_DATA_PJMS_AVATAR_TRIAL = 24
    CLIENT_DATA_RESIDENT_ACTIVITY = 25


class WebActivityShowType(betterproto.Enum):
    WEB_ACTIVITY_SHOW_TYPE_NONE = 0
    WEB_ACTIVITY_SHOW_TYPE_TRACK_POINT = 1
    WEB_ACTIVITY_SHOW_TYPE_FINISH = 2
    WEB_ACTIVITY_SHOW_TYPE_HIDE = 3


class MiniRankType(betterproto.Enum):
    MiniRankType0 = 0
    MINI_RANK_RPG_STAGE = 1
    MINI_RANK_GENERAL_ACTIVITY_STAGE = 2
    MINI_RANK_CHAPTER_ACTIVITY_STAGE = 3
    MINI_RANK_RPG_SCHEDULE = 4
    MINI_RANK_RANCH_ACTIVITY_STAGE = 5
    MINI_RANK_OPENWORLD_CHAPTER_CHALLENGE = 6
    MINI_RANK_GLOBAL_EXPLORE_ENTITY_CONTRIBUTION = 7
    MINI_RANK_GLOBAL_EXPLORE_TOTAL_CONTRIBUTION = 8
    MINI_RANK_GLOBAL_EXPLORE_STAGE = 9
    MINI_RANK_THEME_TOWER_STAGE = 10
    MINI_RANK_FUTARI_BATTLE = 11
    MINI_RANK_MONSTER_CARD_PVP = 12


class ChapterGroupSiteStatus(betterproto.Enum):
    CHAPTER_GROUP_SITE_STATUS_INVALID = 0
    CHAPTER_GROUP_SITE_STATUS_LOCKED = 1
    CHAPTER_GROUP_SITE_STATUS_UNLOCKED = 2
    CHAPTER_GROUP_SITE_STATUS_FINISHED = 3


class ChapterGroupSiteType(betterproto.Enum):
    CHAPTER_GROUP_SITE_TYPE_INVALID = 0
    CHAPTER_GROUP_SITE_TYPE_CHAPTER = 1
    CHAPTER_GROUP_SITE_TYPE_VIDEO = 2
    CHAPTER_GROUP_SITE_TYPE_OPENWORLD = 3
    CHAPTER_GROUP_SITE_TYPE_OW_STAGE = 4
    CHAPTER_GROUP_SITE_TYPE_PJMS = 5
    CHAPTER_GROUP_SITE_TYPE_PJMS_NO_ENTER_WORLD = 6


class SpecificRankType(betterproto.Enum):
    SPECIFIC_RANK_NONE = 0
    SPECIFIC_RANK_GLOBAL_GOODS = 1


class MemoirsDataType(betterproto.Enum):
    MemoirsDataType0 = 0
    MEMOIRS_DATA_TYPE_UINT = 1
    MEMOIRS_DATA_TYPE_TIMESTAMP = 2
    MEMOIRS_DATA_TYPE_AVATAR_TEAM = 3
    MEMOIRS_DATA_TYPE_BOOL = 4


class MemoirsSourceType(betterproto.Enum):
    MemoirsSourceType0 = 0
    MEMOIRS_SOURCE_TYPE_DB = 1
    MEMOIRS_SOURCE_TYPE_BIN = 2


class MemoirsId(betterproto.Enum):
    MEMOIRS_NONE = 0
    MEMOIRS_ENDLESS_GROUP_LEVEL = 101
    MEMOIRS_ENDLESS_PROGRESS = 102
    MEMOIRS_BRONYA_STAGE_WIN_STATUS = 103
    MEMOIRS_BRONYA_STAGE_MIN_TIME = 104
    MEMOIRS_BRONYA_STAGE_ENTER_TIMES = 105
    MEMOIRS_CHAPTER4_PASS_STATUS = 106
    MEMOIRS_OPENWORLD_SAKURA_MAX_STORY_ID = 201
    MEMOIRS_EXBOSS_MAX_SCORE = 301
    MEMOIRS_EXBOSS_MAX_RANK = 302
    MEMOIRS_CAMP_WAR_1005_CAMP_ID = 303
    MEMOIRS_CAMP_WAR_1005_SCORE = 304
    MEMOIRS_CAMP_WAR_1006_CAMP_ID = 305
    MEMOIRS_CAMP_WAR_1006_SCORE = 306
    MEMOIRS_CAMP_WAR_1007_CAMP_ID = 307
    MEMOIRS_CAMP_WAR_1007_SCORE = 308
    MEMOIRS_DORM_UNLOCK_AVATAR_NUM = 401
    MEMOIRS_GRADUATED_PUPIL_NUM = 402
    MEMOIRS_CITY_ACTIVITY_AFFINITY_SUM = 501
    MEMOIRS_AVATAR_KIANA_C5_YL_UNLOCK_TIME = 601
    MEMOIRS_ACT_CHALLENGE_STAGE_WIN_STATUS = 701
    MEMOIRS_ACT_CHALLENGE_STAGE_ENTER_TIMES = 702
    MEMOIRS_DIRAC_ENDLESS_GROUP_ID = 801
    MEMOIRS_DIRAC_ENDLESS_HARD_LEVEL = 802
    MEMOIRS_WINTER_ACTIVITY_MAX_SITE_ID = 804
    MEMOIRS_CAMPAIGN_ACTIVITY_PASS_TIMES = 901
    MEMOIRS_KINGDOM_WAR_1_KINGDOM_ID = 1001
    MEMOIRS_KINGDOM_WAR_1_SCORE = 1002
    MEMOIRS_KINGDOM_WAR_2_KINGDOM_ID = 1003
    MEMOIRS_KINGDOM_WAR_2_SCORE = 1004
    MEMOIRS_QUANTUM_ENDLESS_GROUP_ID = 1006
    MEMOIRS_QUANTUM_ENDLESS_MAX_LAYER = 1007
    MEMOIRS_QUANTUM_ENDLESS_AVATAR_TEAM = 1008
    MEMOIRS_QUANTUM_ENDLESS_HARD_LEVEL = 1009
    MEMOIRS_AVATAR_BRONYA_C7_GZ_UNLOCK_TIME = 1101
    MEMOIRS_AVATAR_SEELE_C2_HY_UNLOCK_TIME = 1201
    MEMOIRS_FIRST_LEVEL55_WEAPON_ID = 1202
    MEMOIRS_NINJA_ACTIVITY_MAX_STAGE_ID = 1301
    MEMOIRS_QAVATAR_MAX_SITE_ID = 1302
    MEMOIRS_KINGDOM_WAR_0_KINGDOM_ID = 1501
    MEMOIRS_KINGDOM_WAR_0_SCORE = 1502
    MEMOIRS_THERESA_ACTIVITY_MAX_STAGE_ID = 1503
    MEMOIRS_AVATAR_MEI_C5_AC_UNLOCK_TIME = 1601
    MEMOIRS_ULTRA_ENDLESS_MAX_CUP_NUM = 1701
    MEMOIRS_ULTRA_ENDLESS_MAX_SCORE = 1702
    MEMOIRS_ULTRA_ENDLESS_AVATAR_TEAM = 1703
    MEMOIRS_AVATAR_FUKA_C6_FL_UNLOCK_TIME = 1801
    MEMOIRS_PAIMON_MEDAL_UNLOCK_STATUS = 1901
    MEMOIRS_AVATAR_KIANA_C6_MH_UNLOCK_TIME = 2001
    MEMOIRS_GOD_WAR_MAX_PUNISH_LEVEL = 2101
    MEMOIRS_GOD_WAR_AVATAR_ID = 2102
    MEMOIRS_AVATAR_DURANDAL_C4_DK_UNLOCK_TIME = 2201
    MEMOIRS_CHAPTER31_MAX_STORY_ID = 2301
    MEMOIRS_DICEY_DUNGEON_ACTIVITY_PROGRESS = 2302
    MEMOIRS_PVZ_ACTIVITY_PROGRESS = 2303
    MEMOIRS_HAS_GOT_PVZ_OR_DICEY_ACTIVITY_MATERIAL = 2304
    MEMOIRS_AVATAR_ELYSIA_C2_MC_UNLOCK_TIME = 2401
    MEMOIRS_AICYBER_REPAIR_PROGRESS = 2501


class ActivityModuleType(betterproto.Enum):
    ActivityModuleType0 = 0
    ACTIVITY_MODULE_MISC = 1
    ACTIVITY_MODULE_FLOP = 3
    ACTIVITY_MODULE_BINGO = 4
    ACTIVITY_MODULE_BULLETIN_SCORE = 5
    ACTIVITY_MODULE_RELATION = 6
    ACTIVITY_MODULE_FARM = 7
    ACTIVITY_MODULE_TOWER_RAID = 8
    ACTIVITY_MODULE_CONTINUOUS_RECHARGE = 9
    ACTIVITY_MODULE_MISSION_THEME = 10
    ACTIVITY_MODULE_OFFLINE_RESOURECE = 11
    ACTIVITY_MODULE_WEEKLY_ROUTINE = 12
    ACTIVITY_MODULE_AVATAR_MISSION = 13
    ACTIVITY_MODULE_KINGDOW_WAR = 14
    ACTIVITY_MODULE_TVT = 15
    ACTIVITY_MODULE_CHAPTER = 16
    ACTIVITY_MODULE_BATTLE_PASS = 17
    ACTIVITY_MODULE_MONOPOLY = 18
    ACTIVITY_MODULE_RAFFLE = 19
    ACTIVITY_MODULE_OVERLAP = 20
    ACTIVITY_MODULE_GLOBAL_WAR = 21
    ACTIVITY_MODULE_GRATUITY = 22
    ACTIVITY_MODULE_SCRATCH_TICKET = 23
    ACTIVITY_MODULE_BBQ = 24
    ACTIVITY_MODULE_NEWBIE = 25
    ACTIVITY_MODULE_MOSAIC = 26
    ACTIVITY_MODULE_NINJA = 27
    ACTIVITY_MODULE_FAST_PASS = 28
    ACTIVITY_MODULE_QUESTION = 29
    ACTIVITY_MODULE_TRADING_CARD = 30
    ACTIVITY_MODULE_ARMADA_STAGE_SCORE = 31
    ACTIVITY_MODULE_PICTURE = 32
    ACTIVITY_MODULE_JIGSAW = 33
    ACTIVITY_MODULE_ARMADA_REUNION = 34
    ACTIVITY_MODULE_GARDEN = 35
    ACTIVITY_MODULE_CHATWORLD_DISH = 36
    ACTIVITY_MODULE_DROP_LIMIT = 37
    ACTIVITY_MODULE_LOGIN_MISSION = 38
    ACTIVITY_MODULE_MASSIVE_WAR = 39
    ACTIVITY_MODULE_SANCTUARY = 40
    ACTIVITY_MODULE_REWARD_STATISTIC = 41
    ACTIVITY_MODULE_SLOT_MACHINE = 42
    ACTIVITY_MODULE_EXAMINATION = 43
    ACTIVITY_MODULE_SUPPORT = 44
    ACTIVITY_MODULE_LOGIN_WISH = 46
    ACTIVITY_MODULE_RPG_DUNGEON = 49
    ACTIVITY_MODULE_REUNION_COOK = 50
    ACTIVITY_MODULE_DREAM = 51
    ACTIVITY_MODULE_SLG = 52
    ACTIVITY_MODULE_THEME_WANTED = 53
    ACTIVITY_MODULE_GLOBAL_POLLING = 54
    ACTIVITY_MODULE_RANCH = 55
    ACTIVITY_MODULE_RESTAURANT = 56
    ACTIVITY_MODULE_TOWN = 57
    ACTIVITY_MODULE_WEB = 58
    ACTIVITY_MODULE_MONSTER_CARD = 59
    ACTIVITY_MODULE_DICEY_DUNGEON = 60
    ACTIVITY_MODULE_PVZ = 61
    ACTIVITY_MODULE_BUFF_ASSIST = 62
    ACTIVITY_MODULE_INVITE = 63
    ACTIVITY_MODULE_QCANDY_BATTLE = 64
    ACTIVITY_MODULE_WAVE_RUSH = 65
    ACTIVITY_MODULE_AI_CYBER = 66
    ACTIVITY_MODULE_MINI_MONOPOLY = 67
    ACTIVITY_MODULE_GLOBAL_EXPLORE = 68
    ACTIVITY_MODULE_PLATFORM_SHOOTER = 69
    ACTIVITY_MODULE_AVATAR_CULTIVATE = 70
    ACTIVITY_MODULE_MIRAGE = 71
    ACTIVITY_MODULE_SUSANA_TRIAL = 72
    ACTIVITY_MODULE_MATCH_THREE = 73
    ACTIVITY_MODULE_CHAPTER_BW_WORLD = 74
    ACTIVITY_MODULE_SHIGURE_KIRA = 75
    ACTIVITY_MODULE_THEME_TOWER = 76
    ACTIVITY_MODULE_MAHOU_CARD = 77
    ACTIVITY_MODULE_PON_MACHINE = 78
    ACTIVITY_MODULE_BW_WORLD_CAMP = 79
    ACTIVITY_MODULE_TILED_GAME_LUNA = 80
    ACTIVITY_MODULE_CARNIVAL_LOTTERY = 81
    ACTIVITY_MODULE_CHAPTER_ARK = 82
    ACTIVITY_MODULE_TILED_GAME_FARM = 83
    ACTIVITY_MODULE_MINION_CLASH = 84
    ACTIVITY_MODULE_ARK_PLUS = 85
    ACTIVITY_MODULE_MARBLES_SHOOT = 86
    ACTIVITY_MODULE_GOURMET_HUNT = 87
    ACTIVITY_MODULE_THELEMA_ACTIVITY = 88
    ACTIVITY_MODULE_MATCH_THREE_PLUS = 89
    ACTIVITY_MODULE_DEVIL_AUTO_CHESS = 90
    ACTIVITY_MODULE_TILED_GAME_SRPG = 91
    ACTIVITY_MODULE_SIMPLIFIED_GOD_WAR = 92
    ACTIVITY_MODULE_GAME_ROOM = 93
    ACTIVITY_MODULE_CORRIDOR = 94
    ACTIVITY_MODULE_QRTS = 95
    ACTIVITY_MODULE_RE = 96
    ACTIVITY_MODULE_BURDEN_ALLEVIATION_V2 = 97
    ACTIVITY_MODULE_FUTARI_BATTLE = 98
    ACTIVITY_MODULE_TILED_GAME_MONSTER_FARM = 99
    ACTIVITY_MODULE_TILED_GAME_PRPG = 100
    ACTIVITY_MODULE_MONSTER_CARD_PVP = 101


class ManifestType(betterproto.Enum):
    MANIFEST_NONE = 0
    MANIFEST_AUDIO = 1
    MANIFEST_AUDIO_PRE_DOWNLOAD = 2
    MANIFEST_VIDEO_ENCRYPT = 3
    MANIFEST_DATA_VERSION = 4


class WorldMapRecommendConditionType(betterproto.Enum):
    RECOMMEND_CONDITION_TYPE_NONE = 0
    RECOMMEND_CONDITION_TYPE_WEEKDAY_ACTIVITY_ALL_FINISH = 1
    RECOMMEND_CONDITION_TYPE_EXBOSS_FINISH_NUM = 2
    RECOMMEND_CONDITION_TYPE_EXBOSS_SINGLE_BOSS_REWARD = 3
    RECOMMEND_CONDITION_TYPE_EXBOSS_NOT_OPEN = 4
    RECOMMEND_CONDITION_TYPE_PLAYER_LEVEL = 5
    RECOMMEND_CONDITION_TYPE_MATERIAL_LESS = 6
    RECOMMEND_CONDITION_TYPE_DROP_LIMITED_MATERIAL = 7
    RECOMMEND_CONDITION_TYPE_MISSION_CLOSE = 8
    RECOMMEND_CONDITION_TYPE_OW_FINISH_PERIOD = 9
    RECOMMEND_CONDITION_TYPE_OW_NO_QUEST = 10
    RECOMMEND_CONDITION_TYPE_ARMADA_STAGE_SCORE = 11
    RECOMMEND_CONDITION_TYPE_ARMADA_STAGE_NOT_OPEN = 12
    RECOMMEND_CONDITION_TYPE_ULTRA_ENDLESS_SCORE = 13
    RECOMMEND_CONDITION_TYPE_ULTRA_ENDLESS_SCHEDULE = 14
    RECOMMEND_CONDITION_TYPE_ULTRA_ENDLESS_NOT_OPEN = 15
    RECOMMEND_CONDITION_TYPE_ENDLESS_CHALLENGE_FINISH = 16
    RECOMMEND_CONDITION_TYPE_ENDLESS_SCHEDULE = 17
    RECOMMEND_CONDITION_TYPE_ENDLESS_NOT_OPEN = 18
    RECOMMEND_CONDITION_TYPE_MISSION_NOT_DOING = 19
    RECOMMEND_CONDITION_TYPE_EXBOSS_RANK_FINISH_NUM = 20
    RECOMMEND_CONDITION_TYPE_RAID_REPLACE_CHALLENGE_NUM = 21


class CollectionUnlockType(betterproto.Enum):
    COLLECTION_UNLOCK_TYPE_NONE = 0
    COLLECTION_UNLOCK_TYPE_STAGE = 1
    COLLECTION_UNLOCK_TYPE_MATERIAL_AUTO_USE = 2
    COLLECTION_UNLOCK_TYPE_PLOT = 3


class TileMapCellCellDataType(betterproto.Enum):
    CELL_DATA_TYPE_NONE = 0
    CELL_DATA_TYPE_BARRIER = 1
    CELL_DATA_TYPE_FOG = 2
    CELL_DATA_TYPE_TERRAIN = 3
    CELL_DATA_TYPE_LAYER_MODEL_ID = 4
    CELL_DATA_TYPE_LAYER_DIRECTION = 5
    CELL_DATA_TYPE_HEIGHT = 6


class TileUpdateMapReqOuterValueType(betterproto.Enum):
    NONE2 = 0
    RPG_OVERALL = 1


class CmdTypeTile(betterproto.Enum):
    CmdTypeTile0 = 0
    CMD_GET_TILE_MAP_REQ = 4900
    CMD_GET_TILE_MAP_RSP = 4901
    CMD_TILE_UPDATE_MAP_REQ = 4902
    CMD_TILE_UPDATE_MAP_RSP = 4903
    CMD_TILE_GET_TOWER_REQ = 4904
    CMD_TILE_GET_TOWER_RSP = 4905
    CMD_TILE_ENTER_REQ = 4906
    CMD_TILE_ENTER_RSP = 4907
    CMD_TILE_SAVE_PROGRESS_REQ = 4908
    CMD_TILE_SAVE_PROGRESS_RSP = 4909
    CMD_TILE_SETTLE_EVENT_REQ = 4910
    CMD_TILE_SETTLE_EVENT_RSP = 4911
    CMD_TILE_RESET_FLOOR_REQ = 4912
    CMD_TILE_RESET_FLOOR_RSP = 4913
    CMD_TILE_ENTITY_OP_NOTIFY = 4914
    CMD_TILE_SELECT_PATH_REQ = 4915
    CMD_TILE_SELECT_PATH_RSP = 4916
    CMD_TILE_RESET_REGION_REQ = 4917
    CMD_TILE_RESET_REGION_RSP = 4918
    CMD_TILE_REPORT_SAVED_POSITION_REQ = 4919
    CMD_TILE_REPORT_SAVED_POSITION_RSP = 4920
    CMD_TILE_LOAD_SAVED_POSITION_REQ = 4921
    CMD_TILE_LOAD_SAVED_POSITION_RSP = 4922
    CMD_TILE_MAP_UPDATE_NOTIFY = 4923
    CMD_TILE_GET_PARTIAL_MAP_AS_UPDATE_REQ = 4924
    CMD_TILE_GET_PARTIAL_MAP_AS_UPDATE_RSP = 4925
    CMD_GET_TILE_MINI_MAP_REQ = 4926
    CMD_GET_TILE_MINI_MAP_RSP = 4927


class TileEntityType(betterproto.Enum):
    TILE_ENTITY_TYPE_NONE = 0
    TILE_ENTITY_TYPE_PLAYER = 1
    TILE_ENTITY_TYPE_NPC = 2
    TILE_ENTITY_TYPE_ROADBLOCK = 3
    TILE_ENTITY_TYPE_TOWN_AVATAR = 4
    TILE_ENTITY_TYPE_TOWN_BUILDING = 5
    TILE_ENTITY_TYPE_ITEM = 6


class TileBarrierType(betterproto.Enum):
    TILE_BARRIER_TYPE_NONE = 0
    TILE_BARRIER_TYPE_PERMANENT = 1
    TILE_BARRIER_TYPE_BLOCK = 2
    TILE_BARRIER_TYPE_STOP_ON_PLAYER = 3
    TILE_BARRIER_TYPE_STOP_ON_ONCE = 4
    TILE_BARRIER_TYPE_NON_ROADBLOCK = 5


class TileFloorStatus(betterproto.Enum):
    TILE_FLOOR_STATUS_NONE = 0
    TILE_FLOOR_STATUS_LOCKED = 1
    TILE_FLOOR_STATUS_UNLOCKED = 2
    TILE_FLOOR_STATUS_VISTIED = 3


class TileMoveType(betterproto.Enum):
    TILE_MOVE_WALK = 0
    TILE_MOVE_TELEPORT = 1
    TILE_MOVE_KNOCK_OFF = 2


class TileResetRegionType(betterproto.Enum):
    TILE_RESET_REGION_TYPE_ALL = 0
    TILE_RESET_REGION_TYPE_ENTITY = 1


class SetTileDataType(betterproto.Enum):
    SetTileDataType0 = 0
    SET_TILE_DATA_TYPE_CELL_GROUND = 1
    SET_TILE_DATA_TYPE_CELL_DECORATION = 2
    SET_TILE_DATA_TYPE_CELL_EXTRA = 3
    SET_TILE_DATA_TYPE_ENTITY_ADD = 4
    SET_TILE_DATA_TYPE_ENTITY_MODIFY = 5
    SET_TILE_DATA_TYPE_ENTITY_DELETE = 6
    SET_TILE_DATA_TYPE_TRIGGER = 7
    SET_TILE_DATA_TYPE_MARK = 8


class TiledGameFarmTradeReqTradeType(betterproto.Enum):
    TRADE_TYPE_NONE = 0
    TRADE_TYPE_BUY = 1
    TRADE_TYPE_SELL = 2


class CmdTypeTiledgamefarm(betterproto.Enum):
    CmdTypeTiledgamefarm0 = 0
    CMD_TILED_GAME_FARM_GET_DATA_REQ = 8000
    CMD_TILED_GAME_FARM_GET_DATA_RSP = 8001
    CMD_TILED_GAME_FARM_USE_TOOL_REQ = 8002
    CMD_TILED_GAME_FARM_USE_TOOL_RSP = 8003
    CMD_TILED_GAME_FARM_REFRESH_FARMLAND_REQ = 8004
    CMD_TILED_GAME_FARM_REFRESH_FARMLAND_RSP = 8005
    CMD_TILED_GAME_FARM_ENTER_MINE_FLOOR_REQ = 8006
    CMD_TILED_GAME_FARM_ENTER_MINE_FLOOR_RSP = 8007
    CMD_TILED_GAME_FARM_SYNTHESIS_REQ = 8008
    CMD_TILED_GAME_FARM_SYNTHESIS_RSP = 8009
    CMD_TILED_GAME_FARM_TRADE_REQ = 8010
    CMD_TILED_GAME_FARM_TRADE_RSP = 8011
    CMD_TILED_GAME_FARM_BEGIN_FISHING_NOTIFY = 8012
    CMD_TILED_GAME_FARM_END_FISHING_REQ = 8013
    CMD_TILED_GAME_FARM_END_FISHING_RSP = 8014
    CMD_TILED_GAME_FARM_GEM_IDENTIFY_REQ = 8015
    CMD_TILED_GAME_FARM_GEM_IDENTIFY_RSP = 8016
    CMD_TILED_GAME_FARM_FILL_SHED_FOOD_REQ = 8017
    CMD_TILED_GAME_FARM_FILL_SHED_FOOD_RSP = 8018
    CMD_TILED_GAME_FARM_UPGRADE_FACILITY_REQ = 8019
    CMD_TILED_GAME_FARM_UPGRADE_FACILITY_RSP = 8020
    CMD_TILED_GAME_FARM_REFRESH_LIVESTOCK_SHED_REQ = 8021
    CMD_TILED_GAME_FARM_REFRESH_LIVESTOCK_SHED_RSP = 8022
    CMD_TILED_GAME_FARM_TAME_LIVESTOCK_REQ = 8023
    CMD_TILED_GAME_FARM_TAME_LIVESTOCK_RSP = 8024
    CMD_TILED_GAME_FARM_HARVEST_LIVESTOCK_REQ = 8025
    CMD_TILED_GAME_FARM_HARVEST_LIVESTOCK_RSP = 8026
    CMD_TILED_GAME_FARM_PICK_ITEM_REQ = 8027
    CMD_TILED_GAME_FARM_PICK_ITEM_RSP = 8028
    CMD_TILED_GAME_FARM_USE_MEAL_VOUCHER_REQ = 8029
    CMD_TILED_GAME_FARM_USE_MEAL_VOUCHER_RSP = 8030
    CMD_TILED_GAME_FARM_BUY_LIVESTOCK_REQ = 8031
    CMD_TILED_GAME_FARM_BUY_LIVESTOCK_RSP = 8032
    CMD_TILED_GAME_FARM_GET_SELECT_QUEST_REQ = 8033
    CMD_TILED_GAME_FARM_GET_SELECT_QUEST_RSP = 8034
    CMD_TILED_GAME_FARM_CHOOSE_QUEST_REQ = 8035
    CMD_TILED_GAME_FARM_CHOOSE_QUEST_RSP = 8036
    CMD_TILED_GAME_FARM_FINISH_QUEST_REQ = 8037
    CMD_TILED_GAME_FARM_FINISH_QUEST_RSP = 8038
    CMD_TILED_GAME_FARM_SUPER_FISHING_REQ = 8039
    CMD_TILED_GAME_FARM_SUPER_FISHING_RSP = 8040


class TiledGameFarmToolType(betterproto.Enum):
    TILED_GAME_FARM_TOOL_TYPE_NONE = 0
    TILED_GAME_FARM_TOOL_TYPE_HAMMER = 1
    TILED_GAME_FARM_TOOL_TYPE_HOE = 2
    TILED_GAME_FARM_TOOL_TYPE_WATERING_CAN = 3
    TILED_GAME_FARM_TOOL_TYPE_SICKLE = 4
    TILED_GAME_FARM_TOOL_TYPE_SEED = 5
    TILED_GAME_FARM_TOOL_TYPE_FISHING_ROD = 6
    TILED_GAME_FARM_TOOL_TYPE_GLOVE = 7


class TiledGameFarmFacilityType(betterproto.Enum):
    TILED_GAME_FARM_FACILITY_TYPE_NONE = 0
    TILED_GAME_FARM_FACILITY_TYPE_LIVESTOCK_SHED = 1
    TILED_GAME_FARM_FACILITY_TYPE_RESTAURANT = 2


class TiledGameFarmPrivilegeType(betterproto.Enum):
    TILED_GAME_FARM_PRIVILEGE_TYPE_NONE = 0
    TILED_GAME_FARM_PRIVILEGE_TYPE_STARTUP_CAPITAL = 1
    TILED_GAME_FARM_PRIVILEGE_TYPE_SHOP_ITEM_UNLOCK = 2
    TILED_GAME_FARM_PRIVILEGE_TYPE_TELEPORT_UNLOCK = 3
    TILED_GAME_FARM_PRIVILEGE_TYPE_SELL_MULTIFIER = 4
    TILED_GAME_FARM_PRIVILEGE_TYPE_MAX_STAMINA_BOOST = 5
    TILED_GAME_FARM_PRIVILEGE_TYPE_LEVEL_UP_RESTAURANT = 6
    TILED_GAME_FARM_PRIVILEGE_TYPE_LIVESTOCK_AUTO_TAKE_CARE = 7
    TILED_GAME_FARM_PRIVILEGE_TYPE_SUPER_FISHING = 8
    TILED_GAME_FARM_PRIVILEGE_TYPE_UNLOCK_AND_UPGRADE_SEED = 9


class TiledGameMonsterFarmTradeReqTradeType(betterproto.Enum):
    TRADE_TYPE_NONE1 = 0
    TRADE_TYPE_BUY1 = 1
    TRADE_TYPE_SELL1 = 2


class CmdTypeTiledgamemonsterfarm(betterproto.Enum):
    CmdTypeTiledgamemonsterfarm0 = 0
    CMD_TILED_GAME_MONSTER_FARM_GET_DATA_REQ = 8300
    CMD_TILED_GAME_MONSTER_FARM_GET_DATA_RSP = 8301
    CMD_TILED_GAME_MONSTER_FARM_USE_TOOL_REQ = 8304
    CMD_TILED_GAME_MONSTER_FARM_USE_TOOL_RSP = 8305
    CMD_TILED_GAME_MONSTER_FARM_REFRESH_FARMLAND_REQ = 8306
    CMD_TILED_GAME_MONSTER_FARM_REFRESH_FARMLAND_RSP = 8307
    CMD_TILED_GAME_MONSTER_FARM_ENTER_MINE_FLOOR_REQ = 8308
    CMD_TILED_GAME_MONSTER_FARM_ENTER_MINE_FLOOR_RSP = 8309
    CMD_TILED_GAME_MONSTER_FARM_TRADE_REQ = 8310
    CMD_TILED_GAME_MONSTER_FARM_TRADE_RSP = 8311
    CMD_TILED_GAME_MONSTER_FARM_BEGIN_FISHING_NOTIFY = 8312
    CMD_TILED_GAME_MONSTER_FARM_END_FISHING_REQ = 8313
    CMD_TILED_GAME_MONSTER_FARM_END_FISHING_RSP = 8314
    CMD_TILED_GAME_MONSTER_FARM_GET_QUEST_REQ = 8315
    CMD_TILED_GAME_MONSTER_FARM_GET_QUEST_RSP = 8316
    CMD_TILED_GAME_MONSTER_FARM_CHOOSE_QUEST_REQ = 8317
    CMD_TILED_GAME_MONSTER_FARM_CHOOSE_QUEST_RSP = 8318
    CMD_TILED_GAME_MONSTER_FARM_FINISH_QUEST_REQ = 8319
    CMD_TILED_GAME_MONSTER_FARM_FINISH_QUEST_RSP = 8320
    CMD_TILED_GAME_MONSTER_FARM_USE_MEAL_VOUCHER_REQ = 8321
    CMD_TILED_GAME_MONSTER_FARM_USE_MEAL_VOUCHER_RSP = 8322
    CMD_TILED_GAME_MONSTER_FARM_PICK_ITEM_REQ = 8323
    CMD_TILED_GAME_MONSTER_FARM_PICK_ITEM_RSP = 8324
    CMD_TILED_GAME_MONSTER_FARM_LEVEL_UP_REQ = 8325
    CMD_TILED_GAME_MONSTER_FARM_LEVEL_UP_RSP = 8326
    CMD_TILED_GAME_MONSTER_FARM_UPGRADE_BUILDING_REQ = 8327
    CMD_TILED_GAME_MONSTER_FARM_UPGRADE_BUILDING_RSP = 8328
    CMD_TILED_GAME_MONSTER_FARM_MANIPULATE_MONSTER_REQ = 8329
    CMD_TILED_GAME_MONSTER_FARM_MANIPULATE_MONSTER_RSP = 8330
    CMD_TILED_GAME_MONSTER_FARM_REFRESH_BUILDING_REQ = 8331
    CMD_TILED_GAME_MONSTER_FARM_REFRESH_BUILDING_RSP = 8332
    CMD_TILED_GAME_MONSTER_FARM_INCUBATE_REQ = 8333
    CMD_TILED_GAME_MONSTER_FARM_INCUBATE_RSP = 8334
    CMD_TILED_GAME_MONSTER_FARM_SET_PRODUCE_LINE_REQ = 8335
    CMD_TILED_GAME_MONSTER_FARM_SET_PRODUCE_LINE_RSP = 8336
    CMD_TILED_GAME_MONSTER_FARM_DROP_MONSTER_REQ = 8337
    CMD_TILED_GAME_MONSTER_FARM_DROP_MONSTER_RSP = 8338
    CMD_TILED_GAME_MONSTER_FARM_TAKE_BUILDING_PRODUCT_REQ = 8339
    CMD_TILED_GAME_MONSTER_FARM_TAKE_BUILDING_PRODUCT_RSP = 8340
    CMD_TILED_GAME_MONSTER_FARM_SET_BUILDING_PRODUCE_TARGET_REQ = 8341
    CMD_TILED_GAME_MONSTER_FARM_SET_BUILDING_PRODUCE_TARGET_RSP = 8342
    CMD_TILED_GAME_MONSTER_FARM_GET_BUSINESS_REPORT_REQ = 8343
    CMD_TILED_GAME_MONSTER_FARM_GET_BUSINESS_REPORT_RSP = 8344
    CMD_TILED_GAME_MONSTER_FARM_GET_RANK_REQ = 8345
    CMD_TILED_GAME_MONSTER_FARM_GET_RANK_RSP = 8346


class TiledGameMonsterFarmPrivilegeType(betterproto.Enum):
    TiledGameMonsterFarmPrivilegeType0 = 0
    TILED_GAME_MONSTER_FARM_PRIVILEGE_TYPE_STARTUP_CAPITAL = 1
    TILED_GAME_MONSTER_FARM_PRIVILEGE_TYPE_REDUCE_BREAK_EGG_STAMINA = 2
    TILED_GAME_MONSTER_FARM_PRIVILEGE_TYPE_REDUCE_COST_MODE_RATE = 3
    TILED_GAME_MONSTER_FARM_PRIVILEGE_TYPE_ADD_MONSTER_POOL = 4
    TILED_GAME_MONSTER_FARM_PRIVILEGE_TYPE_UNLOCK_QUICK_MANIPULATE_MONSTER = 5
    TILED_GAME_MONSTER_FARM_PRIVILEGE_TYPE_UNLOCK_QUICK_USE_TOOL = 6


class TiledGameMonsterFarmRankType(betterproto.Enum):
    TiledGameMonsterFarmRankType0 = 0
    TILED_GAME_MONSTER_FARM_RANK_TYPE_TOTAL_ACQUIRED_GOLD_NUM = 1
    TILED_GAME_MONSTER_FARM_RANK_TYPE_TOTAL_GET_MONSTER_ABILITY_NUM = 2


class TiledGameMonsterFarmToolType(betterproto.Enum):
    TILED_GAME_MONSTER_FARM_TOOL_TYPE_NONE = 0
    TILED_GAME_MONSTER_FARM_TOOL_TYPE_HAMMER = 1
    TILED_GAME_MONSTER_FARM_TOOL_TYPE_HOE = 2
    TILED_GAME_MONSTER_FARM_TOOL_TYPE_WATERING_CAN = 3
    TILED_GAME_MONSTER_FARM_TOOL_TYPE_SICKLE = 4
    TILED_GAME_MONSTER_FARM_TOOL_TYPE_SEED = 5
    TILED_GAME_MONSTER_FARM_TOOL_TYPE_FISHING_ROD = 6
    TILED_GAME_MONSTER_FARM_TOOL_TYPE_GLOVE = 7


class TiledGameMonsterFarmItemType(betterproto.Enum):
    TILED_GAME_MONSTER_FARM_ITEM_TYPE_NONE = 0
    TILED_GAME_MONSTER_FARM_ITEM_TYPE_PRODUCT = 1
    TILED_GAME_MONSTER_FARM_ITEM_TYPE_RAW_MATERIAL = 2
    TILED_GAME_MONSTER_FARM_ITEM_TYPE_CROP = 3
    TILED_GAME_MONSTER_FARM_ITEM_TYPE_TOOL = 4
    TILED_GAME_MONSTER_FARM_ITEM_TYPE_MONSTER = 5


class TiledGameMonsterFarmBuildingType(betterproto.Enum):
    TILED_GAME_MONSTER_FARM_BUILDING_TYPE_NONE = 0
    TILED_GAME_MONSTER_FARM_BUILDING_TYPE_CITY_HALL = 1
    TILED_GAME_MONSTER_FARM_BUILDING_TYPE_AGRICULTURAL_FACILITY = 2
    TILED_GAME_MONSTER_FARM_BUILDING_TYPE_MINING_FACILITY = 3
    TILED_GAME_MONSTER_FARM_BUILDING_TYPE_DORMITORY = 4
    TILED_GAME_MONSTER_FARM_BUILDING_TYPE_PROCESSING_FACTORY = 5
    TILED_GAME_MONSTER_FARM_BUILDING_TYPE_LAB = 6
    TILED_GAME_MONSTER_FARM_BUILDING_TYPE_FISHERY = 7
    TILED_GAME_MONSTER_FARM_BUILDING_TYPE_LIVESTOCK_SHED = 8


class TiledGameMonsterFarmSeedType(betterproto.Enum):
    TiledGameMonsterFarmSeedType0 = 0
    TILED_GAME_MONSTER_FARM_SEED_TYPE_NORMAL = 1
    TILED_GAME_MONSTER_FARM_SEED_TYPE_MONSTER = 2


class TiledGameMonsterFarmAbilityType(betterproto.Enum):
    TiledGameMonsterFarmAbilityType0 = 0
    TILED_GAME_MONSTER_FARM_ABILITY_TYPE_ONE = 1
    TILED_GAME_MONSTER_FARM_ABILITY_TYPE_TWO = 2
    TILED_GAME_MONSTER_FARM_ABILITY_TYPE_THREE = 3
    TILED_GAME_MONSTER_FARM_ABILITY_TYPE_FOUR = 4


class TiledGameMonsterFarmMineralType(betterproto.Enum):
    TiledGameMonsterFarmMineralType0 = 0
    TILED_GAME_MONSTER_FARM_MINERAL_TYPE_NORMAL = 1
    TILED_GAME_MONSTER_FARM_MINERAL_TYPE_MONSTER = 2
    TILED_GAME_MONSTER_FARM_MINERAL_TYPE_PRETENDER = 3


class TiledGameMonsterFarmNameType(betterproto.Enum):
    TiledGameMonsterFarmNameType0 = 0
    TILED_GAME_MONSTER_FARM_NAME_TYPE_DESCRIBE = 1
    TILED_GAME_MONSTER_FARM_NAME_TYPE_NAME = 2


class TiledGameMonsterFarmNameConditionType(betterproto.Enum):
    TiledGameMonsterFarmNameConditionType0 = 0
    TILED_GAME_MONSTER_FARM_NAME_CONDITION_TYPE_MAX_ABILITY = 1
    TILED_GAME_MONSTER_FARM_NAME_CONDITION_TYPE_ABILITY_RANGE = 2
    TILED_GAME_MONSTER_FARM_NAME_CONDITION_TYPE_ABILITY_RARE = 3
    TILED_GAME_MONSTER_FARM_NAME_CONDITION_TYPE_ABILITY_TYPEID = 4
    TILED_GAME_MONSTER_FARM_NAME_CONDITION_TYPE_ABILITY_DEFAULT = 5


class TiledGamePrpgPvpMoveCardReqMoveType(betterproto.Enum):
    TiledGamePrpgPvpMoveCardReqMoveType0 = 0
    MOVE_HAND_TO_FIELD = 1
    MOVE_FIELD_TO_HAND = 2
    MOVE_FIELD_TO_FIELD = 3


class TiledGamePrpgBattleEndReqReason(betterproto.Enum):
    TiledGamePrpgBattleEndReqReason0 = 0
    WIN6 = 1
    LOSE6 = 2
    EXIT6 = 3


class CmdTypeTiledgameprpg(betterproto.Enum):
    CmdTypeTiledgameprpg0 = 0
    CMD_TILED_GAME_PRPG_GET_DATA_REQ = 8450
    CMD_TILED_GAME_PRPG_GET_DATA_RSP = 8451
    CMD_TILED_GAME_PRPG_PVP_BATTLE_BEGIN_NOTIFY = 8452
    CMD_TILED_GAME_PRPG_PVP_BATTLE_SETTLE_NOTIFY = 8453
    CMD_TILED_GAME_PRPG_PVP_ENTER_BATTLE_REQ = 8454
    CMD_TILED_GAME_PRPG_PVP_ENTER_BATTLE_RSP = 8455
    CMD_TILED_GAME_PRPG_PVP_ABANDON_BATTLE_REQ = 8456
    CMD_TILED_GAME_PRPG_PVP_ABANDON_BATTLE_RSP = 8457
    CMD_TILED_GAME_PRPG_PVP_GET_BATTLE_INFO_REQ = 8458
    CMD_TILED_GAME_PRPG_PVP_GET_BATTLE_INFO_RSP = 8459
    CMD_TILED_GAME_PRPG_PVP_MOVE_CARD_REQ = 8460
    CMD_TILED_GAME_PRPG_PVP_MOVE_CARD_RSP = 8461
    CMD_TILED_GAME_PRPG_PVP_EXCHANGE_CARD_REQ = 8462
    CMD_TILED_GAME_PRPG_PVP_EXCHANGE_CARD_RSP = 8463
    CMD_TILED_GAME_PRPG_PVP_END_ROUND_REQ = 8464
    CMD_TILED_GAME_PRPG_PVP_END_ROUND_RSP = 8465
    CMD_TILED_GAME_PRPG_PVP_SYNC_ROUND_NOTIFY = 8466
    CMD_TILED_GAME_PRPG_PVP_BATTLE_END_NOTIFY = 8467
    CMD_TILED_GAME_PRPG_PVP_SET_CARD_BACK_REQ = 8468
    CMD_TILED_GAME_PRPG_PVP_SET_CARD_BACK_RSP = 8469
    CMD_TILED_GAME_PRPG_UNLOCK_SKILL_REQ = 8470
    CMD_TILED_GAME_PRPG_UNLOCK_SKILL_RSP = 8471
    CMD_TILED_GAME_PRPG_LEVEL_UP_CARD_REQ = 8472
    CMD_TILED_GAME_PRPG_LEVEL_UP_CARD_RSP = 8473
    CMD_TILED_GAME_PRPG_BATTLE_BEGIN_REQ = 8474
    CMD_TILED_GAME_PRPG_BATTLE_BEGIN_RSP = 8475
    CMD_TILED_GAME_PRPG_BATTLE_END_REQ = 8476
    CMD_TILED_GAME_PRPG_BATTLE_END_RSP = 8477


class TiledGamePrpgPvpSettleSituationType(betterproto.Enum):
    TiledGamePrpgPvpSettleSituationType0 = 0
    TILED_GAME_PRPG_PVP_SETTLE_SITUATION_TYPE_WIN = 1
    TILED_GAME_PRPG_PVP_SETTLE_SITUATION_TYPE_LOSE = 2
    TILED_GAME_PRPG_PVP_SETTLE_SITUATION_TYPE_TIE = 3


class TiledGamePrpgPvpCardSuitType(betterproto.Enum):
    TILED_GAME_PRPG_PVP_CARD_SUIT_INVALID = 0
    TILED_GAME_PRPG_PVP_CARD_SUIT_SPADE = 1
    TILED_GAME_PRPG_PVP_CARD_SUIT_HEART = 2
    TILED_GAME_PRPG_PVP_CARD_SUIT_CLUB = 3
    TILED_GAME_PRPG_PVP_CARD_SUIT_DIAMOND = 4
    TILED_GAME_PRPG_PVP_CARD_SUIT_NONE = 5
    TILED_GAME_PRPG_PVP_CARD_SUIT_ALL = 6


class TiledGamePrpgPvpCardRankType(betterproto.Enum):
    TILED_GAME_PRPG_PVP_CARD_RANK_INVALID = 0
    TILED_GAME_PRPG_PVP_CARD_RANK_ACE = 1
    TILED_GAME_PRPG_PVP_CARD_RANK_2 = 2
    TILED_GAME_PRPG_PVP_CARD_RANK_3 = 3
    TILED_GAME_PRPG_PVP_CARD_RANK_4 = 4
    TILED_GAME_PRPG_PVP_CARD_RANK_5 = 5
    TILED_GAME_PRPG_PVP_CARD_RANK_6 = 6
    TILED_GAME_PRPG_PVP_CARD_RANK_7 = 7
    TILED_GAME_PRPG_PVP_CARD_RANK_8 = 8
    TILED_GAME_PRPG_PVP_CARD_RANK_9 = 9
    TILED_GAME_PRPG_PVP_CARD_RANK_10 = 10
    TILED_GAME_PRPG_PVP_CARD_RANK_JACK = 11
    TILED_GAME_PRPG_PVP_CARD_RANK_QUEUE = 12
    TILED_GAME_PRPG_PVP_CARD_RANK_KING = 13
    TILED_GAME_PRPG_PVP_CARD_RANK_NONE = 14
    TILED_GAME_PRPG_PVP_CARD_RANK_ALL = 15


class TiledGamePrpgPvpFieldTriggerTimingType(betterproto.Enum):
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_TIMING_NONE = 0
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_TIMING_ON_ROUND_BEGIN = 1
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_TIMING_ON_ROUND_END = 2
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_TIMING_ON_MOVE_CARD = 3
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_TIMING_AURA = 4


class TiledGamePrpgPvpFieldTriggerConditionType(betterproto.Enum):
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_CONDITION_ALWAYS = 0
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_CONDITION_HAS_ANY_SPECIFIED_HAND_TYPE = 1
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_CONDITION_FIELD_SCORE_COMP = 2
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_CONDITION_POINT_SCORE_IS = 3
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_CONDITION_HAS_ALL_SUIT = 4
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_CONDITION_IS_REVEAL_ROUND = 5
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_CONDITION_CUR_ROUND_GE = 6
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_CONDITION_CUR_ROUND_EQUAL = 7


class TiledGamePrpgPvpFieldTriggerEffectType(betterproto.Enum):
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_NONE = 0
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_SET_FIELD_SCORE = 1
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_SET_FIELD_SCORE_WITH_TAG_CARDS_NUM = 2
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_SET_PUBLIC_CARD_NUM = 3
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_SET_SETTLE_ROUND = 4
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_ADD_EXCHANGE_TIMES = 5
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_DRAW_CARDS = 6
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_ADD_PUT_TIMES_IN_CUR_ROUND = 7
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_MOVE_RANDOM_CARD_FROM_HAND = 8
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_MOVE_RANDOM_CARD_FROM_CARD_VEC = 9
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_MOVE_ALL_CARD_TO_OTHER_RANDOM_FIELD = 10
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_SET_HAND_TYPE_CONFIG = 11
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_HIDE_PLAYER_CARD_UNTIL = 12
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_DESTROY_ONE_OTHER_RANDOM_FIELD = 13
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_COPY_ONE_OTHER_RANDOM_FIELD = 14
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_FORBID_MOVE_CARD_TO_THIS_FIELD = 15
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_ALLOW_MOVE_FROM_THIS_FIELD = 16
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_NO_VISIBLE_IN_THIS_FIELD_BEFORE_SETTLE = 17
    TILED_GAME_PRPG_PVP_FIELD_TRIGGER_EFFECT_SET_FIELD_SCORE_WITH_FIELD_CARD_NUM = 18


class TiledGamePrpgPvpLobbyStatus(betterproto.Enum):
    TILED_GAME_PRPG_PVP_LOBBY_STATUS_INVALID = 0
    TILED_GAME_PRPG_PVP_LOBBY_STATUS_INIT = 1
    TILED_GAME_PRPG_PVP_LOBBY_STATUS_FIGHT = 2
    TILED_GAME_PRPG_PVP_LOBBY_STATUS_SETTLE = 3
    TILED_GAME_PRPG_PVP_LOBBY_STATUS_DELETE = 4


class TiledGamePrpgHandType(betterproto.Enum):
    TILED_GAME_PRPG_HAND_TYPE_INVALID = 0
    TILED_GAME_PRPG_HAND_TYPE_NONE = 1
    TILED_GAME_PRPG_HAND_TYPE_ONE_PAIR = 2
    TILED_GAME_PRPG_HAND_TYPE_TWO_PAIR = 3
    TILED_GAME_PRPG_HAND_TYPE_THREE_OF_A_KIND = 4
    TILED_GAME_PRPG_HAND_TYPE_FULL_HOUSE = 5
    TILED_GAME_PRPG_HAND_TYPE_STRAIGHT = 6
    TILED_GAME_PRPG_HAND_TYPE_FLUSH = 7
    TILED_GAME_PRPG_HAND_TYPE_FOUR_OF_A_KIND = 8
    TILED_GAME_PRPG_HAND_TYPE_STRAIGHT_FLUSH = 9
    TILED_GAME_PRPG_HAND_TYPE_FLUSH_FULL_HOUSE = 10
    TILED_GAME_PRPG_HAND_TYPE_FIVE_OF_A_KIND = 11
    TILED_GAME_PRPG_HAND_TYPE_FLUSH_FIVE_OF_A_KIND = 12


class TiledGamePrpgRoomType(betterproto.Enum):
    TiledGamePrpgRoomType0 = 0
    TILED_GAME_PRPG_ROOM_TYPE_NORMAL = 1
    TILED_GAME_PRPG_ROOM_TYPE_DAILY = 2
    TILED_GAME_PRPG_ROOM_TYPE_SIDE = 3
    TILED_GAME_PRPG_ROOM_TYPE_TUTORIAL = 4


class TownAvatarStatus(betterproto.Enum):
    NORMAL1 = 0
    HEALING = 1
    DEAD1 = 2


class TownActivityBattleReqBattleEndStatus(betterproto.Enum):
    TownActivityBattleReqBattleEndStatus0 = 0
    WIN7 = 1
    ALL_DEAD = 2


class TownChallengeStatus(betterproto.Enum):
    NONE3 = 0
    DOING2 = 1
    FINISH2 = 2
    CLOSE = 3


class TownActivityEndNotifyStatus(betterproto.Enum):
    WIN8 = 0
    LOSE5 = 1
    ABANDON3 = 2


class CmdTypeTown(betterproto.Enum):
    CmdTypeTown0 = 0
    CMD_TOWN_ACTIVITY_GET_DATA_REQ = 6450
    CMD_TOWN_ACTIVITY_GET_DATA_RSP = 6451
    CMD_TOWN_ACTIVITY_SAVE_REQ = 6452
    CMD_TOWN_ACTIVITY_SAVE_RSP = 6453
    CMD_TOWN_ACTIVITY_BUILD_REQ = 6454
    CMD_TOWN_ACTIVITY_BUILD_RSP = 6455
    CMD_TOWN_ACTIVITY_BATTLE_REQ = 6456
    CMD_TOWN_ACTIVITY_BATTLE_RSP = 6457
    CMD_TOWN_ACTIVITY_SELL_BUILDING_REQ = 6458
    CMD_TOWN_ACTIVITY_SELL_BUILDING_RSP = 6459
    CMD_TOWN_ACTIVITY_HEAL_AVATAR_REQ = 6460
    CMD_TOWN_ACTIVITY_HEAL_AVATAR_RSP = 6461
    CMD_TOWN_ACTIVITY_SELL_BRICK_REQ = 6462
    CMD_TOWN_ACTIVITY_SELL_BRICK_RSP = 6463
    CMD_TOWN_ACTIVITY_END_NOTIFY = 6464
    CMD_TOWN_ACTIVITY_BOSS_ATTACK_NOTIFY = 6465
    CMD_TOWN_ACTIVITY_GET_SHOP_REQ = 6466
    CMD_TOWN_ACTIVITY_GET_SHOP_RSP = 6467
    CMD_TOWN_ACTIVITY_SHOP_BUY_REQ = 6468
    CMD_TOWN_ACTIVITY_SHOP_BUY_RSP = 6469
    CMD_TOWN_ACTIVITY_MATERIAL_USE_REQ = 6470
    CMD_TOWN_ACTIVITY_MATERIAL_USE_RSP = 6471
    CMD_TOWN_ACTIVITY_SPEED_UP_HEAL_REQ = 6472
    CMD_TOWN_ACTIVITY_SPEED_UP_HEAL_RSP = 6473
    CMD_TOWN_ACTIVITY_CHECK_IN_OPTIONAL_REQ = 6474
    CMD_TOWN_ACTIVITY_CHECK_IN_OPTIONAL_RSP = 6475
    CMD_TOWN_ACTIVITY_RESET_REQ = 6476
    CMD_TOWN_ACTIVITY_RESET_RSP = 6477
    CMD_TOWN_ACTIVITY_ALTER_PATH_REQ = 6478
    CMD_TOWN_ACTIVITY_ALTER_PATH_RSP = 6479
    CMD_TOWN_ACTIVITY_ATTACK_ENEMY_BUFF_NOTIFY = 6480
    CMD_TOWN_ACTIVITY_REFRESH_BRICK_REQ = 6481
    CMD_TOWN_ACTIVITY_REFRESH_BRICK_RSP = 6482


class TownActivityConst(betterproto.Enum):
    TownActivityConst0 = 0
    TOWN_ACTIVITY_ROUND_PER_SECOND = 50
    TOWN_ACTIVITY_STEP_PER_TILE_CELL = 10000
    TOWN_ACTIVITY_MAX_HP_RATIO = 100000


class TownPropType(betterproto.Enum):
    TOWN_NONE = 0
    TOWN_AVATAR = 1
    TOWN_MONSTER = 2


class TownRangeType(betterproto.Enum):
    TOWN_RANGE_NONE = 0
    TOWN_RANGE_CROSS = 1
    TOWN_RANGE_ROUND = 2


class TownBuildingSkillTargetType(betterproto.Enum):
    TOWN_TARGET_NONE = 0
    TOWN_TARGET_AVATAR_CHECK_IN = 1
    TOWN_TARGET_ALL_AVATAR = 2
    TOWN_TARGET_ATTRIBUTE_AVATAR = 3
    TOWN_TARGET_PASSED_AVATAR_IN_CROSS = 4
    TOWN_TARGET_ROAD_IN_CROSS = 5
    TOWN_TARGET_ROAD_IN_ROUND = 6
    TOWN_TARGET_BUILDING = 7
    TOWN_TARGET_PASSED_AVATAR_IN_ROUND = 8
    TOWN_TARGET_SPECIFIC_AVATAR = 9
    TOWN_TARGET_RANDOM_EMPTY_ROAD_IN_ROUND = 10
    TOWN_TARGET_RANDOM_MONSTER_AOE = 11
    TOWN_TARGET_BOSS = 12


class TownBuffType(betterproto.Enum):
    TownBuffType0 = 0
    TOWN_BUFF_ADD_STRENGTH_RATIO = 1
    TOWN_BUFF_ADD_STRENGTH = 2
    TOWN_BUFF_ADD_LUCK = 3
    TOWN_BUFF_COIN_RATIO = 4
    TOWN_BUFF_ADD_MATERIAL = 5
    TOWN_BUFF_ADD_DAMAGE_RATIO = 6
    TOWN_BUFF_CHANGE_TERRAIN = 7
    TOWN_BUFF_CHANGE_GROUND = 8
    TOWN_BUFF_ADD_DAMAGE_RECEIVED = 9
    TOWN_BUFF_RPG_EVENT = 10
    TOWN_BUFF_HEAL_HP_BY_RATIO = 11
    TOWN_BUFF_HEAL = 12
    TOWN_BUFF_CHECK_IN = 13
    TOWN_BUFF_CHECK_OUT = 14
    TOWN_BUFF_POSTPONE_BOSS = 15
    TOWN_BUFF_CREATE_ENTITY = 16
    TOWN_BUFF_REPLACE_ENTITY = 17
    TOWN_BUFF_ADD_BRICK = 18
    TOWN_BUFF_LOSE_GAME = 19
    TOWN_BUFF_RESET_GROUND = 20
    TOWN_BUFF_ADD_SPEED = 21
    TOWN_BUFF_CHECK_IN_OPTIONAL = 22
    TOWN_BUFF_ADD_MONSTER = 23
    TOWN_BUFF_ADD_EVENT = 24
    TOWN_BUFF_WIN_GAME = 25
    TOWN_BUFF_RESET_TERRAIN = 26
    TOWN_BUFF_BATTLE_SKILL = 27
    TOWN_BUFF_CHANGE_BUILDING = 28
    TOWN_BUFF_REDUCE_BOSS_INITIAL_HP_RATIO = 29
    TOWN_BUFF_ATTACK_ENEMY = 30


class TownBuffDurationType(betterproto.Enum):
    TOWN_BUFF_DURATION_PERMANENT = 0
    TOWN_BUFF_DURATION_BATTLE = 1
    TOWN_BUFF_DURATION_STEP = 2
    TOWN_BUFF_DURATION_BOSS = 3


class TownBuildingSkillCondType(betterproto.Enum):
    TOWN_BUILDING_COND_NONE = 0
    TOWN_BUILDING_COND_SIDE_BUILDING = 1
    TOWN_BUILDING_COND_SIDE_BUILDING_MAX_NUM = 2
    TOWN_BUILDING_COND_NO_SIDE_BUILDING = 3
    TOWN_BUILDING_COND_SIDE_ROAD = 4
    TOWN_BUILDING_COND_TOTAL_BUILDING_NUM = 5
    TOWN_BUILDING_COND_PASS_AVATAR = 6
    TOWN_BUILDING_COND_SIDE_ROAD_WITH_TERRAIN = 7


class TownActivityGoodsLimitType(betterproto.Enum):
    TownActivityGoodsLimitType0 = 0
    TOWN_ACTIVITY_GOODS_LIMIT_SHOP = 1
    TOWN_ACTIVITY_GOODS_LIMIT_GLOBAL = 2


class TownActivityMaterialUseType(betterproto.Enum):
    TownActivityMaterialUseType0 = 0
    TOWN_ACTIVITY_MATERIAL_USE_BUILDING = 1
    TOWN_ACTIVITY_MATERIAL_USE_AVATAR_BUFF = 2
    TOWN_ACTIVITY_MATERIAL_USE_KILL_MONSTER = 3
    TOWN_ACTIVITY_MATERIAL_USE_GLOBAL_BUFF = 4


class TownActivityChallengeFinishWay(betterproto.Enum):
    TownActivityChallengeFinishWay0 = 0
    TOWN_ACTIVITY_CHALLENGE_BUILDING_HP = 1
    TOWN_ACTIVITY_CHALLENGE_AVATAR_DIE_TIMES = 2
    TOWN_ACTIVITY_CHALLENGE_BUILDING_TIMES = 3
    TOWN_ACTIVITY_CHALLENGE_STRENTH_AVATAR_NUM = 4
    TOWN_ACTIVITY_CHALLENGE_COIN_NUM = 5


class TownActivityChallengeCmpType(betterproto.Enum):
    TownActivityChallengeCmpType0 = 0
    TOWN_ACTIVITY_CHALLENGE_CMP_GREATER = 1
    TOWN_ACTIVITY_CHALLENGE_CMP_LESS = 2
    TOWN_ACTIVITY_CHALLENGE_CMP_EQUAL = 3
    TOWN_ACTIVITY_CHALLENGE_CMP_GREATER_EQUAL = 4
    TOWN_ACTIVITY_CHALLENGE_CMP_LESS_EQUAL = 5


class TownActivityChallengeRecordType(betterproto.Enum):
    TownActivityChallengeRecordType0 = 0
    TOWN_ACTIVITY_CHALLENGE_RECORD_IN_GAME = 1
    TOWN_ACTIVITY_CHALLENGE_RECORD_SETTLE_GAME = 2


class TownActivityCondType(betterproto.Enum):
    TOWN_ACTIVITY_COND_NONE = 0
    TOWN_ACTIVITY_COND_TOTAL_STRENGTH = 1
    TOWN_ACTIVITY_COND_TOTAL_SPEED = 2
    TOWN_ACTIVITY_COND_TOTAL_LUCK = 3
    TOWN_ACTIVITY_COND_COIN_MATERIAL_NUM = 4
    TOWN_ACTIVITY_COND_BUILDING_NUM = 5


class TvtBattleResultBattleStatus(betterproto.Enum):
    INVALID1 = 0
    LEFT_WIN = 1
    RIGHT_WIN = 2


class TvtBattleInfoBattlePhase(betterproto.Enum):
    PHASE_INVALID = 0
    PHASE_CONFIRM = 1
    PHASE_PREPARE = 2
    PHASE_FIGHT = 3
    PHASE_FINISH = 4


class TvtBattleStageMessageMessageType(betterproto.Enum):
    TvtBattleStageMessageMessageType0 = 0
    MESSAGE_ITEM = 1
    MESSAGE_AVATAR_HP = 2
    MESSAGE_PLAYER_WAVE = 3
    MESSAGE_BOSS_DAMAGE = 4
    MESSAGE_STAGE_SCOIN = 5
    MESSAGE_CLIENT_DEFINE = 6
    MESSAGE_ROUND_SCORE = 7


class CmdTypeTvt(betterproto.Enum):
    CmdTypeTvt0 = 0
    CMD_GET_TVT_ACTIVITY_REQ = 3300
    CMD_GET_TVT_ACTIVITY_RSP = 3301
    CMD_GET_TVT_BATTLE_HISTORY_REQ = 3302
    CMD_GET_TVT_BATTLE_HISTORY_RSP = 3303
    CMD_SYNC_TVT_MEMBER_IN_ROOM_NOTIFY = 3304
    CMD_TVT_TAKE_MISSION_GROUP_REWARD_REQ = 3305
    CMD_TVT_TAKE_MISSION_GROUP_REWARD_RSP = 3306
    CMD_TVT_GET_STAGE_SCHEDULE_REQ = 3307
    CMD_TVT_GET_STAGE_SCHEDULE_RSP = 3308
    CMD_TVT_CARD_GET_DATA_REQ = 3309
    CMD_TVT_CARD_GET_DATA_RSP = 3310
    CMD_TVT_CARD_LEVELUP_REQ = 3311
    CMD_TVT_CARD_LEVELUP_RSP = 3312
    CMD_TVT_CARD_UPDATE_SUITE_REQ = 3313
    CMD_TVT_CARD_UPDATE_SUITE_RSP = 3314
    CMD_TVT_CARD_TAKE_SEASON_RETURN_REQ = 3315
    CMD_TVT_CARD_TAKE_SEASON_RETURN_RSP = 3316
    CMD_TVT_CARD_TRANSFORM_MATERIAL_REQ = 3317
    CMD_TVT_CARD_TRANSFORM_MATERIAL_RSP = 3318
    CMD_SYNC_TVT_BATTLE_INFO_NOTIFY = 3350
    CMD_TVT_BATTLE_MEMBER_PREPARE_NOTIFY = 3351
    CMD_TVT_BATTLE_BEGIN_NOTIFY = 3352
    CMD_TVT_BATTLE_END_NOTIFY = 3353
    CMD_TVT_BATTLE_SETTLE_NOTIFY = 3354
    CMD_REPORT_TVT_BATTLE_STAGE_MESSAGE_NOTIFY = 3355
    CMD_SYNC_TVT_BATTLE_STAGE_MESSAGE_NOTIFY = 3356
    CMD_EXIT_TVT_BATTLE_NOTIFY = 3357
    CMD_TVT_BATTLE_CLIENT_REPORT_NOTIFY = 3358
    CMD_TVT_ENTER_SHOP_REQ = 3359
    CMD_TVT_ENTER_SHOP_RSP = 3360
    CMD_TVT_BATTLE_CONFIRM_NOTIFY = 3361
    CMD_TVT_UPDATE_LINEUP_INFO_NOTIFY = 3362
    CMD_TVT_BATTLE_ROBOT_SETTLE_NOTIFY = 3363
    CMD_TVT_DUMMY = 3399


class TvtType(betterproto.Enum):
    TVT_NONE = 0
    TVT_NORMAL = 1
    TVT_RANKING = 2


class TvtStagePickType(betterproto.Enum):
    TVT_STAGE_PICK_NONE = 0
    TVT_STAGE_PICK_FREE = 1
    TVT_STAGE_PICK_RANDOM = 2


class TvtBattleMemberStatus(betterproto.Enum):
    TVT_BATTLE_MEMBER_STATUS_NONE = 0
    TVT_BATTLE_MEMBER_STATUS_ONLINE = 1
    TVT_BATTLE_MEMBER_STATUS_OFFLINE = 2


class TvtBattleJudgeType(betterproto.Enum):
    TVT_BATTLE_JUDGE_NONE = 0
    TVT_BATTLE_JUDGE_WIN_WHEN_ZERO = 1
    TVT_BATTLE_JUDGE_LOSE_WHEN_ZERO = 2


class MpGetLobbyRecommendRspRecommendType(betterproto.Enum):
    RECOMMEND_NONE = 0
    RECOMMEND_CREATE = 1
    RECOMMEND_ENTER = 2


class CmdTypeTwo(betterproto.Enum):
    CmdTypeTwo0 = 0
    CMD_GET_MEDAL_DATA_REQ = 449
    CMD_GET_MEDAL_DATA_RSP = 450
    CMD_MEDAL_OP_REQ = 451
    CMD_MEDAL_OP_RSP = 452
    CMD_GET_STAGE_ACT_DIFFICULTY_REQ = 456
    CMD_GET_STAGE_ACT_DIFFICULTY_RSP = 457
    CMD_TAKE_STAGE_ACT_CHALLENGE_REWARD_REQ = 458
    CMD_TAKE_STAGE_ACT_CHALLENGE_REWARD_RSP = 459
    CMD_TAKE_ACTIVITY_CHALLENGE_REWARD_REQ = 460
    CMD_TAKE_ACTIVITY_CHALLENGE_REWARD_RSP = 461
    CMD_GET_PEDIA_REQ = 464
    CMD_GET_PEDIA_RSP = 465
    CMD_MP_GET_MATCH_INFO_REQ = 466
    CMD_MP_GET_MATCH_INFO_RSP = 467
    CMD_MP_CANCEL_MATCH_REQ = 468
    CMD_MP_CANCEL_MATCH_RSP = 469
    CMD_MP_GET_LOBBY_RECOMMEND_REQ = 470
    CMD_MP_GET_LOBBY_RECOMMEND_RSP = 471
    CMD_GET_BUFF_EFFECT_REQ = 476
    CMD_GET_BUFF_EFFECT_RSP = 477
    CMD_EQUIP_SYNTHESIS_REQ = 478
    CMD_EQUIP_SYNTHESIS_RSP = 479
    CMD_GET_PLAYER_CARD_REQ = 480
    CMD_GET_PLAYER_CARD_RSP = 481
    CMD_CHANGE_PLAYER_CARD_REQ = 482
    CMD_CHANGE_PLAYER_CARD_RSP = 483
    CMD_SEND_PLAYER_CARD_MSG = 486
    CMD_RECV_PLAYER_CARD_MSG = 487
    CMD_DEL_PLAYER_CARD_MSG_REQ = 489
    CMD_GET_OTHER_PLAYER_CARD_DATA_REQ = 490
    CMD_GET_OTHER_PLAYER_CARD_DATA_RSP = 491
    CMD_CHANGE_PLAYER_CARD_DATA_NOTIFY = 492
    CMD_SEND_PLAYER_CARD_MSG_RSP = 493
    CMD_GET_BOSS_RUSH_ACTIVITY_REQ = 496
    CMD_GET_BOSS_RUSH_ACTIVITY_RSP = 497
    CMD_CHOOSE_BOSS_RUSH_BUFF_REQ = 498
    CMD_CHOOSE_BOSS_RUSH_BUFF_RSP = 499
    CMD_GET_DELETE_MATERIAL_REQ = 500
    CMD_GET_DELETE_MATERIAL_RSP = 501
    CMD_GET_EXTRA_STORY_CHALLENGE_MODE_DATA_REQ = 502
    CMD_GET_EXTRA_STORY_CHALLENGE_MODE_DATA_RSP = 503
    CMD_RESET_EXTRA_STORY_CHALLENGE_MODE_REQ = 504
    CMD_RESET_EXTRA_STORY_CHALLENGE_MODE_RSP = 505
    CMD_GET_GRAND_KEY_REQ = 506
    CMD_GET_GRAND_KEY_RSP = 507
    CMD_GET_EX_BOSS_SCHEDULE_REQ = 508
    CMD_GET_EX_BOSS_SCHEDULE_RSP = 509
    CMD_GET_EX_BOSS_INFO_REQ = 510
    CMD_GET_EX_BOSS_INFO_RSP = 511
    CMD_TAKE_EX_BOSS_RANK_REWARD_NOTIFY = 516
    CMD_GET_NEW_CONSIGNED_ORDER_DATA_REQ = 517
    CMD_GET_NEW_CONSIGNED_ORDER_DATA_RSP = 518
    CMD_GET_CONSIGNED_REWARD_REQ = 519
    CMD_GET_CONSIGNED_REWARD_RSP = 520
    CMD_CHOOSE_CONSIGNED_REWARD_REQ = 521
    CMD_CHOOSE_CONSIGNED_REWARD_RSP = 522
    CMD_TAKE_CONSIGNED_REWARD_REQ = 523
    CMD_TAKE_CONSIGNED_REWARD_RSP = 524
    CMD_GET_CONSIGNED_REWARD_LOG_REQ = 525
    CMD_GET_CONSIGNED_REWARD_LOG_RSP = 526
    CMD_GET_EX_BOSS_RANK_REQ = 527
    CMD_GET_EX_BOSS_RANK_RSP = 528
    CMD_EX_BOSS_STAGE_BEGIN_REQ = 529
    CMD_EX_BOSS_STAGE_BEGIN_RSP = 530
    CMD_EX_BOSS_STAGE_END_REQ = 531
    CMD_EX_BOSS_STAGE_END_RSP = 532
    CMD_TAKE_EX_BOSS_SCORE_REWARD_NOTIFY = 533
    CMD_OPEN_WEEK_DAY_ACTIVITY_REQ = 534
    CMD_OPEN_WEEK_DAY_ACTIVITY_RSP = 535
    CMD_GET_CHALLENGE_STEP_REWARD_REQ = 536
    CMD_GET_CHALLENGE_STEP_REWARD_RSP = 537
    CMD_ADD_TECH_EXP_REQ = 538
    CMD_ADD_TECH_EXP_RSP = 539
    CMD_TAKE_TECH_COLLECT_REWARD_REQ = 540
    CMD_TAKE_TECH_COLLECT_REWARD_RSP = 541
    CMD_MATERIAL_DELETE_RETURN_REQ = 553
    CMD_TAKE_DAILY_COMPENSATION_REWARD_REQ = 564
    CMD_TAKE_DAILY_COMPENSATION_REWARD_RSP = 565
    CMD_AS_MASTER_PUPIL_CARD_REQ = 566
    CMD_AS_MASTER_PUPIL_CARD_RSP = 567
    CMD_GET_MASTER_PUPIL_DATA_REQ = 568
    CMD_GET_MASTER_PUPIL_DATA_RSP = 569
    CMD_ASK_FOR_MASTER_PUPIL_REQ = 570
    CMD_ASK_FOR_MASTER_PUPIL_RSP = 571
    CMD_DEAL_MASTER_PUPIL_REQ = 572
    CMD_DEAL_MASTER_PUPIL_RSP = 573
    CMD_MASTER_PUPIL_EVA_REQ = 574
    CMD_MASTER_PUPIL_EVA_RSP = 575
    CMD_GET_MASTER_FAME_REWARD_REQ = 576
    CMD_GET_MASTER_FAME_REWARD_RSP = 577
    CMD_MASTER_PUPIL_CARD_REPORT_REQ = 578
    CMD_ACTIVATE_TRIAL_AVATAR_REQ = 583
    CMD_ACTIVATE_TRIAL_AVATAR_RSP = 584
    CMD_GET_TRIAL_AVATAR_REQ = 585
    CMD_GET_TRIAL_AVATAR_RSP = 586
    CMD_GET_MASTER_PUPIL_CARD_REQ = 587
    CMD_GET_MASTER_PUPIL_CARD_RSP = 588
    CMD_MASTER_PUPIL_NOTIFY = 589
    CMD_GET_FRAME_DATA_REQ = 590
    CMD_GET_FRAME_DATA_RSP = 591
    CMD_SET_USE_FRAME_REQ = 592
    CMD_SET_USE_FRAME_RSP = 593
    CMD_GET_DORM_DATA_REQ = 601
    CMD_GET_DORM_DATA_RSP = 602
    CMD_GET_DORM_HOUSE_REQ = 603
    CMD_GET_DORM_HOUSE_RSP = 604
    CMD_EDIT_DORM_ROOM_REQ = 605
    CMD_EDIT_DORM_ROOM_RSP = 606
    CMD_GET_DEPOT_FURNITURE_REQ = 607
    CMD_GET_DEPOT_FURNITURE_RSP = 608
    CMD_UNLOCK_DORM_HOUSE_REQ = 609
    CMD_UNLOCK_DORM_HOUSE_RSP = 610
    CMD_SET_DORM_AVATAR_REQ = 611
    CMD_SET_DORM_AVATAR_RSP = 612
    CMD_LEVEL_UP_DORM_REQ = 613
    CMD_LEVEL_UP_DORM_RSP = 614
    CMD_SET_DORM_NAME_REQ = 615
    CMD_SET_DORM_NAME_RSP = 616
    CMD_FINISH_DORM_EVENT_REQ = 617
    CMD_FINISH_DORM_EVENT_RSP = 618
    CMD_GET_HAS_GOT_FURNITURE_ID_LIST_REQ = 619
    CMD_GET_HAS_GOT_FURNITURE_ID_LIST_RSP = 620
    CMD_BUY_FURNITURE_REQ = 621
    CMD_BUY_FURNITURE_RSP = 622
    CMD_GET_OTHER_DORM_DATA_REQ = 633
    CMD_GET_OTHER_DORM_DATA_RSP = 634
    CMD_SET_DORM_SNS_INFO_REQ = 635
    CMD_SET_DORM_SNS_INFO_RSP = 636
    CMD_GET_DORM_SNS_DATA_REQ = 637
    CMD_GET_DORM_SNS_DATA_RSP = 638
    CMD_LIKE_DORM_REQ = 639
    CMD_LIKE_DORM_RSP = 640
    CMD_FINISH_DORM_TALK_REQ = 641
    CMD_FINISH_DORM_TALK_RSP = 642
    CMD_GET_AVATAR_ROLL_DATA_REQ = 643
    CMD_GET_AVATAR_ROLL_DATA_RSP = 644
    CMD_TAKE_ROLL_REWARD_REQ = 645
    CMD_TAKE_ROLL_REWARD_RSP = 646
    CMD_CLAIM_STAMINA_REQ = 649
    CMD_CLAIM_STAMINA_RSP = 650
    CMD_GET_PUPIL_MISSION_REQ = 651
    CMD_GET_PUPIL_MISSION_RSP = 652
    CMD_GET_MASTER_PUPIL_APPLY_REQ = 653
    CMD_GET_MASTER_PUPIL_APPLY_RSP = 654
    CMD_GET_RECOMMEND_MASTER_PUPIL_REQ = 655
    CMD_GET_RECOMMEND_MASTER_PUPIL_RSP = 656
    CMD_GET_MASTER_PUPIL_MAIN_DATA_REQ = 657
    CMD_GET_MASTER_PUPIL_MAIN_DATA_RSP = 658
    CMD_GET_PUPIL_EVAL_DATA_REQ = 659
    CMD_GET_PUPIL_EVAL_DATA_RSP = 660
    CMD_GET_MASTER_RANK_REQ = 662
    CMD_GET_MASTER_RANK_RSP = 663
    CMD_GET_OTHER_MASTER_PUPIL_REQ = 664
    CMD_GET_OTHER_MASTER_PUPIL_RSP = 665
    CMD_UNLOCK_FURNITURE_REQ = 680
    CMD_UNLOCK_FURNITURE_RSP = 681
    CMD_GRAND_KEY_LEVEL_UP_REQ = 753
    CMD_GRAND_KEY_LEVEL_UP_RSP = 754
    CMD_GRAND_KEY_RESET_REQ = 755
    CMD_GRAND_KEY_RESET_RSP = 756
    CMD_GRAND_KEY_BREACH_REQ = 757
    CMD_GRAND_KEY_BREACH_RSP = 758
    CMD_GRAND_KEY_ACTIVATE_SKILL_REQ = 759
    CMD_GRAND_KEY_ACTIVATE_SKILL_RSP = 760
    CMD_GRAND_KEY_CONTRAST_REQ = 761
    CMD_GRAND_KEY_CONTRAST_RSP = 762
    CMD_GRAND_KEY_SET_SKILL_REQ = 763
    CMD_GRAND_KEY_SET_SKILL_RSP = 764
    CMD_GRAND_KEY_UNLOCK_SKILL_REQ = 765
    CMD_GRAND_KEY_UNLOCK_SKILL_RSP = 766
    CMD_GET_STAGE_DROP_LIMIT_ACTIVITY_REQ = 776
    CMD_GET_STAGE_DROP_LIMIT_ACTIVITY_RSP = 777
    CMD_PUSH_CLIENT_MSG_NOTIFY = 801
    CMD_SET_PLAYER_TAG_NOTIFY = 802
    CMD_SYNC_TIME_REQ = 803
    CMD_SYNC_TIME_RSP = 804
    CMD_TAKE_EXTRA_STORY_CHALLENGE_MODE_CHAPTER_REWARD_REQ = 807
    CMD_TAKE_EXTRA_STORY_CHALLENGE_MODE_CHAPTER_REWARD_RSP = 808
    CMD_GET_AVATAR_BIND_EQUIP_IN_CHALLENGE_MODE_REQ = 809
    CMD_GET_AVATAR_BIND_EQUIP_IN_CHALLENGE_MODE_RSP = 810
    CMD_GET_GALINTERACT_TRIGGER_EVENT_REQ = 813
    CMD_GET_GALINTERACT_TRIGGER_EVENT_RSP = 814
    CMD_TAKE_GALINTERACT_TRIGGER_EVENT_REQ = 815
    CMD_TAKE_GALINTERACT_TRIGGER_EVENT_RSP = 816
    CMD_AVATAE_FRAGMENT_TRANSFORM_REQ = 827
    CMD_AVATAE_FRAGMENT_TRANSFORM_RSP = 828
    CMD_STAGE_BATTLE_SAVE_CLIENT_DATA_REQ = 829
    CMD_STAGE_BATTLE_SAVE_CLIENT_DATA_RSP = 830
    CMD_TAKE_EXTRA_STORY_LINE_STORY_FINISH_REWARD_REQ = 836
    CMD_TAKE_EXTRA_STORY_LINE_STORY_FINISH_REWARD_RSP = 837
    CMD_UNBIND_ACCOUNT_REQ = 961
    CMD_UNBIND_ACCOUNT_RSP = 962
    CMD_GET_STAGE_CHAPTER_REQ = 965
    CMD_GET_STAGE_CHAPTER_RSP = 966
    CMD_TAKE_CHAPTER_CHALLENGE_REWARD_REQ = 967
    CMD_TAKE_CHAPTER_CHALLENGE_REWARD_RSP = 968
    CMD_SYNC_DUTY_NOTIFY = 969
    CMD_RECALL_MASTER_PUPIL_APPLICATION_REQ = 970
    CMD_RECALL_MASTER_PUPIL_APPLICATION_RSP = 971
    CMD_SET_FRIEND_REMARK_REQ = 972
    CMD_SET_FRIEND_REMARK_RSP = 973
    CMD_GET_FRIEND_REMARK_LIST_REQ = 974
    CMD_GET_FRIEND_REMARK_LIST_RSP = 975
    CMD_PLAYER_LEVEL_UP_NOTIFY = 976


class UltraEndlessClientReportNotifyClientReportType(betterproto.Enum):
    CLIENT_REPORT_TYPE_NONE = 0
    CLIENT_REPORT_TYPE_STAGE_BEGIN = 1


class UltraEndlessCommonNotifyEventType(betterproto.Enum):
    EVENT_NONE = 0
    EVENT_IN_SETTLE = 1


class CmdTypeUltraendless(betterproto.Enum):
    CmdTypeUltraendless0 = 0
    CMD_ULTRA_ENDLESS_GET_TOP_RANK_REQ = 5200
    CMD_ULTRA_ENDLESS_GET_TOP_RANK_RSP = 5201
    CMD_ULTRA_ENDLESS_GET_MAIN_DATA_REQ = 5202
    CMD_ULTRA_ENDLESS_GET_MAIN_DATA_RSP = 5203
    CMD_ULTRA_ENDLESS_LAST_SETTLE_REWARD_NOTIFY = 5205
    CMD_ULTRA_ENDLESS_REPORT_SITE_FLOOR_REQ = 5206
    CMD_ULTRA_ENDLESS_REPORT_SITE_FLOOR_RSP = 5207
    CMD_ULTRA_ENDLESS_BRIEF_DATA_NOTIFY = 5210
    CMD_ULTRA_ENDLESS_ENTER_SITE_REQ = 5211
    CMD_ULTRA_ENDLESS_ENTER_SITE_RSP = 5212
    CMD_ULTRA_ENDLESS_GROUP_LEVEL_REWARD_REQ = 5213
    CMD_ULTRA_ENDLESS_GROUP_LEVEL_REWARD_RSP = 5214
    CMD_ULTRA_ENDLESS_TOP_RANK_REWARD_REQ = 5215
    CMD_ULTRA_ENDLESS_TOP_RANK_REWARD_RSP = 5216
    CMD_ULTRA_ENDLESS_CLIENT_REPORT_NOTIFY = 5219
    CMD_ULTRA_ENDLESS_FIRST_JOIN_REWARD_NOTIFY = 5220
    CMD_ULTRA_ENDLESS_COMMON_NOTIFY = 5298
    CMD_ULTRA_ENDLESS_DUMMY = 5299


class VirtualTrainCommonGroupType(betterproto.Enum):
    VirtualTrainCommonGroupType0 = 0
    GROUP_CHAPTER = 1
    GROUP_RPG_TALE = 2


class VirtualTrainCommonItemType(betterproto.Enum):
    ITEM_NONE = 0
    ITEM_AVATAR = 1
    ITEM_WEAPON = 2
    ITEM_STIGMATA = 3
    ITEM_BUFF = 4


class VirtualTrainCommonVirtualAvatarType(betterproto.Enum):
    VIRTUAL_AVATAR_NONE = 0
    VIRTUAL_AVATAR_NORMAL = 1
    VIRTUAL_AVATAR_QAVATAR = 2


class VirtualGachaStatus(betterproto.Enum):
    NORMAL2 = 0
    EMPTY = 1


class VirtualTrainItemDropNotifyDropSrcType(betterproto.Enum):
    DROP_SRC_NONE = 0
    DROP_SRC_RPG_STAGE = 1
    DROP_SRC_RPG_MISSION = 2
    DROP_SRC_RPG_QAVATAR = 3
    DROP_SRC_GM = 10


class CmdTypeVirtualtrain(betterproto.Enum):
    CmdTypeVirtualtrain0 = 0
    CMD_GET_VIRTUAL_AVATAR_GROUP_DETAIL_REQ = 3502
    CMD_GET_VIRTUAL_AVATAR_GROUP_DETAIL_RSP = 3503
    CMD_SET_VIRTUAL_AVATAR_TEAM_REQ = 3504
    CMD_SET_VIRTUAL_AVATAR_TEAM_RSP = 3505
    CMD_DRESS_VIRTUAL_EQUIPMENT_REQ = 3506
    CMD_DRESS_VIRTUAL_EQUIPMENT_RSP = 3507
    CMD_VIRTUAL_GACHA_REQ = 3508
    CMD_VIRTUAL_GACHA_RSP = 3509
    CMD_GET_VIRTUAL_GACHA_STATUS_REQ = 3510
    CMD_GET_VIRTUAL_GACHA_STATUS_RSP = 3511
    CMD_VIRTUAL_AVATAR_GROUP_CHANGE_NOTIFY = 3512
    CMD_VIRTUAL_TRAIN_DIRECT_GACHA_NOTIFY = 3513
    CMD_CHOOSE_VIRTUAL_GACHA_ITEM_REQ = 3514
    CMD_CHOOSE_VIRTUAL_GACHA_ITEM_RSP = 3515
    CMD_CHOOSE_VIRTUAL_DEFAULT_AVATAR_NOTIFY = 3516
    CMD_SYNC_VIRTUAL_GACHA_STATUS_NOTIFY = 3517
    CMD_VIRTUAL_TRAIN_ROLE_CUSTOM_LEVEL_UP_REQ = 3518
    CMD_VIRTUAL_TRAIN_ROLE_CUSTOM_LEVEL_UP_RSP = 3519
    CMD_VIRTUAL_TRAIN_ROLE_CUSTOM_CHOOSE_REQ = 3520
    CMD_VIRTUAL_TRAIN_ROLE_CUSTOM_CHOOSE_RSP = 3521
    CMD_VIRTUAL_TRAIN_EVO_REQ = 3522
    CMD_VIRTUAL_TRAIN_EVO_RSP = 3523
    CMD_VIRTUAL_TRAIN_ITEM_DROP_NOTIFY = 3524
    CMD_VIRTUAL_TRAIN_DUMMY = 3549


class VirtualGachaType(betterproto.Enum):
    VIRTUAL_GACHA_TYPE_NONE = 0
    VRITUAL_GACHA_TYPE_SINGLE = 1
    VIRTUAL_GACHA_TYPE_BATCH = 2


class CmdTypeWarship(betterproto.Enum):
    CmdTypeWarship0 = 0
    CMD_GET_WARSHIP_ITEM_DATA_REQ = 5450
    CMD_GET_WARSHIP_ITEM_DATA_RSP = 5451
    CMD_GET_WARSHIP_TRIAL_DATA_REQ = 5452
    CMD_GET_WARSHIP_TRIAL_DATA_RSP = 5453
    CMD_GET_WARSHIP_DATA_REQ = 5454
    CMD_GET_WARSHIP_DATA_RSP = 5455
    CMD_SET_WARSHIP_REQ = 5456
    CMD_SET_WARSHIP_RSP = 5457
    CMD_SET_WARSHIP_COMPONENT_REQ = 5458
    CMD_SET_WARSHIP_COMPONENT_RSP = 5459
    CMD_SET_WARSHIP_SETTING_REQ = 5460
    CMD_SET_WARSHIP_SETTING_RSP = 5461
    CMD_WARSHIP_ITEM_RETURN_MATERIAL_NOTIFY = 5462
    CMD_ADD_WARSHIP_ITEM_NOTIFY = 5463


class TrialWarshipTimeType(betterproto.Enum):
    TrialWarshipTimeType0 = 0
    TRIAL_WARSHIP_TIME_UNTIL = 1
    TRIAL_WARSHIP_TIME_DURATION = 2


class WarshipSettingType(betterproto.Enum):
    WarshipSettingType0 = 0
    WARSHIP_SETTING_BGM_PLAY_MODE = 1
    WARSHIP_SETTING_BGM_WEATHER = 2


class CmdTypeWeeklyreport(betterproto.Enum):
    CmdTypeWeeklyreport0 = 0
    CMD_GET_WEEKLY_REPORT_REQ = 5100
    CMD_GET_WEEKLY_REPORT_RSP = 5101
    CMD_GET_WEEKLY_REPORT_ENDLESS_RECOMMEND_PLAYER_REQ = 5102
    CMD_GET_WEEKLY_REPORT_ENDLESS_RECOMMEND_PLAYER_RSP = 5103
    CMD_GET_WEEKLY_REPORT_EX_BOSS_RECOMMEND_PLAYER_REQ = 5104
    CMD_GET_WEEKLY_REPORT_EX_BOSS_RECOMMEND_PLAYER_RSP = 5105
    CMD_GET_WEEKLY_REPORT_ULTRA_ENDLESS_RECOMMEND_PLAYER_REQ = 5106
    CMD_GET_WEEKLY_REPORT_ULTRA_ENDLESS_RECOMMEND_PLAYER_RSP = 5107


@dataclass
class AvatarSubSkill(betterproto.Message):
    sub_skill_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    is_mask: bool = betterproto.bool_field(3)


@dataclass
class AvatarSkill(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)
    sub_skill_list: List["AvatarSubSkill"] = betterproto.message_field(2)


@dataclass
class Avatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    star: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    exp: int = betterproto.uint32_field(4)
    fragment: int = betterproto.uint32_field(5)
    weapon_unique_id: int = betterproto.uint32_field(6)
    stigmata_unique_id_1: int = betterproto.uint32_field(7)
    stigmata_unique_id_2: int = betterproto.uint32_field(8)
    stigmata_unique_id_3: int = betterproto.uint32_field(9)
    skill_list: List["AvatarSkill"] = betterproto.message_field(10)
    touch_goodfeel: int = betterproto.uint32_field(11)
    today_has_add_goodfeel: int = betterproto.uint32_field(12)
    stage_goodfeel: int = betterproto.uint32_field(13)
    dress_list: List[int] = betterproto.uint32_field(14)
    dress_id: int = betterproto.uint32_field(15)
    mode: "AvatarBindEquipMode" = betterproto.enum_field(16)
    avatar_artifact: "AvatarArtifactDetail" = betterproto.message_field(17)
    sub_star: int = betterproto.uint32_field(18)


@dataclass
class EquipmentItem(betterproto.Message):
    type: "EquipmentType" = betterproto.enum_field(1)
    id_or_unique_id: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)


@dataclass
class EquipmentItemList(betterproto.Message):
    item_list: List["EquipmentItem"] = betterproto.message_field(1)


@dataclass
class Mecha(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    id: int = betterproto.uint32_field(2)


@dataclass
class Weapon(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    id: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    exp: int = betterproto.uint32_field(4)
    is_protected: bool = betterproto.bool_field(5)
    cancel_protect_time: int = betterproto.uint32_field(6)
    is_extracted: bool = betterproto.bool_field(7)
    sub_weapon_id: int = betterproto.uint32_field(8)
    quantum_branch_list: List[int] = betterproto.uint32_field(9)
    homology_level: int = betterproto.uint32_field(10)


@dataclass
class Stigmata(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    id: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    exp: int = betterproto.uint32_field(4)
    is_protected: bool = betterproto.bool_field(5)
    is_affix_identify: bool = betterproto.bool_field(6)
    cancel_protect_time: int = betterproto.uint32_field(7)
    slot_num: int = betterproto.uint32_field(8)
    rune_list: List["StigmataRune"] = betterproto.message_field(9)
    wait_select_rune_list: List["StigmataRune"] = betterproto.message_field(10)
    refine_value: int = betterproto.uint32_field(11)
    promote_times: int = betterproto.uint32_field(12)
    wait_select_rune_group_list: List["StigmataRuneGroup"] = betterproto.message_field(
        16
    )


@dataclass
class Material(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class GenericItemNum(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)


@dataclass
class Stage(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)
    enter_times: int = betterproto.uint32_field(3)
    reset_times: int = betterproto.uint32_field(4)
    challenge_index_list: List[int] = betterproto.uint32_field(5)
    bonus_end_time: int = betterproto.uint32_field(6)
    bonus_enter_times: int = betterproto.uint32_field(7)
    bonus_total_times: int = betterproto.uint32_field(8)
    min_stage_time: int = betterproto.uint32_field(9)
    max_score: int = betterproto.uint32_field(10)
    stamina_discount: int = betterproto.uint32_field(11)
    total_score: int = betterproto.uint32_field(12)
    is_done: bool = betterproto.bool_field(13)
    backup_challenge_index_list: List[int] = betterproto.uint32_field(14)
    max_battle_score: int = betterproto.uint32_field(15)
    max_rank: int = betterproto.uint32_field(16)
    client_data: str = betterproto.string_field(17)
    first_stamina_discount: int = betterproto.uint32_field(18)


@dataclass
class StageEventData(betterproto.Message):
    begin_time: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)
    chapter_id: int = betterproto.uint32_field(3)
    unlock_level: int = betterproto.uint32_field(4)


@dataclass
class DropItem(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)
    rarity: int = betterproto.uint32_field(4)
    is_baodi: bool = betterproto.bool_field(5)
    is_rare_drop: bool = betterproto.bool_field(6)
    gift_item_id: int = betterproto.uint32_field(7)
    gift_level: int = betterproto.uint32_field(8)
    gift_num: int = betterproto.uint32_field(9)
    is_treasure: bool = betterproto.bool_field(10)
    is_equip_drop: bool = betterproto.bool_field(11)
    is_stage_clear_drop: bool = betterproto.bool_field(12)
    is_avatar_drop: bool = betterproto.bool_field(13)
    is_theme_wanted_double_drop: bool = betterproto.bool_field(14)


@dataclass
class RewardItemData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)
    split_fragment_num: int = betterproto.uint32_field(4)


@dataclass
class RewardData(betterproto.Message):
    exp: int = betterproto.uint32_field(1)
    scoin: int = betterproto.uint32_field(2)
    hcoin: int = betterproto.uint32_field(3)
    stamina: int = betterproto.uint32_field(4)
    friends_point: int = betterproto.uint32_field(6)
    item_list: List["RewardItemData"] = betterproto.message_field(7)
    exp_convert_scoin: int = betterproto.uint32_field(9)


@dataclass
class StageCheatData(betterproto.Message):
    type: "StageCheatDataType" = betterproto.enum_field(1)
    value: float = betterproto.float_field(2)


@dataclass
class StageChallengeData(betterproto.Message):
    challenge_index: int = betterproto.uint32_field(1)
    reward: "RewardData" = betterproto.message_field(2)


@dataclass
class MpStageMvpReward(betterproto.Message):
    extra_coin: int = betterproto.uint32_field(1)
    extra_avatar_exp: int = betterproto.uint32_field(2)
    extra_mp_exp: int = betterproto.uint32_field(3)


@dataclass
class StageSpecialChallengeData(betterproto.Message):
    challenge_index: int = betterproto.uint32_field(1)
    drop_item: "DropItem" = betterproto.message_field(2)


@dataclass
class AccountBuffReward(betterproto.Message):
    scoin_reward: int = betterproto.uint32_field(1)
    avatar_exp_reward: int = betterproto.uint32_field(2)
    player_exp_reward: int = betterproto.uint32_field(3)


@dataclass
class AvatarTeam(betterproto.Message):
    stage_type: int = betterproto.uint32_field(1)
    avatar_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class CustomAvatarTeam(betterproto.Message):
    team_id: int = betterproto.uint32_field(1)
    name: str = betterproto.string_field(2)
    avatar_id_list: List[int] = betterproto.uint32_field(3)
    elf_id_list: List[int] = betterproto.uint32_field(4)
    astra_mate_id: int = betterproto.uint32_field(5)
    is_using_astra_mate: bool = betterproto.bool_field(6)


@dataclass
class StageDropDisplayInfo(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    drop_item_id_list: List[int] = betterproto.uint32_field(2)
    first_drop_item_id_list: List[int] = betterproto.uint32_field(3)
    double_drop: bool = betterproto.bool_field(4)
    bonus_drop_item_id_list: List[int] = betterproto.uint32_field(5)
    battle_buff_list: List[str] = betterproto.string_field(6)
    bonus_equip_need_list: List[int] = betterproto.uint32_field(7)
    battle_display_id: int = betterproto.uint32_field(8)
    battle_attr_list: List[str] = betterproto.string_field(9)
    first_drop_item_data_list: List["RewardItemData"] = betterproto.message_field(10)


@dataclass
class SettingDict(betterproto.Message):
    dict_item_list: List["SettingDictDictItem"] = betterproto.message_field(1)


@dataclass
class SettingDictDictItem(betterproto.Message):
    key: str = betterproto.string_field(1)
    type: "SettingDictValueType" = betterproto.enum_field(2)
    value: str = betterproto.string_field(3)
    value_list: List[str] = betterproto.string_field(4)


@dataclass
class WeaponDetailData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)
    sub_weapon_id: int = betterproto.uint32_field(4)
    homology_level: int = betterproto.uint32_field(5)


@dataclass
class StigmataDetailData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    rune_list: List["StigmataRune"] = betterproto.message_field(3)
    unique_id: int = betterproto.uint32_field(4)


@dataclass
class AvatarSubSkillDetailData(betterproto.Message):
    sub_skill_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    is_mask: bool = betterproto.bool_field(3)


@dataclass
class AvatarSkillDetailData(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)
    sub_skill_list: List["AvatarSubSkillDetailData"] = betterproto.message_field(2)


@dataclass
class AvatarArtifactDetail(betterproto.Message):
    artifact_id: int = betterproto.uint32_field(1)
    artifact_level: int = betterproto.uint32_field(2)
    is_artifact_switch_on: bool = betterproto.bool_field(3)


@dataclass
class AvatarDetailData(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    avatar_star: int = betterproto.uint32_field(2)
    avatar_level: int = betterproto.uint32_field(3)
    weapon: "WeaponDetailData" = betterproto.message_field(4)
    stigmata_1: "StigmataDetailData" = betterproto.message_field(5)
    stigmata_2: "StigmataDetailData" = betterproto.message_field(6)
    stigmata_3: "StigmataDetailData" = betterproto.message_field(7)
    skill_list: List["AvatarSkillDetailData"] = betterproto.message_field(8)
    dress_id: int = betterproto.uint32_field(9)
    avatar_combat: int = betterproto.uint32_field(10)
    avatar_artifact: "AvatarArtifactDetail" = betterproto.message_field(11)
    avatar_sub_star: int = betterproto.uint32_field(12)


@dataclass
class ElfTalentDetailData(betterproto.Message):
    elf_talent_id: int = betterproto.uint32_field(1)
    talent_level: int = betterproto.uint32_field(2)


@dataclass
class ElfSkillDetailData(betterproto.Message):
    elf_skill_id: int = betterproto.uint32_field(1)
    skill_level: int = betterproto.uint32_field(2)


@dataclass
class ElfDetailData(betterproto.Message):
    elf_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    star: int = betterproto.uint32_field(3)
    equip_talent_list: List["ElfTalentDetailData"] = betterproto.message_field(4)
    skill_list: List["ElfSkillDetailData"] = betterproto.message_field(5)


@dataclass
class MasterDetailData(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    level: int = betterproto.uint32_field(3)
    card: "MasterPupilCard" = betterproto.message_field(4)


@dataclass
class PupilDetailData(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    status: "MasterPupilStatus" = betterproto.enum_field(3)


@dataclass
class MasterPupilDetailData(betterproto.Message):
    master: "MasterPupilData" = betterproto.message_field(1)
    pupil_list: List["MasterPupilData"] = betterproto.message_field(2)


@dataclass
class AdventureAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    star: int = betterproto.uint32_field(2)
    skill_list: List["AdventureAvatarSkill"] = betterproto.message_field(3)


@dataclass
class AdventureAvatarSkill(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)
    skill_level: int = betterproto.uint32_field(2)


@dataclass
class PlayerAdventureData(betterproto.Message):
    adventure_group_level: int = betterproto.uint32_field(1)
    adventure_avatar_list: List["AdventureAvatar"] = betterproto.message_field(2)


@dataclass
class PlayerDetailData(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    level: int = betterproto.uint32_field(3)
    leader_avatar: "AvatarDetailData" = betterproto.message_field(4)
    self_desc: str = betterproto.string_field(5)
    armada_id: int = betterproto.uint32_field(6)
    armada_name: str = betterproto.string_field(7)
    mp_level: int = betterproto.uint32_field(8)
    on_medal_id: int = betterproto.uint32_field(9)
    is_newbie: bool = betterproto.bool_field(10)
    is_goback: bool = betterproto.bool_field(11)
    mp_like_num: int = betterproto.uint32_field(12)
    grand_key_list: List["GrandKey"] = betterproto.message_field(13)
    leader_elf: "ElfDetailData" = betterproto.message_field(14)
    custom_head_id: int = betterproto.uint32_field(15)
    frame_id: int = betterproto.uint32_field(16)
    adventure: "PlayerAdventureData" = betterproto.message_field(17)
    backup_avatar_list: List["AvatarDetailData"] = betterproto.message_field(18)
    on_medal: "Medal" = betterproto.message_field(19)
    is_allow_visit: bool = betterproto.bool_field(30)
    visit_avatar: int = betterproto.uint32_field(31)
    be_liked_num: int = betterproto.uint32_field(32)
    show_house: int = betterproto.uint32_field(33)
    comfort_value: int = betterproto.uint32_field(34)
    house_level: int = betterproto.uint32_field(35)
    house_name: str = betterproto.string_field(36)
    total_wiki_score: int = betterproto.uint32_field(37)
    total_achievement_num_get: int = betterproto.uint32_field(38)
    total_achievement_num: int = betterproto.uint32_field(39)
    chat_forbid_finish_time: int = betterproto.uint32_field(40)
    master_uid: int = betterproto.uint32_field(41)
    master_pupil_tag: "MasterPupilType" = betterproto.enum_field(42)
    season_id: int = betterproto.uint32_field(43)
    season_group_id: int = betterproto.uint32_field(44)
    season_level: int = betterproto.uint32_field(45)
    is_logoff: bool = betterproto.bool_field(46)


@dataclass
class PlayerFriendBriefData(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    level: int = betterproto.uint32_field(3)
    avatar_id: int = betterproto.uint32_field(4)
    avatar_star: int = betterproto.uint32_field(5)
    avatar_combat: int = betterproto.uint32_field(6)
    avatar_level: int = betterproto.uint32_field(7)
    main_sub_skill_list: List["AvatarSubSkillDetailData"] = betterproto.message_field(8)
    last_login_time: int = betterproto.uint32_field(10)
    dress_id: int = betterproto.uint32_field(11)
    armada_id: int = betterproto.uint32_field(12)
    armada_name: str = betterproto.string_field(13)
    # bond: int = betterproto.uint32_field(14)
    # on_medal_id: int = betterproto.uint32_field(15)
    frame_id: int = betterproto.uint32_field(16)
    # mp_level: int = betterproto.uint32_field(18)
    custom_head_id: int = betterproto.uint32_field(18)
    on_medal: "Medal" = betterproto.message_field(19)
    is_allow_visit: bool = betterproto.bool_field(30)
    visit_avatar: int = betterproto.uint32_field(31)
    be_liked_num: int = betterproto.uint32_field(32)
    show_house: int = betterproto.uint32_field(33)
    comfort_value: int = betterproto.uint32_field(34)
    house_level: int = betterproto.uint32_field(35)
    house_name: str = betterproto.string_field(36)
    is_goback: bool = betterproto.bool_field(37)
    avatar_sub_star: int = betterproto.uint32_field(38)
    last_logout_time: int = betterproto.uint32_field(39)
    online_status: int = betterproto.uint32_field(40)
    season_id: int = betterproto.uint32_field(41)
    season_group_id: int = betterproto.uint32_field(42)
    season_level: int = betterproto.uint32_field(43)
    is_logoff: bool = betterproto.bool_field(44)


@dataclass
class WeaponBriefInfo(betterproto.Message):
    weapon_id: int = betterproto.uint32_field(1)
    weapon_level: int = betterproto.uint32_field(2)
    weapon_homology_level: int = betterproto.uint32_field(3)


@dataclass
class StigmataBriefInfo(betterproto.Message):
    stigmata_id: int = betterproto.uint32_field(1)
    stigmata_level: int = betterproto.uint32_field(2)


@dataclass
class AvatarBriefInfo(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    avatar_level: int = betterproto.uint32_field(2)
    avatar_star: int = betterproto.uint32_field(3)
    weapon_id: int = betterproto.uint32_field(4)
    stigmata_id_list: List[int] = betterproto.uint32_field(5)
    sub_weapon_id: int = betterproto.uint32_field(6)
    dress_id: int = betterproto.uint32_field(7)
    is_artifact_switch_on: bool = betterproto.bool_field(8)
    weapon_homology_level: int = betterproto.uint32_field(9)
    weapon_info: "WeaponBriefInfo" = betterproto.message_field(10)
    stigmata_info_list: List["StigmataBriefInfo"] = betterproto.message_field(11)
    is_new_equip_info: bool = betterproto.bool_field(12)
    avatar_sub_star: int = betterproto.uint32_field(13)


@dataclass
class ElfBriefInfo(betterproto.Message):
    elf_id: int = betterproto.uint32_field(1)
    elf_level: int = betterproto.uint32_field(2)
    elf_star: int = betterproto.uint32_field(3)
    equip_talent_id_list: List[int] = betterproto.uint32_field(4)
    skill_list: List["ElfBriefInfoSkill"] = betterproto.message_field(5)


@dataclass
class ElfBriefInfoSkill(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)
    skill_level: int = betterproto.uint32_field(2)


@dataclass
class LineupBriefInfo(betterproto.Message):
    avatar_info_list: List["AvatarBriefInfo"] = betterproto.message_field(1)
    elf_info_list: List["ElfBriefInfo"] = betterproto.message_field(2)


@dataclass
class MailItem(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)
    split_fragment_num: int = betterproto.uint32_field(4)


@dataclass
class MailAttachment(betterproto.Message):
    item_list: List["MailItem"] = betterproto.message_field(1)
    hcoin: int = betterproto.uint32_field(2)
    scoin: int = betterproto.uint32_field(3)
    stamina: int = betterproto.uint32_field(4)
    exp: int = betterproto.uint32_field(5)
    exp_convert_scoin: int = betterproto.uint32_field(6)
    mcoin: int = betterproto.uint32_field(7)


@dataclass
class Mail(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    type: "MailType" = betterproto.enum_field(2)
    title: str = betterproto.string_field(3)
    content: str = betterproto.string_field(4)
    sender: str = betterproto.string_field(5)
    time: int = betterproto.uint32_field(6)
    attachment: "MailAttachment" = betterproto.message_field(7)
    is_attachment_got: bool = betterproto.bool_field(8)
    expire_time: int = betterproto.uint32_field(9)
    content_param_list: List[str] = betterproto.string_field(10)


@dataclass
class MailKey(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    type: "MailType" = betterproto.enum_field(2)


@dataclass
class ChatMsgWeapon(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    weapon: "WeaponDetailData" = betterproto.message_field(2)


@dataclass
class ChatMsgStigmata(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    stigmata: "StigmataDetailData" = betterproto.message_field(2)


@dataclass
class ChatMsgAvatar(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    avatar: "AvatarDetailData" = betterproto.message_field(2)


@dataclass
class ChatMsgLobby(betterproto.Message):
    msg: str = betterproto.string_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class ChatMsgKeyValue(betterproto.Message):
    key: str = betterproto.string_field(1)
    value: str = betterproto.string_field(2)


@dataclass
class ChatMsgInternal(betterproto.Message):
    key_value_list: List["ChatMsgKeyValue"] = betterproto.message_field(1)


@dataclass
class ChatSendRedEnvelope(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    msg: str = betterproto.string_field(2)
    red_envelope_id: int = betterproto.uint32_field(3)


@dataclass
class ChatTakeRedEnvelope(betterproto.Message):
    sender_uid: int = betterproto.uint32_field(1)
    sender_nickname: str = betterproto.string_field(2)
    item_id: int = betterproto.uint32_field(3)
    take_scoin: int = betterproto.uint32_field(4)
    drop_item_list: List["DropItem"] = betterproto.message_field(5)
    msg: str = betterproto.string_field(6)
    take_material: "Material" = betterproto.message_field(7)


@dataclass
class ChatMsgElf(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    elf: "ElfDetailData" = betterproto.message_field(2)


@dataclass
class ChatRedEnvelopeTakeOver(betterproto.Message):
    sender_uid: int = betterproto.uint32_field(1)
    sender_nickname: str = betterproto.string_field(2)
    item_id: int = betterproto.uint32_field(3)
    msg: str = betterproto.string_field(4)
    red_envelope_id: int = betterproto.uint32_field(5)


@dataclass
class ChatMsgWorldBeast(betterproto.Message):
    chatworld_id: int = betterproto.uint32_field(1)
    scene_id: int = betterproto.uint32_field(2)
    beast_unique_id_u64: int = betterproto.uint64_field(3)
    stage_id: int = betterproto.uint32_field(4)


@dataclass
class ChatMsgItem(betterproto.Message):
    type: "ChatMsgItemChatMsgType" = betterproto.enum_field(1)
    msg_str: str = betterproto.string_field(2)
    weapon: "ChatMsgWeapon" = betterproto.message_field(3)
    stigmata: "ChatMsgStigmata" = betterproto.message_field(4)
    avatar: "ChatMsgAvatar" = betterproto.message_field(5)
    lobby: "ChatMsgLobby" = betterproto.message_field(6)
    internal: "ChatMsgInternal" = betterproto.message_field(7)
    send_red_envelope: "ChatSendRedEnvelope" = betterproto.message_field(8)
    take_red_envelope: "ChatTakeRedEnvelope" = betterproto.message_field(9)
    emoji_id: int = betterproto.uint32_field(10)
    elf: "ChatMsgElf" = betterproto.message_field(11)
    red_envelope_take_over: "ChatRedEnvelopeTakeOver" = betterproto.message_field(12)
    chatworld_beast: "ChatMsgWorldBeast" = betterproto.message_field(13)


@dataclass
class ChatMsgContent(betterproto.Message):
    items: List["ChatMsgItem"] = betterproto.message_field(1)


@dataclass
class ChatMsgSensitiveCheckResult(betterproto.Message):
    shield_type: int = betterproto.int32_field(1)
    number_check: int = betterproto.int32_field(2)
    rewrite_text: str = betterproto.string_field(3)


@dataclass
class ChatMsg(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    time: int = betterproto.uint32_field(3)
    msg: str = betterproto.string_field(4)
    avatar_id: int = betterproto.uint32_field(5)
    dress_id: int = betterproto.uint32_field(6)
    content: "ChatMsgContent" = betterproto.message_field(7)
    channel: "ChatMsgMsgChannel" = betterproto.enum_field(8)
    frame_id: int = betterproto.uint32_field(9)
    is_sensitive: bool = betterproto.bool_field(10)
    is_goback: bool = betterproto.bool_field(11)
    channel_id: int = betterproto.uint32_field(12)
    custom_head_id: int = betterproto.uint32_field(13)
    master_pupil_tag: "MasterPupilType" = betterproto.enum_field(14)
    system_msg: "ChatMsgSystemChatMsg" = betterproto.message_field(15)
    target_uid: int = betterproto.uint32_field(16)
    season_id: int = betterproto.uint32_field(17)
    season_group_id: int = betterproto.uint32_field(18)
    season_level: int = betterproto.uint32_field(19)
    mode: int = betterproto.uint32_field(20)
    mode_para: int = betterproto.uint32_field(21)
    is_armada_leader: bool = betterproto.bool_field(22)
    is_team_leader: bool = betterproto.bool_field(23)
    check_result: "ChatMsgSensitiveCheckResult" = betterproto.message_field(24)
    is_lobby_invite: bool = betterproto.bool_field(25)


@dataclass
class ChatMsgSystemChatMsg(betterproto.Message):
    type: "SystemChatMsgType" = betterproto.enum_field(1)
    item_id: int = betterproto.uint32_field(2)
    item_level: int = betterproto.uint32_field(3)
    item_num: int = betterproto.uint32_field(4)
    gacha_type: "GachaType" = betterproto.enum_field(5)


@dataclass
class AssistantFrozen(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    left_frozen_time: int = betterproto.uint32_field(2)
    left_assistant_times: int = betterproto.uint32_field(3)


@dataclass
class AvatarFragment(betterproto.Message):
    fragment_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class AvatarCostPlusConfig(betterproto.Message):
    star: int = betterproto.uint32_field(1)
    cost_plus: int = betterproto.uint32_field(2)


@dataclass
class BulletinActivityConfig(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    activity_type: int = betterproto.uint32_field(2)
    begin_time: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)
    bulletin_id: int = betterproto.uint32_field(5)
    mission_ids: List[int] = betterproto.uint32_field(6)
    type_param_list: List[int] = betterproto.uint32_field(7)
    type_param_str: str = betterproto.string_field(8)
    min_player_level: int = betterproto.uint32_field(9)
    max_player_level: int = betterproto.uint32_field(10)
    item_list: List[int] = betterproto.uint32_field(11)
    title_name: str = betterproto.string_field(12)
    title_image: str = betterproto.string_field(13)
    image_path: str = betterproto.string_field(14)
    link_button: str = betterproto.string_field(15)
    description: str = betterproto.string_field(16)
    weight: int = betterproto.uint32_field(17)
    background_path: str = betterproto.string_field(18)
    text_image_path: str = betterproto.string_field(19)
    currency_list: List[int] = betterproto.uint32_field(20)
    unlock_param_str: str = betterproto.string_field(21)


@dataclass
class ChallengeMissionStep(betterproto.Message):
    step_id: int = betterproto.uint32_field(1)
    status: "ChallengeMissionStepStepStatus" = betterproto.enum_field(2)
    has_take_bonus: bool = betterproto.bool_field(3)


@dataclass
class ChallengeMissionData(betterproto.Message):
    is_unlock: bool = betterproto.bool_field(1)
    step_list: List["ChallengeMissionStep"] = betterproto.message_field(2)


@dataclass
class ActivitySeries(betterproto.Message):
    series_id: int = betterproto.uint32_field(1)
    available_sweep_num: int = betterproto.uint32_field(2)


@dataclass
class StageInnerAvatarData(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    avatar_level: int = betterproto.uint32_field(2)
    avatar_star: int = betterproto.uint32_field(3)
    total_output: int = betterproto.uint32_field(4)
    no_restrict_output: int = betterproto.uint32_field(5)
    do_restrict_output: int = betterproto.uint32_field(6)
    be_restrict_output: int = betterproto.uint32_field(7)
    total_input: int = betterproto.uint32_field(8)
    battle_time: float = betterproto.float_field(9)
    total_time: float = betterproto.float_field(10)
    enter_times: int = betterproto.uint32_field(11)
    leave_times: int = betterproto.uint32_field(12)
    do_break_times: int = betterproto.uint32_field(13)
    be_break_times: int = betterproto.uint32_field(14)
    do_hit_times: int = betterproto.uint32_field(15)
    be_hit_times: int = betterproto.uint32_field(16)
    exskill_times: int = betterproto.uint32_field(17)
    evade_times: int = betterproto.uint32_field(18)
    evade_effect_times: int = betterproto.uint32_field(19)
    attack_sp_recover: int = betterproto.uint32_field(20)
    total_sp_recover: int = betterproto.uint32_field(21)
    dps: int = betterproto.uint32_field(22)
    special_attack_times: int = betterproto.uint32_field(23)
    evade_success_times: int = betterproto.uint32_field(24)
    weapon_active_skill: int = betterproto.uint32_field(25)
    stage_id: int = betterproto.uint32_field(26)
    normal_output: int = betterproto.uint32_field(27)
    ultra_output: int = betterproto.uint32_field(28)
    switchin_output: int = betterproto.uint32_field(29)
    branch_output: int = betterproto.uint32_field(30)
    charge_output: int = betterproto.uint32_field(31)
    hp_cost: int = betterproto.uint32_field(32)
    hp_recover: int = betterproto.uint32_field(33)
    sp_cost: int = betterproto.uint32_field(34)
    shield_damage: int = betterproto.uint32_field(35)
    avatar_sub_star: int = betterproto.uint32_field(36)
    is_player_avatar: bool = betterproto.bool_field(37)
    is_trial_avatar: bool = betterproto.bool_field(38)
    charge_attack_times: int = betterproto.uint32_field(39)
    branch_attack_times: int = betterproto.uint32_field(40)
    max_damage_5: int = betterproto.uint32_field(41)
    max_damage_15: int = betterproto.uint32_field(42)


@dataclass
class StageInnerMonsterData(betterproto.Message):
    monster_name: str = betterproto.string_field(1)
    monster_type: str = betterproto.string_field(2)
    monster_level: int = betterproto.uint32_field(3)
    monster_num: int = betterproto.uint32_field(4)
    avg_output: int = betterproto.uint32_field(5)
    avg_live_time: int = betterproto.uint32_field(6)
    dps: int = betterproto.uint32_field(7)
    hit_avatar_times: int = betterproto.uint32_field(8)
    break_avatar_times: int = betterproto.uint32_field(9)


@dataclass
class StageInnerElfData(betterproto.Message):
    elf_id: int = betterproto.uint32_field(1)
    elf_star: int = betterproto.uint32_field(2)
    elf_level: int = betterproto.uint32_field(3)
    attack_times: int = betterproto.uint32_field(4)
    hit_times: int = betterproto.uint32_field(5)
    total_output: int = betterproto.uint32_field(6)
    normal_output: int = betterproto.uint32_field(7)
    ultra_output: int = betterproto.uint32_field(8)
    total_sp_recover: int = betterproto.uint32_field(9)
    skill_use_times: int = betterproto.uint32_field(10)


@dataclass
class Bulletin(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    type: int = betterproto.uint32_field(2)
    weight: int = betterproto.uint32_field(3)
    title_button: str = betterproto.string_field(4)
    title: str = betterproto.string_field(5)
    banner_path: str = betterproto.string_field(6)
    event_date_str: str = betterproto.string_field(7)
    content: str = betterproto.string_field(8)
    mark: int = betterproto.uint32_field(9)
    begin_time: int = betterproto.uint32_field(10)
    end_time: int = betterproto.uint32_field(11)
    update_time: int = betterproto.uint32_field(12)
    show_config_id: int = betterproto.uint32_field(13)
    client_req_type: int = betterproto.uint32_field(14)


@dataclass
class EndlessAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    star: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    weapon_id: int = betterproto.uint32_field(4)
    stigmata_id_1: int = betterproto.uint32_field(5)
    stigmata_id_2: int = betterproto.uint32_field(6)
    stigmata_id_3: int = betterproto.uint32_field(7)
    quantum_weapon_id: int = betterproto.uint32_field(8)


@dataclass
class OpenworldEndlessPlayerInvasionData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    invader_id: int = betterproto.uint32_field(2)
    active_time: int = betterproto.uint32_field(3)
    buff_list: List[int] = betterproto.uint32_field(4)
    sub_score: int = betterproto.uint32_field(5)
    battle_id: int = betterproto.uint32_field(6)
    invasion_id: int = betterproto.uint32_field(7)


@dataclass
class OpenworldEndlessPlayer(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)
    score_time: int = betterproto.uint32_field(3)
    invasion_list: List["OpenworldEndlessPlayerInvasionData"] = (
        betterproto.message_field(4)
    )
    last_lineup_info: "LineupBriefInfo" = betterproto.message_field(5)
    effect_item_list: List["OpenworldEndlessItem"] = betterproto.message_field(6)
    max_score: int = betterproto.uint32_field(7)
    reward_progress: int = betterproto.uint32_field(8)
    group_level: int = betterproto.uint32_field(9)
    unfinished_monster_max_progress: int = betterproto.uint32_field(10)
    max_score_lineup_info: "LineupBriefInfo" = betterproto.message_field(11)
    greedy_max_finish_floor: int = betterproto.uint32_field(12)


@dataclass
class OpenworldEndlessItem(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class CabinTech(betterproto.Message):
    pos_x: int = betterproto.int32_field(1)
    pos_y: int = betterproto.int32_field(2)


@dataclass
class Cabin(betterproto.Message):
    type: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    extend_grade: int = betterproto.uint32_field(3)
    level_up_end_time: int = betterproto.uint32_field(4)
    tech_list: List["CabinTech"] = betterproto.message_field(5)


@dataclass
class IslandVenture(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)
    avatar_id: List[int] = betterproto.uint32_field(3)


@dataclass
class CabinTechAddAttr(betterproto.Message):
    attr_type: "AvatarAttrType" = betterproto.enum_field(1)
    add_ratio: float = betterproto.float_field(2)


@dataclass
class StigmataRune(betterproto.Message):
    rune_id: int = betterproto.uint32_field(1)
    strength_percent: int = betterproto.uint32_field(2)


@dataclass
class StigmataRuneGroup(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    rune_list: List["StigmataRune"] = betterproto.message_field(2)


@dataclass
class ExtraStoryAct(betterproto.Message):
    act_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)


@dataclass
class ExtraStoryArea(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    act_list: List["ExtraStoryAct"] = betterproto.message_field(2)
    begin_time: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)


@dataclass
class ExtraStoryChapter(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    min_player_level: int = betterproto.uint32_field(2)
    area_list: List["ExtraStoryArea"] = betterproto.message_field(3)
    begin_time: int = betterproto.uint32_field(4)
    end_time: int = betterproto.uint32_field(5)
    is_need_key: bool = betterproto.bool_field(6)


@dataclass
class ExtraStoryAchieve(betterproto.Message):
    achieve_id: int = betterproto.uint32_field(1)
    is_take: bool = betterproto.bool_field(2)


@dataclass
class IslandAvatarPos(betterproto.Message):
    avatar_class: int = betterproto.uint32_field(1)
    pos_type: int = betterproto.uint32_field(2)
    event_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class FriendCabin(betterproto.Message):
    type: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    extend_grade: int = betterproto.uint32_field(3)


@dataclass
class IslandVisitRecord(betterproto.Message):
    record_type: "IslandVisitRecordType" = betterproto.enum_field(1)
    visit_time: int = betterproto.uint32_field(2)
    visit_uid: int = betterproto.uint32_field(3)
    visit_event_id: int = betterproto.uint32_field(4)
    reward_list: List["RewardData"] = betterproto.message_field(5)


@dataclass
class MpTeamMemberInfo(betterproto.Message):
    detail: "PlayerDetailData" = betterproto.message_field(1)
    card: "PlayerCardData" = betterproto.message_field(2)


@dataclass
class MpTeamMember(betterproto.Message):
    index: int = betterproto.uint32_field(1)
    uid: int = betterproto.uint32_field(2)
    mp_exp: int = betterproto.uint32_field(3)
    stamina: int = betterproto.uint32_field(4)
    skill_list: List["MpSkill"] = betterproto.message_field(5)
    head_avatar_id: int = betterproto.uint32_field(6)
    dress_id: int = betterproto.uint32_field(7)
    punish_end_time: int = betterproto.uint32_field(8)
    voice_id: int = betterproto.uint32_field(9)
    member_info: "MpTeamMemberInfo" = betterproto.message_field(10)
    status: "LobbyMemberStatus" = betterproto.enum_field(11)
    client_status: "LobbyClientStatus" = betterproto.enum_field(12)
    avatar_trial_id: int = betterproto.uint32_field(13)
    is_wild: bool = betterproto.bool_field(14)
    region_name: str = betterproto.string_field(15)
    openworld_boss_info: "OpenworldBossMp" = betterproto.message_field(16)
    frame_id: int = betterproto.uint32_field(17)
    enter_type: int = betterproto.uint32_field(18)
    custom_head_id: int = betterproto.uint32_field(19)
    newbie_id: int = betterproto.uint32_field(20)
    data_version: int = betterproto.uint32_field(21)
    season_id: int = betterproto.uint32_field(22)
    season_group_id: int = betterproto.uint32_field(23)
    season_level: int = betterproto.uint32_field(24)
    extra_skill_id: int = betterproto.uint32_field(25)


@dataclass
class MpTeamData(betterproto.Message):
    team_id: int = betterproto.uint32_field(1)
    leader_uid: int = betterproto.uint32_field(2)
    status: "MpTeamStatus" = betterproto.enum_field(3)
    lobby_status: "LobbyStatus" = betterproto.enum_field(4)
    member_list: List["MpTeamMember"] = betterproto.message_field(5)
    min_level: int = betterproto.uint32_field(6)
    lobby_enter_type: "LobbyEnterType" = betterproto.enum_field(7)
    stage_id: int = betterproto.uint32_field(8)
    team_name: str = betterproto.string_field(9)
    max_level: int = betterproto.uint32_field(10)


@dataclass
class MpBadge(betterproto.Message):
    unique_id_u64: int = betterproto.uint64_field(1)
    badge_id: int = betterproto.uint32_field(2)


@dataclass
class MpBadgeData(betterproto.Message):
    equiped_badge_uid_u64: int = betterproto.uint64_field(1)
    badge_list: List["MpBadge"] = betterproto.message_field(2)


@dataclass
class MpSkillPoint(betterproto.Message):
    type: "MpSkillType" = betterproto.enum_field(1)
    value: int = betterproto.uint32_field(2)


@dataclass
class MpSkill(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class MpStageSettle(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)
    damage: int = betterproto.uint32_field(3)
    mvp_score: int = betterproto.uint32_field(4)


@dataclass
class ConsignedOrder(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    consigner_uid: int = betterproto.uint32_field(2)
    reward_id: int = betterproto.uint32_field(3)
    progress: int = betterproto.uint32_field(4)
    unique_id: int = betterproto.uint32_field(5)
    order_level: int = betterproto.uint32_field(6)
    reward_list: List["RewardData"] = betterproto.message_field(7)
    drop_item_list: List["DropItem"] = betterproto.message_field(8)
    order_credit: int = betterproto.uint32_field(9)


@dataclass
class BuffEffect(betterproto.Message):
    effect_id: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)
    max_during: int = betterproto.uint32_field(3)
    total_contri_num: int = betterproto.uint32_field(4)


@dataclass
class GrandKeySkill(betterproto.Message):
    key_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)
    last_time: int = betterproto.uint32_field(3)


@dataclass
class GrandKey(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)
    unlock_level: int = betterproto.uint32_field(3)
    scoin_num: int = betterproto.uint32_field(4)
    level: int = betterproto.uint32_field(5)
    breach_level: int = betterproto.uint32_field(6)
    activate_level: int = betterproto.uint32_field(7)
    skill: "GrandKeySkill" = betterproto.message_field(8)
    unlock_skill_list: List[int] = betterproto.uint32_field(9)


@dataclass
class Medal(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)
    extra_param: int = betterproto.int32_field(3)


@dataclass
class CustomHead(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)


@dataclass
class PhonePendant(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)


@dataclass
class StageActDifficultyInfo(betterproto.Message):
    act_id: int = betterproto.uint32_field(1)
    difficulty: int = betterproto.uint32_field(2)
    has_take_challenge_num_index: List[int] = betterproto.uint32_field(3)


@dataclass
class GachaTotalProb(betterproto.Message):
    name: str = betterproto.string_field(1)
    prob: str = betterproto.string_field(2)
    order_value: int = betterproto.uint32_field(3)


@dataclass
class GachaDetailProb(betterproto.Message):
    name: str = betterproto.string_field(1)
    star: str = betterproto.string_field(2)
    content: str = betterproto.string_field(3)
    prob: str = betterproto.string_field(4)
    is_up: bool = betterproto.bool_field(5)
    order_value: int = betterproto.uint32_field(6)


@dataclass
class MpMatchInfo(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    start_match_time: int = betterproto.uint32_field(2)


@dataclass
class PlayerCardSlot(betterproto.Message):
    index: int = betterproto.uint32_field(1)
    target_id: int = betterproto.uint32_field(2)


@dataclass
class PlayerCardAvatarData(betterproto.Message):
    index: int = betterproto.uint32_field(1)
    avatar: "AvatarDetailData" = betterproto.message_field(2)


@dataclass
class PlayerCardMedalData(betterproto.Message):
    index: int = betterproto.uint32_field(1)
    medal_id: int = betterproto.uint32_field(2)
    extra_param: int = betterproto.int32_field(3)


@dataclass
class PlayerCardElfData(betterproto.Message):
    index: int = betterproto.uint32_field(1)
    elf: "ElfDetailData" = betterproto.message_field(2)


@dataclass
class PlayerCardMsg(betterproto.Message):
    index: int = betterproto.uint32_field(1)
    msg: "ChatMsg" = betterproto.message_field(2)


@dataclass
class PlayerCardMsgData(betterproto.Message):
    msg_index: int = betterproto.uint32_field(1)
    msg_config: int = betterproto.uint32_field(2)
    msg_list: List["PlayerCardMsg"] = betterproto.message_field(3)


@dataclass
class PlayerCardData(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    avatar_list: List["PlayerCardAvatarData"] = betterproto.message_field(2)
    medal_list: List["PlayerCardMedalData"] = betterproto.message_field(3)
    msg_data: "PlayerCardMsgData" = betterproto.message_field(4)
    island_like_num: int = betterproto.uint32_field(5)
    on_phone_pendant_id: int = betterproto.uint32_field(6)
    elf_list: List["PlayerCardElfData"] = betterproto.message_field(7)


@dataclass
class ChallengeModeAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    hp_percent: int = betterproto.uint32_field(2)
    sp_percent: int = betterproto.uint32_field(3)
    last_recover_time: int = betterproto.uint32_field(4)
    is_die: bool = betterproto.bool_field(5)


@dataclass
class ChallengeModeArea(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    avatar_list: List["ChallengeModeAvatar"] = betterproto.message_field(2)
    weapon_uid_list: List[int] = betterproto.uint32_field(3)
    stigmata_uid_list: List[int] = betterproto.uint32_field(4)


@dataclass
class MpRecordMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    dress_id: int = betterproto.uint32_field(3)
    is_mvp: bool = betterproto.bool_field(4)
    is_leader: bool = betterproto.bool_field(5)
    nick_name: str = betterproto.string_field(6)
    avatar_level: int = betterproto.uint32_field(7)
    avatar_star_level: int = betterproto.uint32_field(8)
    region_name: str = betterproto.string_field(9)


@dataclass
class MpStageRecord(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    duration: int = betterproto.uint32_field(3)
    member_list: List["MpRecordMember"] = betterproto.message_field(4)


@dataclass
class StageFightInfo(betterproto.Message):
    damage: int = betterproto.uint32_field(1)
    elf_damage: int = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)
    charge_num: int = betterproto.uint32_field(4)


@dataclass
class MpStageDamageInfo(betterproto.Message):
    hit_damage_1: int = betterproto.uint32_field(1)
    hit_damage_2: int = betterproto.uint32_field(2)
    hit_damage_3: int = betterproto.uint32_field(3)


@dataclass
class GodWarStatus(betterproto.Message):
    teleport_id: int = betterproto.uint32_field(1)
    is_abandon: bool = betterproto.bool_field(2)
    star_ring_energy: int = betterproto.uint32_field(3)


@dataclass
class ScDLCStatus(betterproto.Message):
    sc_dlc_fever_score: int = betterproto.uint32_field(1)
    sc_dlc_climax_score: int = betterproto.uint32_field(2)


@dataclass
class OwChapterStatus(betterproto.Message):
    antigravity_coin_index_list: List[int] = betterproto.uint32_field(1)


@dataclass
class ChapterArkStatus(betterproto.Message):
    chosen_branch_site_list: List[int] = betterproto.uint32_field(1)
    is_abandon: bool = betterproto.bool_field(2)


@dataclass
class StageEndReqBody(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    end_status: "StageEndStatus" = betterproto.enum_field(2)
    is_mvp: bool = betterproto.bool_field(3)
    avatar_exp_reward: int = betterproto.uint32_field(4)
    scoin_reward: int = betterproto.uint32_field(5)
    challenge_index_list: List[int] = betterproto.uint32_field(6)
    drop_item_list: List["DropItem"] = betterproto.message_field(7)
    cheat_data_list: List["StageCheatData"] = betterproto.message_field(8)
    stage_pass_time: int = betterproto.uint32_field(10)
    max_combo_num: int = betterproto.uint32_field(11)
    score: int = betterproto.uint32_field(12)
    client_average_rtt: int = betterproto.uint32_field(13)
    client_max_rtt: int = betterproto.uint32_field(14)
    be_hit_times: int = betterproto.uint32_field(15)
    team_id: int = betterproto.uint32_field(16)
    mvp_score: int = betterproto.uint32_field(17)
    avatar_list: List["ChallengeModeAvatar"] = betterproto.message_field(18)
    evade_times: int = betterproto.uint32_field(19)
    evade_success_times: int = betterproto.uint32_field(20)
    boss_damage: int = betterproto.uint32_field(21)
    battle_score: int = betterproto.uint32_field(23)
    rank: int = betterproto.uint32_field(24)
    mp_stage_record: "MpStageRecord" = betterproto.message_field(25)
    dungeons_evaluation: int = betterproto.uint32_field(26)
    fight_info: "StageFightInfo" = betterproto.message_field(27)
    mp_stage_damage_info: "MpStageDamageInfo" = betterproto.message_field(28)
    security_cmd_reply: List[bytes] = betterproto.bytes_field(29)
    buff_id_list: List[int] = betterproto.uint32_field(30)
    stage_end_floor: int = betterproto.uint32_field(31)
    god_war_status: "GodWarStatus" = betterproto.message_field(32)
    sc_dlc_status: "ScDLCStatus" = betterproto.message_field(33)
    ow_chapter_status: "OwChapterStatus" = betterproto.message_field(34)
    selected_item_list: List["GenericItemNum"] = betterproto.message_field(35)
    chapter_ark_status: "ChapterArkStatus" = betterproto.message_field(36)
    activity_id: int = betterproto.uint32_field(37)
    monster_card_list: List[int] = betterproto.uint32_field(38)


@dataclass
class AvatarEquipBuff(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    buff_name: str = betterproto.string_field(2)
    buff_num: int = betterproto.uint32_field(3)


@dataclass
class UserRankWeeklyReportEndless(betterproto.Message):
    final_boss_id: int = betterproto.uint32_field(1)
    reward_type: "EndlessRewardType" = betterproto.enum_field(2)
    battle_config_id: int = betterproto.uint32_field(3)


@dataclass
class UserRankWeeklyReportExBoss(betterproto.Message):
    finished_boss_info_list: List["FinishedExBossInfo"] = betterproto.message_field(1)
    rank_percent: int = betterproto.uint32_field(2)


@dataclass
class UserRankWeeklyReportUltraEndless(betterproto.Message):
    group_level: int = betterproto.uint32_field(1)
    cup_num_before: int = betterproto.uint32_field(2)
    cup_num_after_schedule_settle: int = betterproto.uint32_field(3)
    battle_config_id: int = betterproto.uint32_field(4)


@dataclass
class UserRankSlgBattle(betterproto.Message):
    country_id: int = betterproto.uint32_field(1)


@dataclass
class RanchMonsterBriefInfo(betterproto.Message):
    monster_id: int = betterproto.uint32_field(1)
    skill_id_list: List[int] = betterproto.uint32_field(2)
    monster_level: int = betterproto.uint32_field(3)


@dataclass
class MonsterCardCardBriefData(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    star: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    talent_list: List[int] = betterproto.uint32_field(4)


@dataclass
class MonsterCardActivityRankInfo(betterproto.Message):
    team_brief_data_list: List["MonsterCardCardBriefData"] = betterproto.message_field(
        1
    )
    collection_level: int = betterproto.uint32_field(2)
    floor: int = betterproto.uint32_field(3)


@dataclass
class ThemeTowerBuffBriefInfo(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_level: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessActivitySpecialRankInfo(betterproto.Message):
    wave_num: int = betterproto.uint32_field(1)
    round_num: int = betterproto.uint32_field(2)
    card_num: int = betterproto.uint32_field(3)


@dataclass
class FutariBattleActivityBriefInfo(betterproto.Message):
    support_avatar_id: int = betterproto.uint32_field(1)


@dataclass
class UserRankData(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)
    rank: int = betterproto.uint32_field(3)
    nick_name: str = betterproto.string_field(4)
    armada_id: int = betterproto.uint32_field(5)
    armada_name: str = betterproto.string_field(6)
    avatar_id: int = betterproto.uint32_field(7)
    dress_id: int = betterproto.uint32_field(8)
    frame_id: int = betterproto.uint32_field(9)
    house_name: str = betterproto.string_field(10)
    custom_head_id: int = betterproto.uint32_field(11)
    is_logoff: bool = betterproto.bool_field(12)
    avatar_info_list: List["AvatarBriefInfo"] = betterproto.message_field(31)
    elf_info_list: List["ElfBriefInfo"] = betterproto.message_field(32)
    dlc_name: str = betterproto.string_field(33)
    weekly_report_endless_info: "UserRankWeeklyReportEndless" = (
        betterproto.message_field(34)
    )
    weekly_report_ex_boss_info: "UserRankWeeklyReportExBoss" = (
        betterproto.message_field(35)
    )
    ultra_endless_group_level: int = betterproto.uint32_field(36)
    weekly_report_ultra_endless_info: "UserRankWeeklyReportUltraEndless" = (
        betterproto.message_field(37)
    )
    slg_battle_info: "UserRankSlgBattle" = betterproto.message_field(39)
    monster_info_list: List["RanchMonsterBriefInfo"] = betterproto.message_field(40)
    monster_card_rank_info: "MonsterCardActivityRankInfo" = betterproto.message_field(
        41
    )
    kingdom_id: int = betterproto.uint32_field(42)
    theme_tower_buff_info_list: List["ThemeTowerBuffBriefInfo"] = (
        betterproto.message_field(43)
    )
    devil_auto_chess_rank_info: "DevilAutoChessActivitySpecialRankInfo" = (
        betterproto.message_field(44)
    )
    futari_battle_activity_brief_info: "FutariBattleActivityBriefInfo" = (
        betterproto.message_field(45)
    )
    monster_card_pvp_player_brief_data: "MonsterCardPvpPlayerBriefData" = (
        betterproto.message_field(46)
    )


@dataclass
class RankShowData(betterproto.Message):
    my_rank_type: int = betterproto.uint32_field(1)
    my_rank: int = betterproto.uint32_field(2)
    rank_list: List["UserRankData"] = betterproto.message_field(3)
    my_score: int = betterproto.uint32_field(4)
    is_feature_closed: bool = betterproto.bool_field(5)


@dataclass
class MasterPupilRetcode(betterproto.Message):
    pass


@dataclass
class MasterPupilCard(betterproto.Message):
    type: "MasterPupilType" = betterproto.enum_field(1)
    gender: "PlayerGenderType" = betterproto.enum_field(2)
    area: "PlayerAreaType" = betterproto.enum_field(3)
    interest: "PlayerInterestType" = betterproto.enum_field(4)
    declaration: str = betterproto.string_field(5)
    uid: int = betterproto.uint32_field(6)
    is_recommend: bool = betterproto.bool_field(7)
    score: int = betterproto.uint32_field(8)


@dataclass
class MasterPupilEventData(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    mission: "MasterPupilMission" = betterproto.message_field(3)
    apply: "MasterPupilApplyMsg" = betterproto.message_field(4)
    deal: "MasterPupilDealMsg" = betterproto.message_field(5)
    eval: "MasterPupilEvalMsg" = betterproto.message_field(6)
    company_mission_list: List["MasterPupilEventDataCompanyMission"] = (
        betterproto.message_field(7)
    )


@dataclass
class MasterPupilEventDataCompanyMission(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    time: int = betterproto.uint32_field(2)


@dataclass
class MasterPupilApplyMsg(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    type: "MasterPupilType" = betterproto.enum_field(2)
    card: "MasterPupilCard" = betterproto.message_field(3)
    level: int = betterproto.uint32_field(4)
    nickname: str = betterproto.string_field(5)
    teacher_rank: int = betterproto.uint32_field(6)
    last_online_time: int = betterproto.uint32_field(7)
    avatar_id: int = betterproto.uint32_field(8)
    dress_id: int = betterproto.uint32_field(9)
    score: int = betterproto.uint32_field(10)
    frame_id: int = betterproto.uint32_field(11)
    custom_head_id: int = betterproto.uint32_field(12)
    last_logout_time: int = betterproto.uint32_field(13)
    online_status: int = betterproto.uint32_field(14)
    is_logoff: bool = betterproto.bool_field(15)


@dataclass
class MasterPupilData(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    type: "MasterPupilType" = betterproto.enum_field(2)
    card: "MasterPupilCard" = betterproto.message_field(3)
    level: int = betterproto.uint32_field(4)
    nickname: str = betterproto.string_field(5)
    teacher_rank: int = betterproto.uint32_field(6)
    last_online_time: int = betterproto.uint32_field(7)
    avatar_id: int = betterproto.uint32_field(8)
    dress_id: int = betterproto.uint32_field(9)
    status: "MasterPupilStatus" = betterproto.enum_field(10)
    relation_time: int = betterproto.uint32_field(11)
    brief_data: "PlayerFriendBriefData" = betterproto.message_field(12)
    score: int = betterproto.uint32_field(13)
    is_logoff: bool = betterproto.bool_field(14)


@dataclass
class MasterPupilDealMsg(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    type: "MasterPupilType" = betterproto.enum_field(2)
    op: "MasterPupilOpType" = betterproto.enum_field(3)
    nickname: str = betterproto.string_field(4)


@dataclass
class MasterPoolData(betterproto.Message):
    material_list: List["Material"] = betterproto.message_field(1)


@dataclass
class MasterPupilEvalMsg(betterproto.Message):
    pupil_list: List["PupilMainData"] = betterproto.message_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class MasterMainData(betterproto.Message):
    exp: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    reward_level: List[int] = betterproto.uint32_field(3)
    last_dismiss_time: int = betterproto.uint32_field(4)
    score: int = betterproto.uint32_field(5)
    period_master_medal_num: int = betterproto.uint32_field(6)


@dataclass
class PupilFinishExamMissionMsg(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    mission: "MasterPupilMission" = betterproto.message_field(3)


@dataclass
class MasterPupilMission(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    status: int = betterproto.uint32_field(2)


@dataclass
class PupilStep(betterproto.Message):
    step_id: int = betterproto.uint32_field(1)
    master_id: int = betterproto.uint32_field(2)
    star: int = betterproto.uint32_field(3)
    comment: str = betterproto.string_field(4)
    level: int = betterproto.uint32_field(5)
    pool_reward: "MasterPoolData" = betterproto.message_field(6)
    exam_mission_id_list: List[int] = betterproto.uint32_field(7)


@dataclass
class PupilMainData(betterproto.Message):
    step_list: List["PupilStep"] = betterproto.message_field(1)
    last_dismiss_time: int = betterproto.uint32_field(2)
    pupil_id: int = betterproto.uint32_field(3)
    nickname: str = betterproto.string_field(4)
    cur_step_id: int = betterproto.uint32_field(5)
    left_assistant_times: int = betterproto.uint32_field(6)
    left_frozen_time: int = betterproto.uint32_field(7)
    master_brief: "PlayerFriendBriefData" = betterproto.message_field(8)
    pool_fame_num: int = betterproto.uint32_field(9)
    is_graduated: bool = betterproto.bool_field(10)


@dataclass
class TrialAvatar(betterproto.Message):
    sample_id: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)
    is_first_show: bool = betterproto.bool_field(3)


@dataclass
class Furniture(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    pos_x: int = betterproto.uint32_field(2)
    pos_y: int = betterproto.uint32_field(3)
    direction: int = betterproto.uint32_field(4)
    location: int = betterproto.uint32_field(5)


@dataclass
class DormRoom(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    name: str = betterproto.string_field(2)
    furniture_list: List["Furniture"] = betterproto.message_field(3)
    avatar_list: List[int] = betterproto.uint32_field(4)


@dataclass
class DormHouse(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    name: str = betterproto.string_field(2)
    room_list: List["DormRoom"] = betterproto.message_field(3)
    level: int = betterproto.uint32_field(4)


@dataclass
class DepotFurniture(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class DormRoomAvatar(betterproto.Message):
    room_id: int = betterproto.uint32_field(1)
    avatar_list: List[int] = betterproto.uint32_field(2)


@dataclass
class DormEvent(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    event_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class DormFacility(betterproto.Message):
    type: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    id: int = betterproto.uint32_field(3)
    begin_time: int = betterproto.uint32_field(4)


@dataclass
class DormPowerBonus(betterproto.Message):
    house_id: int = betterproto.uint32_field(1)
    bonus: int = betterproto.uint32_field(2)


@dataclass
class DormFacilityData(betterproto.Message):
    facility_list: List["DormFacility"] = betterproto.message_field(1)
    level_up_facility_type: int = betterproto.uint32_field(2)
    level_up_end_time: int = betterproto.uint32_field(3)
    store_stamina: int = betterproto.uint32_field(4)
    is_can_store_stamina: bool = betterproto.bool_field(5)
    power: int = betterproto.uint32_field(6)
    power_recover_left_time: int = betterproto.uint32_field(7)
    power_recover_config_time: int = betterproto.uint32_field(8)
    power_limit: int = betterproto.uint32_field(9)
    base_power_limit: int = betterproto.uint32_field(10)
    limit_bonus_list: List["DormPowerBonus"] = betterproto.message_field(11)
    power_recovery: int = betterproto.uint32_field(12)
    base_power_recovery: int = betterproto.uint32_field(13)
    bonus_power_recovery: int = betterproto.uint32_field(14)


@dataclass
class DormVisitRecord(betterproto.Message):
    visit_time: int = betterproto.uint32_field(1)
    visit_uid: int = betterproto.uint32_field(2)
    visit_avatar: int = betterproto.uint32_field(3)
    level: int = betterproto.uint32_field(4)
    name: str = betterproto.string_field(5)


@dataclass
class AvatarRoll(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)
    has_take_group_list: List[int] = betterproto.uint32_field(3)
    is_unlock: bool = betterproto.bool_field(4)


@dataclass
class OpenworldBossMp(betterproto.Message):
    boss_id: int = betterproto.uint32_field(1)
    left_hp: int = betterproto.uint32_field(2)
    mp_left_hp: int = betterproto.uint32_field(3)
    buff_list: List[int] = betterproto.uint32_field(4)


@dataclass
class MainlineStepMission(betterproto.Message):
    is_update: bool = betterproto.bool_field(1)
    cur_mainline_step_list: List[int] = betterproto.uint32_field(2)
    finished_mainline_step_list: List[int] = betterproto.uint32_field(3)


@dataclass
class LotteryPlayerInfo(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    vip_point: int = betterproto.uint32_field(3)
    vip_level: int = betterproto.uint32_field(4)
    account_type: int = betterproto.uint32_field(5)
    tag: int = betterproto.uint32_field(6)
    first_reward_num: int = betterproto.uint32_field(7)
    is_last_schedule_get_rare_reward: bool = betterproto.bool_field(8)


@dataclass
class ChatworldDishReward(betterproto.Message):
    reward_id: int = betterproto.uint32_field(1)
    taken_times: int = betterproto.uint32_field(2)
    last_take_time: int = betterproto.uint32_field(3)


@dataclass
class FinishedExBossInfo(betterproto.Message):
    boss_id: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)
    avatar_info_list: List["AvatarBriefInfo"] = betterproto.message_field(3)
    elf_info_list: List["ElfBriefInfo"] = betterproto.message_field(4)


@dataclass
class WarshipComponent(betterproto.Message):
    type: int = betterproto.uint32_field(1)
    component_id: int = betterproto.uint32_field(2)


@dataclass
class WarshipThemeData(betterproto.Message):
    warship_id: int = betterproto.uint32_field(1)
    component_list: List["WarshipComponent"] = betterproto.message_field(2)
    bgm_play_mode: int = betterproto.uint32_field(3)
    is_weather_fixed: bool = betterproto.bool_field(4)
    weather_idx: int = betterproto.uint32_field(5)


@dataclass
class VirtualAvatar(betterproto.Message):
    virtual_avatar_id: int = betterproto.uint32_field(1)
    virtual_weapon_id: int = betterproto.uint32_field(2)
    virtual_stigmata_id_1: int = betterproto.uint32_field(3)
    virtual_stigmata_id_2: int = betterproto.uint32_field(4)
    virtual_stigmata_id_3: int = betterproto.uint32_field(5)
    virtual_buff_id: int = betterproto.uint32_field(6)
    is_away: bool = betterproto.bool_field(7)


@dataclass
class OpenworldQuest(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    status: "OpenworldQuestStatus" = betterproto.enum_field(2)
    buff_id: int = betterproto.uint32_field(3)
    debuff_id: int = betterproto.uint32_field(4)
    position: int = betterproto.uint32_field(5)
    finish_challenge_list: List[int] = betterproto.uint32_field(6)
    progress: int = betterproto.uint32_field(7)
    rarity_reward_id: int = betterproto.uint32_field(8)
    quest_activity_id: int = betterproto.uint32_field(9)
    special_timeout_sec: int = betterproto.uint32_field(10)


@dataclass
class OpenworldTalent(betterproto.Message):
    talent_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class LobbyPlayer(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nick_name: str = betterproto.string_field(2)
    level: int = betterproto.uint32_field(3)
    avatar_trial_id: int = betterproto.uint32_field(4)
    is_newbie: bool = betterproto.bool_field(5)
    is_goback: bool = betterproto.bool_field(6)
    region_name: str = betterproto.string_field(7)
    armada_id: int = betterproto.uint32_field(8)


@dataclass
class SnsShowPriviledge(betterproto.Message):
    sns_show_type: int = betterproto.uint32_field(1)
    sns_show_priviledge_state: int = betterproto.uint32_field(2)


@dataclass
class TakeChatRedEnvelopePlayer(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    scoin_num: int = betterproto.uint32_field(3)
    drop_item: "DropItem" = betterproto.message_field(4)
    material: "Material" = betterproto.message_field(5)


@dataclass
class WikiDetailData(betterproto.Message):
    wiki_detail_type: int = betterproto.uint32_field(1)
    wiki_detail_num_get: int = betterproto.uint32_field(2)
    wiki_detail_score: int = betterproto.uint32_field(3)
    wiki_detail_num_total: int = betterproto.uint32_field(4)


@dataclass
class CommonUintKVStruct(betterproto.Message):
    key: int = betterproto.uint32_field(1)
    value: int = betterproto.uint32_field(2)


@dataclass
class PjmsCoreUnit(betterproto.Message):
    unit_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class PjmsAuxiliaryUnit(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    unit_id: int = betterproto.uint32_field(2)
    exp: int = betterproto.uint32_field(3)
    level: int = betterproto.uint32_field(4)
    lock_status: "PjmsAuxiliaryUnitLockStatus" = betterproto.enum_field(5)
    affix_list: List[int] = betterproto.uint32_field(6)


@dataclass
class PanelMissionData(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    cycle_list: List["PanelMissionDataPanelMissionCycleData"] = (
        betterproto.message_field(2)
    )


@dataclass
class PanelMissionDataPanelMissionCycleData(betterproto.Message):
    cycle_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)


@dataclass
class MonsterCardPvpPlayerData(betterproto.Message):
    player_uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    elo_score: int = betterproto.uint32_field(3)
    level: int = betterproto.uint32_field(4)
    card_data_list: List["MonsterPvpCardBriefData"] = betterproto.message_field(5)
    robot_id: int = betterproto.uint32_field(6)


@dataclass
class MonsterCardPvpCombatData(betterproto.Message):
    time: int = betterproto.uint32_field(1)
    attacker: "MonsterCardPvpPlayerData" = betterproto.message_field(2)
    defender: "MonsterCardPvpPlayerData" = betterproto.message_field(3)
    is_win: bool = betterproto.bool_field(4)


@dataclass
class MonsterPvpCardBriefData(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    star: int = betterproto.uint32_field(2)
    skill_list: List[int] = betterproto.uint32_field(3)


@dataclass
class MonsterCardPvpPlayerBriefData(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    max_elo_score: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    card_data_list: List["MonsterPvpCardBriefData"] = betterproto.message_field(4)
    nickname: str = betterproto.string_field(5)
    last_refresh_time: int = betterproto.uint32_field(6)
    today_add_elo_score: int = betterproto.uint32_field(7)
    today_sub_elo_score: int = betterproto.uint32_field(8)


@dataclass
class MonsterCardPvpCombatLog(betterproto.Message):
    my_data: "MonsterCardPvpPlayerData" = betterproto.message_field(1)
    opponent_data: "MonsterCardPvpPlayerData" = betterproto.message_field(2)
    is_win: bool = betterproto.bool_field(3)
    delta_score: int = betterproto.int32_field(4)


@dataclass
class MonsterCardPvpCombatHistoryData(betterproto.Message):
    combat_log_list: List["MonsterCardPvpCombatLog"] = betterproto.message_field(1)


@dataclass
class Mission(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    status: "MissionStatus" = betterproto.enum_field(2)
    progress: int = betterproto.uint32_field(3)
    begin_time: int = betterproto.uint32_field(4)
    end_time: int = betterproto.uint32_field(5)
    priority: int = betterproto.uint32_field(6)
    finished_times: int = betterproto.uint32_field(7)
    finished_times_limit: int = betterproto.uint32_field(8)
    cycle_id: int = betterproto.uint32_field(9)


@dataclass
class WeekDayActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_id_list: List[int] = betterproto.uint32_field(2)
    enter_times: int = betterproto.uint32_field(3)
    begin_time: int = betterproto.uint32_field(4)
    end_time: int = betterproto.uint32_field(5)
    activity_end_time: int = betterproto.uint32_field(6)
    exchange_times: int = betterproto.uint32_field(7)
    challenge_reward_granted_list: List[int] = betterproto.uint32_field(8)
    activity_begin_time: int = betterproto.uint32_field(9)
    force_open_time: int = betterproto.uint32_field(10)
    schedule_id: int = betterproto.uint32_field(11)


@dataclass
class ByteArray(betterproto.Message):
    pass


@dataclass
class ByteString(betterproto.Message):
    empty: bytes = betterproto.bytes_field(1)
    a_bytes: List[bytes] = betterproto.bytes_field(2)


@dataclass
class ScratchTicketPoint(betterproto.Message):
    x_pos: int = betterproto.uint32_field(1)
    y_pos: int = betterproto.uint32_field(2)
    ticket_item_id: int = betterproto.uint32_field(3)


@dataclass
class GetScratchTicketReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GetScratchTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    plate_id: int = betterproto.uint32_field(3)
    point_list: List["ScratchTicketPoint"] = betterproto.message_field(4)
    reset_times: int = betterproto.uint32_field(5)
    round: int = betterproto.uint32_field(6)
    core_plate_end_round: int = betterproto.uint32_field(7)
    has_got_core_plate: bool = betterproto.bool_field(8)


@dataclass
class ScratchReq(betterproto.Message):
    x_pos: int = betterproto.uint32_field(1)
    y_pos: int = betterproto.uint32_field(2)
    activity_id: int = betterproto.uint32_field(3)


@dataclass
class ScratchRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class ResetScratchTicketPlateReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class ResetScratchTicketPlateRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class AddOnActivityRewardNotify(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class GetBingoActivityDataReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class BingoCard(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)
    card_status: "BingoCardBingoCardStatus" = betterproto.enum_field(2)


@dataclass
class BingoData(betterproto.Message):
    bingo_id: int = betterproto.uint32_field(1)
    card_list: List["BingoCard"] = betterproto.message_field(2)
    reset_times: int = betterproto.uint32_field(3)


@dataclass
class GetBingoActivityDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    bingo_data_list: List["BingoData"] = betterproto.message_field(3)


@dataclass
class BingoActivityFlopCardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    bingo_id: int = betterproto.uint32_field(2)
    card_id: int = betterproto.uint32_field(3)


@dataclass
class BingoActivityFlopCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    bingo_id: int = betterproto.uint32_field(3)
    card_id: int = betterproto.uint32_field(4)
    reward_list: List["RewardData"] = betterproto.message_field(5)
    drop_item_list: List["DropItem"] = betterproto.message_field(6)
    is_all_finished: bool = betterproto.bool_field(7)


@dataclass
class BingoActivityResetBingoReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    bingo_id: int = betterproto.uint32_field(2)


@dataclass
class BingoActivityResetBingoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class GetBulletinScoreActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class BulletinScoreActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)
    has_take_reward_list: List[int] = betterproto.uint32_field(3)
    has_take_reward_progress_list: List[int] = betterproto.uint32_field(4)


@dataclass
class GetBulletinScoreActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_list: List["BulletinScoreActivity"] = betterproto.message_field(2)


@dataclass
class TakeBulletinScoreActivityRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TakeBulletinScoreActivityRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)


@dataclass
class GetContinuousRechargeActivityReq(betterproto.Message):
    pass


@dataclass
class GetContinuousRechargeActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    progress: int = betterproto.uint32_field(3)
    today_vip_point: int = betterproto.uint32_field(4)
    has_take_reward_progress_list: List[int] = betterproto.uint32_field(5)
    last_refresh_time: int = betterproto.uint32_field(6)


@dataclass
class TakeContinuousRechargeRewardReq(betterproto.Message):
    progress: int = betterproto.uint32_field(1)


@dataclass
class TakeContinuousRechargeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward: "RewardData" = betterproto.message_field(2)


@dataclass
class FlopActivityCardData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    state: int = betterproto.uint32_field(2)
    card_number: int = betterproto.uint32_field(3)


@dataclass
class FlopActivityRewardData(betterproto.Message):
    index: int = betterproto.uint32_field(1)
    state: int = betterproto.uint32_field(2)


@dataclass
class FlopActivityData(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    card_list: List["FlopActivityCardData"] = betterproto.message_field(2)
    has_take_reward_list: List[int] = betterproto.uint32_field(3)
    flop_times: int = betterproto.uint32_field(4)
    cur_front_card: int = betterproto.uint32_field(5)
    show_id: int = betterproto.uint32_field(6)
    total_flop_times: int = betterproto.uint32_field(7)


@dataclass
class GetFlopActivityDataReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GetFlopActivityDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_data: "FlopActivityData" = betterproto.message_field(2)


@dataclass
class TakeFlopRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    reward_index: int = betterproto.uint32_field(2)


@dataclass
class TakeFlopRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    reward_index: int = betterproto.uint32_field(3)
    reward_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class FlopActivityFlopCardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    card_id: int = betterproto.uint32_field(2)


@dataclass
class FlopActivityFlopCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_data: "FlopActivityData" = betterproto.message_field(2)
    reward_index: int = betterproto.uint32_field(3)
    reward_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class GetLotteryActivityReq(betterproto.Message):
    pass


@dataclass
class LotteryData(betterproto.Message):
    lottery_id: int = betterproto.uint32_field(1)
    lottery_number: List[int] = betterproto.uint32_field(2)
    reward_taken_lottery_number: List[int] = betterproto.uint32_field(3)
    draw_number_begin_time: int = betterproto.uint32_field(4)
    draw_number_end_time: int = betterproto.uint32_field(5)
    take_reward_begin_time: int = betterproto.uint32_field(6)
    first_reward_id: int = betterproto.uint32_field(7)
    first_reward_number_str: str = betterproto.string_field(8)
    second_reward_id: int = betterproto.uint32_field(9)
    second_reward_number_str: str = betterproto.string_field(10)
    third_reward_id: int = betterproto.uint32_field(11)
    max_draw_times: int = betterproto.uint32_field(12)
    special_number: int = betterproto.uint32_field(13)


@dataclass
class GetLotteryActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_group_id: int = betterproto.uint32_field(2)
    lottery_data_list: List["LotteryData"] = betterproto.message_field(3)


@dataclass
class LotteryUseBoxReq(betterproto.Message):
    pass


@dataclass
class LotteryUseBoxRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    get_material_list: List["Material"] = betterproto.message_field(2)


@dataclass
class LotteryDrawNumberReq(betterproto.Message):
    lottery_id: int = betterproto.uint32_field(1)


@dataclass
class LotteryDrawNumberRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    lottery_id: int = betterproto.uint32_field(2)
    lottery_number: int = betterproto.uint32_field(3)


@dataclass
class LotteryTakeRewardReq(betterproto.Message):
    lottery_id: int = betterproto.uint32_field(1)


@dataclass
class LotteryReward(betterproto.Message):
    lottery_id: int = betterproto.uint32_field(1)
    lottery_number: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    reward_type: int = betterproto.uint32_field(4)


@dataclass
class LotteryTakeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    lottery_reward_list: List["LotteryReward"] = betterproto.message_field(2)


@dataclass
class GetTowerRaidActivityReq(betterproto.Message):
    pass


@dataclass
class TowerRaidAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    enter_times: int = betterproto.uint32_field(2)
    weapon_id: int = betterproto.uint32_field(3)
    stigmata_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class TowerRaidBossStage(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    boss_left_hp: int = betterproto.uint32_field(2)


@dataclass
class GetTowerRaidActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    activity_id: int = betterproto.uint32_field(3)
    hard_level: int = betterproto.uint32_field(4)
    enter_times: int = betterproto.uint32_field(5)
    is_settled: bool = betterproto.bool_field(6)
    avatar_list: List["TowerRaidAvatar"] = betterproto.message_field(7)
    boss_stage_list: List["TowerRaidBossStage"] = betterproto.message_field(8)


@dataclass
class TakeTowerRaidRewardReq(betterproto.Message):
    pass


@dataclass
class TakeTowerRaidRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    activity_id: int = betterproto.uint32_field(3)
    hard_level: int = betterproto.uint32_field(4)
    reward_list: List["RewardData"] = betterproto.message_field(5)
    rating: "TowerRaidRating" = betterproto.enum_field(6)
    drop_item_list: List["DropItem"] = betterproto.message_field(7)


@dataclass
class UpdateTowerRaidBossReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    boss_left_hp: int = betterproto.uint32_field(2)


@dataclass
class UpdateTowerRaidBossRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    boss_left_hp: int = betterproto.uint32_field(3)


@dataclass
class TowerRaidLockAvatarNotify(betterproto.Message):
    avatar_list: List["TowerRaidAvatar"] = betterproto.message_field(1)


@dataclass
class GetLoginActivityReq(betterproto.Message):
    pass


@dataclass
class LoginActivityData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    login_days: int = betterproto.uint32_field(2)
    has_take_days_reward_list: List[int] = betterproto.uint32_field(3)
    has_take_days_bonus_reward_list: List[int] = betterproto.uint32_field(4)
    accept_time: int = betterproto.uint32_field(5)
    duration_end_time: int = betterproto.uint32_field(6)


@dataclass
class GetLoginActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    login_list: List["LoginActivityData"] = betterproto.message_field(2)


@dataclass
class TakeLoginActivityRewardReq(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    take_days: int = betterproto.uint32_field(2)
    reward_type: "LoginActivityRewardType" = betterproto.enum_field(3)


@dataclass
class TakeLoginActivityRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    id: int = betterproto.uint32_field(2)
    take_days: int = betterproto.uint32_field(3)
    reward_list: List["RewardData"] = betterproto.message_field(4)
    reward_type: "LoginActivityRewardType" = betterproto.enum_field(5)


@dataclass
class ChapterActivityBoss(betterproto.Message):
    boss_stage_id: int = betterproto.uint32_field(1)
    left_hp: int = betterproto.uint32_field(2)
    cur_section_id: int = betterproto.uint32_field(3)


@dataclass
class ChapterActivityExclusiveStage(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterActivityStage(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    max_floor: int = betterproto.uint32_field(2)
    pass_times: int = betterproto.uint32_field(3)
    max_score: int = betterproto.uint32_field(4)


@dataclass
class ChapterActivity(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    level_exp: int = betterproto.uint32_field(3)
    has_take_reward_level_list: List[int] = betterproto.uint32_field(4)
    is_take_daily_reward: bool = betterproto.bool_field(5)
    boss_list: List["ChapterActivityBoss"] = betterproto.message_field(6)
    player_level: int = betterproto.uint32_field(7)
    daily_reward_id: int = betterproto.uint32_field(8)
    stage_list: List["ChapterActivityStage"] = betterproto.message_field(9)


@dataclass
class GetChapterActivityDataReq(betterproto.Message):
    pass


@dataclass
class GetChapterActivityDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_activity_list: List["ChapterActivity"] = betterproto.message_field(2)


@dataclass
class TakeChapterActivityLevelRewardReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    is_take_all: bool = betterproto.bool_field(3)


@dataclass
class TakeChapterActivityLevelRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    level_list: List[int] = betterproto.uint32_field(3)
    reward_list: List["RewardData"] = betterproto.message_field(4)
    is_take_all: bool = betterproto.bool_field(5)


@dataclass
class SyncChapterActivityDataNotify(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    chapter_activity: "ChapterActivity" = betterproto.message_field(2)


@dataclass
class ResetChapterActivityExclusiveStageReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)


@dataclass
class ResetChapterActivityExclusiveStageRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    group_id: int = betterproto.uint32_field(3)
    stage_id: int = betterproto.uint32_field(4)


@dataclass
class ResetChapterActivityTalentReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class ResetChapterActivityTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)


@dataclass
class ReportChapterActivityStageReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    floor: int = betterproto.uint32_field(3)


@dataclass
class ReportChapterActivityStageRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)


@dataclass
class MissionThemeData(betterproto.Message):
    theme_id: int = betterproto.uint32_field(1)
    is_theme_upgrade: bool = betterproto.bool_field(2)
    has_take_extra_reward_mission_list: List[int] = betterproto.uint32_field(3)
    is_has_take_all_extra_reward: bool = betterproto.bool_field(4)


@dataclass
class GetMissionThemeDataReq(betterproto.Message):
    theme_id: int = betterproto.uint32_field(1)
    is_get_all: bool = betterproto.bool_field(2)


@dataclass
class GetMissionThemeDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    theme_id: int = betterproto.uint32_field(2)
    is_get_all: bool = betterproto.bool_field(3)
    mission_theme_list: List["MissionThemeData"] = betterproto.message_field(4)


@dataclass
class UpgradeMissionThemeReq(betterproto.Message):
    theme_id: int = betterproto.uint32_field(1)


@dataclass
class UpgradeMissionThemeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    theme_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class TakeMissionThemeRewardReq(betterproto.Message):
    theme_id: int = betterproto.uint32_field(1)
    mission_id: int = betterproto.uint32_field(2)


@dataclass
class TakeMissionThemeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    theme_id: int = betterproto.uint32_field(2)
    mission_id: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class OfflineResource(betterproto.Message):
    resource_type: int = betterproto.uint32_field(1)
    has_take_box_num: int = betterproto.uint32_field(2)
    available_box_num: int = betterproto.uint32_field(3)


@dataclass
class GetOfflineResourceDataReq(betterproto.Message):
    pass


@dataclass
class GetOfflineResourceDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_schedule_id: int = betterproto.uint32_field(2)
    offline_resource_list: List["OfflineResource"] = betterproto.message_field(3)


@dataclass
class TakeOfflineResourceBoxReq(betterproto.Message):
    resource_type: int = betterproto.uint32_field(1)
    box_id: int = betterproto.uint32_field(2)
    box_num: int = betterproto.uint32_field(3)


@dataclass
class TakeOfflineResourceBoxRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data_list: List["RewardData"] = betterproto.message_field(2)
    offline_resource_data: "OfflineResource" = betterproto.message_field(3)


@dataclass
class OverlapGrid(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    summon_id: int = betterproto.uint32_field(2)


@dataclass
class OverlapActivityData(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    grid_list: List["OverlapGrid"] = betterproto.message_field(2)
    has_take_reward_id_list: List[int] = betterproto.uint32_field(3)
    overlap_id: int = betterproto.uint32_field(4)


@dataclass
class GetOverlapActivityDataReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GetOverlapActivityDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_data: "OverlapActivityData" = betterproto.message_field(2)


@dataclass
class TakeOverlapActivityRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    id: int = betterproto.uint32_field(2)


@dataclass
class TakeOverlapActivityRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    id: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class OverlapActivitySummonReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class OverlapActivitySummonRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    grid: "OverlapGrid" = betterproto.message_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class OverlapActivityMoveReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    from_grid_id: int = betterproto.uint32_field(2)
    to_grid_id: int = betterproto.uint32_field(3)


@dataclass
class OverlapActivityMoveRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    from_grid: "OverlapGrid" = betterproto.message_field(3)
    to_grid: "OverlapGrid" = betterproto.message_field(4)


@dataclass
class WeeklyRoutineMission(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    cur_contribution: int = betterproto.uint32_field(2)
    weekly_contribution: int = betterproto.uint32_field(3)
    mission_finish_times: int = betterproto.uint32_field(4)


@dataclass
class GetWeeklyRoutineActivityReq(betterproto.Message):
    pass


@dataclass
class GetWeeklyRoutineActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_schedule_id: int = betterproto.uint32_field(2)
    weekly_routine_mission_list: List["WeeklyRoutineMission"] = (
        betterproto.message_field(3)
    )
    has_take_routine_reward_id_list: List[int] = betterproto.uint32_field(4)
    weekly_routine_contribution: int = betterproto.uint32_field(5)


@dataclass
class TakeWeeklyRoutineRewardReq(betterproto.Message):
    weekly_routine_reward_id: int = betterproto.uint32_field(1)


@dataclass
class TakeWeeklyRoutineRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    weekly_routine_reward_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class GetRankScheduleDataReq(betterproto.Message):
    pass


@dataclass
class RankScheduleData(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    type: int = betterproto.uint32_field(2)
    begin_time: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)


@dataclass
class GetRankScheduleDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rank_schedule_list: List["RankScheduleData"] = betterproto.message_field(2)


@dataclass
class GetRankScheduleRankReq(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)


@dataclass
class GetRankScheduleRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rank_data: "RankShowData" = betterproto.message_field(2)


@dataclass
class GetSurveyDataReq(betterproto.Message):
    pass


@dataclass
class SurveyData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    url: str = betterproto.string_field(2)


@dataclass
class GetSurveyDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    survey_data_list: List["SurveyData"] = betterproto.message_field(2)


@dataclass
class FinishSurveyNotify(betterproto.Message):
    survey_id: int = betterproto.uint32_field(1)


@dataclass
class GetThemeDataReq(betterproto.Message):
    pass


@dataclass
class ThemeData(betterproto.Message):
    theme_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    bonus_drop_times: int = betterproto.uint32_field(4)
    total_bonus_score: int = betterproto.uint32_field(5)


@dataclass
class GetThemeDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    theme_list: List["ThemeData"] = betterproto.message_field(2)


@dataclass
class SyncThemeDataNotify(betterproto.Message):
    theme: "ThemeData" = betterproto.message_field(1)


@dataclass
class GrantOuterRewardNotify(betterproto.Message):
    event_type: int = betterproto.uint32_field(1)
    event_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    ticket: str = betterproto.string_field(4)


@dataclass
class GetNewbieActivityReq(betterproto.Message):
    pass


@dataclass
class NewbieLevelRush(betterproto.Message):
    is_purchased: bool = betterproto.bool_field(1)
    free_reward_max_take_level: int = betterproto.uint32_field(2)
    purchase_reward_max_take_level: int = betterproto.uint32_field(3)


@dataclass
class GetNewbieActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    level_rush: "NewbieLevelRush" = betterproto.message_field(4)


@dataclass
class GetBbqActivityDataReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GetBbqActivityDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    bbq_level: int = betterproto.uint32_field(3)
    bbq_exp: int = betterproto.uint32_field(4)
    max_reward_taken_level: int = betterproto.uint32_field(5)
    can_use_bbq_count: int = betterproto.uint32_field(6)


@dataclass
class BbqActivityCookReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    bonus_level: int = betterproto.uint32_field(2)


@dataclass
class BbqActivityCookRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    bbq_level: int = betterproto.uint32_field(4)
    bbq_exp: int = betterproto.uint32_field(5)
    can_use_bbq_count: int = betterproto.uint32_field(6)


@dataclass
class BbqActivityTakeLevelUpRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class BbqActivityTakeLevelUpRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data_list: List["RewardData"] = betterproto.message_field(2)
    max_reward_taken_level: int = betterproto.uint32_field(3)


@dataclass
class GetTradingCardActivityReq(betterproto.Message):
    pass


@dataclass
class GetTradingCardActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_schedule_id: int = betterproto.uint32_field(2)
    trade_num: int = betterproto.uint32_field(3)


@dataclass
class TakeTradingCardRewardReq(betterproto.Message):
    pass


@dataclass
class TakeTradingCardRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)
    trade_num: int = betterproto.uint32_field(3)


@dataclass
class PictureStep(betterproto.Message):
    step_id: int = betterproto.uint32_field(1)
    choice_id: int = betterproto.uint32_field(2)


@dataclass
class GetPictureActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GetPictureActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    step_list: List["PictureStep"] = betterproto.message_field(3)
    is_share: bool = betterproto.bool_field(4)
    is_take_share_reward: bool = betterproto.bool_field(5)
    score: int = betterproto.uint32_field(6)


@dataclass
class PictureActivityChooseReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    step_id: int = betterproto.uint32_field(2)
    choice_id: int = betterproto.uint32_field(3)


@dataclass
class PictureActivityChooseRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward: "RewardData" = betterproto.message_field(2)
    step: "PictureStep" = betterproto.message_field(3)


@dataclass
class PictureActivityShareReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    is_take_reward: bool = betterproto.bool_field(2)


@dataclass
class PictureActivityShareRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward: "RewardData" = betterproto.message_field(2)


@dataclass
class SyncPictureActivityScoreNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class JigsawBlockData(betterproto.Message):
    block_id: int = betterproto.uint32_field(1)
    piece_id: int = betterproto.uint32_field(2)


@dataclass
class JigsawData(betterproto.Message):
    jigsaw_id: int = betterproto.uint32_field(1)
    block_list: List["JigsawBlockData"] = betterproto.message_field(2)
    waiting_piece_id_list: List[int] = betterproto.uint32_field(3)
    taken_reward_group_id_list: List[int] = betterproto.uint32_field(4)
    is_finish_reward_taken: bool = betterproto.bool_field(5)
    is_finished: bool = betterproto.bool_field(6)


@dataclass
class GetJigsawActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GetJigsawActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    jigsaw_list: List["JigsawData"] = betterproto.message_field(3)


@dataclass
class JigsawExchangePieceReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    jigsaw_id: int = betterproto.uint32_field(2)


@dataclass
class JigsawExchangePieceRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    jigsaw_id: int = betterproto.uint32_field(3)


@dataclass
class JigsawMoveWaitingPieceReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    jigsaw_id: int = betterproto.uint32_field(2)
    target_x: int = betterproto.uint32_field(3)
    target_y: int = betterproto.uint32_field(4)


@dataclass
class JigsawMoveWaitingPieceRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    jigsaw_id: int = betterproto.uint32_field(3)


@dataclass
class JigsawMovePieceInJigsawAreaReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    jigsaw_id: int = betterproto.uint32_field(2)
    source_x: int = betterproto.uint32_field(3)
    source_y: int = betterproto.uint32_field(4)
    target_x: int = betterproto.uint32_field(5)
    target_y: int = betterproto.uint32_field(6)


@dataclass
class JigsawMovePieceInJigsawAreaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    jigsaw_id: int = betterproto.uint32_field(3)


@dataclass
class JigsawTakeGroupRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    jigsaw_id: int = betterproto.uint32_field(2)
    group_id: int = betterproto.uint32_field(3)


@dataclass
class JigsawTakeGroupRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    jigsaw_id: int = betterproto.uint32_field(3)
    group_id: int = betterproto.uint32_field(4)
    reward: "RewardData" = betterproto.message_field(5)


@dataclass
class JigsawTakeFinishRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    jigsaw_id: int = betterproto.uint32_field(2)


@dataclass
class JigsawTakeFinishRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    jigsaw_id: int = betterproto.uint32_field(3)
    reward: "RewardData" = betterproto.message_field(4)


@dataclass
class GardenSite(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    crop_id: int = betterproto.uint32_field(2)
    delay_begin_time: int = betterproto.uint32_field(3)


@dataclass
class GardenCrop(betterproto.Message):
    crop_id: int = betterproto.uint32_field(1)
    harvest_num: int = betterproto.uint32_field(2)


@dataclass
class GardenActivityData(betterproto.Message):
    garden_id: int = betterproto.uint32_field(1)
    site_list: List["GardenSite"] = betterproto.message_field(2)
    crop_list: List["GardenCrop"] = betterproto.message_field(3)
    daily_harvest_num: int = betterproto.uint32_field(4)
    last_grow_time: int = betterproto.uint32_field(5)


@dataclass
class GetGardenActivityReq(betterproto.Message):
    pass


@dataclass
class GetGardenActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    garden: "GardenActivityData" = betterproto.message_field(2)


@dataclass
class GardenHarvestReq(betterproto.Message):
    site_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GardenHarvestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    garden: "GardenActivityData" = betterproto.message_field(2)


@dataclass
class GardenSpeedUpWithMaterialReq(betterproto.Message):
    pass


@dataclass
class GardenSpeedUpWithMaterialRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    garden: "GardenActivityData" = betterproto.message_field(2)


@dataclass
class GardenRefreshSiteReq(betterproto.Message):
    pass


@dataclass
class GardenRefreshSiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    garden_id: int = betterproto.uint32_field(2)
    site_list: List["GardenSite"] = betterproto.message_field(3)
    last_grow_time: int = betterproto.uint32_field(4)


@dataclass
class GetGardenScheduleReq(betterproto.Message):
    pass


@dataclass
class GetGardenScheduleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    garden_id: int = betterproto.uint32_field(2)
    begin_time: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)
    is_garden_opened: bool = betterproto.bool_field(5)


@dataclass
class GetDropLimitActivityReq(betterproto.Message):
    pass


@dataclass
class DropLimitItem(betterproto.Message):
    limit_id: int = betterproto.uint32_field(1)
    got_num: int = betterproto.uint32_field(2)


@dataclass
class DropLimitActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    drop_limit_got_num_list: List["DropLimitItem"] = betterproto.message_field(4)


@dataclass
class GetDropLimitActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    drop_limit_activity_list: List["DropLimitActivity"] = betterproto.message_field(2)


@dataclass
class GetLoginMissionActivityReq(betterproto.Message):
    pass


@dataclass
class LoginMissionActivity(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    has_finished_mission_list: List[int] = betterproto.uint32_field(2)
    unlock_days: int = betterproto.uint32_field(3)
    login_days: int = betterproto.uint32_field(4)


@dataclass
class GetLoginMissionActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    has_finished_activity_list: List[int] = betterproto.uint32_field(2)
    activity_list: List["LoginMissionActivity"] = betterproto.message_field(3)


@dataclass
class TakeLoginMissionRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TakeLoginMissionRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)


@dataclass
class SanctuaryActivityData(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    exp: int = betterproto.uint32_field(3)
    has_take_reward_level: int = betterproto.uint32_field(4)
    product_counter_time: int = betterproto.uint32_field(5)
    product_storage_num: int = betterproto.uint32_field(6)
    is_init: bool = betterproto.bool_field(7)
    player_level_group_id: int = betterproto.uint32_field(8)
    stage_id_list: List[int] = betterproto.uint32_field(9)
    is_new_stage: bool = betterproto.bool_field(10)


@dataclass
class SanctuaryGetMainInfoReq(betterproto.Message):
    pass


@dataclass
class SanctuaryGetMainInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_data: "SanctuaryActivityData" = betterproto.message_field(2)
    begin_time: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)


@dataclass
class SanctuaryTakeLevelRewardReq(betterproto.Message):
    pass


@dataclass
class SanctuaryTakeLevelRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    has_take_reward_level: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class SanctuaryTakeProductReq(betterproto.Message):
    pass


@dataclass
class SanctuaryTakeProductRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class SanctuaryStartNotify(betterproto.Message):
    pass


@dataclass
class ActivityRewardStatisticItemData(betterproto.Message):
    show_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class ActivityRewardStatisticData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    item_data_list: List["ActivityRewardStatisticItemData"] = betterproto.message_field(
        2
    )


@dataclass
class GetActivityRewardStatisticDataReq(betterproto.Message):
    id: int = betterproto.uint32_field(1)


@dataclass
class GetActivityRewardStatisticDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    id: int = betterproto.uint32_field(2)
    activity_reward_data: "ActivityRewardStatisticData" = betterproto.message_field(3)


@dataclass
class SanctuaryStageEndNotify(betterproto.Message):
    total_add_exp: int = betterproto.uint32_field(1)
    bonus_add_exp: int = betterproto.uint32_field(2)
    old_level: int = betterproto.uint32_field(3)
    old_exp: int = betterproto.uint32_field(4)


@dataclass
class GetSlotMachineMainInfoReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GetSlotMachineMainInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    cur_gacha_id: int = betterproto.uint32_field(3)
    gacha_times: int = betterproto.uint32_field(4)
    has_take_reward_progress: int = betterproto.uint32_field(5)
    is_next_super_gacha: bool = betterproto.bool_field(6)


@dataclass
class StartSlotMachineReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class StartSlotMachineRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    box_item_id: int = betterproto.uint32_field(3)


@dataclass
class TakeSlotMachineProgressRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TakeSlotMachineProgressRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)


@dataclass
class GetBulletinActivityMissionReq(betterproto.Message):
    activity_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class BulletinMissionGroup(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    mission_list: List["PanelMissionData"] = betterproto.message_field(2)


@dataclass
class GetBulletinActivityMissionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mission_group_list: List["BulletinMissionGroup"] = betterproto.message_field(2)


@dataclass
class GetExaminationActivityReq(betterproto.Message):
    pass


@dataclass
class Examination(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    last_answer: int = betterproto.uint32_field(2)
    is_finished: bool = betterproto.bool_field(3)
    answer_list: List[int] = betterproto.uint32_field(4)
    is_evaluated: bool = betterproto.bool_field(5)


@dataclass
class GetExaminationActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    cur_examination_idx: int = betterproto.uint32_field(3)
    finished_round: int = betterproto.uint32_field(4)
    examination_list: List["Examination"] = betterproto.message_field(5)
    examination_stage_id: int = betterproto.uint32_field(6)


@dataclass
class FinishExaminationReq(betterproto.Message):
    examination_id: int = betterproto.uint32_field(1)
    answer_index: int = betterproto.uint32_field(2)


@dataclass
class FinishExaminationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    examination_id: int = betterproto.uint32_field(2)
    is_finished: bool = betterproto.bool_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class StartNextRoundExaminationReq(betterproto.Message):
    pass


@dataclass
class StartNextRoundExaminationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class EvaluateExaminationReq(betterproto.Message):
    examination_id: int = betterproto.uint32_field(1)
    is_like: bool = betterproto.bool_field(2)


@dataclass
class EvaluateExaminationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ChapterActivityDailyRewardNotify(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    daily_reward: "RewardData" = betterproto.message_field(2)


@dataclass
class GetSupportActivityReq(betterproto.Message):
    pass


@dataclass
class SupportData(betterproto.Message):
    support_index: int = betterproto.uint32_field(1)
    is_take_share_reward: bool = betterproto.bool_field(2)
    support_end_time: int = betterproto.uint32_field(3)
    support_begin_time: int = betterproto.uint32_field(4)
    count_down_time: int = betterproto.uint32_field(5)


@dataclass
class GetSupportActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    support_data: "SupportData" = betterproto.message_field(3)
    is_take_global_reward: bool = betterproto.bool_field(4)


@dataclass
class SupportActivitySupportReq(betterproto.Message):
    pass


@dataclass
class SupportActivitySupportRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    support_index: int = betterproto.uint32_field(2)


@dataclass
class SupportActivityTakeShareRewardReq(betterproto.Message):
    pass


@dataclass
class SupportActivityTakeShareRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class SupportActivityTakeGlobalRewardReq(betterproto.Message):
    pass


@dataclass
class SupportActivityTakeGlobalRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class GetMosaicActivityReq(betterproto.Message):
    pass


@dataclass
class MosaicActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)
    is_take_reward: bool = betterproto.bool_field(3)


@dataclass
class GetMosaicActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_list: List["MosaicActivity"] = betterproto.message_field(2)


@dataclass
class TakeMosaicActivityRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TakeMosaicActivityRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class GetMissionGroupMainInfoReq(betterproto.Message):
    pass


@dataclass
class GetMissionGroupMainInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    has_take_reward_mission_group_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TakeMissionGroupRewardReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)


@dataclass
class TakeMissionGroupRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class ChapterActivityTakeDailyRewardReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterActivityTakeDailyRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    daily_reward: "RewardData" = betterproto.message_field(3)


@dataclass
class ReunionCookHistory(betterproto.Message):
    book_id: int = betterproto.uint32_field(1)
    daily_num: int = betterproto.uint32_field(2)
    total_num: int = betterproto.uint32_field(3)


@dataclass
class ReunionCookActivity(betterproto.Message):
    cur_schedule_id: int = betterproto.uint32_field(1)
    start_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    cook_score: int = betterproto.uint32_field(4)
    last_settle_reward_score: int = betterproto.uint32_field(5)
    cook_history: List["ReunionCookHistory"] = betterproto.message_field(6)
    score_reward_group: int = betterproto.uint32_field(7)
    group_id: int = betterproto.uint32_field(8)


@dataclass
class ReunionCookGetActivityReq(betterproto.Message):
    pass


@dataclass
class ReunionCookGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reunion_cook_activity: "ReunionCookActivity" = betterproto.message_field(2)


@dataclass
class ReunionCookData(betterproto.Message):
    book_id: int = betterproto.uint32_field(1)
    cook_times: int = betterproto.uint32_field(2)
    recycle_material_list: List["Material"] = betterproto.message_field(3)


@dataclass
class ReunionCookMakeDinnerReq(betterproto.Message):
    book_id: int = betterproto.uint32_field(1)
    recycle_material_list: List["Material"] = betterproto.message_field(2)
    book_type: "ReunionCookBookType" = betterproto.enum_field(3)
    cook_data: List["ReunionCookData"] = betterproto.message_field(4)


@dataclass
class ReunionCookMakeDinnerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    book_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class ReunionCookTakeScoreRewardReq(betterproto.Message):
    pass


@dataclass
class ReunionCookTakeScoreRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class Dream(betterproto.Message):
    dream_id: int = betterproto.uint32_field(1)
    unlock_id: int = betterproto.uint32_field(2)
    is_open: bool = betterproto.bool_field(3)
    selected_dream_reward_id: int = betterproto.uint32_field(4)
    score: int = betterproto.uint32_field(5)
    is_reward_taken: bool = betterproto.bool_field(6)
    exchange_score_times: int = betterproto.uint32_field(7)


@dataclass
class DreamActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    dream_list: List["Dream"] = betterproto.message_field(2)


@dataclass
class DreamGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class DreamGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "DreamActivity" = betterproto.message_field(2)


@dataclass
class DreamOpenDreamReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    dream_id: int = betterproto.uint32_field(2)
    select_dream_reward_id: int = betterproto.uint32_field(3)


@dataclass
class DreamOpenDreamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    unlock_id: int = betterproto.uint32_field(2)


@dataclass
class DreamGiveUpDreamReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    dream_id: int = betterproto.uint32_field(2)


@dataclass
class DreamGiveUpDreamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DreamExchangeScoreReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    dream_id: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)


@dataclass
class DreamExchangeScoreRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DreamTakeRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    dream_id: int = betterproto.uint32_field(2)


@dataclass
class DreamTakeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class GetThemeWantedReq(betterproto.Message):
    pass


@dataclass
class ThemeWantedStageGroupInfo(betterproto.Message):
    stage_group_id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)
    not_pass_progress_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ThemeWantedActivity(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    open_stage_group_id_list: List[int] = betterproto.uint32_field(3)
    stage_group_info_list: List["ThemeWantedStageGroupInfo"] = (
        betterproto.message_field(4)
    )
    end_time: int = betterproto.uint32_field(5)


@dataclass
class GetThemeWantedRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    theme_wanted_activity: "ThemeWantedActivity" = betterproto.message_field(2)


@dataclass
class ThemeWantedRefreshTicketReq(betterproto.Message):
    pass


@dataclass
class ThemeWantedRefreshTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GlobalPollingTargetData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    score_u64: int = betterproto.uint64_field(2)
    vote_num: int = betterproto.uint32_field(3)


@dataclass
class GlobalPollingGetDataReq(betterproto.Message):
    pass


@dataclass
class GlobalPollingGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    last_support_time: int = betterproto.uint32_field(3)
    support_target_id: int = betterproto.uint32_field(4)
    vote_begin_time: int = betterproto.uint32_field(5)
    target_data_list: List["GlobalPollingTargetData"] = betterproto.message_field(6)


@dataclass
class GlobalPollingSupportReq(betterproto.Message):
    target_id: int = betterproto.uint32_field(1)


@dataclass
class GlobalPollingSupportRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GlobalPollingVoteReq(betterproto.Message):
    target_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class GlobalPollingVoteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetCollaborationScheduleReq(betterproto.Message):
    pass


@dataclass
class GetCollaborationScheduleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_list: List["GetCollaborationScheduleRspSchedule"] = (
        betterproto.message_field(2)
    )


@dataclass
class GetCollaborationScheduleRspSchedule(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)


@dataclass
class RanchGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class RanchMonsterSkill(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)
    is_locked: bool = betterproto.bool_field(2)


@dataclass
class RanchMonster(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    monster_id: int = betterproto.uint32_field(2)
    skill_list: List["RanchMonsterSkill"] = betterproto.message_field(3)
    ranch_area_id: int = betterproto.uint32_field(4)
    ranch_last_settle_time: int = betterproto.uint32_field(5)
    monster_level: int = betterproto.uint32_field(6)
    monster_exp: int = betterproto.uint32_field(7)


@dataclass
class RanchArea(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    cur_product_num: int = betterproto.uint32_field(2)
    monster_unique_id_list: List[int] = betterproto.uint32_field(3)
    production_efficiency: int = betterproto.uint32_field(4)


@dataclass
class RanchStage(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    take_challenge_reward_times: int = betterproto.uint32_field(2)
    max_challenge_score: int = betterproto.uint32_field(3)
    drop_monster_list: List["RanchMonster"] = betterproto.message_field(4)
    unique_id_list: List[int] = betterproto.uint32_field(5)


@dataclass
class RanchGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    monster_list: List["RanchMonster"] = betterproto.message_field(3)
    area_list: List["RanchArea"] = betterproto.message_field(4)
    next_refresh_time: int = betterproto.uint32_field(5)
    stage_list: List["RanchStage"] = betterproto.message_field(6)
    battle_unique_id_list: List[int] = betterproto.uint32_field(7)


@dataclass
class RanchSynthesisMonsterReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    synthesis_id: int = betterproto.uint32_field(2)
    main_unique_id: int = betterproto.uint32_field(3)
    assist_unique_id: int = betterproto.uint32_field(4)


@dataclass
class RanchSynthesisMonsterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    synthesis_id: int = betterproto.uint32_field(3)
    main_unique_id: int = betterproto.uint32_field(4)
    assist_unique_id: int = betterproto.uint32_field(5)
    output_unique_id: int = betterproto.uint32_field(6)


@dataclass
class RanchFreeMonsterReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class RanchFreeMonsterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_id_list: List[int] = betterproto.uint32_field(3)
    return_material_num: int = betterproto.uint32_field(4)


@dataclass
class RanchAssignMonsterReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_id_list: List[int] = betterproto.uint32_field(2)
    area_id: int = betterproto.uint32_field(3)


@dataclass
class RanchAssignMonsterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_id_list: List[int] = betterproto.uint32_field(3)
    area_id: int = betterproto.uint32_field(4)


@dataclass
class RanchFireMonsterReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class RanchFireMonsterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class RanchTakeProductReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class RanchTakeProductRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class RanchGetMonsterWikiReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class RanchMonsterWiki(betterproto.Message):
    monster_id: int = betterproto.uint32_field(1)
    unlock_time: int = betterproto.uint32_field(2)
    battle_times: int = betterproto.uint32_field(3)
    catch_times: int = betterproto.uint32_field(4)
    skill_id_list: List[int] = betterproto.uint32_field(5)


@dataclass
class RanchSkillWiki(betterproto.Message):
    skill_type: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)


@dataclass
class RanchGetMonsterWikiRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    monster_wiki_list: List["RanchMonsterWiki"] = betterproto.message_field(3)
    skill_wiki_list: List["RanchSkillWiki"] = betterproto.message_field(4)
    collection_point: int = betterproto.uint32_field(5)


@dataclass
class RanchSyncMonsterNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    monster_list: List["RanchMonster"] = betterproto.message_field(2)
    del_monster_unique_id_list: List[int] = betterproto.uint32_field(3)
    notify_type: "RanchNotifyType" = betterproto.enum_field(4)
    stage_id: int = betterproto.uint32_field(5)


@dataclass
class RanchDelMonsterNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    del_monster_unique_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class RanchLockMonsterSkillReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    lock_skill_idx_list: List[int] = betterproto.uint32_field(3)


@dataclass
class RanchLockMonsterSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)
    lock_skill_idx_list: List[int] = betterproto.uint32_field(4)


@dataclass
class RanchSetBattleMonsterReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class RanchSetBattleMonsterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class RestaurantRoom(betterproto.Message):
    room_id: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    material_id: int = betterproto.uint32_field(3)
    speed: float = betterproto.double_field(4)
    progress: float = betterproto.double_field(5)
    status: int = betterproto.uint32_field(6)


@dataclass
class RestaurantOrder(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    price: int = betterproto.uint32_field(2)


@dataclass
class GetRestaurantActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GetRestaurantActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    facility_level: int = betterproto.uint32_field(3)
    room_list: List["RestaurantRoom"] = betterproto.message_field(4)
    order_list: List["RestaurantOrder"] = betterproto.message_field(5)
    weather_id: int = betterproto.uint32_field(6)


@dataclass
class LevelUpRestaurantFacilityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class LevelUpRestaurantFacilityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class AssignRestaurantWorkReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)
    avatar_id: int = betterproto.uint32_field(3)
    material_id: int = betterproto.uint32_field(4)


@dataclass
class AssignRestaurantWorkRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    avatar_id: int = betterproto.uint32_field(4)
    material_id: int = betterproto.uint32_field(5)


@dataclass
class CancelRestaurantWorkReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)


@dataclass
class CancelRestaurantWorkRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)


@dataclass
class TakeRestaurantOrderReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TakeRestaurantOrderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class DeliverRestaurantQuestReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)


@dataclass
class DeliverRestaurantQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    quest_id: int = betterproto.uint32_field(3)


@dataclass
class AccelerateRestaurantWorkReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)


@dataclass
class AccelerateRestaurantWorkRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    num: int = betterproto.uint32_field(4)


@dataclass
class NewbieLevelRushPurchaseReq(betterproto.Message):
    pass


@dataclass
class NewbieLevelRushPurchaseRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class NewbieLevelRushTakeRewardReq(betterproto.Message):
    pass


@dataclass
class NewbieLevelRushTakeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class RewardLineActivity(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)
    last_taken_reward_score: int = betterproto.uint32_field(4)
    is_closed: bool = betterproto.bool_field(5)


@dataclass
class GetRewardLineActivityReq(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    is_get_closed_activity: bool = betterproto.bool_field(2)


@dataclass
class GetRewardLineActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_line_activity_list: List["RewardLineActivity"] = betterproto.message_field(2)
    is_get_closed_activity: bool = betterproto.bool_field(3)


@dataclass
class TakeRewardLineActivityRewardReq(betterproto.Message):
    id: int = betterproto.uint32_field(1)


@dataclass
class TakeRewardLineActivityRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class MonsterCardGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MonsterCard(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    star: int = betterproto.uint32_field(3)
    fragment_num: int = betterproto.uint32_field(4)
    talent_list: List[int] = betterproto.uint32_field(5)


@dataclass
class MonsterCardRandomTalentConfirmData(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    cost_material_id: int = betterproto.uint32_field(2)
    talent_index: int = betterproto.uint32_field(3)
    old_talent_id: int = betterproto.uint32_field(4)
    new_talent_id: int = betterproto.uint32_field(5)


@dataclass
class MonsterCardGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    card_list: List["MonsterCard"] = betterproto.message_field(3)
    has_take_daily_reward_times: int = betterproto.uint32_field(4)
    random_talent_confirm_data: "MonsterCardRandomTalentConfirmData" = (
        betterproto.message_field(5)
    )


@dataclass
class MonsterCardLevelUpReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class MonsterCardLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)
    target_level: int = betterproto.uint32_field(4)


@dataclass
class MonsterCardStarUpReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)


@dataclass
class MonsterCardStarUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)


@dataclass
class MonsterCardLearnRandomTalentReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    cost_material_id: int = betterproto.uint32_field(3)
    talent_index: int = betterproto.uint32_field(4)


@dataclass
class MonsterCardLearnRandomTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)
    cost_material_id: int = betterproto.uint32_field(4)
    talent_index: int = betterproto.uint32_field(5)
    old_talent_id: int = betterproto.uint32_field(6)
    new_talent_id: int = betterproto.uint32_field(7)


@dataclass
class MonsterCardConfirmRandomTalentReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    type: "MonsterCardRandomTalentConfirmType" = betterproto.enum_field(2)


@dataclass
class MonsterCardConfirmRandomTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    type: "MonsterCardRandomTalentConfirmType" = betterproto.enum_field(3)
    confirm_data: "MonsterCardRandomTalentConfirmData" = betterproto.message_field(4)


@dataclass
class MonsterCardSyncCardNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)
    card_list: List["MonsterCard"] = betterproto.message_field(3)
    type: "MonsterCardSyncType" = betterproto.enum_field(4)


@dataclass
class MonsterCardGetTowerRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MonsterCardGetTowerRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    self_rank_data: "MonsterCardActivityRankInfo" = betterproto.message_field(6)


@dataclass
class MonsterCardGetBossRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class MonsterCardGetBossRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    num: int = betterproto.uint32_field(4)
    rank_data: "RankShowData" = betterproto.message_field(5)
    rank_percent: int = betterproto.uint32_field(6)
    self_rank_data: "MonsterCardActivityRankInfo" = betterproto.message_field(7)


@dataclass
class MonsterCardFragmentOverflowNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    overflow_cost_material: "Material" = betterproto.message_field(2)
    return_material_list: List["Material"] = betterproto.message_field(3)


@dataclass
class BuffAssistGetActivityReq(betterproto.Message):
    pass


@dataclass
class BuffAssistBuffSlot(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    buff_id: int = betterproto.uint32_field(2)
    is_used: bool = betterproto.bool_field(3)


@dataclass
class BuffAssistBuffPool(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    producer_uid: int = betterproto.uint32_field(3)
    producer_nickname: str = betterproto.string_field(4)
    buff_slot_list: List["BuffAssistBuffSlot"] = betterproto.message_field(5)
    expire_time: int = betterproto.uint32_field(6)
    assist_word_id_list: List[int] = betterproto.uint32_field(7)
    buff_schedule_id: int = betterproto.uint32_field(8)
    producer_type: int = betterproto.uint32_field(9)
    producer_head_id: int = betterproto.uint32_field(10)
    producer_assist_level: int = betterproto.uint32_field(11)


@dataclass
class BuffAssistPlayerBuffSlot(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    buff_id: int = betterproto.uint32_field(2)
    is_replace: bool = betterproto.bool_field(3)


@dataclass
class BuffAssistHistory(betterproto.Message):
    assist_type: int = betterproto.uint32_field(1)
    peer_nickname: str = betterproto.string_field(2)
    peer_assist_level: int = betterproto.uint32_field(3)
    assist_stage_id: int = betterproto.uint32_field(4)
    assist_word_id_list: List[int] = betterproto.uint32_field(5)


@dataclass
class BuffAssistStageAssistInfo(betterproto.Message):
    producer_uid: int = betterproto.uint32_field(1)
    peer_uid: int = betterproto.uint32_field(2)
    peer_assist_level: int = betterproto.uint32_field(3)
    assist_stage_id: int = betterproto.uint32_field(4)
    assist_word_id_list: List[int] = betterproto.uint32_field(5)
    buff_slot_list: List["BuffAssistBuffSlot"] = betterproto.message_field(6)
    buff_pool_unique_id: int = betterproto.uint32_field(7)


@dataclass
class BuffAssistActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    buff_schedule_id: int = betterproto.uint32_field(2)
    wait_select_buff_pool: "BuffAssistBuffPool" = betterproto.message_field(3)
    produce_buff_pool_list: List["BuffAssistBuffPool"] = betterproto.message_field(4)
    buff_slot_list: List["BuffAssistPlayerBuffSlot"] = betterproto.message_field(5)
    refresh_buff_pool_times: int = betterproto.uint32_field(6)
    cur_stage_group_id: int = betterproto.uint32_field(7)
    left_select_buff_times: int = betterproto.uint32_field(8)
    history_list: List["BuffAssistHistory"] = betterproto.message_field(9)
    assist_level: int = betterproto.uint32_field(10)
    assist_num: int = betterproto.uint32_field(11)
    be_assisted_num: int = betterproto.uint32_field(12)
    publish_buff_pool_times: int = betterproto.uint32_field(13)


@dataclass
class BuffAssistGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "BuffAssistActivity" = betterproto.message_field(2)


@dataclass
class BuffAssistRefreshWaitSelectBuffPoolReq(betterproto.Message):
    pass


@dataclass
class BuffAssistRefreshWaitSelectBuffPoolRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    buff_pool: "BuffAssistBuffPool" = betterproto.message_field(2)


@dataclass
class BuffAssistSelectBuffReq(betterproto.Message):
    buff_slot_id: int = betterproto.uint32_field(1)
    wait_select_buff_slot_id: int = betterproto.uint32_field(2)


@dataclass
class BuffAssistSelectBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class BuffAssistPublishBuffPoolReq(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    assist_word_id_list: List[int] = betterproto.uint32_field(2)
    buff_pool: "BuffAssistBuffPool" = betterproto.message_field(3)
    is_anonymous: bool = betterproto.bool_field(4)


@dataclass
class BuffAssistPublishBuffPoolRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    pool_id: int = betterproto.uint32_field(2)


@dataclass
class BuffAssistStageEndNotify(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    cur_stage_buff_pool_list: List["BuffAssistBuffPool"] = betterproto.message_field(2)


@dataclass
class BuffAssistRecvStageAssistInfoNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    assist_info: "BuffAssistStageAssistInfo" = betterproto.message_field(2)


@dataclass
class WaveRushGetActivityReq(betterproto.Message):
    pass


@dataclass
class WaveRushStageScore(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class WaveRushBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_level: int = betterproto.uint32_field(2)


@dataclass
class WaveRushBuffSuite(betterproto.Message):
    suite_id: int = betterproto.uint32_field(1)
    suite_name: str = betterproto.string_field(2)
    buff_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class WaveRushActivity(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    stage_score_list: List["WaveRushStageScore"] = betterproto.message_field(2)
    buff_list: List["WaveRushBuff"] = betterproto.message_field(3)
    buff_suite_list: List["WaveRushBuffSuite"] = betterproto.message_field(4)
    active_buff_suite_id: int = betterproto.uint32_field(5)
    cur_daily_stage_id_list: List[int] = betterproto.uint32_field(6)
    daily_drop_material_num: int = betterproto.uint32_field(7)
    daily_drop_limit_num: int = betterproto.uint32_field(8)


@dataclass
class WaveRushGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "WaveRushActivity" = betterproto.message_field(2)


@dataclass
class WaveRushGetRankReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class WaveRushGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    rank: int = betterproto.uint32_field(3)
    rank_percent: int = betterproto.uint32_field(4)
    rank_data: "RankShowData" = betterproto.message_field(5)


@dataclass
class WaveRushLevelUpBuffReq(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)


@dataclass
class WaveRushLevelUpBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class WaveRushUpdateBuffSuiteReq(betterproto.Message):
    suite_id: int = betterproto.uint32_field(1)
    suite_name: str = betterproto.string_field(2)
    buff_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class WaveRushUpdateBuffSuiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class WaveRushActiveBuffSuiteReq(betterproto.Message):
    suite_id: int = betterproto.uint32_field(1)


@dataclass
class WaveRushActiveBuffSuiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MiniMonopolyMap(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    reward_taken_grid_list: List[int] = betterproto.uint32_field(2)
    current_grid: int = betterproto.uint32_field(3)
    is_map_unlocked: bool = betterproto.bool_field(4)


@dataclass
class MiniMonopolyActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    mini_monopoly_map_list: List["MiniMonopolyMap"] = betterproto.message_field(2)
    is_map_switchable: bool = betterproto.bool_field(3)


@dataclass
class MiniMonopolyGetDataReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MiniMonopolyGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mini_monopoly_activity: "MiniMonopolyActivity" = betterproto.message_field(2)


@dataclass
class MiniMonopolyThrowDiceReq(betterproto.Message):
    sector_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    activity_id: int = betterproto.uint32_field(3)


@dataclass
class MiniMonopolyThrowDiceRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    dice_number: int = betterproto.uint32_field(3)
    reward_list: List["RewardData"] = betterproto.message_field(4)
    is_finish_round: bool = betterproto.bool_field(5)
    activity_id: int = betterproto.uint32_field(6)
    finish_grid_id: int = betterproto.uint32_field(7)
    is_compensate_reward: bool = betterproto.bool_field(8)


@dataclass
class MiniMonopolyUseItemReq(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    param: int = betterproto.uint32_field(3)
    activity_id: int = betterproto.uint32_field(4)


@dataclass
class MiniMonopolyUseItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    dice_number: int = betterproto.uint32_field(3)
    reward_list: List["RewardData"] = betterproto.message_field(4)
    is_finish_round: bool = betterproto.bool_field(5)
    activity_id: int = betterproto.uint32_field(6)
    finish_grid_id: int = betterproto.uint32_field(7)
    is_compensate_reward: bool = betterproto.bool_field(8)


@dataclass
class AvatarCultivateGetActivityReq(betterproto.Message):
    pass


@dataclass
class AvatarCultivateActivityAreaDropRecord(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    cur_drop_num: int = betterproto.uint32_field(2)


@dataclass
class AvatarCultivateActivityRewardLineRecord(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    max_score: int = betterproto.uint32_field(2)


@dataclass
class AvatarCultivateGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    drop_record_list: List["AvatarCultivateActivityAreaDropRecord"] = (
        betterproto.message_field(2)
    )
    reward_line_record_list: List["AvatarCultivateActivityRewardLineRecord"] = (
        betterproto.message_field(3)
    )


@dataclass
class ThemeTowerSection(betterproto.Message):
    section_id: int = betterproto.uint32_field(1)
    section_level: int = betterproto.uint32_field(2)
    drop_material_num: int = betterproto.uint32_field(3)


@dataclass
class ThemeTowerStageScore(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class ThemeTowerActivity(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    stage_score_list: List["ThemeTowerStageScore"] = betterproto.message_field(2)
    section_list: List["ThemeTowerSection"] = betterproto.message_field(3)
    has_passed_stage_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class ThemeTowerGetActivityReq(betterproto.Message):
    pass


@dataclass
class ThemeTowerGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "ThemeTowerActivity" = betterproto.message_field(2)


@dataclass
class ThemeTowerGetRankReq(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)


@dataclass
class ThemeTowerGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    rank: int = betterproto.uint32_field(3)
    rank_percent: int = betterproto.uint32_field(4)
    rank_data: "RankShowData" = betterproto.message_field(5)


@dataclass
class ThemeTowerLevelUpSectionReq(betterproto.Message):
    section_id: int = betterproto.uint32_field(1)


@dataclass
class ThemeTowerLevelUpSectionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ShigureKiraAddConcertProgressReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    target_progress: int = betterproto.uint32_field(2)


@dataclass
class ShigureKiraAddConcertProgressRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    target_progress: int = betterproto.uint32_field(3)


@dataclass
class ShigureKiraActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)


@dataclass
class ShigureKiraGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class ShigureKiraGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    shigure_kira_activity: "ShigureKiraActivity" = betterproto.message_field(3)


@dataclass
class SusannaTrialMentorProgress(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    has_taken_progress_config_id_list: List[int] = betterproto.uint32_field(2)
    progress: int = betterproto.uint32_field(3)
    last_site_id: int = betterproto.uint32_field(4)


@dataclass
class SusannaTrialActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    mentor_progress_list: List["SusannaTrialMentorProgress"] = (
        betterproto.message_field(2)
    )


@dataclass
class SusannaTrialGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class SusannaTrialGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    susanna_trial_activity: "SusannaTrialActivity" = betterproto.message_field(3)


@dataclass
class SusannaTrialTakeMentorProgressRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)


@dataclass
class SusannaTrialTakeMentorProgressRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    area_id: int = betterproto.uint32_field(3)
    reward: "RewardData" = betterproto.message_field(4)


@dataclass
class SusannaTrialTakePlotRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)
    config_id: int = betterproto.uint32_field(3)


@dataclass
class SusannaTrialTakePlotRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    area_id: int = betterproto.uint32_field(3)
    config_id: int = betterproto.uint32_field(4)
    reward: "RewardData" = betterproto.message_field(5)


@dataclass
class PonMachineItemData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class GetPonMachineActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GetPonMachineActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    has_got_item_list: List["PonMachineItemData"] = betterproto.message_field(3)


@dataclass
class StartPonMachineReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    gacha_num: int = betterproto.uint32_field(2)


@dataclass
class StartPonMachineRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    gacha_num: int = betterproto.uint32_field(3)
    item_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class CarnivalLotteryBetReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class CarnivalLotteryBetRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    bet_num: int = betterproto.uint32_field(3)


@dataclass
class CarnivalLotteryGetInfoReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class CarnivalLotteryParticipationReward(betterproto.Message):
    reward_id: int = betterproto.uint32_field(1)
    reward_num: int = betterproto.uint32_field(2)


@dataclass
class CarnivalLotteryGetInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    bet_num: int = betterproto.uint32_field(3)
    special_reward: int = betterproto.uint32_field(4)
    has_taken_reward_list: List["CarnivalLotteryParticipationReward"] = (
        betterproto.message_field(5)
    )
    is_special_reward_taken: bool = betterproto.bool_field(6)
    is_participation_reward_taken: bool = betterproto.bool_field(7)


@dataclass
class CarnivalLotteryTakeSpecialRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class CarnivalLotteryTakeSpecialRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    special_reward: "RewardData" = betterproto.message_field(3)


@dataclass
class CarnivalLotteryOpenRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class CarnivalLotteryOpenRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    participation_reward: "RewardData" = betterproto.message_field(3)


@dataclass
class TiledGameLunaTrapReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    trap_type: int = betterproto.uint32_field(2)


@dataclass
class TiledGameLunaTrapRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    trap_type: int = betterproto.uint32_field(3)
    player_health: int = betterproto.uint32_field(4)
    is_player_dead: bool = betterproto.bool_field(5)


@dataclass
class GetTiledGameLunaReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GetTiledGameLunaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    player_health: int = betterproto.uint32_field(3)


@dataclass
class TiledGameLunaBattleReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    monster_id: int = betterproto.uint32_field(3)
    monster_unique_id: int = betterproto.uint32_field(4)
    map_id: int = betterproto.uint32_field(5)
    is_only_check: bool = betterproto.bool_field(6)


@dataclass
class TiledGameLunaBattleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    player_health: int = betterproto.uint32_field(3)
    is_player_dead: bool = betterproto.bool_field(4)


@dataclass
class TiledGameLunaHealReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    heal_health: int = betterproto.uint32_field(2)
    is_heal_to_max_health: bool = betterproto.bool_field(3)


@dataclass
class TiledGameLunaHealRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class MinionClashGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MinionClashTalent(betterproto.Message):
    talent_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class MinionClashCard(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)
    star: int = betterproto.uint32_field(2)
    fragment_num: int = betterproto.uint32_field(3)


@dataclass
class MinionClashBuild(betterproto.Message):
    branch: int = betterproto.uint32_field(1)
    card_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class MinionClashActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    daily_drop_record_list: List["Material"] = betterproto.message_field(2)
    activity_level: int = betterproto.uint32_field(3)
    cur_exp: int = betterproto.uint32_field(4)
    talent_list: List["MinionClashTalent"] = betterproto.message_field(5)
    card_list: List["MinionClashCard"] = betterproto.message_field(6)
    build_list: List["MinionClashBuild"] = betterproto.message_field(7)
    remain_skill_point: int = betterproto.uint32_field(8)


@dataclass
class MinionClashGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    activity: "MinionClashActivity" = betterproto.message_field(3)


@dataclass
class MinionClashGetGachaInfoReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)
    pool_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class MinionClashGachaRecord(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class MinionClashGachaPool(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    has_got_card_list: List["MinionClashGachaRecord"] = betterproto.message_field(2)
    no_baodi_times: int = betterproto.uint32_field(3)


@dataclass
class MinionClashGetGachaInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    gacha_pool_list: List["MinionClashGachaPool"] = betterproto.message_field(3)
    gacha_random: int = betterproto.uint32_field(4)


@dataclass
class MinionClashDoGachaReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    pool_id: int = betterproto.uint32_field(2)
    gacha_random: int = betterproto.uint32_field(3)
    do_gacha_type: "MinionClashDoGachaType" = betterproto.enum_field(4)


@dataclass
class MinionClashGachaResult(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)
    transformed_material_list: List["Material"] = betterproto.message_field(2)


@dataclass
class MinionClashDoGachaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    gacha_random: int = betterproto.uint32_field(3)
    got_card_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class MinionClashLevelUpTalentReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class MinionClashLevelUpTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    talent_id: int = betterproto.uint32_field(3)
    target_level: int = betterproto.uint32_field(4)


@dataclass
class MinionClashReportStageBeginReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    build: "MinionClashBuild" = betterproto.message_field(2)
    stage_id: int = betterproto.uint32_field(3)


@dataclass
class MinionClashReportStageBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)


@dataclass
class MinionClashUpdateBuildReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    build: "MinionClashBuild" = betterproto.message_field(2)


@dataclass
class MinionClashUpdateBuildRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    build: "MinionClashBuild" = betterproto.message_field(3)


@dataclass
class MinionClashStarUpCardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    card_id: int = betterproto.uint32_field(2)
    target_star: int = betterproto.uint32_field(3)


@dataclass
class MinionClashStarUpCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    card_id: int = betterproto.uint32_field(3)
    target_star: int = betterproto.uint32_field(4)


@dataclass
class ThelemaActivityGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class ThelemaActivityNpcInfo(betterproto.Message):
    npc_id: int = betterproto.uint32_field(1)
    finished_phase_num: int = betterproto.uint32_field(2)


@dataclass
class ThelemaActivityGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    npc_info_list: List["ThelemaActivityNpcInfo"] = betterproto.message_field(3)


@dataclass
class ThelemaActivityFinishQuestionReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    npc_id: int = betterproto.uint32_field(2)
    phase: int = betterproto.uint32_field(3)


@dataclass
class ThelemaActivityFinishQuestionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    npc_id: int = betterproto.uint32_field(3)
    phase: int = betterproto.uint32_field(4)


@dataclass
class MatchThreePlusRole(betterproto.Message):
    role_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class MatchThreePlusPiece(betterproto.Message):
    piece_id: int = betterproto.uint32_field(1)
    star: int = betterproto.uint32_field(2)


@dataclass
class MatchThreePlusCombination(betterproto.Message):
    role_id: int = betterproto.uint32_field(1)
    piece_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class MatchThreePlusActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    role_list: List["MatchThreePlusRole"] = betterproto.message_field(2)
    piece_list: List["MatchThreePlusPiece"] = betterproto.message_field(3)
    combination_list: List["MatchThreePlusCombination"] = betterproto.message_field(4)
    has_got_daily_material_num: int = betterproto.uint32_field(5)


@dataclass
class MatchThreePlusGetActivityReq(betterproto.Message):
    pass


@dataclass
class MatchThreePlusGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "MatchThreePlusActivity" = betterproto.message_field(2)


@dataclass
class MatchThreePlusRoleLevelUpReq(betterproto.Message):
    role_id: int = betterproto.uint32_field(1)
    target_level: int = betterproto.uint32_field(2)


@dataclass
class MatchThreePlusRoleLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    role_id: int = betterproto.uint32_field(2)


@dataclass
class MatchThreePlusGachaDisplayReq(betterproto.Message):
    pass


@dataclass
class MatchThreePlusGachaInfo(betterproto.Message):
    piece_id: int = betterproto.uint32_field(1)
    gacha_get_num: int = betterproto.uint32_field(2)
    total_gacha_num: int = betterproto.uint32_field(3)


@dataclass
class MatchThreePlusGachaPool(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    gacha_info_list: List["MatchThreePlusGachaInfo"] = betterproto.message_field(2)


@dataclass
class MatchThreePlusGachaDisplayRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    gacha_random: int = betterproto.uint32_field(2)
    pool_list: List["MatchThreePlusGachaPool"] = betterproto.message_field(3)


@dataclass
class MatchThreePlusGachaReq(betterproto.Message):
    gacha_random: int = betterproto.uint32_field(1)


@dataclass
class MatchThreePlusGachaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    new_gacha_random: int = betterproto.uint32_field(2)
    piece: "MatchThreePlusPiece" = betterproto.message_field(3)
    pool_list: List["MatchThreePlusGachaPool"] = betterproto.message_field(4)
    need_role_id: int = betterproto.uint32_field(5)


@dataclass
class MatchThreePlusRoomBeginReq(betterproto.Message):
    room_id: int = betterproto.uint32_field(1)
    combination: "MatchThreePlusCombination" = betterproto.message_field(2)


@dataclass
class MatchThreePlusRoomBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)
    dynamic_level: int = betterproto.uint32_field(3)
    transaction_str: str = betterproto.string_field(4)


@dataclass
class MatchThreePlusRoomEndReq(betterproto.Message):
    room_id: int = betterproto.uint32_field(1)
    status: "MatchThreePlusRoomEndReqStatus" = betterproto.enum_field(2)
    score: int = betterproto.uint32_field(3)


@dataclass
class MatchThreePlusRoomEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)
    status: int = betterproto.uint32_field(3)
    score: int = betterproto.uint32_field(4)
    is_first_win: bool = betterproto.bool_field(5)
    reward_data: "RewardData" = betterproto.message_field(6)
    daily_drop_item_list: List["DropItem"] = betterproto.message_field(7)
    is_daily_pass: bool = betterproto.bool_field(8)


@dataclass
class MatchThreePlusGetRankReq(betterproto.Message):
    room_id: int = betterproto.uint32_field(1)


@dataclass
class MatchThreePlusGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)
    rank_percent: int = betterproto.uint32_field(4)
    rank: int = betterproto.uint32_field(5)


@dataclass
class MatchThreePlusUpdateCombinationReq(betterproto.Message):
    combination_list: List["MatchThreePlusCombination"] = betterproto.message_field(1)


@dataclass
class MatchThreePlusUpdateCombinationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    combination_list: List["MatchThreePlusCombination"] = betterproto.message_field(2)


@dataclass
class MatchThreePlusSyncAutoUnlockNotify(betterproto.Message):
    role_id_list: List[int] = betterproto.uint32_field(1)
    piece_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TiledGameSrpgGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGameSrpgGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "TiledGameSrpgActivity" = betterproto.message_field(2)


@dataclass
class TiledGameSrpgAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    hp: int = betterproto.uint32_field(3)
    trial_id: int = betterproto.uint32_field(4)
    is_avatar_material_got: bool = betterproto.bool_field(5)


@dataclass
class TiledGameSrpgBattleInfo(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    avatar_list: List["TiledGameSrpgAvatar"] = betterproto.message_field(2)
    transaction_str: str = betterproto.string_field(3)


@dataclass
class TiledGameSrpgFinishedBattleRecord(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    finished_challenge_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TiledGameSrpgActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    explore_level: int = betterproto.uint32_field(2)
    explore_exp: int = betterproto.uint32_field(3)
    daily_explore_exp: int = betterproto.uint32_field(4)
    finished_battle_record_list: List["TiledGameSrpgFinishedBattleRecord"] = (
        betterproto.message_field(5)
    )
    avatar_list: List["TiledGameSrpgAvatar"] = betterproto.message_field(6)
    story_battle: "TiledGameSrpgBattleInfo" = betterproto.message_field(7)
    challenge_battle: "TiledGameSrpgBattleInfo" = betterproto.message_field(8)
    cur_daily_quest_mission_group_list: List[int] = betterproto.uint32_field(9)
    taken_reward_bp_list: List[int] = betterproto.uint32_field(10)
    daily_explore_exp_limit: int = betterproto.uint32_field(11)


@dataclass
class TiledGameSrpgAvatarLevelUpReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class TiledGameSrpgAvatarLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar: "TiledGameSrpgAvatar" = betterproto.message_field(2)


@dataclass
class TiledGameSrpgBattleBeginReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)
    avatar_list: List[int] = betterproto.uint32_field(3)
    enter_battle_type: int = betterproto.uint32_field(4)


@dataclass
class TiledGameSrpgBattleBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle: "TiledGameSrpgBattleInfo" = betterproto.message_field(2)


@dataclass
class TiledGameSrpgBattleEndReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    battle: "TiledGameSrpgBattleInfo" = betterproto.message_field(2)
    end_status: "StageEndStatus" = betterproto.enum_field(3)
    finished_challenge_id_list: List[int] = betterproto.uint32_field(4)
    round_num: int = betterproto.uint32_field(5)
    total_time: int = betterproto.uint32_field(6)


@dataclass
class TiledGameSrpgBattleEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward: "RewardData" = betterproto.message_field(2)


@dataclass
class TiledGameSrpgTakeBpRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    bp_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameSrpgTakeBpRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)
    bp_id: int = betterproto.uint32_field(3)


@dataclass
class GameRoomStageScoreRecord(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class GameRoomActivityGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GameRoomActivityGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    passed_stage_id_list: List[int] = betterproto.uint32_field(3)
    stage_score_record_list: List["GameRoomStageScoreRecord"] = (
        betterproto.message_field(4)
    )


@dataclass
class GameRoomActivityGetRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class GameRoomActivityGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    rank: int = betterproto.uint32_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank_data: "RankShowData" = betterproto.message_field(6)


@dataclass
class QRtsTalent(betterproto.Message):
    index: int = betterproto.uint32_field(1)
    talent_id_list: List[int] = betterproto.uint32_field(2)
    source_type: int = betterproto.uint32_field(3)
    selected_talent_id: int = betterproto.uint32_field(4)
    talent_param: int = betterproto.uint32_field(5)


@dataclass
class QRtsBuilding(betterproto.Message):
    building_point_id: int = betterproto.uint32_field(1)
    building_id: int = betterproto.uint32_field(2)
    building_param: int = betterproto.uint32_field(3)


@dataclass
class QRtsGame(betterproto.Message):
    cur_stage_id: int = betterproto.uint32_field(1)
    role_id: int = betterproto.uint32_field(2)
    building_list: List["QRtsBuilding"] = betterproto.message_field(3)
    gold_num: int = betterproto.uint32_field(4)
    round: int = betterproto.uint32_field(5)
    total_get_gold_num: int = betterproto.uint32_field(6)
    selected_talent_list: List["QRtsTalent"] = betterproto.message_field(7)
    wait_select_talent: "QRtsTalent" = betterproto.message_field(8)
    score: int = betterproto.uint32_field(9)
    total_time: int = betterproto.uint32_field(10)
    total_cost_gold_num: int = betterproto.uint32_field(11)
    night_total_cost_gold_num: int = betterproto.uint32_field(12)
    game_transaction_id: int = betterproto.uint32_field(13)
    round_transaction_id: int = betterproto.uint32_field(14)
    last_quit_score: int = betterproto.uint32_field(15)


@dataclass
class QRtsActivityGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class QRtsActivityGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    mainline_game: "QRtsGame" = betterproto.message_field(3)
    challenge_game: "QRtsGame" = betterproto.message_field(4)
    buff_id_list: List[int] = betterproto.uint32_field(5)


@dataclass
class QRtsActivityFinishRoundReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    round: int = betterproto.uint32_field(2)
    get_gold_num: int = betterproto.uint32_field(3)
    cost_gold_num: int = betterproto.uint32_field(4)
    safe_building_point_id_list: List[int] = betterproto.uint32_field(5)
    score: int = betterproto.uint32_field(6)
    total_time: int = betterproto.uint32_field(7)
    gold_num: int = betterproto.uint32_field(8)
    total_get_gold_num: int = betterproto.uint32_field(9)
    total_cost_gold_num: int = betterproto.uint32_field(10)
    night_total_cost_gold_num: int = betterproto.uint32_field(11)


@dataclass
class QRtsActivityFinishRoundRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    round: int = betterproto.uint32_field(3)
    total_gold_num: int = betterproto.uint32_field(4)


@dataclass
class QRtsActivityResetRoundReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    round: int = betterproto.uint32_field(2)


@dataclass
class QRtsActivityResetRoundRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    round: int = betterproto.uint32_field(3)


@dataclass
class QRtsActivityBuildReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    building_point_id: int = betterproto.uint32_field(2)
    building_id: int = betterproto.uint32_field(3)


@dataclass
class QRtsActivityBuildRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    building_point_id: int = betterproto.uint32_field(3)
    building_id: int = betterproto.uint32_field(4)


@dataclass
class QRtsActivitySelectTalentReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    select_talent: "QRtsTalent" = betterproto.message_field(2)


@dataclass
class QRtsActivitySelectTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class QRtsActivitySyncGameNotify(betterproto.Message):
    game: "QRtsGame" = betterproto.message_field(1)


@dataclass
class QRtsActivitySweepReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class QRtsActivitySweepRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class QRtsActivityUpgradeBuffReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    buff_id: int = betterproto.uint32_field(2)


@dataclass
class QRtsActivityUpgradeBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    buff_id: int = betterproto.uint32_field(3)


@dataclass
class QRtsActivityClearGameReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class QRtsActivityClearGameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)


@dataclass
class QRtsActivityWishReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class QRtsActivityWishRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    talent: "QRtsTalent" = betterproto.message_field(3)


@dataclass
class GetBurdenAlleviationV2Req(betterproto.Message):
    pass


@dataclass
class GetBurdenAlleviationV2Rsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)


@dataclass
class BurdenAlleviationV2ParamOwQuest(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    challenge_list: List[int] = betterproto.uint32_field(3)


@dataclass
class BurdenAlleviationV2ParamThemeWanted(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    sweep_times: int = betterproto.uint32_field(2)
    is_extra_drop: bool = betterproto.bool_field(3)


@dataclass
class BurdenAlleviationV2ParamExamination(betterproto.Message):
    pass


@dataclass
class BurdenAlleviationV2ParamArmadaStageScoreActivity(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class TriggerBurdenAlleviationV2Req(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    alleviation_id: int = betterproto.uint32_field(2)
    ow_param_list: List["BurdenAlleviationV2ParamOwQuest"] = betterproto.message_field(
        3
    )
    theme_wanted_param: "BurdenAlleviationV2ParamThemeWanted" = (
        betterproto.message_field(4)
    )
    examination_param: "BurdenAlleviationV2ParamExamination" = (
        betterproto.message_field(5)
    )
    armada_stage_param_list: List[
        "BurdenAlleviationV2ParamArmadaStageScoreActivity"
    ] = betterproto.message_field(6)


@dataclass
class TriggerBurdenAlleviationV2Rsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    alleviation_id: int = betterproto.uint32_field(3)
    reward: "RewardData" = betterproto.message_field(4)
    drop_list: List["DropItem"] = betterproto.message_field(5)
    extra_drop_list: List["DropItem"] = betterproto.message_field(6)


@dataclass
class FutariBattleStage(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    pass_floor: int = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)


@dataclass
class FutariBattleGroup(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    stage_list: List["FutariBattleStage"] = betterproto.message_field(2)


@dataclass
class FutariBattleActivityGetActivityReq(betterproto.Message):
    pass


@dataclass
class FutariBattleActivityGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    group_list: List["FutariBattleGroup"] = betterproto.message_field(3)


@dataclass
class FutariBattleActivityGetRankReq(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)


@dataclass
class FutariBattleActivityGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    group_id: int = betterproto.uint32_field(3)
    rank: int = betterproto.uint32_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank_data: "RankShowData" = betterproto.message_field(6)


@dataclass
class FutariBattleActivityPassStageFloorReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)


@dataclass
class FutariBattleActivityPassStageFloorRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ReActivityTile(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)


@dataclass
class ReActivityGetDataReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class ReActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    finished_tile_list: List["ReActivityTile"] = betterproto.message_field(2)
    unlocked_area_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ReActivityGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "ReActivity" = betterproto.message_field(2)


@dataclass
class ReActivityTileBeginReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    tile: "ReActivityTile" = betterproto.message_field(2)
    last_max_save_point_id: int = betterproto.uint32_field(3)
    last_skill_use_times: int = betterproto.uint32_field(4)
    last_collection_num: int = betterproto.uint32_field(5)


@dataclass
class ReActivityTileBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    tile: "ReActivityTile" = betterproto.message_field(3)


@dataclass
class ReActivityTileEndReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    tile: "ReActivityTile" = betterproto.message_field(2)
    end_status: "StageEndStatus" = betterproto.enum_field(3)
    max_save_point_id: int = betterproto.uint32_field(4)
    skill_use_times: int = betterproto.uint32_field(5)
    collection_num: int = betterproto.uint32_field(6)


@dataclass
class ReActivityTileEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    tile: "ReActivityTile" = betterproto.message_field(3)
    reward: "RewardData" = betterproto.message_field(4)


@dataclass
class ResidentActivityGetDataReq(betterproto.Message):
    pass


@dataclass
class ResidentActivityGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    unlocked_resident_activity_id: List[int] = betterproto.uint32_field(2)


@dataclass
class ResidentActivityUnlockActivityReq(betterproto.Message):
    id: int = betterproto.uint32_field(1)


@dataclass
class ResidentActivityUnlockActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    id: int = betterproto.uint32_field(2)


@dataclass
class QRtsActivityGetRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class QRtsActivityGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    rank: int = betterproto.uint32_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank_data: "RankShowData" = betterproto.message_field(6)


@dataclass
class MonsterPvpCard(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    star: int = betterproto.uint32_field(2)
    fragment_num: int = betterproto.uint32_field(3)
    skill_list: List[int] = betterproto.uint32_field(4)


@dataclass
class WaitSelectSkillData(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    skill_idx: int = betterproto.uint32_field(2)
    old_skill_id: int = betterproto.uint32_field(3)
    new_skill_id: int = betterproto.uint32_field(4)
    cost_material_id: int = betterproto.uint32_field(5)


@dataclass
class MonsterCardPvpProductivty(betterproto.Message):
    last_calc_time: int = betterproto.uint32_field(1)
    total_minute: int = betterproto.uint32_field(2)
    exp_per_minute: int = betterproto.uint32_field(3)
    book_1_per_minute: int = betterproto.uint32_field(4)
    book_2_per_minute: int = betterproto.uint32_field(5)
    book_3_per_minute: int = betterproto.uint32_field(6)
    total_exp: int = betterproto.uint32_field(7)
    total_book_1: int = betterproto.uint32_field(8)
    total_book_2: int = betterproto.uint32_field(9)
    total_book_3: int = betterproto.uint32_field(10)


@dataclass
class MonsterCardPvpGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)


@dataclass
class MonsterCardPvpActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    exp: int = betterproto.uint32_field(3)
    monster_card_list: List["MonsterPvpCard"] = betterproto.message_field(4)
    wait_select_skill_data: "WaitSelectSkillData" = betterproto.message_field(5)
    elo_score: int = betterproto.uint32_field(6)
    opponent_list: List["MonsterCardPvpPlayerData"] = betterproto.message_field(7)
    defend_card_unique_id_list: List[int] = betterproto.uint32_field(8)
    opponent_refresh_times: int = betterproto.uint32_field(9)
    pvp_combat_day_times: int = betterproto.uint32_field(10)
    robot_id_list: List[int] = betterproto.uint32_field(11)
    productivity_data: "MonsterCardPvpProductivty" = betterproto.message_field(12)
    exp_convert_material_num: int = betterproto.uint32_field(13)


@dataclass
class MonsterCardPvpGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    monster_card_pvp_activity: "MonsterCardPvpActivity" = betterproto.message_field(2)


@dataclass
class MonsterCardPvpSelectInitCardVecReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    select_idx: int = betterproto.uint32_field(2)


@dataclass
class MonsterCardPvpSelectInitCardVecRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class MonsterCardPvpStarUpCardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)


@dataclass
class MonsterCardPvpStarUpCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)


@dataclass
class MonsterCardPvpOpenSkillPackReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    cost_material_id: int = betterproto.uint32_field(3)
    skill_idx: int = betterproto.uint32_field(4)


@dataclass
class MonsterCardPvpOpenSkillPackRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)
    skill_idx: int = betterproto.uint32_field(4)
    old_skill_id: int = betterproto.uint32_field(5)
    new_skill_id: int = betterproto.uint32_field(6)
    cost_material_id: int = betterproto.uint32_field(7)


@dataclass
class MonsterCardPvpSelectNewSkillReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    is_select: bool = betterproto.bool_field(2)


@dataclass
class MonsterCardPvpSelectNewSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    is_select: bool = betterproto.bool_field(3)
    wait_select_skill_data: "WaitSelectSkillData" = betterproto.message_field(4)


@dataclass
class MonsterCardPvpGetPvpOpponentReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    is_need_refresh: bool = betterproto.bool_field(3)


@dataclass
class MonsterCardPvpGetPvpOpponentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    opponent_list: List["MonsterCardPvpPlayerData"] = betterproto.message_field(3)
    robot_id_list: List[int] = betterproto.uint32_field(4)
    rank: int = betterproto.uint32_field(5)
    elo_score: int = betterproto.uint32_field(6)


@dataclass
class MonsterCardPvpFinishCombatReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    combat_data: "MonsterCardPvpCombatData" = betterproto.message_field(2)


@dataclass
class MonsterCardPvpFinishCombatRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    elo_score: int = betterproto.uint32_field(4)
    max_elo_score: int = betterproto.uint32_field(5)
    is_win: bool = betterproto.bool_field(6)


@dataclass
class MonsterCardPvpUpdatePlayerInfoReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    monster_card_list: List[int] = betterproto.uint32_field(2)
    schedule_id: int = betterproto.uint32_field(3)
    nickname: str = betterproto.string_field(4)
    level: int = betterproto.uint32_field(5)
    card_data_list: List["MonsterPvpCardBriefData"] = betterproto.message_field(6)


@dataclass
class MonsterCardPvpUpdatePlayerInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    monster_card_list: List[int] = betterproto.uint32_field(3)


@dataclass
class MonsterCardPvpGetDefendDataReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)


@dataclass
class MonsterCardPvpGetDefendDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    combat_history: "MonsterCardPvpCombatHistoryData" = betterproto.message_field(3)


@dataclass
class MonsterCardPvpGetPvpRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)


@dataclass
class MonsterCardPvpGetPvpRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)
    rank_percent: int = betterproto.uint32_field(4)
    rank: int = betterproto.uint32_field(5)


@dataclass
class MonsterCardPvpTakeProductRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MonsterCardPvpTakeProductRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    add_exp_num: int = betterproto.uint32_field(3)
    add_book_1_num: int = betterproto.uint32_field(4)
    add_book_2_num: int = betterproto.uint32_field(5)
    add_book_3_num: int = betterproto.uint32_field(6)


@dataclass
class MonsterCardPvpGetGachaDisplayReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MonsterCardPvpGetGachaDisplayRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    gacha_random: int = betterproto.uint32_field(3)
    valid_pool_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class MonsterCardPvpGachaReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    gacha_random: int = betterproto.uint32_field(2)
    pool_id: int = betterproto.uint32_field(3)
    times: int = betterproto.uint32_field(4)


@dataclass
class MonsterCardPvpGachaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    gacha_random: int = betterproto.uint32_field(3)
    material_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class AdventureDecorationSlot(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    furniture_id: int = betterproto.uint32_field(2)
    direction: int = betterproto.uint32_field(3)


@dataclass
class AdventureGroupAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    old_finished_record_list: List[int] = betterproto.uint32_field(2)
    finished_record_list: List[int] = betterproto.uint32_field(3)


@dataclass
class AdventureGroupQuest(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    accept_time: int = betterproto.uint32_field(3)
    avatar_list: List[int] = betterproto.uint32_field(4)
    status: int = betterproto.uint32_field(5)
    elf_id: int = betterproto.uint32_field(6)


@dataclass
class AdventureGroupAvailableQuest(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)


@dataclass
class GetAdventureGroupReq(betterproto.Message):
    pass


@dataclass
class CabinLevel(betterproto.Message):
    cabin_type: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    extend_grade: int = betterproto.uint32_field(3)


@dataclass
class FacilityLevel(betterproto.Message):
    facility_type: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class GetAdventureGroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    old_level: int = betterproto.uint32_field(2)
    old_badge: int = betterproto.uint32_field(3)
    avatar_list: List["AdventureGroupAvatar"] = betterproto.message_field(4)
    quest_list: List["AdventureGroupQuest"] = betterproto.message_field(5)
    available_quest_list: List["AdventureGroupAvailableQuest"] = (
        betterproto.message_field(6)
    )
    grain: int = betterproto.uint32_field(7)
    has_take_reward_level: int = betterproto.uint32_field(8)
    next_scoin_add_time: int = betterproto.uint32_field(9)
    storage_scoin: int = betterproto.uint32_field(10)
    storage_stamina: int = betterproto.uint32_field(11)
    has_take_compensation_list: List[int] = betterproto.uint32_field(12)
    decoration_slot_list: List["AdventureDecorationSlot"] = betterproto.message_field(
        13
    )
    today_reset_quest_num: int = betterproto.uint32_field(14)
    level: int = betterproto.uint32_field(15)
    badge: int = betterproto.uint32_field(16)
    extra_badge_cost_num: int = betterproto.uint32_field(17)


@dataclass
class SelectAdventureQuestReqData(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    avatar_list: List[int] = betterproto.uint32_field(2)
    elf_id: int = betterproto.uint32_field(3)
    quest_id: int = betterproto.uint32_field(4)


@dataclass
class SelectAdventureQuestReq(betterproto.Message):
    select_adeventure_quest_list: List["SelectAdventureQuestReqData"] = (
        betterproto.message_field(1)
    )
    is_quick_select: bool = betterproto.bool_field(2)


@dataclass
class SelectAdventureQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class TakeAdventureQuestRewardReq(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    is_take_all: bool = betterproto.bool_field(2)


@dataclass
class TakeAdventureQuestRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    drop_item_list: List["DropItem"] = betterproto.message_field(2)
    quest_list: List["AdventureGroupAvailableQuest"] = betterproto.message_field(3)


@dataclass
class ClaimScoinReq(betterproto.Message):
    pass


@dataclass
class ClaimScoinRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    add_scoin: int = betterproto.uint32_field(2)
    is_extra: bool = betterproto.bool_field(3)


@dataclass
class IslandStorySweepAvatar(betterproto.Message):
    sweep_id: int = betterproto.uint32_field(1)
    avatar_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class AdventureStorySweepReq(betterproto.Message):
    adventure_story_sweep_list: List["IslandStorySweepAvatar"] = (
        betterproto.message_field(1)
    )
    is_quick_sweep: bool = betterproto.bool_field(2)


@dataclass
class IslandStorySweepData(betterproto.Message):
    sweep_id: int = betterproto.uint32_field(1)
    over_time: int = betterproto.uint32_field(2)
    is_finished: bool = betterproto.bool_field(3)
    is_sieged: bool = betterproto.bool_field(4)
    avatar_id_list: List[int] = betterproto.uint32_field(5)


@dataclass
class AdventureStorySweepRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    used_stamina: int = betterproto.uint32_field(2)
    sweep_data_list: List["IslandStorySweepData"] = betterproto.message_field(3)


@dataclass
class GetAdventureStorySweepInfoReq(betterproto.Message):
    pass


@dataclass
class GetAdventureStorySweepInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    story_sweep_list: List["IslandStorySweepData"] = betterproto.message_field(2)
    used_stamina: int = betterproto.uint32_field(3)
    last_story_sweep_avatar_list: List["IslandStorySweepAvatar"] = (
        betterproto.message_field(4)
    )


@dataclass
class TakeAdventureStorySweepRewardReq(betterproto.Message):
    sweep_id: int = betterproto.uint32_field(1)
    is_take_all: bool = betterproto.bool_field(2)
    sweep_group_type_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TakeAdventureStorySweepRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    sweep_id: int = betterproto.uint32_field(2)
    siege_stage_id: int = betterproto.uint32_field(3)
    drop_item_list: List["DropItem"] = betterproto.message_field(4)
    player_exp_reward: int = betterproto.uint32_field(5)
    exp_convert_scoin: int = betterproto.uint32_field(6)
    scoin_reward: int = betterproto.uint32_field(7)
    rank_scoin: int = betterproto.uint32_field(8)
    is_take_all: bool = betterproto.bool_field(9)
    sweep_group_type_list: List[int] = betterproto.uint32_field(10)


@dataclass
class TakeAdventureCompensationReq(betterproto.Message):
    type_list: List["CompensationType"] = betterproto.enum_field(1)


@dataclass
class TakeAdventureCompensationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type_list: List["CompensationType"] = betterproto.enum_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class EditAdventureRoomReq(betterproto.Message):
    decoration_slot: "AdventureDecorationSlot" = betterproto.message_field(1)


@dataclass
class EditAdventureRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    slot_id: int = betterproto.uint32_field(2)


@dataclass
class CancelAdventureQuestReq(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)


@dataclass
class CancelAdventureQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    pool_id: int = betterproto.uint32_field(2)


@dataclass
class ResetAdventureQuestReq(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)


@dataclass
class ResetAdventureQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    pool_id: int = betterproto.uint32_field(2)


@dataclass
class AiCyberGetActivityReq(betterproto.Message):
    pass


@dataclass
class AiCyberArea(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    is_puzzle_reward_taken: bool = betterproto.bool_field(2)
    cur_daily_stage_id: int = betterproto.uint32_field(3)


@dataclass
class AiCyberDailyStageDrop(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    material_num: int = betterproto.uint32_field(2)


@dataclass
class AiCyberActivity(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    repair_progress: int = betterproto.uint32_field(2)
    area_list: List["AiCyberArea"] = betterproto.message_field(3)
    daily_stage_drop_list: List["AiCyberDailyStageDrop"] = betterproto.message_field(4)
    hyperion_id: int = betterproto.uint32_field(5)
    main_ui_id: int = betterproto.uint32_field(6)


@dataclass
class AiCyberGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    ai_cyber_activity: "AiCyberActivity" = betterproto.message_field(2)
    bless: str = betterproto.string_field(3)


@dataclass
class AiCyberTakePuzzleRewardReq(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)


@dataclass
class AiCyberTakePuzzleRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class AiCyberAddRepairProgressReq(betterproto.Message):
    target_progress: int = betterproto.uint32_field(1)


@dataclass
class AiCyberAddRepairProgressRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_progress: int = betterproto.uint32_field(2)


@dataclass
class AiCyberSetBlessReq(betterproto.Message):
    bless: str = betterproto.string_field(1)


@dataclass
class AiCyberSetBlessRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    bless: str = betterproto.string_field(2)


@dataclass
class AiCyberRefreshTicketReq(betterproto.Message):
    pass


@dataclass
class AiCyberRefreshTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    ticket_material_id: int = betterproto.uint32_field(2)
    add_num: int = betterproto.uint32_field(3)


@dataclass
class AiCyberUpdateClientSettingReq(betterproto.Message):
    hyperion_id: int = betterproto.uint32_field(1)
    main_ui_id: int = betterproto.uint32_field(2)


@dataclass
class AiCyberUpdateClientSettingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetArmadaDataReq(betterproto.Message):
    level: int = betterproto.uint32_field(1)


@dataclass
class GetArmadaDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    status: "ArmadaPlayerStatus" = betterproto.enum_field(2)
    armada: "ArmadaData" = betterproto.message_field(3)
    apply_list: List["ArmadaBriefData"] = betterproto.message_field(4)
    join_cd_finish_time: int = betterproto.uint32_field(5)
    is_need_recommend: bool = betterproto.bool_field(6)
    last_mail_time: int = betterproto.uint32_field(7)
    recommend_armada: "ArmadaBriefData" = betterproto.message_field(8)
    is_new: bool = betterproto.bool_field(9)


@dataclass
class CreateArmadaReq(betterproto.Message):
    name: str = betterproto.string_field(1)
    label: "ArmadaLabel" = betterproto.message_field(2)


@dataclass
class CreateArmadaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    armada_id: int = betterproto.uint32_field(2)
    armada_name: str = betterproto.string_field(3)
    audit_armada_name: str = betterproto.string_field(4)


@dataclass
class SearchArmadaReq(betterproto.Message):
    name: str = betterproto.string_field(1)
    label_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class SearchArmadaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    armada_list: List["ArmadaBriefData"] = betterproto.message_field(2)


@dataclass
class ApplyJoinArmadaReq(betterproto.Message):
    armada_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class ApplyJoinArmadaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DealArmadaApplyReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    agree: bool = betterproto.bool_field(2)


@dataclass
class DealArmadaApplyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    agree: bool = betterproto.bool_field(3)


@dataclass
class GetArmadaManageDataReq(betterproto.Message):
    pass


@dataclass
class GetArmadaManageDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    apply_list: List["ArmadaApply"] = betterproto.message_field(2)
    apply_result_list: List["ArmadaApplyResult"] = betterproto.message_field(3)
    apply_level: int = betterproto.uint32_field(4)
    auto_pass: bool = betterproto.bool_field(5)
    auto_pass_level: int = betterproto.uint32_field(6)
    build_owner: int = betterproto.uint32_field(7)
    build_ownership_time: int = betterproto.uint32_field(8)


@dataclass
class SetArmadaApplyReq(betterproto.Message):
    apply_level: int = betterproto.uint32_field(1)
    auto_pass: bool = betterproto.bool_field(2)
    auto_pass_level: int = betterproto.uint32_field(3)


@dataclass
class SetArmadaApplyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SetArmadaBulletinReq(betterproto.Message):
    bulletin: str = betterproto.string_field(1)
    contact: str = betterproto.string_field(2)


@dataclass
class SetArmadaBulletinRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    bulletin: str = betterproto.string_field(2)
    old_bulletin: str = betterproto.string_field(3)
    audit_bulletin: str = betterproto.string_field(4)
    cd_end_time: int = betterproto.uint32_field(5)


@dataclass
class GetRecommendArmadaReq(betterproto.Message):
    level: int = betterproto.uint32_field(1)
    friend_uid_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetRecommendArmadaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    armada_list: List["ArmadaBriefData"] = betterproto.message_field(2)


@dataclass
class TransferArmadaLeaderReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class TransferArmadaLeaderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SetArmadaPositionReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    position: "ArmadaPosition" = betterproto.enum_field(2)


@dataclass
class SetArmadaPositionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class KickArmadaMemberReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class KickArmadaMemberRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DissolveArmadaReq(betterproto.Message):
    pass


@dataclass
class DissolveArmadaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class QuitArmadaReq(betterproto.Message):
    pass


@dataclass
class QuitArmadaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class CancelApplyArmadaReq(betterproto.Message):
    armada_id: int = betterproto.uint32_field(1)


@dataclass
class CancelApplyArmadaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class LevelUpArmadaCabinReq(betterproto.Message):
    type: "ArmadaCabinType" = betterproto.enum_field(1)
    cabin_id: int = betterproto.uint32_field(2)
    grid_id: int = betterproto.uint32_field(3)


@dataclass
class LevelUpArmadaCabinRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "ArmadaCabinType" = betterproto.enum_field(2)
    cabin_id: int = betterproto.uint32_field(3)
    grid_id: int = betterproto.uint32_field(4)
    level_up_end_time: int = betterproto.uint32_field(5)


@dataclass
class CancelLevelUpArmadaCabinReq(betterproto.Message):
    type: "ArmadaCabinType" = betterproto.enum_field(1)
    cabin_id: int = betterproto.uint32_field(2)


@dataclass
class CancelLevelUpArmadaCabinRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MoveArmadaCabinReq(betterproto.Message):
    grid_list: List["ArmadaGrid"] = betterproto.message_field(1)


@dataclass
class MoveArmadaCabinRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetConsignedOrderDataReq(betterproto.Message):
    pass


@dataclass
class GetConsignedOrderDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)
    order_list: List["ConsignedOrder"] = betterproto.message_field(3)
    cd_finish_time: int = betterproto.uint32_field(4)
    finish_order_times: int = betterproto.uint32_field(5)
    total_order_times: int = betterproto.uint32_field(6)
    armada_finish_times: int = betterproto.uint32_field(7)
    apply_order_times: int = betterproto.uint32_field(8)
    total_apply_times: int = betterproto.uint32_field(9)
    my_credit: int = betterproto.uint32_field(10)
    is_reward_taken: bool = betterproto.bool_field(11)


@dataclass
class ChooseConsignedOrderReq(betterproto.Message):
    index: int = betterproto.uint32_field(1)
    is_choose_all: bool = betterproto.bool_field(2)
    choosen_order_list: List["ConsignedOrder"] = betterproto.message_field(3)


@dataclass
class ChooseConsignedOrderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    choosen_order_list: List["ConsignedOrder"] = betterproto.message_field(2)
    is_choose_all: bool = betterproto.bool_field(3)


@dataclass
class FinishConsignedOrderReq(betterproto.Message):
    item: "EquipmentItem" = betterproto.message_field(1)
    unique_id: int = betterproto.uint32_field(2)
    consign_id: int = betterproto.uint32_field(3)
    progress: int = betterproto.uint32_field(4)
    order_level: int = betterproto.uint32_field(5)
    order: "ConsignedOrder" = betterproto.message_field(6)
    next_order: "ConsignedOrder" = betterproto.message_field(7)
    reliable_id: int = betterproto.uint32_field(8)


@dataclass
class FinishConsignedOrderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    drop_item_list: List["DropItem"] = betterproto.message_field(3)
    item: "EquipmentItem" = betterproto.message_field(4)
    consign_id: int = betterproto.uint32_field(5)
    reliable_id: int = betterproto.uint32_field(6)
    progress: int = betterproto.uint32_field(7)
    finish_order_times: int = betterproto.uint32_field(8)


@dataclass
class ResetConsignedOrderReq(betterproto.Message):
    pass


@dataclass
class ResetConsignedOrderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetWareHouseDataReq(betterproto.Message):
    pass


@dataclass
class GetWareHouseDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    demand_list: List["WareHouseDemand"] = betterproto.message_field(2)
    status: "WareHouseStatus" = betterproto.enum_field(3)
    my_demand: "WareHouseDemand" = betterproto.message_field(4)
    donate_uid: int = betterproto.uint32_field(5)
    cd_finish_time: int = betterproto.uint32_field(6)
    day_donate_times: int = betterproto.uint32_field(7)
    max_donate_times: int = betterproto.uint32_field(8)


@dataclass
class PostWareHouseDemandReq(betterproto.Message):
    demand_id: int = betterproto.uint32_field(1)


@dataclass
class PostWareHouseDemandRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    demand_id: int = betterproto.uint32_field(2)


@dataclass
class CancelWareHouseDemandReq(betterproto.Message):
    pass


@dataclass
class CancelWareHouseDemandRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    demand_id: int = betterproto.uint32_field(2)
    is_auto_cancel: bool = betterproto.bool_field(3)


@dataclass
class DonateWareHouseItemReq(betterproto.Message):
    item: "EquipmentItem" = betterproto.message_field(1)
    target_uid: int = betterproto.uint32_field(2)
    demand_id: int = betterproto.uint32_field(3)


@dataclass
class DonateWareHouseItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    item: "EquipmentItem" = betterproto.message_field(2)
    demand_id: int = betterproto.uint32_field(3)
    reward_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class GetWareHouseItemReq(betterproto.Message):
    pass


@dataclass
class GetWareHouseItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    demand_id: int = betterproto.uint32_field(2)
    status: "WareHouseStatus" = betterproto.enum_field(3)
    cd_finish_time: int = betterproto.uint32_field(4)


@dataclass
class EnterArmadaChatroomReq(betterproto.Message):
    pass


@dataclass
class EnterArmadaChatroomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    his_chat_msg_list: List["ChatMsg"] = betterproto.message_field(2)
    his_system_chat_msg_list: List["ArmadaSystemChatMsg"] = betterproto.message_field(3)


@dataclass
class SendArmadaSystemChatMsgNotify(betterproto.Message):
    chat_msg: "ArmadaSystemChatMsg" = betterproto.message_field(1)


@dataclass
class RecvArmadaSystemChatMsgNotify(betterproto.Message):
    chat_msg: "ArmadaSystemChatMsg" = betterproto.message_field(1)


@dataclass
class DonateWareHouseNotify(betterproto.Message):
    pass


@dataclass
class ArmadaBuildNotify(betterproto.Message):
    type: "ArmadaBuildNotifyType" = betterproto.enum_field(1)
    armada_data: "ArmadaData" = betterproto.message_field(2)
    grid_list: List["ArmadaGrid"] = betterproto.message_field(3)


@dataclass
class ArmadaBulletinNotify(betterproto.Message):
    bulletin: str = betterproto.string_field(1)
    contact: str = betterproto.string_field(2)


@dataclass
class ArmadaManageNotify(betterproto.Message):
    type: "ArmadaManageNotifyType" = betterproto.enum_field(1)
    target_uid: int = betterproto.uint32_field(2)


@dataclass
class ArmadaPlayerNotify(betterproto.Message):
    type: "ArmadaPlayerNotifyType" = betterproto.enum_field(1)
    target_uid: int = betterproto.uint32_field(2)
    member: "ArmadaMember" = betterproto.message_field(3)
    member_list: List[int] = betterproto.uint32_field(4)
    new_name: str = betterproto.string_field(5)


@dataclass
class ArmadaApplyNotify(betterproto.Message):
    type: "ArmadaApplyNotifyType" = betterproto.enum_field(1)
    target_uid: int = betterproto.uint32_field(2)


@dataclass
class CancelDissolveArmadaReq(betterproto.Message):
    pass


@dataclass
class CancelDissolveArmadaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetArmadaBuildOwnershipReq(betterproto.Message):
    pass


@dataclass
class GetArmadaBuildOwnershipRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    build_owner: int = betterproto.uint32_field(2)
    build_ownership_time: int = betterproto.uint32_field(3)


@dataclass
class ReleaseArmadaBuildOwnershipReq(betterproto.Message):
    pass


@dataclass
class ReleaseArmadaBuildOwnershipRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ArmadaSendMailReq(betterproto.Message):
    content: str = betterproto.string_field(1)
    sender: str = betterproto.string_field(2)


@dataclass
class ArmadaSendMailRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ChangeArmadaNameReq(betterproto.Message):
    name: str = betterproto.string_field(1)
    is_scoin_lack: bool = betterproto.bool_field(2)
    is_hcoin_lack: bool = betterproto.bool_field(3)


@dataclass
class ChangeArmadaNameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    name: str = betterproto.string_field(2)
    old_name: str = betterproto.string_field(3)
    audit_name: str = betterproto.string_field(4)
    is_change_name_free: bool = betterproto.bool_field(5)
    cd_end_time: int = betterproto.uint32_field(6)


@dataclass
class JoinArmadaElectionReq(betterproto.Message):
    pass


@dataclass
class JoinArmadaElectionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    impeach_data: "ArmadaImpeachData" = betterproto.message_field(2)


@dataclass
class ArmadaLogoutNotify(betterproto.Message):
    pass


@dataclass
class QuickApplyJoinArmadaReq(betterproto.Message):
    level: int = betterproto.uint32_field(1)


@dataclass
class QuickApplyJoinArmadaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenArmadaStageReq(betterproto.Message):
    hard_level: int = betterproto.uint32_field(1)


@dataclass
class OpenArmadaStageRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    hard_level: int = betterproto.uint32_field(2)


@dataclass
class TakeArmadaAchievementReq(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    is_take_all: bool = betterproto.bool_field(2)


@dataclass
class TakeArmadaAchievementRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    take_achievement_id_list: List[int] = betterproto.uint32_field(4)
    id_list: List[int] = betterproto.uint32_field(5)
    reward_list: List["RewardData"] = betterproto.message_field(6)


@dataclass
class GetRecommendArmadaMemberListReq(betterproto.Message):
    uid_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetRecommendArmadaMemberListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    recommend_list: List["PlayerFriendBriefData"] = betterproto.message_field(2)


@dataclass
class JoinQuitArmadaNotify(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    armada_id: int = betterproto.uint32_field(2)


@dataclass
class ArmadaPlayerContributionSyncNotify(betterproto.Message):
    armada_contribution: int = betterproto.uint32_field(1)
    uid: int = betterproto.uint32_field(2)
    week_contribution: int = betterproto.uint32_field(3)
    total_contribution: int = betterproto.uint32_field(4)


@dataclass
class ArmadaMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    position: "ArmadaPosition" = betterproto.enum_field(2)
    brief_data: "PlayerFriendBriefData" = betterproto.message_field(3)
    week_popl: int = betterproto.uint32_field(4)
    total_popl: int = betterproto.uint32_field(5)
    week_fund: int = betterproto.uint32_field(6)
    total_fund: int = betterproto.uint32_field(7)
    week_contribution: int = betterproto.uint32_field(8)
    total_contribution: int = betterproto.uint32_field(9)


@dataclass
class ArmadaGrid(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    type: "ArmadaCabinType" = betterproto.enum_field(2)
    cabin_id: int = betterproto.uint32_field(3)


@dataclass
class ArmadaContact(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    member_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ArmadaHangar(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class ArmadaWorkshop(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class ArmadaExchequer(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class ArmadaBossroom(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class ArmadaOptionalLeader(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    contribution: int = betterproto.uint32_field(2)


@dataclass
class ArmadaImpeachData(betterproto.Message):
    impeach_status: int = betterproto.uint32_field(1)
    optional_leader_list: List["ArmadaOptionalLeader"] = betterproto.message_field(2)
    election_end_time: int = betterproto.uint32_field(3)


@dataclass
class ArmadaData(betterproto.Message):
    brief: "ArmadaBriefData" = betterproto.message_field(1)
    member_list: List["ArmadaMember"] = betterproto.message_field(2)
    position: "ArmadaPosition" = betterproto.enum_field(3)
    grid_list: List["ArmadaGrid"] = betterproto.message_field(4)
    contact_list: List["ArmadaContact"] = betterproto.message_field(5)
    hangar_list: List["ArmadaHangar"] = betterproto.message_field(6)
    workshop_list: List["ArmadaWorkshop"] = betterproto.message_field(7)
    exchequer_list: List["ArmadaExchequer"] = betterproto.message_field(8)
    bossroom_list: List["ArmadaBossroom"] = betterproto.message_field(9)
    level_up_cabin_type: "ArmadaCabinType" = betterproto.enum_field(10)
    level_up_cabin_id: int = betterproto.uint32_field(11)
    level_up_end_time: int = betterproto.uint32_field(12)
    dissolve_time: int = betterproto.uint32_field(13)
    armada_player_data: "ArmadaPlayerData" = betterproto.message_field(14)
    impeach_data: "ArmadaImpeachData" = betterproto.message_field(15)
    is_armada_change_name_free: bool = betterproto.bool_field(16)


@dataclass
class ArmadaPlayerData(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    take_achievement_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class ArmadaBriefData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    name: str = betterproto.string_field(2)
    level: int = betterproto.uint32_field(3)
    bulletin: str = betterproto.string_field(4)
    apply_level: int = betterproto.uint32_field(5)
    auto_pass: bool = betterproto.bool_field(6)
    auto_pass_level: int = betterproto.uint32_field(7)
    fund: int = betterproto.uint32_field(8)
    fund_cap: int = betterproto.uint32_field(9)
    ap: int = betterproto.uint32_field(10)
    ap_cap: int = betterproto.uint32_field(11)
    popl: int = betterproto.uint32_field(12)
    popl_cap: int = betterproto.uint32_field(13)
    member_num: int = betterproto.uint32_field(14)
    member_cap: int = betterproto.uint32_field(15)
    leader_id: int = betterproto.uint32_field(16)
    leader_name: str = betterproto.string_field(17)
    contact: str = betterproto.string_field(18)
    contribution: int = betterproto.uint32_field(19)
    is_low_popl: bool = betterproto.bool_field(20)
    recent_contribution: int = betterproto.uint32_field(21)
    active_level: int = betterproto.uint32_field(22)
    active_member_num: int = betterproto.uint32_field(23)
    friend_uid_list: List[int] = betterproto.uint32_field(24)
    leader_brief_data: "PlayerFriendBriefData" = betterproto.message_field(25)
    label: "ArmadaLabel" = betterproto.message_field(26)


@dataclass
class ArmadaApply(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    brief_data: "PlayerFriendBriefData" = betterproto.message_field(2)


@dataclass
class ArmadaApplyResult(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    brief_data: "PlayerFriendBriefData" = betterproto.message_field(2)
    agree: bool = betterproto.bool_field(3)


@dataclass
class WareHouseDemand(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    uid: int = betterproto.uint32_field(2)


@dataclass
class ArmadaSystemChatMsg(betterproto.Message):
    type: "ArmadaSystemChatMsgType" = betterproto.enum_field(1)
    uid: int = betterproto.uint32_field(2)
    nickname: str = betterproto.string_field(3)
    avatar_id: int = betterproto.uint32_field(4)
    dress_id: int = betterproto.uint32_field(5)
    time: int = betterproto.uint32_field(6)
    gacha_type: "GachaType" = betterproto.enum_field(7)
    item_id: int = betterproto.uint32_field(8)
    target_avatar_id: int = betterproto.uint32_field(9)
    mission_id: int = betterproto.uint32_field(10)
    armada_level: int = betterproto.uint32_field(11)
    cabin_type: "ArmadaCabinType" = betterproto.enum_field(12)
    cabin_level: int = betterproto.uint32_field(13)
    position: "ArmadaPosition" = betterproto.enum_field(14)
    target_uid: int = betterproto.uint32_field(15)
    popl_cost: int = betterproto.uint32_field(16)
    old_name: str = betterproto.string_field(17)
    new_name: str = betterproto.string_field(18)
    text_map: str = betterproto.string_field(19)


@dataclass
class GetArmadaStageScoreActivityReq(betterproto.Message):
    pass


@dataclass
class ArmadaStageScorePlayerScore(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)
    avatar_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ArmadaStageScore(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class GetArmadaStageScoreActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    has_take_self_score: int = betterproto.uint32_field(3)
    has_take_armada_score: int = betterproto.uint32_field(4)
    stage_score_list: List["ArmadaStageScore"] = betterproto.message_field(5)
    armada_score_list: List["ArmadaStageScorePlayerScore"] = betterproto.message_field(
        6
    )


@dataclass
class TakeArmadaStageScoreActivityRewardReq(betterproto.Message):
    type: "ArmadaStageScoreActivityRewardType" = betterproto.enum_field(1)


@dataclass
class TakeArmadaStageScoreActivityRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "ArmadaStageScoreActivityRewardType" = betterproto.enum_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)
    score_list: List["ArmadaStageScorePlayerScore"] = betterproto.message_field(4)


@dataclass
class GetArmadaActivityListReq(betterproto.Message):
    pass


@dataclass
class ArmadaActivity(betterproto.Message):
    type: "ArmadaActivityType" = betterproto.enum_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    begin_time: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)
    open_day_time: int = betterproto.uint32_field(5)
    close_day_time: int = betterproto.uint32_field(6)


@dataclass
class GetArmadaActivityListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_list: List["ArmadaActivity"] = betterproto.message_field(2)


@dataclass
class ArmadaReunionMission(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    finish_times: int = betterproto.uint32_field(2)


@dataclass
class GetArmadaReunionActivityReq(betterproto.Message):
    pass


@dataclass
class ArmadaReunionPlayer(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    material_list: List["Material"] = betterproto.message_field(2)


@dataclass
class GetArmadaReunionActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_schedule_id: int = betterproto.uint32_field(2)
    mission_list: List["ArmadaReunionMission"] = betterproto.message_field(3)
    player_list: List["ArmadaReunionPlayer"] = betterproto.message_field(4)
    reward_list: List["ChatworldDishReward"] = betterproto.message_field(5)


@dataclass
class ArmadaReunionRewardNotify(betterproto.Message):
    mission: "ArmadaReunionMission" = betterproto.message_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class TakeArmadaReunionRewardReq(betterproto.Message):
    reward_id: int = betterproto.uint32_field(1)


@dataclass
class TakeArmadaReunionRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    reward_list: List["ChatworldDishReward"] = betterproto.message_field(4)


@dataclass
class ArmadaLabel(betterproto.Message):
    prefix_id: int = betterproto.uint32_field(1)
    label_id_list: List[int] = betterproto.uint32_field(2)
    recruit: str = betterproto.string_field(3)


@dataclass
class SetArmadaLabelReq(betterproto.Message):
    label: "ArmadaLabel" = betterproto.message_field(1)


@dataclass
class SetArmadaLabelRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    label: "ArmadaLabel" = betterproto.message_field(2)


@dataclass
class GetArmadaStageScoreRankReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class GetArmadaStageScoreRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)


@dataclass
class GetAvatarMissionActivityReq(betterproto.Message):
    pass


@dataclass
class GetAvatarMissionActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    avatar_sample_id: int = betterproto.uint32_field(3)
    choose_avatar_time: int = betterproto.uint32_field(4)
    reset_choose_times: int = betterproto.uint32_field(5)
    last_refresh_time: int = betterproto.uint32_field(6)
    daily_contract_point: int = betterproto.uint32_field(7)
    is_daily_reward_taken: bool = betterproto.bool_field(8)
    activity_finish_days: int = betterproto.uint32_field(9)
    taken_reward_days_list: List[int] = betterproto.uint32_field(10)
    daily_reward_num: int = betterproto.uint32_field(11)


@dataclass
class ChooseAvatarMissionAvatarReq(betterproto.Message):
    sample_id: int = betterproto.uint32_field(1)


@dataclass
class ChooseAvatarMissionAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    sample_id: int = betterproto.uint32_field(3)


@dataclass
class TakeAvatarMissionDailyRewardReq(betterproto.Message):
    pass


@dataclass
class TakeAvatarMissionDailyRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward: "RewardData" = betterproto.message_field(2)


@dataclass
class TakeAvatarMissionPhaseRewardReq(betterproto.Message):
    days: int = betterproto.uint32_field(1)


@dataclass
class TakeAvatarMissionPhaseRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    days: int = betterproto.uint32_field(3)
    reward: "RewardData" = betterproto.message_field(4)


@dataclass
class ResetAvatarMissionAvatarReq(betterproto.Message):
    pass


@dataclass
class ResetAvatarMissionAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class BattlePassMission(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    mission_finish_times: int = betterproto.uint32_field(2)


@dataclass
class GetBattlePassReq(betterproto.Message):
    pass


@dataclass
class GetBattlePassRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    exp: int = betterproto.uint32_field(4)
    has_take_reward_level: int = betterproto.uint32_field(5)
    has_got_ticket_list: List[int] = betterproto.uint32_field(6)
    phase_max_exp: int = betterproto.uint32_field(7)
    phase_exp: int = betterproto.uint32_field(8)
    is_take_phase_free_exp: bool = betterproto.bool_field(9)
    battle_pass_mission_list: List["BattlePassMission"] = betterproto.message_field(10)
    phase_end_time: int = betterproto.uint32_field(11)


@dataclass
class BuyBattlePassTicketReq(betterproto.Message):
    type: "BattlePassTicketType" = betterproto.enum_field(1)


@dataclass
class BuyBattlePassTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    advanced_reward_list: List["RewardData"] = betterproto.message_field(2)
    luxury_reward_list: List["RewardData"] = betterproto.message_field(3)
    prev_has_got_ticket_list: List[int] = betterproto.uint32_field(4)


@dataclass
class TakeBattlePassLevelRewardReq(betterproto.Message):
    pass


@dataclass
class TakeBattlePassLevelRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    basic_reward_list: List["RewardData"] = betterproto.message_field(2)
    advanced_reward_list: List["RewardData"] = betterproto.message_field(3)
    luxury_reward_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class BuyBattlePassLevelReq(betterproto.Message):
    target_level: int = betterproto.uint32_field(1)
    hcoin_cost: int = betterproto.uint32_field(2)


@dataclass
class BuyBattlePassLevelRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    hcoin_cost: int = betterproto.uint32_field(2)


@dataclass
class TakeBattlePassPhaseExpReq(betterproto.Message):
    pass


@dataclass
class TakeBattlePassPhaseExpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    add_exp: int = betterproto.uint32_field(2)
    add_theme_exp: int = betterproto.uint32_field(3)


@dataclass
class GetBattlePassThemeReq(betterproto.Message):
    pass


@dataclass
class GetBattlePassThemeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    id: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    exp: int = betterproto.uint32_field(4)
    has_take_reward_level: int = betterproto.uint32_field(5)
    begin_time: int = betterproto.uint32_field(6)
    end_time: int = betterproto.uint32_field(7)


@dataclass
class TakeBattlePassThemeLevelRewardReq(betterproto.Message):
    pass


@dataclass
class TakeBattlePassThemeLevelRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class BuyBattlePassThemeLevelReq(betterproto.Message):
    target_level: int = betterproto.uint32_field(1)
    hcoin_cost: int = betterproto.uint32_field(2)


@dataclass
class BuyBattlePassThemeLevelRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class BattlePassThemeExpTransformNotify(betterproto.Message):
    add_exp: int = betterproto.uint32_field(1)
    add_theme_exp: int = betterproto.uint32_field(2)


@dataclass
class GetBattlePassMissionPanelReq(betterproto.Message):
    panel_id: int = betterproto.uint32_field(1)


@dataclass
class GetBattlePassMissionPanelRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mission_list: List["PanelMissionData"] = betterproto.message_field(2)


@dataclass
class ChapterArkGetDataReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterArkRoleInfo(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class ChapterArkSkillInfo(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class ChapterArkSupSkillInfo(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class ChapterArkTowerChallengeInfo(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    cur_floor_id: int = betterproto.uint32_field(2)
    avatar_id: int = betterproto.uint32_field(3)
    avatar_hp: int = betterproto.uint32_field(4)
    buff_list: List[int] = betterproto.uint32_field(5)
    total_score: int = betterproto.uint32_field(6)
    total_cost_time: int = betterproto.uint32_field(7)


@dataclass
class ChapterArkTowerSettledInfo(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    max_floor: int = betterproto.uint32_field(2)
    max_score: int = betterproto.uint32_field(3)


@dataclass
class ChapterArk(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    role_list: List["ChapterArkRoleInfo"] = betterproto.message_field(2)
    avatar_list: List[int] = betterproto.uint32_field(3)
    skill_list: List["ChapterArkSkillInfo"] = betterproto.message_field(4)
    daily_stage_list: List[int] = betterproto.uint32_field(5)
    cur_day_finished_daily_stage_iist: List[int] = betterproto.uint32_field(6)
    reward_line_taken_progress: int = betterproto.uint32_field(7)
    is_finish_opening: bool = betterproto.bool_field(8)
    branch_stage_chosen_site_list: List[int] = betterproto.uint32_field(9)
    passed_daily_stage_list: List[int] = betterproto.uint32_field(10)
    cur_phase_id: int = betterproto.uint32_field(11)
    mid_term_daily_stage_list: List[int] = betterproto.uint32_field(12)
    mid_term_daily_drop_material_num: int = betterproto.uint32_field(13)
    sup_skill_list: List["ChapterArkSupSkillInfo"] = betterproto.message_field(14)
    tower_challenge_info_list: List["ChapterArkTowerChallengeInfo"] = (
        betterproto.message_field(15)
    )
    tower_settled_info_list: List["ChapterArkTowerSettledInfo"] = (
        betterproto.message_field(16)
    )


@dataclass
class ChapterArkGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_ark: "ChapterArk" = betterproto.message_field(2)


@dataclass
class ChapterArkRoleLevelUpReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    role_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class ChapterArkRoleLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    role_id: int = betterproto.uint32_field(3)


@dataclass
class ChapterArkSkillUnlockReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterArkSkillUnlockRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    skill_id: int = betterproto.uint32_field(3)


@dataclass
class ChapterArkSkillLevelUpReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class ChapterArkSkillLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    skill_id: int = betterproto.uint32_field(3)


@dataclass
class ChapterArkTakeRewardLineRewardReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterArkTakeRewardLineRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    reward_line_taken_progress: int = betterproto.uint32_field(4)


@dataclass
class ChapterArkGetRankReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterArkGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank: int = betterproto.uint32_field(6)


@dataclass
class ChapterArkFinishOpeningReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterArkFinishOpeningRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterArkSyncAutoUnlockNotify(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    avatar_id_list: List[int] = betterproto.uint32_field(2)
    skill_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ChapterArkSupSkillLevelUpReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    sup_skill_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class ChapterArkSupSkillLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    sup_skill_id: int = betterproto.uint32_field(3)


@dataclass
class ChapterArkSettleTowerReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterArkSettleTowerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)
    tower_challenge_info: "ChapterArkTowerChallengeInfo" = betterproto.message_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)
    is_abandon: bool = betterproto.bool_field(5)


@dataclass
class ChapterArkReportTowerFloorReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    avatar_hp: int = betterproto.uint32_field(3)
    select_buff_list: List[int] = betterproto.uint32_field(4)
    score: int = betterproto.uint32_field(5)
    cost_time: int = betterproto.uint32_field(6)


@dataclass
class ChapterArkReportTowerFloorRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)
    floor_id: int = betterproto.uint32_field(3)


@dataclass
class ArkPlusActivityGetDataReq(betterproto.Message):
    pass


@dataclass
class ArkPlusBuffInfo(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class ArkPlusChallengeInfo(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    cur_room_id: int = betterproto.uint32_field(2)
    room_event_id: int = betterproto.uint32_field(3)
    last_room_id: int = betterproto.uint32_field(4)
    settled_progress: int = betterproto.uint32_field(5)
    avatar_id_list: List[int] = betterproto.uint32_field(6)
    avatar_trial_list: List[int] = betterproto.uint32_field(7)
    buff_list: List["ArkPlusBuffInfo"] = betterproto.message_field(8)
    transaction_str: str = betterproto.string_field(9)
    total_time: int = betterproto.uint32_field(10)
    temperature: int = betterproto.int32_field(11)
    ice_coffin_add_lift_material_num: int = betterproto.uint32_field(12)


@dataclass
class ArkPlusSettledChallengeInfo(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    max_lift_score: int = betterproto.uint32_field(2)


@dataclass
class ArkPlusActivity(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    cur_challenge_info: "ArkPlusChallengeInfo" = betterproto.message_field(2)
    settled_challenge_info_list: List["ArkPlusSettledChallengeInfo"] = (
        betterproto.message_field(3)
    )


@dataclass
class ArkPlusActivityGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    ark_plus_activity: "ArkPlusActivity" = betterproto.message_field(2)


@dataclass
class ArkPlusActivityFinishRoomReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    cur_room_id: int = betterproto.uint32_field(2)
    next_room_id: int = betterproto.uint32_field(3)
    lift_material_num: int = betterproto.uint32_field(4)
    coin_material_num: int = betterproto.uint32_field(5)
    room_time: int = betterproto.uint32_field(6)
    battle_time: int = betterproto.uint32_field(7)
    temperature: int = betterproto.int32_field(8)


@dataclass
class ArkPlusActivityFinishRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    cur_room_id: int = betterproto.uint32_field(3)
    next_room_id: int = betterproto.uint32_field(4)
    next_room_event: int = betterproto.uint32_field(5)
    get_buff_id: int = betterproto.uint32_field(6)
    coin_material_num: int = betterproto.uint32_field(7)
    settled_progress: int = betterproto.uint32_field(8)
    lift_material_num: int = betterproto.uint32_field(9)


@dataclass
class ArkPlusActivityResetChallengeReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class ArkPlusActivityResetChallengeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    challenge_info: "ArkPlusChallengeInfo" = betterproto.message_field(3)


@dataclass
class ArkPlusActivityGetRankReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class ArkPlusActivityGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    schedule_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank: int = betterproto.uint32_field(6)


@dataclass
class ArkPlusActivityAddLiftMaterialReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)
    material_num: int = betterproto.uint32_field(3)
    ice_coffin_add_material_num: int = betterproto.int32_field(4)


@dataclass
class ArkPlusActivityAddLiftMaterialRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    material_num: int = betterproto.uint32_field(2)
    ice_coffin_total_add_material_num: int = betterproto.uint32_field(3)


@dataclass
class ChapterBwWorldGetDataReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterBwWorldRune(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    rune_id: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    exp: int = betterproto.uint32_field(4)
    affix_id_list: List[int] = betterproto.uint32_field(5)


@dataclass
class ChapterBwWorldTowerStage(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    max_score: int = betterproto.uint32_field(2)
    save_point_floor: int = betterproto.uint32_field(3)


@dataclass
class ChapterBwWorld(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    equip_rune_unique_id_list: List[int] = betterproto.uint32_field(2)
    rune_list: List["ChapterBwWorldRune"] = betterproto.message_field(3)
    reward_line_taken_progress: int = betterproto.uint32_field(4)
    tower_stage_list: List["ChapterBwWorldTowerStage"] = betterproto.message_field(5)


@dataclass
class ChapterBwWorldGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_bw_world: "ChapterBwWorld" = betterproto.message_field(2)


@dataclass
class ChapterBwWorldUpdateEquipRuneReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    rune_unique_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class ChapterBwWorldUpdateEquipRuneRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    rune_unique_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ChapterBwWorldRuneLevelUpReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    main_rune_unique_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)
    target_exp: int = betterproto.uint32_field(4)
    exp_material_list: List["Material"] = betterproto.message_field(5)
    assist_rune_unique_id_list: List[int] = betterproto.uint32_field(6)


@dataclass
class ChapterBwWorldRuneLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    main_rune: "ChapterBwWorldRune" = betterproto.message_field(3)
    return_material_list: List["Material"] = betterproto.message_field(4)
    old_main_rune: "ChapterBwWorldRune" = betterproto.message_field(5)


@dataclass
class ChapterBwWorldRuneSynthesisReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    main_rune_unique_id: int = betterproto.uint32_field(2)
    assist_rune_unique_id: int = betterproto.uint32_field(3)
    main_rune_affix_index: int = betterproto.uint32_field(4)
    assist_rune_affix_index: int = betterproto.uint32_field(5)


@dataclass
class ChapterBwWorldRuneSynthesisRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    main_rune: "ChapterBwWorldRune" = betterproto.message_field(3)
    return_material_list: List["Material"] = betterproto.message_field(4)


@dataclass
class ChapterBwWorldGetRankReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterBwWorldGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank: int = betterproto.uint32_field(6)


@dataclass
class ChapterBwWorldTakeRewardLineRewardReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterBwWorldTakeRewardLineRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    reward_line_taken_progress: int = betterproto.uint32_field(4)


@dataclass
class ChapterBwWorldSyncRuneNotify(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    new_rune_list: List["ChapterBwWorldRune"] = betterproto.message_field(3)


@dataclass
class ChapterBwWorldTowerStageReportFloorReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    floor: int = betterproto.uint32_field(3)
    score: int = betterproto.uint32_field(4)
    cost_time: int = betterproto.uint32_field(5)
    end_status: "StageEndStatus" = betterproto.enum_field(6)


@dataclass
class ChapterBwWorldTowerStageReportFloorRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    floor: int = betterproto.uint32_field(4)
    score: int = betterproto.uint32_field(5)
    cost_time: int = betterproto.uint32_field(6)
    end_status: "StageEndStatus" = betterproto.enum_field(7)


@dataclass
class ChapterBwWorldRefreshTicketReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterBwWorldRefreshTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    add_ticket: "RewardData" = betterproto.message_field(3)


@dataclass
class BwWorldCampActivityGetDataReq(betterproto.Message):
    pass


@dataclass
class BwWorldCampActivityGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "BwWorldCampActivity" = betterproto.message_field(2)


@dataclass
class BwWorldCampActivity(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    camp_type: "BwWorldCampActivityCampType" = betterproto.enum_field(2)
    daily_stage_drop_contribution: int = betterproto.uint32_field(3)
    total_stage_drop_contribution: int = betterproto.uint32_field(4)
    wait_take_assist_contribution: int = betterproto.uint32_field(5)
    total_assist_contribution: int = betterproto.uint32_field(6)
    assist_rune_list: List["BwWorldCampActivityAssistRune"] = betterproto.message_field(
        7
    )
    publish_rune_unique_id: int = betterproto.uint32_field(8)
    global_phase: int = betterproto.uint32_field(9)
    personal_phase: int = betterproto.uint32_field(10)


@dataclass
class BwWorldCampActivitySelectCampReq(betterproto.Message):
    camp_type: "BwWorldCampActivityCampType" = betterproto.enum_field(1)


@dataclass
class BwWorldCampActivitySelectCampRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    camp_type: "BwWorldCampActivityCampType" = betterproto.enum_field(2)


@dataclass
class BwWorldCampActivityPublishRuneReq(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)


@dataclass
class BwWorldCampActivityPublishRuneRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)


@dataclass
class BwWorldCampActivityRefreshWaitSelectRuneReq(betterproto.Message):
    stage_type: "BwWorldCampActivityStageType" = betterproto.enum_field(1)


@dataclass
class BwWorldCampActivityRefreshWaitSelectRuneRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    assist_rune_list: List["BwWorldCampActivityAssistRune"] = betterproto.message_field(
        2
    )
    stage_type: "BwWorldCampActivityStageType" = betterproto.enum_field(3)


@dataclass
class BwWorldCampActivityAssistRune(betterproto.Message):
    producer_uid: int = betterproto.uint32_field(1)
    producer_nickname: str = betterproto.string_field(2)
    producer_head_id: int = betterproto.uint32_field(3)
    producer_frame_id: int = betterproto.uint32_field(4)
    rune: "ChapterBwWorldRune" = betterproto.message_field(5)
    npc_id: int = betterproto.uint32_field(6)


@dataclass
class BwWorldCampActivityTakeAssistContributionReq(betterproto.Message):
    pass


@dataclass
class BwWorldCampActivityTakeAssistContributionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class BwWorldCampActivityAddAssistContributionNotify(betterproto.Message):
    wait_take_assist_contribution: int = betterproto.uint32_field(1)
    total_assist_contribution: int = betterproto.uint32_field(2)


@dataclass
class BwWorldCampActivityGetRankReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class BwWorldCampActivityGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    schedule_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank: int = betterproto.uint32_field(6)


@dataclass
class BwWorldCampActivitySelectStageRuneReq(betterproto.Message):
    assist_npc_id: int = betterproto.uint32_field(1)
    assist_player_uid: int = betterproto.uint32_field(2)


@dataclass
class BwWorldCampActivitySelectStageRuneRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    assist_npc_id: int = betterproto.uint32_field(2)
    assist_player_uid: int = betterproto.uint32_field(3)


@dataclass
class ChapterKnightRichManGetDataReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterKnightRichManMapRecord(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    max_score: int = betterproto.uint32_field(2)
    total_score: int = betterproto.uint32_field(3)
    pass_times: int = betterproto.uint32_field(4)


@dataclass
class ChapterKnightRichManEffect(betterproto.Message):
    effect_id: int = betterproto.uint32_field(1)
    left_times: int = betterproto.uint32_field(2)
    card_id: int = betterproto.uint32_field(3)
    event_id: int = betterproto.uint32_field(4)
    map_id: int = betterproto.uint32_field(5)


@dataclass
class ChapterKnightRichManCard(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManItem(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)
    buff: "ChapterKnightRichManBuff" = betterproto.message_field(2)
    is_selected: bool = betterproto.bool_field(3)
    cost_coin: int = betterproto.uint32_field(4)


@dataclass
class ChapterKnightRichManShop(betterproto.Message):
    shop_refresh_times: int = betterproto.uint32_field(1)
    shop_item_list: List["ChapterKnightRichManItem"] = betterproto.message_field(2)


@dataclass
class ChapterKnightRichManEventGroup(betterproto.Message):
    event_group_id: int = betterproto.uint32_field(1)
    left_times: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManCurSite(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    status: "ChapterKnightRichManSiteStatus" = betterproto.enum_field(2)
    wait_select_item_list: List["ChapterKnightRichManItem"] = betterproto.message_field(
        3
    )
    event_group: "ChapterKnightRichManEventGroup" = betterproto.message_field(4)


@dataclass
class ChapterKnightRichManMap(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    cur_site: "ChapterKnightRichManCurSite" = betterproto.message_field(2)
    control_dice_count: int = betterproto.uint32_field(3)
    score: int = betterproto.uint32_field(4)
    coin_num: int = betterproto.uint32_field(5)
    total_coin_num: int = betterproto.uint32_field(6)
    stage_times: int = betterproto.uint32_field(7)
    effect_list: List["ChapterKnightRichManEffect"] = betterproto.message_field(8)
    card_list: List["ChapterKnightRichManCard"] = betterproto.message_field(9)
    buff_list: List["ChapterKnightRichManBuff"] = betterproto.message_field(10)
    finish_site_dice_num: int = betterproto.uint32_field(11)
    refresh_wait_select_item_times: int = betterproto.uint32_field(12)
    move_times: int = betterproto.uint32_field(13)


@dataclass
class ChapterKnightRichMan(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_record_list: List["ChapterKnightRichManMapRecord"] = betterproto.message_field(
        2
    )
    cur_map: "ChapterKnightRichManMap" = betterproto.message_field(3)


@dataclass
class ChapterKnightRichManGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man: "ChapterKnightRichMan" = betterproto.message_field(2)
    rich_man_id: int = betterproto.uint32_field(3)


@dataclass
class ChapterKnightRichManGetRankReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)
    map_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank: int = betterproto.uint32_field(6)


@dataclass
class ChapterKnightRichManGetMapReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterKnightRichManGetMapRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map: "ChapterKnightRichManMap" = betterproto.message_field(2)
    rich_man_id: int = betterproto.uint32_field(3)


@dataclass
class ChapterKnightRichManBeginMapReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManBeginMapRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map: "ChapterKnightRichManMap" = betterproto.message_field(2)
    rich_man_id: int = betterproto.uint32_field(3)


@dataclass
class ChapterKnightRichManEndMapReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManEndMapRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)
    map: "ChapterKnightRichManMap" = betterproto.message_field(3)


@dataclass
class ChapterKnightRichManThrowDiceReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    end_site: int = betterproto.uint32_field(3)
    is_use_control_dice: bool = betterproto.bool_field(4)
    control_dice_num: int = betterproto.uint32_field(5)


@dataclass
class ChapterKnightRichManThrowDiceRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManFinishGameReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    try_times: int = betterproto.uint32_field(3)
    reset_times: int = betterproto.uint32_field(4)


@dataclass
class ChapterKnightRichManFinishGameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManRefreshShopReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    shop_refresh_times: int = betterproto.uint32_field(3)


@dataclass
class ChapterKnightRichManRefreshShopRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)
    shop: "ChapterKnightRichManShop" = betterproto.message_field(3)


@dataclass
class ChapterKnightRichManBuyShopGoodsReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    shop_goods_idx: int = betterproto.uint32_field(3)


@dataclass
class ChapterKnightRichManBuyShopGoodsRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)
    shop: "ChapterKnightRichManShop" = betterproto.message_field(3)


@dataclass
class ChapterKnightRichManFinishSiteReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManFinishSiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManUseCardReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    card_id: int = betterproto.uint32_field(3)


@dataclass
class ChapterKnightRichManUseCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManLevelUpBuffReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    buff_id: int = betterproto.uint32_field(3)
    target_level: int = betterproto.uint32_field(4)


@dataclass
class ChapterKnightRichManLevelUpBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManSelectItemReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    item_idx: int = betterproto.uint32_field(3)


@dataclass
class ChapterKnightRichManSelectItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManTriggerEventReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    event_id: int = betterproto.uint32_field(3)


@dataclass
class ChapterKnightRichManTriggerEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManGetItemNotify(betterproto.Message):
    coin_num: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)
    card_list: List["ChapterKnightRichManCard"] = betterproto.message_field(3)
    buff_list: List["ChapterKnightRichManBuff"] = betterproto.message_field(4)
    control_dice_count: int = betterproto.uint32_field(5)
    is_once_sub_coin: bool = betterproto.bool_field(6)
    is_once_sub_card: bool = betterproto.bool_field(7)
    is_once_sub_buff: bool = betterproto.bool_field(8)


@dataclass
class ChapterKnightRichManRefreshWaitSelectItemReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    left_refresh_times: int = betterproto.uint32_field(3)


@dataclass
class ChapterKnightRichManRefreshWaitSelectItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManGetShopReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class ChapterKnightRichManGetShopRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)
    shop: "ChapterKnightRichManShop" = betterproto.message_field(3)


@dataclass
class ChapterKnightRichManSelectInitBuffReq(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    buff_id: int = betterproto.uint32_field(3)


@dataclass
class ChapterKnightRichManSelectInitBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rich_man_id: int = betterproto.uint32_field(2)


@dataclass
class ChatgroupMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    position: "ChatgroupPosition" = betterproto.enum_field(2)
    brief_data: "PlayerFriendBriefData" = betterproto.message_field(3)


@dataclass
class Chatgroup(betterproto.Message):
    chatgroup_id: int = betterproto.uint32_field(1)
    name: str = betterproto.string_field(2)
    notice: str = betterproto.string_field(3)
    icon_id: int = betterproto.uint32_field(4)
    member_list: List["ChatgroupMember"] = betterproto.message_field(5)
    label_id_list: List[int] = betterproto.uint32_field(6)


@dataclass
class CreateChatgroupReq(betterproto.Message):
    name: str = betterproto.string_field(1)
    notice: str = betterproto.string_field(2)
    icon_id: int = betterproto.uint32_field(3)
    label_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class CreateChatgroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chatgroup: "Chatgroup" = betterproto.message_field(2)
    audit_name: str = betterproto.string_field(3)
    audit_notice: str = betterproto.string_field(4)


@dataclass
class InviteChatgroupReq(betterproto.Message):
    chatgroup_id: int = betterproto.uint32_field(1)
    friend_list: List[int] = betterproto.uint32_field(2)
    master_pupil_list: List[int] = betterproto.uint32_field(3)
    stranger_uid_list: List[int] = betterproto.uint32_field(4)


@dataclass
class InviteChatgroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    succ_uid_list: List[int] = betterproto.uint32_field(2)
    succ_stranger_uid_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ChatgroupInvite(betterproto.Message):
    chatgroup_id: int = betterproto.uint32_field(1)
    name: str = betterproto.string_field(2)
    notice: str = betterproto.string_field(3)
    icon_id: int = betterproto.uint32_field(4)
    inviter_uid: int = betterproto.uint32_field(5)
    inviter_info: "PlayerFriendBriefData" = betterproto.message_field(6)
    invite_time: int = betterproto.uint32_field(7)
    chatgroup_member_num: int = betterproto.uint32_field(8)


@dataclass
class GetChatgroupListReq(betterproto.Message):
    is_all: bool = betterproto.bool_field(1)
    chatgroup_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetChatgroupListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)
    chatgroup_list: List["Chatgroup"] = betterproto.message_field(3)
    invite_list: List["ChatgroupInvite"] = betterproto.message_field(4)


@dataclass
class SetChatgroupReq(betterproto.Message):
    chatgroup_id: int = betterproto.uint32_field(1)
    name: str = betterproto.string_field(2)
    notice: str = betterproto.string_field(3)
    icon_id: int = betterproto.uint32_field(4)
    label_id_list: List[int] = betterproto.uint32_field(5)


@dataclass
class SetChatgroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chatgroup_id: int = betterproto.uint32_field(2)
    name: str = betterproto.string_field(3)
    notice: str = betterproto.string_field(4)
    icon_id: int = betterproto.uint32_field(5)
    label_id_list: List[int] = betterproto.uint32_field(6)
    old_name: str = betterproto.string_field(7)
    old_notice: str = betterproto.string_field(8)
    audit_name: str = betterproto.string_field(9)
    audit_notice: str = betterproto.string_field(10)
    cd_end_time: int = betterproto.uint32_field(11)


@dataclass
class LeaveChatgroupReq(betterproto.Message):
    chatgroup_id: int = betterproto.uint32_field(1)


@dataclass
class LeaveChatgroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chatgroup_id: int = betterproto.uint32_field(2)


@dataclass
class ChatgroupJoinMsg(betterproto.Message):
    inviter_uid: int = betterproto.uint32_field(1)
    member_list: List["ChatgroupMember"] = betterproto.message_field(2)


@dataclass
class ChatgroupSettingMsg(betterproto.Message):
    operator_uid: int = betterproto.uint32_field(1)
    name: str = betterproto.string_field(2)
    notice: str = betterproto.string_field(3)
    icon_id: int = betterproto.uint32_field(4)
    label_id_list: List[int] = betterproto.uint32_field(5)


@dataclass
class ChatgroupLeaveMsg(betterproto.Message):
    operator_uid: int = betterproto.uint32_field(1)
    leave_uid: int = betterproto.uint32_field(2)


@dataclass
class ChatgroupSystemNotify(betterproto.Message):
    type: "ChatgroupSystemNotifyType" = betterproto.enum_field(1)
    chatgroup_id: int = betterproto.uint32_field(2)
    chatgroup: "Chatgroup" = betterproto.message_field(3)
    join_msg: "ChatgroupJoinMsg" = betterproto.message_field(4)
    leave_msg: "ChatgroupLeaveMsg" = betterproto.message_field(5)
    setting_msg: "ChatgroupSettingMsg" = betterproto.message_field(6)
    invite: "ChatgroupInvite" = betterproto.message_field(7)
    target_uid_list: List[int] = betterproto.uint32_field(8)
    chatgroup_name: str = betterproto.string_field(9)
    time: int = betterproto.uint32_field(10)


@dataclass
class KickChatgroupMemberReq(betterproto.Message):
    chatgroup_id: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)


@dataclass
class KickChatgroupMemberRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chatgroup_id: int = betterproto.uint32_field(2)
    target_uid: int = betterproto.uint32_field(3)


@dataclass
class DealChatgroupInviteReq(betterproto.Message):
    chatgroup_id: int = betterproto.uint32_field(1)
    action: "DealChatgroupInviteReqInviteAction" = betterproto.enum_field(2)


@dataclass
class DealChatgroupInviteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chatgroup_id: int = betterproto.uint32_field(2)


@dataclass
class InviteToMultiChatgroupReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    chatgroup_id_list: List[int] = betterproto.uint32_field(2)
    is_has_relation: bool = betterproto.bool_field(3)


@dataclass
class InviteToMultiChatgroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    chatgroup_id_list: List[int] = betterproto.uint32_field(3)
    is_stranger: bool = betterproto.bool_field(4)


@dataclass
class GetChatgroupHistoryChatMsgReq(betterproto.Message):
    chatgroup_id: int = betterproto.uint32_field(1)


@dataclass
class GetChatgroupHistoryChatMsgRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chatgroup_id: int = betterproto.uint32_field(2)
    chat_msg_list: List["ChatMsg"] = betterproto.message_field(3)


@dataclass
class EnterWorldChatroomReq(betterproto.Message):
    chatroom_id: int = betterproto.uint32_field(1)
    activity_type: "ActivityWorldChatroomType" = betterproto.enum_field(2)
    para: int = betterproto.uint32_field(3)
    player_level: int = betterproto.uint32_field(4)
    player_region: str = betterproto.string_field(5)


@dataclass
class EnterWorldChatroomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chatroom_id: int = betterproto.uint32_field(2)
    his_chat_msg_list: List["ChatMsg"] = betterproto.message_field(3)
    activity_type: "ActivityWorldChatroomType" = betterproto.enum_field(4)
    player_num: int = betterproto.uint32_field(5)


@dataclass
class LeaveChatroomNotify(betterproto.Message):
    new_chatroom_id: int = betterproto.uint32_field(1)


@dataclass
class BattleChatParam(betterproto.Message):
    battle_mode: "BattleMode" = betterproto.enum_field(1)
    battle_para: int = betterproto.uint32_field(2)


@dataclass
class RoomChatParam(betterproto.Message):
    is_broadcast_msg: bool = betterproto.bool_field(1)


@dataclass
class PrivateChatParam(betterproto.Message):
    relation_type: "ChatRelationType" = betterproto.enum_field(1)


@dataclass
class GroupChatParam(betterproto.Message):
    chatgroup_id: int = betterproto.uint32_field(1)


@dataclass
class ExtraChatParam(betterproto.Message):
    room_chat_param: "RoomChatParam" = betterproto.message_field(1)
    private_chat_param: "PrivateChatParam" = betterproto.message_field(2)
    group_chat_param: "GroupChatParam" = betterproto.message_field(3)
    battle_chat_param: "BattleChatParam" = betterproto.message_field(4)


@dataclass
class SendChatMsgNotify(betterproto.Message):
    chat_msg: "ChatMsg" = betterproto.message_field(1)
    target_uid_list: List[int] = betterproto.uint32_field(2)
    extra_chat_param: "ExtraChatParam" = betterproto.message_field(3)


@dataclass
class RecvChatMsgNotify(betterproto.Message):
    chat_msg_list: List["ChatMsg"] = betterproto.message_field(1)


@dataclass
class RecvOfflinePrivateChatMsgNotify(betterproto.Message):
    chat_msg_list: List["ChatMsg"] = betterproto.message_field(1)


@dataclass
class GetPrivateHistoryChatMsgReq(betterproto.Message):
    uid_list: List[int] = betterproto.uint32_field(1)


@dataclass
class HistoryPrivateChatMsg(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    chat_msg_list: List["ChatMsg"] = betterproto.message_field(2)


@dataclass
class GetPrivateHistoryChatMsgRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chat_list: List["HistoryPrivateChatMsg"] = betterproto.message_field(2)


@dataclass
class ChatCloseNotify(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ChatworldEntity(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    entity_type: int = betterproto.uint32_field(2)
    camp_tag: int = betterproto.uint32_field(3)
    position: "ChatworldPosition" = betterproto.message_field(4)
    player_info: "ChatworldPlayerInfo" = betterproto.message_field(5)
    chatworld_item: "ChatworldItem" = betterproto.message_field(6)
    chatworld_stance: "ChatworldStance" = betterproto.message_field(7)
    chatworld_fish_spot: "ChatworldFishSpot" = betterproto.message_field(8)
    chatworld_question: "ChatworldQuestion" = betterproto.message_field(9)
    chatworld_beast: "ChatworldBeast" = betterproto.message_field(10)
    chatworld_box: "ChatworldBox" = betterproto.message_field(11)
    chatworld_wooden_boy: "ChatworldWoodenBoy" = betterproto.message_field(12)


@dataclass
class ChatworldQuestion(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    question_id: int = betterproto.uint32_field(2)
    status: "ChatworldQuestionStatus" = betterproto.enum_field(3)
    end_time: int = betterproto.uint32_field(4)
    right_answer_id: int = betterproto.uint32_field(5)


@dataclass
class ChatworldEntityMsg(betterproto.Message):
    update_entity_list: List["ChatworldEntity"] = betterproto.message_field(1)
    delete_entity_list: List[int] = betterproto.uint32_field(2)


@dataclass
class ChatworldPosition(betterproto.Message):
    x: float = betterproto.float_field(1)
    y: float = betterproto.float_field(2)
    z: float = betterproto.float_field(3)
    rotation: float = betterproto.float_field(4)
    speed: float = betterproto.float_field(5)
    time_ms_u64: int = betterproto.uint64_field(6)
    aim_rotation: float = betterproto.float_field(7)
    is_teleport: bool = betterproto.bool_field(8)


@dataclass
class CommonChatworldRedEnvelope(betterproto.Message):
    red_envelope_id: int = betterproto.uint32_field(1)
    expire_time: int = betterproto.uint32_field(2)
    sender_uid: int = betterproto.uint32_field(3)
    item_id: int = betterproto.uint32_field(4)


@dataclass
class ChatworldBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    expire_time_ms_u64: int = betterproto.uint64_field(2)


@dataclass
class ChatworldStance(betterproto.Message):
    stance_id: int = betterproto.uint32_field(1)
    position: "ChatworldPosition" = betterproto.message_field(2)
    holding_stance_camp_tag: int = betterproto.uint32_field(3)
    camp_1_stance_progress: int = betterproto.uint32_field(4)
    camp_2_stance_progress: int = betterproto.uint32_field(5)


@dataclass
class ChatworldStanceMsg(betterproto.Message):
    stance_list: List["ChatworldStance"] = betterproto.message_field(1)


@dataclass
class ChatworldCollectBattleItem(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    item_num: int = betterproto.uint32_field(2)


@dataclass
class ChatworldBattle(betterproto.Message):
    score: int = betterproto.uint32_field(1)
    kill_num: int = betterproto.uint32_field(2)
    kill_streak: int = betterproto.uint32_field(3)
    legendary_times: int = betterproto.uint32_field(4)
    collect_battle_item_list: List["ChatworldCollectBattleItem"] = (
        betterproto.message_field(5)
    )


@dataclass
class ChatworldPlayerInfo(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    avatar_id: int = betterproto.uint32_field(3)
    chat_dress_id: int = betterproto.uint32_field(4)
    position: "ChatworldPosition" = betterproto.message_field(5)
    chat_avatar_id: int = betterproto.uint32_field(6)
    chat_frame_id: int = betterproto.uint32_field(7)
    holding_list: List[int] = betterproto.uint32_field(8)
    level: int = betterproto.uint32_field(9)
    armada_name: str = betterproto.string_field(10)
    mp_level: int = betterproto.uint32_field(11)
    on_medal_id: int = betterproto.uint32_field(12)
    action_id: int = betterproto.uint32_field(13)
    chatworld_red_envelope_list: List["CommonChatworldRedEnvelope"] = (
        betterproto.message_field(14)
    )
    is_all_info: bool = betterproto.bool_field(15)
    left_hp: int = betterproto.uint32_field(16)
    next_reborn_time: int = betterproto.uint32_field(17)
    buff_list: List["ChatworldBuff"] = betterproto.message_field(18)
    runtime_tag: int = betterproto.uint32_field(19)
    custom_head_id: int = betterproto.uint32_field(20)
    on_medal: "Medal" = betterproto.message_field(21)
    battle_info: "ChatworldBattle" = betterproto.message_field(22)


@dataclass
class ChatworldFishInfo(betterproto.Message):
    daily_get_currency_num: int = betterproto.uint32_field(1)


@dataclass
class ChatworldFisher(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    seat_idx: int = betterproto.uint32_field(2)
    fisher_status: "ChatworldFisherStatus" = betterproto.enum_field(3)
    status_start_time_ms_u64: int = betterproto.uint64_field(4)
    wait_assist_fish_hard_level: int = betterproto.uint32_field(5)
    assist_uid_list: List[int] = betterproto.uint32_field(6)
    like_uid_list: List[int] = betterproto.uint32_field(7)
    last_get_fish_id: int = betterproto.uint32_field(8)
    last_get_fish_time_ms_u64: int = betterproto.uint64_field(9)
    fish_info: "ChatworldFishInfo" = betterproto.message_field(10)


@dataclass
class ChatworldFishSpot(betterproto.Message):
    fish_spot_id: int = betterproto.uint32_field(1)
    fisher_list: List["ChatworldFisher"] = betterproto.message_field(2)


@dataclass
class ChatworldBeast(betterproto.Message):
    beast_unique_id_u64: int = betterproto.uint64_field(1)
    beast_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    left_hp: int = betterproto.uint32_field(4)
    status: "ChatworldBeastStatus" = betterproto.enum_field(5)
    wait_take_treasure_uid_list: List[int] = betterproto.uint32_field(6)
    expire_time: int = betterproto.uint32_field(7)
    challenger_num: int = betterproto.uint32_field(8)
    treasure_rank_id: int = betterproto.uint32_field(9)


@dataclass
class ChatworldBox(betterproto.Message):
    box_series_id: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    expire_time: int = betterproto.uint32_field(3)


@dataclass
class ChatworldBoxActivity(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    open_box_unique_id_u64_list: List[int] = betterproto.uint64_field(2)


@dataclass
class ChatworldPlayerScene(betterproto.Message):
    left_hp: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)
    last_login_time: int = betterproto.uint32_field(3)


@dataclass
class EnterCommonChatworldReq(betterproto.Message):
    chatworld_id: int = betterproto.uint32_field(1)
    player_info: "ChatworldPlayerInfo" = betterproto.message_field(2)
    scene_id: int = betterproto.uint32_field(3)
    scene_data: "ChatworldPlayerScene" = betterproto.message_field(4)
    last_chatworld_id: int = betterproto.uint32_field(5)
    camp_tag: int = betterproto.uint32_field(6)
    last_scene_id: int = betterproto.uint32_field(7)


@dataclass
class EnterCommonChatworldRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chatworld_id: int = betterproto.uint32_field(2)
    player_info_list: List["ChatworldEntity"] = betterproto.message_field(3)
    self_info: "ChatworldEntity" = betterproto.message_field(4)
    npc_red_envelope_list: List["CommonChatworldRedEnvelope"] = (
        betterproto.message_field(5)
    )
    time: int = betterproto.uint32_field(6)
    scene_id: int = betterproto.uint32_field(7)


@dataclass
class LeaveCommonChatworldReq(betterproto.Message):
    pass


@dataclass
class LeaveCommonChatworldRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    is_kicked: bool = betterproto.bool_field(2)


@dataclass
class ChatworldMsgMove(betterproto.Message):
    target_position: "ChatworldPosition" = betterproto.message_field(1)


@dataclass
class ChatworldMsgUseItem(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)
    target_uid_list: List[int] = betterproto.uint32_field(3)
    msg: str = betterproto.string_field(4)
    extra_data: List[bytes] = betterproto.bytes_field(5)


@dataclass
class ChatworldMsgInteract(betterproto.Message):
    interact_type: "ChatworldInteractType" = betterproto.enum_field(1)
    target_npc_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldMsgAction(betterproto.Message):
    action_id: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)


@dataclass
class CommonChatworldRedEnvelopeMsg(betterproto.Message):
    sender_uid: int = betterproto.uint32_field(1)
    channel: int = betterproto.uint32_field(2)
    is_sender_npc: bool = betterproto.bool_field(3)
    chatworld_red_envelope: "CommonChatworldRedEnvelope" = betterproto.message_field(4)
    msg: str = betterproto.string_field(5)


@dataclass
class ChatworldTreasureMsg(betterproto.Message):
    cur_treasure_schedule_id: int = betterproto.uint32_field(1)
    new_treasure_list: List["ChatworldTreasure"] = betterproto.message_field(2)
    update_treasure_list: List["ChatworldTreasure"] = betterproto.message_field(3)
    delete_treasure_list: List["ChatworldTreasure"] = betterproto.message_field(4)


@dataclass
class ChatworldSkillAttackMsg(betterproto.Message):
    skill_unique_id_list: List[int] = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)
    attack_pos: "ChatworldPosition" = betterproto.message_field(3)


@dataclass
class ChatworldEntityHp(betterproto.Message):
    hit_unique_id: int = betterproto.uint32_field(1)
    old_hp: int = betterproto.uint32_field(2)
    left_hp: int = betterproto.uint32_field(3)


@dataclass
class ChatworldSkillDamageMsg(betterproto.Message):
    skill_unique_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)
    damage_pos: "ChatworldPosition" = betterproto.message_field(3)
    entity_hp_list: List["ChatworldEntityHp"] = betterproto.message_field(4)


@dataclass
class ChatworldItem(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    item_hp: int = betterproto.uint32_field(2)


@dataclass
class ChatworldSkillCancelMsg(betterproto.Message):
    skill_unique_id: int = betterproto.uint32_field(1)


@dataclass
class ChatworldItemMsg(betterproto.Message):
    update_item_list: List["ChatworldItem"] = betterproto.message_field(1)
    delete_item_list: List[int] = betterproto.uint32_field(2)


@dataclass
class ChatworldMsgItem(betterproto.Message):
    type: "ChatworldMsgItemChatworldMsgType" = betterproto.enum_field(1)
    player_info: "ChatworldEntity" = betterproto.message_field(2)
    msg_int: int = betterproto.int32_field(3)
    client_msg: List[bytes] = betterproto.bytes_field(4)
    normal_msg: "ChatMsgItem" = betterproto.message_field(5)
    use_item_msg: "ChatworldMsgUseItem" = betterproto.message_field(6)
    interact_msg: "ChatworldMsgInteract" = betterproto.message_field(7)
    action_msg: "ChatworldMsgAction" = betterproto.message_field(8)
    red_envelope_msg: "CommonChatworldRedEnvelopeMsg" = betterproto.message_field(9)
    chatworld_treasure_msg: "ChatworldTreasureMsg" = betterproto.message_field(10)
    skill_attack_msg: "ChatworldSkillAttackMsg" = betterproto.message_field(11)
    skill_damage_msg: "ChatworldSkillDamageMsg" = betterproto.message_field(12)
    skill_cancel_msg: "ChatworldSkillCancelMsg" = betterproto.message_field(13)
    entity_msg: "ChatworldEntityMsg" = betterproto.message_field(14)
    entity_hp_msg: "ChatworldEntityHp" = betterproto.message_field(15)


@dataclass
class ChatworldMsg(betterproto.Message):
    item_list: List["ChatworldMsgItem"] = betterproto.message_field(1)
    uid: int = betterproto.uint32_field(2)
    time_ms_u64: int = betterproto.uint64_field(3)
    client_time: float = betterproto.float_field(4)
    is_system_msg: bool = betterproto.bool_field(5)
    check_result: "ChatMsgSensitiveCheckResult" = betterproto.message_field(6)


@dataclass
class SendCommonChatworldMsgNotify(betterproto.Message):
    msg: "ChatworldMsg" = betterproto.message_field(1)


@dataclass
class RecvCommonChatworldMsgNotify(betterproto.Message):
    chat_msg_list: List["ChatworldMsg"] = betterproto.message_field(1)


@dataclass
class ChatworldUseItemReq(betterproto.Message):
    use_item_msg: "ChatworldMsgUseItem" = betterproto.message_field(1)


@dataclass
class ChatworldUseItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    material_id: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)
    target_uid_list: List[int] = betterproto.uint32_field(4)


@dataclass
class ChatworldChangeAvatarReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    scene_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldChangeAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    scene_id: int = betterproto.uint32_field(3)


@dataclass
class GetChatworldListReq(betterproto.Message):
    start_id: int = betterproto.uint32_field(1)
    end_id: int = betterproto.uint32_field(2)
    scene_id: int = betterproto.uint32_field(3)


@dataclass
class ChatworldBrief(betterproto.Message):
    chatworld_id: int = betterproto.uint32_field(1)
    player_num: int = betterproto.uint32_field(2)
    is_has_untaken_treasure: bool = betterproto.bool_field(3)
    beast_num: int = betterproto.uint32_field(4)


@dataclass
class GetChatworldListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chatworld_list: List["ChatworldBrief"] = betterproto.message_field(2)
    show_max_id: int = betterproto.uint32_field(3)
    scene_id: int = betterproto.uint32_field(4)
    redis_chatworld_list: List[int] = betterproto.uint32_field(5)


@dataclass
class ChatworldInteractReq(betterproto.Message):
    interact_msg: "ChatworldMsgInteract" = betterproto.message_field(1)


@dataclass
class ChatworldInteractRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    interact_msg: "ChatworldMsgInteract" = betterproto.message_field(2)


@dataclass
class ChatworldTreasure(betterproto.Message):
    chatworld_id: int = betterproto.uint32_field(1)
    treasure_id: int = betterproto.uint32_field(2)
    position: "ChatworldPosition" = betterproto.message_field(3)
    is_reward_taken: bool = betterproto.bool_field(4)
    open_uid_list: List[int] = betterproto.uint32_field(5)


@dataclass
class GetChatworldTreasureDataReq(betterproto.Message):
    chatworld_id: int = betterproto.uint32_field(1)
    cur_treasure_schedule_id: int = betterproto.uint32_field(2)


@dataclass
class GetChatworldTreasureDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chatworld_id: int = betterproto.uint32_field(2)
    chatworld_treasure_list: List["ChatworldTreasure"] = betterproto.message_field(3)


@dataclass
class OpenChatworldTreasureReq(betterproto.Message):
    chatworld_id: int = betterproto.uint32_field(1)
    treasure_id: int = betterproto.uint32_field(2)
    cur_treasure_schedule_id: int = betterproto.uint32_field(3)
    is_gs_check: bool = betterproto.bool_field(4)


@dataclass
class OpenChatworldTreasureRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chatworld_id: int = betterproto.uint32_field(2)
    treasure_id: int = betterproto.uint32_field(3)
    drop_item_list: List["DropItem"] = betterproto.message_field(4)
    is_take_reward: bool = betterproto.bool_field(5)
    cur_treasure_schedule_id: int = betterproto.uint32_field(6)
    open_uid_list: List[int] = betterproto.uint32_field(7)


@dataclass
class ChatworldTreasureRewardNotify(betterproto.Message):
    chatworld_id: int = betterproto.uint32_field(1)
    treasure_id: int = betterproto.uint32_field(2)
    drop_item_list: List["DropItem"] = betterproto.message_field(3)


@dataclass
class ChatworldSkillDamageJudgeReq(betterproto.Message):
    skill_unique_id: int = betterproto.uint32_field(1)
    hit_unique_id_list: List[int] = betterproto.uint32_field(2)
    damage_pos: "ChatworldPosition" = betterproto.message_field(3)


@dataclass
class ChatworldSkillDamageJudgeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    damage_msg: "ChatworldSkillDamageMsg" = betterproto.message_field(2)
    score: int = betterproto.uint32_field(3)


@dataclass
class ChatworldBattleUseItemReq(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)


@dataclass
class ChatworldBattleUseItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ChatworldPosResetNotify(betterproto.Message):
    reset_pos: "ChatworldPosition" = betterproto.message_field(1)


@dataclass
class ChatworldBattleCollectItemReq(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    item_unique_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldBattleCollectItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)
    item_unique_id: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class ChatworldActivitySchedule(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    begin_time: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)
    begin_day_time: int = betterproto.uint32_field(5)
    end_day_time: int = betterproto.uint32_field(6)


@dataclass
class ChatworldGetActivityScheduleReq(betterproto.Message):
    scene_id: int = betterproto.uint32_field(1)


@dataclass
class ChatworldGetActivityScheduleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    scene_id: int = betterproto.uint32_field(2)
    schedule_list: List["ChatworldActivitySchedule"] = betterproto.message_field(3)


@dataclass
class ChatworldFishJoinSpotReq(betterproto.Message):
    fish_spot_id: int = betterproto.uint32_field(1)
    seat_idx: int = betterproto.uint32_field(2)
    fish_info: "ChatworldFishInfo" = betterproto.message_field(3)


@dataclass
class ChatworldFishJoinSpotRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fish_spot_id: int = betterproto.uint32_field(2)
    seat_idx: int = betterproto.uint32_field(3)


@dataclass
class ChatworldFishLeaveSpotReq(betterproto.Message):
    fish_spot_id: int = betterproto.uint32_field(1)


@dataclass
class ChatworldFishLeaveSpotRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fish_spot_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldFishStartReq(betterproto.Message):
    fish_spot_id: int = betterproto.uint32_field(1)


@dataclass
class ChatworldFishStartRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fish_spot_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldFishEndReq(betterproto.Message):
    fish_end_status: "ChatworldFishEndReqFishEndStatus" = betterproto.enum_field(1)
    fish_spot_id: int = betterproto.uint32_field(2)
    fish_group_id: int = betterproto.uint32_field(3)
    fish_hard_level: int = betterproto.uint32_field(4)


@dataclass
class ChatworldFishEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fish_spot_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldFishAssistReq(betterproto.Message):
    fish_spot_id: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)


@dataclass
class ChatworldFishAssistRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fish_spot_id: int = betterproto.uint32_field(2)
    target_uid: int = betterproto.uint32_field(3)


@dataclass
class ChatworldFishLikeReq(betterproto.Message):
    fish_spot_id: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)


@dataclass
class ChatworldFishLikeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fish_spot_id: int = betterproto.uint32_field(2)
    target_uid: int = betterproto.uint32_field(3)


@dataclass
class ChatworldFishRewardNotify(betterproto.Message):
    reward_src: "FishRewardSrc" = betterproto.enum_field(1)
    fish_id: int = betterproto.uint32_field(2)
    add_currency_num: int = betterproto.uint32_field(3)
    cur_daily_get_currency_num: int = betterproto.uint32_field(4)
    extra_reward_data: "RewardData" = betterproto.message_field(5)


@dataclass
class ChatworldFishCancelWaitAssistReq(betterproto.Message):
    fish_spot_id: int = betterproto.uint32_field(1)


@dataclass
class ChatworldFishCancelWaitAssistRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fish_spot_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldFishKickPlayerNotify(betterproto.Message):
    kick_reason: "ChatworldFishKickPlayerNotifyKickReason" = betterproto.enum_field(1)


@dataclass
class ChatworldFishGetActivityInfoReq(betterproto.Message):
    pass


@dataclass
class ChatworldFishGetActivityInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fish_info: "ChatworldFishInfo" = betterproto.message_field(2)


@dataclass
class ChatworldGetPrayInfoReq(betterproto.Message):
    scene_id: int = betterproto.uint32_field(1)


@dataclass
class ChatworldGetPrayInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    pray_id: int = betterproto.uint32_field(2)
    is_has_prayed: bool = betterproto.bool_field(3)
    has_taken_character_pray_num: int = betterproto.uint32_field(4)
    total_character_pray_num: int = betterproto.uint32_field(5)


@dataclass
class ChatworldPrayReq(betterproto.Message):
    scene_id: int = betterproto.uint32_field(1)


@dataclass
class ChatworldPrayRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    pray_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class ChatworldGrantRewardNotify(betterproto.Message):
    activity_type: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    reward_id: int = betterproto.uint32_field(3)
    extra_int: int = betterproto.uint32_field(4)
    reward_data: "RewardData" = betterproto.message_field(5)


@dataclass
class ChatworldGetDishInfoReq(betterproto.Message):
    pass


@dataclass
class ChatworldGetDishInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    is_prepare_reward_taken: bool = betterproto.bool_field(3)
    dish_reward_list: List["ChatworldDishReward"] = betterproto.message_field(4)
    taken_dish_limited_reward_list: List[int] = betterproto.uint32_field(5)


@dataclass
class ChatworldTakeDishRewardReq(betterproto.Message):
    reward_type: "DishRewardType" = betterproto.enum_field(1)
    reward_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldTakeDishRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_type: "DishRewardType" = betterproto.enum_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class ChatworldBeastAddResultNotify(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ChatworldBeastChallengeReq(betterproto.Message):
    beast_unique_id_u64: int = betterproto.uint64_field(1)
    beast_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldBeastChallengeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    beast: "ChatworldBeast" = betterproto.message_field(2)
    chatworld_id: int = betterproto.uint32_field(3)
    scene_id: int = betterproto.uint32_field(4)


@dataclass
class ChatworldBeastSyncReq(betterproto.Message):
    beast_unique_id_u64: int = betterproto.uint64_field(1)
    cost_hp: int = betterproto.uint32_field(2)


@dataclass
class ChatworldBeastSyncRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    beast_unique_id_u64: int = betterproto.uint64_field(2)
    from_uid: int = betterproto.uint32_field(3)
    cost_hp: int = betterproto.uint32_field(4)
    left_hp: int = betterproto.uint32_field(5)


@dataclass
class ChatworldBeastGetActivityReq(betterproto.Message):
    pass


@dataclass
class ChatworldBeastGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    daily_senior_challenge_times: int = betterproto.uint32_field(2)
    daily_junior_challenge_times: int = betterproto.uint32_field(3)
    daily_senior_treasure_times: int = betterproto.uint32_field(4)
    daily_junior_treasure_times: int = betterproto.uint32_field(5)
    refresh_begin_time: int = betterproto.uint32_field(6)
    refresh_end_time: int = betterproto.uint32_field(7)
    refresh_interval: int = betterproto.uint32_field(8)


@dataclass
class ChatworldBoxGetDataReq(betterproto.Message):
    pass


@dataclass
class ChatworldBoxGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    box_activity_list: List["ChatworldBoxActivity"] = betterproto.message_field(2)


@dataclass
class ChatworldBoxTakeRewardReq(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldBoxTakeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)
    box_series_id: int = betterproto.uint32_field(3)
    schedule_id: int = betterproto.uint32_field(4)
    stage_id: int = betterproto.uint32_field(5)
    box_unique_id: int = betterproto.uint32_field(6)
    open_box_unique_id_u64_list: List[int] = betterproto.uint64_field(7)
    chatworld_id: int = betterproto.uint32_field(8)
    scene_id: int = betterproto.uint32_field(9)


@dataclass
class ChatworldBeastTakeTreasureReq(betterproto.Message):
    beast_unique_id_u64: int = betterproto.uint64_field(1)
    beast_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldBeastTakeTreasureRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    drop_item_list: List["DropItem"] = betterproto.message_field(2)
    beast_id: int = betterproto.uint32_field(3)
    treasure_rank_id: int = betterproto.uint32_field(4)


@dataclass
class ChatworldBeastAbandonChallengeReq(betterproto.Message):
    pass


@dataclass
class ChatworldBeastAbandonChallengeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ChatworldGetCinemaInfoReq(betterproto.Message):
    pass


@dataclass
class ChatworldGetCinemaInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldWoodenBoyPlayer(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)
    is_caught: bool = betterproto.bool_field(3)
    spot_id: int = betterproto.uint32_field(4)


@dataclass
class ChatworldWoodenBoy(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    status: "ChatworldWoodenBoyStatus" = betterproto.enum_field(2)
    status_end_time: int = betterproto.uint32_field(3)
    is_npc_win: bool = betterproto.bool_field(4)
    player_list: List["ChatworldWoodenBoyPlayer"] = betterproto.message_field(5)


@dataclass
class ChatworldWoodenBoyEnterReq(betterproto.Message):
    pass


@dataclass
class ChatworldWoodenBoyEnterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ChatworldWoodenBoyLeaveReq(betterproto.Message):
    pass


@dataclass
class ChatworldWoodenBoyLeaveRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ChatworldWoodenBoyStartNotify(betterproto.Message):
    start_time: int = betterproto.uint32_field(1)
    npc_switch_time_list: List[int] = betterproto.uint32_field(2)
    timeline_id: int = betterproto.uint32_field(3)


@dataclass
class ChatworldWoodenBoySettleNotify(betterproto.Message):
    is_win: bool = betterproto.bool_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldWoodenBoyUpdateStatusReq(betterproto.Message):
    score: int = betterproto.uint32_field(1)
    is_caught: bool = betterproto.bool_field(2)


@dataclass
class ChatworldWoodenBoyUpdateStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ChatworldQuestionSettleNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    is_right: bool = betterproto.bool_field(2)
    question_id: int = betterproto.uint32_field(3)
    reward_id: int = betterproto.uint32_field(4)


@dataclass
class ChatWorldGetWishInfoReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    pool_id: int = betterproto.uint32_field(2)


@dataclass
class ChatWorldWishPool(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    has_got_reward_list: List[int] = betterproto.uint32_field(2)
    no_baodi_times: int = betterproto.uint32_field(3)
    wish_random: int = betterproto.uint32_field(4)
    total_wish_num: int = betterproto.uint32_field(5)


@dataclass
class ChatWorldGetWishInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    wish_pool_info: "ChatWorldWishPool" = betterproto.message_field(2)


@dataclass
class ChatWorldDoWishReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    pool_id: int = betterproto.uint32_field(2)
    wish_num: int = betterproto.uint32_field(3)
    wish_random: int = betterproto.uint32_field(4)


@dataclass
class ChatWorldDoWishRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    wish_random: int = betterproto.uint32_field(3)
    got_reward_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class ChatWorldExchangeGoodsReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)


@dataclass
class ChatWorldExchangeGoodsRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    item_id: int = betterproto.uint32_field(3)
    num: int = betterproto.uint32_field(4)


@dataclass
class ChatworldChangeEnterEffectReq(betterproto.Message):
    enter_effect_id: int = betterproto.uint32_field(1)
    scene_id: int = betterproto.uint32_field(2)


@dataclass
class ChatworldChangeEnterEffectRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    enter_effect_id: int = betterproto.uint32_field(2)
    scene_id: int = betterproto.uint32_field(3)


@dataclass
class ChatworldQCandyActivityGetReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class ChatworldQCandyActivityGetRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    last_choose_avatar_id: int = betterproto.uint32_field(3)
    last_choose_enter_effect_id: int = betterproto.uint32_field(4)
    unlocked_avatar_id_list: List[int] = betterproto.uint32_field(5)
    unlocked_enter_effect_id_list: List[int] = betterproto.uint32_field(6)
    wish_info: "ChatWorldWishPool" = betterproto.message_field(7)


@dataclass
class ProtoVector2Int(betterproto.Message):
    x: int = betterproto.int32_field(1)
    y: int = betterproto.int32_field(2)


@dataclass
class WorldMapServerLocalMessage(betterproto.Message):
    last_report_time: int = betterproto.uint32_field(1)
    main_line__story_list: List[int] = betterproto.int32_field(2)
    main_chapter_activity_section_list: List[int] = betterproto.int32_field(3)
    last_sin_ex: int = betterproto.uint32_field(4)
    entered_open_world_list: List[int] = betterproto.int32_field(5)
    last_endless: int = betterproto.uint32_field(6)


@dataclass
class AugmentPerformanceLocalMessage(betterproto.Message):
    finished_entry_perform_id_list: List[int] = betterproto.int32_field(1)
    selected_finish_dialog_id_list: List["ProtoVector2Int"] = betterproto.message_field(
        2
    )


@dataclass
class AvatarServerLocalMessage(betterproto.Message):
    favorite_avatar_id_list: List[int] = betterproto.int32_field(1)
    new_avatar_id_list: List[int] = betterproto.int32_field(2)


@dataclass
class NinjaEventIDPlayedServerLocalMessage(betterproto.Message):
    played_event_id_list: List[int] = betterproto.int32_field(1)


@dataclass
class GeneralAvatarActivityServeLocalMessage(betterproto.Message):
    entered_sourec_page: bool = betterproto.bool_field(1)


@dataclass
class TimerIDToTimeStamp(betterproto.Message):
    timer_id: int = betterproto.int32_field(1)
    time_stamp: int = betterproto.uint32_field(2)


@dataclass
class OpenWorldServerLocalMessage(betterproto.Message):
    started_timer_id_to_time_stamp_list: List["TimerIDToTimeStamp"] = (
        betterproto.message_field(1)
    )


@dataclass
class PlotGroupIDToTriggerTime(betterproto.Message):
    plot_group_id: int = betterproto.uint32_field(1)
    trigger_time: int = betterproto.int32_field(2)


@dataclass
class CardSuiteEpicActiveTime(betterproto.Message):
    id: int = betterproto.int32_field(1)
    time_stamp: int = betterproto.uint32_field(2)


@dataclass
class HeroSpiritsEventNotice(betterproto.Message):
    hero_id: int = betterproto.uint32_field(1)
    is_already_notice: bool = betterproto.bool_field(2)


@dataclass
class ChapterOWServerLocalMessage(betterproto.Message):
    triggered_tips_id_list: List[int] = betterproto.int32_field(1)
    is_ow_map_unlocked: bool = betterproto.bool_field(2)
    is_ow_map_church_light_unlocked: bool = betterproto.bool_field(3)
    is_ow_map_church_light_break_played: bool = betterproto.bool_field(4)
    is_ow_map_anim_tips_shown: bool = betterproto.bool_field(5)
    is_ow_map_memory_tips_shown: bool = betterproto.bool_field(6)
    plot_group_trigger_time_list: List["PlotGroupIDToTriggerTime"] = (
        betterproto.message_field(7)
    )
    last_played_site_id: int = betterproto.int32_field(8)
    last_played_tower_id: int = betterproto.uint32_field(9)
    enterd_endless_tower: bool = betterproto.bool_field(10)
    card_suite_epic_active_time_list: List["CardSuiteEpicActiveTime"] = (
        betterproto.message_field(11)
    )
    hero_spirits_event_notice_list: List["HeroSpiritsEventNotice"] = (
        betterproto.message_field(12)
    )
    hero_card_collection_popup_list: List[int] = betterproto.int32_field(13)
    achievement_collection_popup_list: List[int] = betterproto.int32_field(14)
    show_create_suite_btn_popup: bool = betterproto.bool_field(15)
    new_got_hero_id_list: List[int] = betterproto.int32_field(16)
    new_got_hero_card_id_list: List[int] = betterproto.int32_field(17)
    hide_vfx_in_level: bool = betterproto.bool_field(18)
    played_fuse_anim: bool = betterproto.bool_field(19)
    played_resurrection_anim: bool = betterproto.bool_field(20)
    played_sp_hero_unlock_anim: bool = betterproto.bool_field(21)
    collection_unlock_num_list: List["ProtoVector2Int"] = betterproto.message_field(22)
    bag_item_num_list: List["ProtoVector2Int"] = betterproto.message_field(23)
    bag_item_popup_list: List[int] = betterproto.int32_field(24)
    story_series_num_list: List["ProtoVector2Int"] = betterproto.message_field(25)
    unlocked_activate_talent_id_list: List[int] = betterproto.int32_field(26)
    final_achievement_relic_popup_list: List[int] = betterproto.int32_field(27)


@dataclass
class PictureTutorial(betterproto.Message):
    activity_id: int = betterproto.int32_field(1)
    tutorial_id_list: List[int] = betterproto.int32_field(2)


@dataclass
class AvatarTutorialLocalMessage(betterproto.Message):
    entered_avatar_tutorial_activity_id_list: List[int] = betterproto.uint32_field(1)
    entered_newbie_guide_tutorial_id_list: List[int] = betterproto.uint32_field(2)
    finished_picture_tutorial_list: List["PictureTutorial"] = betterproto.message_field(
        3
    )
    in_level_hinted_picture_tutorial_list: List["PictureTutorial"] = (
        betterproto.message_field(4)
    )


@dataclass
class PhoneNoticeLocalMessage(betterproto.Message):
    notice_schedule_id: int = betterproto.int32_field(1)
    last_notice_time: int = betterproto.uint32_field(2)
    finished_perform_list: List[int] = betterproto.int32_field(3)


@dataclass
class LoginPostData(betterproto.Message):
    all_show_times: int = betterproto.int32_field(1)
    begin_time_of_record_day: int = betterproto.uint32_field(2)
    show_times_in_record_day: int = betterproto.int32_field(3)


@dataclass
class NewbieLoginPostEntry(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    data: "LoginPostData" = betterproto.message_field(2)


@dataclass
class NewbieActivityServerMessage(betterproto.Message):
    newbie_login_post_data_list: List["NewbieLoginPostEntry"] = (
        betterproto.message_field(1)
    )


@dataclass
class KingdomsWarServerMessage(betterproto.Message):
    played_start_story: bool = betterproto.bool_field(1)
    story_play_record: int = betterproto.int64_field(2)


@dataclass
class GlobalExploreServerMessage(betterproto.Message):
    clicked_event_collection_id_list: List[int] = betterproto.int32_field(1)
    viewed_message_id_list: List[int] = betterproto.int32_field(2)


@dataclass
class MainStoryLevelSpecialJobServerMessage(betterproto.Message):
    job_id_list: List[int] = betterproto.int32_field(1)


@dataclass
class ChapterMemoirServerMessage(betterproto.Message):
    has_access_ender_panel: bool = betterproto.bool_field(1)


@dataclass
class QCandyServerMessage(betterproto.Message):
    has_show_trial_level_dialog: bool = betterproto.bool_field(1)


@dataclass
class SusannaTrialServerMessage(betterproto.Message):
    has_entered_areas: List[int] = betterproto.int32_field(1)


@dataclass
class GodWarServerMessage(betterproto.Message):
    viewed_typewriter_doc_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class ThemeTowerServerMessage(betterproto.Message):
    has_entered_sections: List[int] = betterproto.int32_field(1)


@dataclass
class TiledGameLunaServerMessage(betterproto.Message):
    current_tracing_mission_id: int = betterproto.uint32_field(1)
    current_tower_id: int = betterproto.uint32_field(2)
    has_shown_mission_group_begin_hint: List[int] = betterproto.int32_field(3)


@dataclass
class MainLineBagMessage(betterproto.Message):
    clicked_storage_itemid_list: List[int] = betterproto.int32_field(1)


@dataclass
class AdventureServerMessage(betterproto.Message):
    newsys_dialog_displayed: bool = betterproto.bool_field(1)


@dataclass
class SpecialReturneeServerMessage(betterproto.Message):
    has_skip_firstlogin_dialog: bool = betterproto.bool_field(1)
    skip_endless_dialog_record_i_d: int = betterproto.uint32_field(2)
    last_play_tutorial_time_stamp: int = betterproto.uint32_field(3)
    has_play_tutorial: bool = betterproto.bool_field(4)
    has_clicked_monthcardbtn: bool = betterproto.bool_field(5)


@dataclass
class TiledGameFarmServerMessage(betterproto.Message):
    current_tracing_mission_i_d: int = betterproto.uint32_field(1)
    equipped_item_i_d: int = betterproto.uint32_field(2)
    viewd_achivement_i_ds: List[int] = betterproto.uint32_field(3)
    equipped_seed_item_i_d: int = betterproto.uint32_field(4)
    get_mission_i_ds: List[int] = betterproto.uint32_field(5)
    get_achivement_i_ds: List[int] = betterproto.uint32_field(6)
    viewed_handbook_item_i_ds: List[int] = betterproto.uint32_field(7)


@dataclass
class NewRedDotDressIdServerMessage(betterproto.Message):
    new_red_dot_dress_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GourmetHuntServerMessage(betterproto.Message):
    current_tracing_mission_group_id: int = betterproto.uint32_field(1)
    has_shown_mission_group_begin_hint: List[int] = betterproto.int32_field(2)


@dataclass
class ChatLobbyTextFireworkItemUseExtraData(betterproto.Message):
    text_firework_meta_i_d: int = betterproto.uint32_field(1)
    pos_x: int = betterproto.int32_field(2)
    pos_y: int = betterproto.int32_field(3)
    pos_z: int = betterproto.int32_field(4)


@dataclass
class ChatLobbyServerMessage(betterproto.Message):
    triggered_tutorial_object_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class NewElfMessage(betterproto.Message):
    inited: bool = betterproto.bool_field(1)
    clicked_id_list: List[int] = betterproto.int32_field(2)


@dataclass
class TiledGameSRPGServerMessage(betterproto.Message):
    current_tracing_mission_id: int = betterproto.uint32_field(1)
    current_tower_id: int = betterproto.uint32_field(2)
    has_shown_mission_group_begin_hint: List[int] = betterproto.int32_field(3)


@dataclass
class PjmsActivityReMessage(betterproto.Message):
    unlocked_skill_i_d_list: List[int] = betterproto.int32_field(1)
    open_area_num: int = betterproto.int32_field(2)


@dataclass
class PJMSStoryTrialTeamEditServerMessage(betterproto.Message):
    trial_use_self_avatar_i_d_list: List[int] = betterproto.int32_field(1)


@dataclass
class MonsterFarmServerMessage(betterproto.Message):
    current_tracing_mission_i_d: int = betterproto.int32_field(1)
    equipped_item_i_d: int = betterproto.int32_field(2)
    viewd_achivement_i_ds: List[int] = betterproto.int32_field(3)
    equipped_seed_item_i_d: int = betterproto.int32_field(4)
    get_mission_i_ds: List[int] = betterproto.int32_field(5)
    get_achivement_i_ds: List[int] = betterproto.int32_field(6)
    viewed_handbook_item_i_ds: List[int] = betterproto.int32_field(7)
    monsters_marked_for_del: List[int] = betterproto.uint32_field(8)


@dataclass
class WorldMapResidentActivityServerMessage(betterproto.Message):
    is_in_resident_activity: bool = betterproto.bool_field(1)
    first_login_level_record: int = betterproto.uint32_field(2)
    last_resident_activity_id: int = betterproto.uint32_field(3)
    popup_new_resident_activity_id_record: List[int] = betterproto.uint32_field(4)
    outer_popup_new_resident_activity_id_record: List[int] = betterproto.uint32_field(5)


@dataclass
class CreditAccount(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class CreditReportDataReq(betterproto.Message):
    type: "CreditType" = betterproto.enum_field(1)
    cheat_data_list: List["StageCheatData"] = betterproto.message_field(2)


@dataclass
class CreditReportDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class CreditAccountGetReq(betterproto.Message):
    id: int = betterproto.uint32_field(1)


@dataclass
class CreditAccountGetRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    account: "CreditAccount" = betterproto.message_field(2)


@dataclass
class DevilAutoChessEvent(betterproto.Message):
    type: "DevilAutoChessEventType" = betterproto.enum_field(1)
    event_param: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessRole(betterproto.Message):
    role_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessCard(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    card_id: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessWiki(betterproto.Message):
    card_collection_list: List[int] = betterproto.uint32_field(1)
    treasure_collection_list: List[int] = betterproto.uint32_field(2)
    achievement_collection_list: List[int] = betterproto.uint32_field(3)
    bond_collection_list: List[int] = betterproto.uint32_field(4)


@dataclass
class DevilAutoChessGame(betterproto.Message):
    game_id: int = betterproto.uint32_field(1)
    wave_id: int = betterproto.uint32_field(2)
    role_id: int = betterproto.uint32_field(3)
    hp_lost: int = betterproto.uint32_field(4)
    card_list: List["DevilAutoChessCard"] = betterproto.message_field(5)
    treasure_id_list: List[int] = betterproto.uint32_field(6)
    action_random: int = betterproto.uint32_field(7)
    wait_select_card_list: List[int] = betterproto.uint32_field(8)
    wait_select_treasure_list: List[int] = betterproto.uint32_field(9)
    removal_num: int = betterproto.uint32_field(10)
    refresh_num: int = betterproto.uint32_field(11)
    promote_num: int = betterproto.uint32_field(12)
    energy: int = betterproto.uint32_field(13)
    game_transaction_str: str = betterproto.string_field(14)
    ext_info: str = betterproto.string_field(15)


@dataclass
class DevilAutoChessActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    role_list: List["DevilAutoChessRole"] = betterproto.message_field(2)
    game_save_point_list: List["DevilAutoChessGame"] = betterproto.message_field(3)
    wiki: "DevilAutoChessWiki" = betterproto.message_field(4)
    passed_game_list: List[int] = betterproto.uint32_field(5)
    unlock_card_list: List[int] = betterproto.uint32_field(6)


@dataclass
class DevilAutoChessGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class DevilAutoChessGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    activity: "DevilAutoChessActivity" = betterproto.message_field(3)


@dataclass
class DevilAutoChessRoleLevelUpReq(betterproto.Message):
    role_id: int = betterproto.uint32_field(1)
    target_level: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessRoleLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    role: "DevilAutoChessRole" = betterproto.message_field(2)


@dataclass
class DevilAutoChessBeginGameReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    role_id: int = betterproto.uint32_field(3)
    wave_id: int = betterproto.uint32_field(4)


@dataclass
class DevilAutoChessBeginGameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    game: "DevilAutoChessGame" = betterproto.message_field(3)


@dataclass
class DevilAutoChessGetGameReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class DevilAutoChessGetGameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    game: "DevilAutoChessGame" = betterproto.message_field(3)


@dataclass
class DevilAutoChessEndGameReq(betterproto.Message):
    game_id: int = betterproto.uint32_field(1)
    status: "DevilAutoChessEndGameReqStatus" = betterproto.enum_field(2)
    score: int = betterproto.uint32_field(3)
    wave_num: int = betterproto.uint32_field(4)
    round_num: int = betterproto.uint32_field(5)
    card_num: int = betterproto.uint32_field(6)


@dataclass
class DevilAutoChessEndGameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    is_first_win: bool = betterproto.bool_field(3)
    first_reward_data: "RewardData" = betterproto.message_field(4)
    role_id_list: List[int] = betterproto.uint32_field(5)
    card_id_list: List[int] = betterproto.uint32_field(6)
    normal_reward_data: "RewardData" = betterproto.message_field(7)


@dataclass
class DevilAutoChessRemoveCardReq(betterproto.Message):
    action_random: int = betterproto.uint32_field(1)
    card_unique_id: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessRemoveCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    remove_card_unique_id: int = betterproto.uint32_field(2)
    action_random: int = betterproto.uint32_field(3)
    cur_removal_num: int = betterproto.uint32_field(4)


@dataclass
class DevilAutoChessRefreshTreasurePoolReq(betterproto.Message):
    action_random: int = betterproto.uint32_field(1)


@dataclass
class DevilAutoChessRefreshTreasurePoolRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DevilAutoChessRefreshCardPoolReq(betterproto.Message):
    action_random: int = betterproto.uint32_field(1)


@dataclass
class DevilAutoChessRefreshCardPoolRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DevilAutoChessPromoteCardReq(betterproto.Message):
    action_random: int = betterproto.uint32_field(1)
    source_card_unique_id_list: List[int] = betterproto.uint32_field(2)
    target_card_id: int = betterproto.uint32_field(3)


@dataclass
class DevilAutoChessPromoteCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    card_unique_id: int = betterproto.uint32_field(2)
    target_card_id: int = betterproto.uint32_field(3)
    action_random: int = betterproto.uint32_field(4)
    cur_promote_num: int = betterproto.uint32_field(5)


@dataclass
class DevilAutoChessSelectTreasureReq(betterproto.Message):
    action_random: int = betterproto.uint32_field(1)
    treasure_id: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessSelectTreasureRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DevilAutoChessSelectCardReq(betterproto.Message):
    action_random: int = betterproto.uint32_field(1)
    card_id: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessSelectCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    card_unique_id: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessFinishWaveReq(betterproto.Message):
    action_random: int = betterproto.uint32_field(1)
    wave_id: int = betterproto.uint32_field(2)
    round_num: int = betterproto.uint32_field(3)
    hp_lost: int = betterproto.uint32_field(4)
    energy: int = betterproto.uint32_field(5)
    ext_info: str = betterproto.string_field(6)


@dataclass
class DevilAutoChessFinishWaveRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DevilAutoChessTriggerEventReq(betterproto.Message):
    action_random: int = betterproto.uint32_field(1)
    event_list: List["DevilAutoChessEvent"] = betterproto.message_field(2)


@dataclass
class DevilAutoChessTriggerEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DevilAutoChessSweepChallengeReq(betterproto.Message):
    game_id: int = betterproto.uint32_field(1)
    sweep_material_num: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessSweepChallengeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    normal_reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class DevilAutoChessGetSpecialRankReq(betterproto.Message):
    game_id: int = betterproto.uint32_field(1)


@dataclass
class DevilAutoChessGetSpecialRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)
    rank_percent: int = betterproto.uint32_field(4)
    self_rank_data: "DevilAutoChessActivitySpecialRankInfo" = betterproto.message_field(
        5
    )
    rank: int = betterproto.uint32_field(6)


@dataclass
class DevilAutoChessGetWikiReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class DevilAutoChessGetWikiRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    wiki: "DevilAutoChessWiki" = betterproto.message_field(2)
    unlock_card_list: List[int] = betterproto.uint32_field(3)


@dataclass
class DevilAutoChessUnlockAchievementReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    achievement_id: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessUnlockAchievementRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    achievement_id: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessUnlockBondReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    bond_id: int = betterproto.uint32_field(2)


@dataclass
class DevilAutoChessUnlockBondRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    bond_id: int = betterproto.uint32_field(2)


@dataclass
class DiceyDungeonRole(betterproto.Message):
    role_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class DiceyDungeonWeapon(betterproto.Message):
    weapon_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class DiceyDungeonOrnament(betterproto.Message):
    ornament_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class DiceyDungeonInfo(betterproto.Message):
    dungeon_id: int = betterproto.uint32_field(1)
    floor: int = betterproto.uint32_field(2)
    dungeon_room_id: int = betterproto.uint32_field(3)
    role: "DiceyDungeonRole" = betterproto.message_field(4)
    health: int = betterproto.uint32_field(5)
    weapon: "DiceyDungeonWeapon" = betterproto.message_field(6)
    passed_room_id_list: List[int] = betterproto.uint32_field(7)
    ornament_list: List["DiceyDungeonOrnament"] = betterproto.message_field(8)
    wait_select_ornament_id_list: List[int] = betterproto.uint32_field(9)
    random_dicey_num_list: List[int] = betterproto.uint32_field(10)
    left_refresh_ornament_times: int = betterproto.uint32_field(11)
    dicey_battle_score: int = betterproto.uint32_field(12)
    total_dicey_battle_score: int = betterproto.uint32_field(13)


@dataclass
class DiceyDungeonHasGotDailyMaterial(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class DiceyDungeonActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    role_list: List["DiceyDungeonRole"] = betterproto.message_field(2)
    weapon_list: List["DiceyDungeonWeapon"] = betterproto.message_field(3)
    story_dicey_dungeon_info: "DiceyDungeonInfo" = betterproto.message_field(4)
    schedule_dicey_dungeon_info: "DiceyDungeonInfo" = betterproto.message_field(5)
    endless_dicey_dungeon_info: "DiceyDungeonInfo" = betterproto.message_field(6)
    passed_endless_dungeon_room_id_list: List[int] = betterproto.uint32_field(7)
    cur_schedule_id: int = betterproto.uint32_field(8)
    refresh_ornament_random: int = betterproto.uint32_field(9)
    has_got_daily_material_list: List["DiceyDungeonHasGotDailyMaterial"] = (
        betterproto.message_field(10)
    )


@dataclass
class DiceyDungeonActivityGetDataReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class DiceyDungeonActivityGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    dungeon_activity: "DiceyDungeonActivity" = betterproto.message_field(2)


@dataclass
class DiceyDungeonActivityRoleLevelUpReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    role_id: int = betterproto.uint32_field(3)


@dataclass
class DiceyDungeonActivityRoleLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class DiceyDungeonActivityDungeonBeginReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    dungeon_info: "DiceyDungeonInfo" = betterproto.message_field(3)
    dungeon_type: "DiceyDungeonType" = betterproto.enum_field(4)


@dataclass
class DiceyDungeonActivityDungeonBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    dungeon_id: int = betterproto.uint32_field(3)


@dataclass
class DiceyDungeonActivityDungeonEndReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    dungeon_info: "DiceyDungeonInfo" = betterproto.message_field(3)
    dungeon_type: "DiceyDungeonType" = betterproto.enum_field(4)


@dataclass
class DiceyDungeonActivityDungeonEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    dungeon_id: int = betterproto.uint32_field(3)
    status: "DiceyDungeonActivityDungeonEndRspStatus" = betterproto.enum_field(4)
    reward_data: "RewardData" = betterproto.message_field(5)
    total_dicey_battle_score: int = betterproto.uint32_field(6)
    daily_drop_item_list: List["DropItem"] = betterproto.message_field(7)


@dataclass
class DiceyDungeonActivityRoomBeginReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    select_dungeon_room_id: int = betterproto.uint32_field(3)
    dungeon_type: "DiceyDungeonType" = betterproto.enum_field(4)
    dungeon_info: "DiceyDungeonInfo" = betterproto.message_field(5)


@dataclass
class DiceyDungeonActivityRoomBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    dungeon_id: int = betterproto.uint32_field(3)
    dungeon_room_id: int = betterproto.uint32_field(4)


@dataclass
class DiceyDungeonActivityRoomEndReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    dungeon_info: "DiceyDungeonInfo" = betterproto.message_field(3)
    status: "DiceyDungeonActivityRoomEndReqStatus" = betterproto.enum_field(4)
    dungeon_type: "DiceyDungeonType" = betterproto.enum_field(5)
    battle_time: int = betterproto.uint32_field(6)
    battle_round: int = betterproto.uint32_field(7)


@dataclass
class DiceyDungeonActivityRoomEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    dungeon_id: int = betterproto.uint32_field(3)
    dungeon_room_id: int = betterproto.uint32_field(4)


@dataclass
class DiceyDungeonActivityGetWeaponGachaDisplayReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class DiceyDungeonActivityGetWeaponGachaDisplayRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    valid_pool_id_list: List[int] = betterproto.uint32_field(2)
    gacha_random: int = betterproto.uint32_field(3)
    activity_id: int = betterproto.uint32_field(4)


@dataclass
class DiceyDungeonActivityWeaponGachaReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    gacha_random: int = betterproto.uint32_field(3)


@dataclass
class DiceyDungeonActivityWeaponGachaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    weapon_id: int = betterproto.uint32_field(2)
    is_new: bool = betterproto.bool_field(3)
    gacha_random: int = betterproto.uint32_field(4)
    activity_id: int = betterproto.uint32_field(5)


@dataclass
class DiceyDungeonActivitySelectOrnamentReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    select_ornament_id: int = betterproto.uint32_field(3)
    replace_ornament_id: int = betterproto.uint32_field(4)
    is_abandon: bool = betterproto.bool_field(5)
    dungeon_info: "DiceyDungeonInfo" = betterproto.message_field(6)
    dungeon_type: "DiceyDungeonType" = betterproto.enum_field(7)


@dataclass
class DiceyDungeonActivitySelectOrnamentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    is_abandon: bool = betterproto.bool_field(3)


@dataclass
class DiceyDungeonActivityRefreshOrnamentReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    refresh_ornament_random: int = betterproto.uint32_field(3)
    dungeon_info: "DiceyDungeonInfo" = betterproto.message_field(4)
    dungeon_type: "DiceyDungeonType" = betterproto.enum_field(5)


@dataclass
class DiceyDungeonActivityRefreshOrnamentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class DiceyDungeonActivityGetDailyScoreRankReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    dungeon_id: int = betterproto.uint32_field(3)


@dataclass
class DiceyDungeonActivityGetDailyScoreRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    dungeon_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    rank_percent: int = betterproto.uint32_field(5)


@dataclass
class DLCAvatarTalent(betterproto.Message):
    talent_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    affix_set_id: int = betterproto.uint32_field(3)
    wait_select_affix_set_id: int = betterproto.uint32_field(4)
    is_mask: bool = betterproto.bool_field(5)


@dataclass
class DLCAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    talent_list: List["DLCAvatarTalent"] = betterproto.message_field(2)
    equip_talent_list: List[int] = betterproto.uint32_field(3)


@dataclass
class DLCSupportNPC(betterproto.Message):
    npc_id: int = betterproto.uint32_field(1)
    support_point: int = betterproto.uint32_field(2)
    support_level: int = betterproto.uint32_field(3)


@dataclass
class GetDLCReq(betterproto.Message):
    pass


@dataclass
class GetDLCRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    name: str = betterproto.string_field(2)
    level: int = betterproto.uint32_field(3)
    exp: int = betterproto.uint32_field(4)
    has_take_reward_level: int = betterproto.uint32_field(5)
    support_npc_list: List["DLCSupportNPC"] = betterproto.message_field(6)
    finished_dialog_id_list: List[int] = betterproto.uint32_field(7)


@dataclass
class LevelUpDLCAvatarTalentReq(betterproto.Message):
    talent_id: int = betterproto.uint32_field(1)
    target_level: int = betterproto.uint32_field(2)


@dataclass
class LevelUpDLCAvatarTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)


@dataclass
class EquipDLCAvatarTalentReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    equip_talent_list: List[int] = betterproto.uint32_field(2)


@dataclass
class EquipDLCAvatarTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SyncDLCAvatarNotify(betterproto.Message):
    avatar_list: List["DLCAvatar"] = betterproto.message_field(1)


@dataclass
class ModifyDLCNameReq(betterproto.Message):
    name: str = betterproto.string_field(1)


@dataclass
class ModifyDLCNameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetDLCAvatarReq(betterproto.Message):
    pass


@dataclass
class GetDLCAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_list: List["DLCAvatar"] = betterproto.message_field(2)


@dataclass
class TakeDLCLevelRewardReq(betterproto.Message):
    pass


@dataclass
class TakeDLCLevelRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class DLCTowerAvatarInfo(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    hp_percent: int = betterproto.uint32_field(2)
    sp_percent: int = betterproto.uint32_field(3)


@dataclass
class DLCTowerStageBeginReq(betterproto.Message):
    avatar_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class DLCTowerStageBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)


@dataclass
class DLCTowerStageEndReq(betterproto.Message):
    end_status: "StageEndStatus" = betterproto.enum_field(1)
    avatar_info_list: List["DLCTowerAvatarInfo"] = betterproto.message_field(2)
    progress: int = betterproto.uint32_field(3)
    stage_pass_time: int = betterproto.uint32_field(4)
    drop_item_list: List["DropItem"] = betterproto.message_field(5)


@dataclass
class DLCTowerStageEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    end_progress: int = betterproto.uint32_field(4)
    score: int = betterproto.uint32_field(5)
    is_new_record: bool = betterproto.bool_field(6)


@dataclass
class DLCAvatarReviveReq(betterproto.Message):
    cost_type: "DLCAvatarReviveCostType" = betterproto.enum_field(1)
    map_id: int = betterproto.uint32_field(2)
    avatar_id: int = betterproto.uint32_field(3)
    drop_item_list: List["DropItem"] = betterproto.message_field(4)


@dataclass
class DLCAvatarReviveRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    revive_times: int = betterproto.uint32_field(2)
    cost_type: "DLCAvatarReviveCostType" = betterproto.enum_field(3)
    map_id: int = betterproto.uint32_field(4)
    avatar_id: int = betterproto.uint32_field(5)


@dataclass
class GetDLCTowerRankReq(betterproto.Message):
    pass


@dataclass
class GetDLCTowerRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rank_data: "RankShowData" = betterproto.message_field(2)


@dataclass
class TakeDLCTowerRankRewardNotify(betterproto.Message):
    reward_data: "RewardData" = betterproto.message_field(1)
    rank: int = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)


@dataclass
class DLCTowerFloorMaxScore(betterproto.Message):
    floor: int = betterproto.uint32_field(1)
    max_score: int = betterproto.uint32_field(2)


@dataclass
class GetDLCTowerReq(betterproto.Message):
    pass


@dataclass
class GetDLCTowerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    progress: int = betterproto.uint32_field(3)
    avatar_info_list: List["DLCTowerAvatarInfo"] = betterproto.message_field(4)
    tower_cost_time: int = betterproto.uint32_field(5)
    max_progress: int = betterproto.uint32_field(6)
    avatar_revive_times: int = betterproto.uint32_field(7)
    floor_max_score_list: List["DLCTowerFloorMaxScore"] = betterproto.message_field(8)


@dataclass
class ResetDLCTowerProgressReq(betterproto.Message):
    pass


@dataclass
class ResetDLCTowerProgressRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class FinishDLCDialogReq(betterproto.Message):
    dialog_id: int = betterproto.uint32_field(1)


@dataclass
class FinishDLCDialogRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    dialog_id: int = betterproto.uint32_field(2)
    add_support_point: int = betterproto.uint32_field(3)


@dataclass
class RefreshDLCTalentAffixReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)


@dataclass
class RefreshDLCTalentAffixRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    new_affix_set_id: int = betterproto.uint32_field(2)


@dataclass
class SelectDLCTalentAffixReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)
    is_select: bool = betterproto.bool_field(3)


@dataclass
class SelectDLCTalentAffixRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class UnlockDLCPhotoReq(betterproto.Message):
    unique_monster_id: int = betterproto.uint32_field(1)


@dataclass
class UnlockDLCPhotoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SwitchDLCAvatarTalentReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)


@dataclass
class SwitchDLCAvatarTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ReportDLCDropItemReq(betterproto.Message):
    drop_item_list: List["DropItem"] = betterproto.message_field(1)


@dataclass
class ReportDLCDropItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ElfTalent(betterproto.Message):
    talent_id: int = betterproto.uint32_field(1)
    talent_level: int = betterproto.uint32_field(2)
    equip_elf_id: int = betterproto.uint32_field(3)


@dataclass
class ElfFragment(betterproto.Message):
    elf_id: int = betterproto.uint32_field(1)
    fragment_num: int = betterproto.uint32_field(2)


@dataclass
class ElfSkill(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)
    skill_level: int = betterproto.uint32_field(2)


@dataclass
class Elf(betterproto.Message):
    elf_id: int = betterproto.uint32_field(1)
    star: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    exp: int = betterproto.uint32_field(4)
    equip_talent_id_list: List[int] = betterproto.uint32_field(5)
    skill_list: List["ElfSkill"] = betterproto.message_field(6)
    compensate_level: int = betterproto.uint32_field(7)
    total_compensate_exp: int = betterproto.uint32_field(8)


@dataclass
class GetElfDataReq(betterproto.Message):
    pass


@dataclass
class GetElfDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    elf_list: List["Elf"] = betterproto.message_field(2)
    elf_fragment_list: List["ElfFragment"] = betterproto.message_field(3)
    elf_talent_list: List["ElfTalent"] = betterproto.message_field(4)
    is_take_compensation: bool = betterproto.bool_field(5)


@dataclass
class SyncElfDataNotify(betterproto.Message):
    elf_list: List["Elf"] = betterproto.message_field(1)


@dataclass
class SyncElfFragmentNotify(betterproto.Message):
    elf_fragment_list: List["ElfFragment"] = betterproto.message_field(1)


@dataclass
class ElfStarUpReq(betterproto.Message):
    elf_id: int = betterproto.uint32_field(1)


@dataclass
class ElfStarUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    elf_id: int = betterproto.uint32_field(2)
    is_unlock: bool = betterproto.bool_field(3)


@dataclass
class AddElfExpByMaterialReq(betterproto.Message):
    elf_id: int = betterproto.uint32_field(1)
    material_id: int = betterproto.uint32_field(2)
    material_num: int = betterproto.uint32_field(3)


@dataclass
class AddElfExpByMaterialRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    old_level: int = betterproto.uint32_field(2)
    old_exp: int = betterproto.uint32_field(3)


@dataclass
class ElfFragmentTransformReq(betterproto.Message):
    elf_fragment_id: int = betterproto.uint32_field(1)
    elf_fragment_num: int = betterproto.uint32_field(2)
    fragment_list: List["GenericItemNum"] = betterproto.message_field(3)


@dataclass
class ElfFragmentTransformRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    add_material_id: int = betterproto.uint32_field(2)
    add_material_num: int = betterproto.uint32_field(3)
    return_list: List["GenericItemNum"] = betterproto.message_field(4)


@dataclass
class ElfSkillLevelUpReq(betterproto.Message):
    elf_id: int = betterproto.uint32_field(1)
    elf_skill_id: int = betterproto.uint32_field(2)
    is_level_up_all_astra_skill: bool = betterproto.bool_field(3)


@dataclass
class ElfSkillLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    elf_skill: "ElfSkill" = betterproto.message_field(2)


@dataclass
class ElfTakeCompensationReq(betterproto.Message):
    pass


@dataclass
class ElfTakeCompensationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    item_list: List["RewardItemData"] = betterproto.message_field(2)


@dataclass
class GetLastEndlessRewardDataReq(betterproto.Message):
    pass


@dataclass
class GetLastEndlessRewardDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    group_level: int = betterproto.uint32_field(3)
    rank: int = betterproto.uint32_field(4)
    progress_or_score: int = betterproto.uint32_field(5)
    reward_type: "EndlessRewardType" = betterproto.enum_field(6)
    reward_id: int = betterproto.uint32_field(7)
    reward_list: List["RewardData"] = betterproto.message_field(8)
    cur_group_level: int = betterproto.uint32_field(9)
    type: int = betterproto.uint32_field(10)


@dataclass
class TakeEndlessBaseRewardReq(betterproto.Message):
    type: "EndlessType" = betterproto.enum_field(1)


@dataclass
class TakeEndlessBaseRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_progress: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)
    reward_id_list: List[int] = betterproto.uint32_field(4)
    type: "EndlessType" = betterproto.enum_field(5)


@dataclass
class GetOpenworldEndlessDataReq(betterproto.Message):
    level: int = betterproto.uint32_field(1)
    type: "EndlessType" = betterproto.enum_field(2)
    is_finish_front: bool = betterproto.bool_field(3)


@dataclass
class OpenworldEndlessMonsterGroup(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)
    old_progress: int = betterproto.uint32_field(3)


@dataclass
class QuantumEndless(betterproto.Message):
    cur_monster_group: int = betterproto.uint32_field(1)
    monster_progress: int = betterproto.uint32_field(2)
    finish_monster_num: int = betterproto.uint32_field(3)


@dataclass
class GreedyEndless(betterproto.Message):
    is_need_enroll: bool = betterproto.bool_field(1)
    floor_config_id: int = betterproto.uint32_field(2)
    reward_config_id: int = betterproto.uint32_field(3)
    cur_floor: int = betterproto.uint32_field(4)
    max_finish_floor: int = betterproto.uint32_field(5)
    finish_challenge_id_list: List[int] = betterproto.uint32_field(6)


@dataclass
class GetOpenworldEndlessDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    group_level: int = betterproto.uint32_field(3)
    begin_time: int = betterproto.uint32_field(4)
    end_time: int = betterproto.uint32_field(5)
    close_time: int = betterproto.uint32_field(6)
    endless_data_list: List["OpenworldEndlessPlayer"] = betterproto.message_field(7)
    brief_data_list: List["PlayerFriendBriefData"] = betterproto.message_field(8)
    random_seed: int = betterproto.uint32_field(9)
    item_list: List["OpenworldEndlessItem"] = betterproto.message_field(10)
    finish_monster_group_list: List[int] = betterproto.uint32_field(11)
    battle_config_id: int = betterproto.uint32_field(12)
    effect_item_list: List["OpenworldEndlessItem"] = betterproto.message_field(13)
    trap_add_item_list: List["OpenworldEndlessItem"] = betterproto.message_field(14)
    boss_extra_score: int = betterproto.uint32_field(15)
    is_just_join: int = betterproto.uint32_field(16)
    cur_top_group_level: int = betterproto.uint32_field(17)
    top_group_player_num: int = betterproto.uint32_field(18)
    top_group_promote_unlock_player_num: int = betterproto.uint32_field(19)
    invasion_id: int = betterproto.uint32_field(20)
    hard_level: int = betterproto.uint32_field(21)
    war_info_list: List["OpenworldEndlessWarInfo"] = betterproto.message_field(22)
    event_sub_type_id_list: List[int] = betterproto.uint32_field(23)
    trap_item_show_id_list: List[int] = betterproto.uint32_field(24)
    monster_group_list: List["OpenworldEndlessMonsterGroup"] = (
        betterproto.message_field(25)
    )
    type: "EndlessType" = betterproto.enum_field(26)
    quantum_endless: "QuantumEndless" = betterproto.message_field(27)
    greedy_endless: "GreedyEndless" = betterproto.message_field(28)


@dataclass
class OpenworldEndlessItemUpdateNotify(betterproto.Message):
    item_list: List["OpenworldEndlessItem"] = betterproto.message_field(1)


@dataclass
class OpenworldInvasionItem(betterproto.Message):
    invasion_id: int = betterproto.uint32_field(1)
    avatar_list: List[int] = betterproto.uint32_field(2)
    buff_list: List[int] = betterproto.uint32_field(3)


@dataclass
class UseOpenworldEndlessItemReq(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    invasion: "OpenworldInvasionItem" = betterproto.message_field(3)
    item_num: int = betterproto.uint32_field(4)


@dataclass
class UseOpenworldEndlessItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    new_invasion_id: int = betterproto.uint32_field(2)
    item_id: int = betterproto.uint32_field(3)
    battle_id: int = betterproto.uint32_field(4)
    effect_item_list: List["OpenworldEndlessItem"] = betterproto.message_field(5)
    old_invaison_id: int = betterproto.uint32_field(6)
    target_id: int = betterproto.uint32_field(7)
    invasion_buff_num: int = betterproto.uint32_field(8)


@dataclass
class FinishOpenworldEndlessMonsterGroupReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    lineup_info: "LineupBriefInfo" = betterproto.message_field(2)
    extra_score: int = betterproto.uint32_field(3)
    battle_id: int = betterproto.uint32_field(4)
    cost_time: int = betterproto.uint32_field(5)
    cheat_data_list: List["StageCheatData"] = betterproto.message_field(6)
    stage_id: int = betterproto.uint32_field(7)
    transaction_str: str = betterproto.string_field(8)
    type: "EndlessType" = betterproto.enum_field(9)
    quantum_monster_progress: int = betterproto.uint32_field(10)
    is_skip_level: bool = betterproto.bool_field(11)
    final_boss_id: int = betterproto.uint32_field(12)


@dataclass
class FinishOpenworldEndlessMonsterGroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    finish_monster_group_list: List[int] = betterproto.uint32_field(2)
    group_id: int = betterproto.uint32_field(3)
    clear_item_list: List["OpenworldEndlessItem"] = betterproto.message_field(4)
    score: int = betterproto.uint32_field(5)
    battle_id: int = betterproto.uint32_field(6)
    old_score: int = betterproto.uint32_field(7)
    is_boss: bool = betterproto.bool_field(8)
    transaction_str: str = betterproto.string_field(9)
    monster_group_list: List["OpenworldEndlessMonsterGroup"] = (
        betterproto.message_field(10)
    )
    group_level: int = betterproto.uint32_field(11)
    lineup_info: "LineupBriefInfo" = betterproto.message_field(12)
    type: "EndlessType" = betterproto.enum_field(13)
    quantum_endless: "QuantumEndless" = betterproto.message_field(14)
    is_skip_level: bool = betterproto.bool_field(15)
    final_boss_id: int = betterproto.uint32_field(16)
    max_score_lineup_info: "LineupBriefInfo" = betterproto.message_field(17)


@dataclass
class OpenworldEndlessTrap(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)
    set_uid: int = betterproto.uint32_field(4)


@dataclass
class OpenworldEndlessBattle(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    trap_list: List["OpenworldEndlessTrap"] = betterproto.message_field(2)
    scene_gear: int = betterproto.uint32_field(3)


@dataclass
class GetOpenworldEndlessStageInnerDataReq(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)


@dataclass
class GetOpenworldEndlessStageInnerDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_list: List["OpenworldEndlessBattle"] = betterproto.message_field(2)
    effect_item_list: List["OpenworldEndlessItem"] = betterproto.message_field(3)


@dataclass
class TriggerOpenworldEndlessTrapReq(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)


@dataclass
class TriggerOpenworldEndlessTrapRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class FinishOpenworldEndlessInvasionMonsterReq(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)
    transaction_str: str = betterproto.string_field(3)


@dataclass
class FinishOpenworldEndlessInvasionMonsterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    sub_score: int = betterproto.uint32_field(2)
    id: int = betterproto.uint32_field(3)
    clear_item_list: List["OpenworldEndlessItem"] = betterproto.message_field(4)
    score: int = betterproto.uint32_field(5)
    battle_id: int = betterproto.uint32_field(6)
    transaction_str: str = betterproto.string_field(7)


@dataclass
class GetEndlessStatusReq(betterproto.Message):
    level: int = betterproto.uint32_field(1)
    is_finish_front: bool = betterproto.bool_field(2)


@dataclass
class EndlessStatus(betterproto.Message):
    endless_type: "EndlessType" = betterproto.enum_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    close_time: int = betterproto.uint32_field(4)
    sin_type: int = betterproto.uint32_field(5)
    progress_or_score: int = betterproto.uint32_field(6)
    group_level: int = betterproto.uint32_field(7)
    last_lineup_info: "LineupBriefInfo" = betterproto.message_field(8)
    can_join_in: bool = betterproto.bool_field(9)
    pre_general_activity_id: int = betterproto.uint32_field(10)
    replace_endless_group_list: List[int] = betterproto.uint32_field(11)
    max_score_lineup_info: "LineupBriefInfo" = betterproto.message_field(12)
    greedy_max_finish_floor: int = betterproto.uint32_field(13)


@dataclass
class GetEndlessStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_status: "EndlessStatus" = betterproto.message_field(2)
    next_status_list: List["EndlessStatus"] = betterproto.message_field(3)
    selected_endless_type: int = betterproto.uint32_field(4)


@dataclass
class OpenworldEndlessReprotInvasion(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldEndlessReprotBattle(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    scene_gear: int = betterproto.uint32_field(2)


@dataclass
class ReportOpenworldEndlessDataReq(betterproto.Message):
    type: "OpenworldEndlessDataType" = betterproto.enum_field(1)
    invasion: "OpenworldEndlessReprotInvasion" = betterproto.message_field(2)
    battle: "OpenworldEndlessReprotBattle" = betterproto.message_field(3)


@dataclass
class ReportOpenworldEndlessDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldEndlessBattleBeginReq(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    group_level: int = betterproto.uint32_field(2)
    monster_group_id: int = betterproto.uint32_field(3)
    layer_number: int = betterproto.uint32_field(4)
    transaction_str: str = betterproto.string_field(5)
    type: "EndlessType" = betterproto.enum_field(6)


@dataclass
class OpenworldEndlessBattleBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class QuantumEndlessBattleWave(betterproto.Message):
    wave_id: int = betterproto.uint32_field(1)
    end_status: "StageEndStatus" = betterproto.enum_field(2)
    cost_time: int = betterproto.uint32_field(3)


@dataclass
class QuantumEndlessBattleAoe(betterproto.Message):
    aoe_num: int = betterproto.uint32_field(1)
    evade_num: int = betterproto.uint32_field(2)


@dataclass
class OpenworldEndlessBattleEndReq(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    group_level: int = betterproto.uint32_field(2)
    invasion_id: int = betterproto.uint32_field(3)
    invasion_buff_num: int = betterproto.uint32_field(4)
    cost_time: int = betterproto.uint32_field(5)
    end_status: "StageEndStatus" = betterproto.enum_field(6)
    avatar_list: List["StageInnerAvatarData"] = betterproto.message_field(7)
    monster_group_id: int = betterproto.uint32_field(8)
    environment_id: int = betterproto.uint32_field(9)
    layer_number: int = betterproto.uint32_field(10)
    transaction_str: str = betterproto.string_field(11)
    monster_str: str = betterproto.string_field(12)
    elf_list: List["StageInnerElfData"] = betterproto.message_field(13)
    type: "EndlessType" = betterproto.enum_field(14)
    quantum_string: str = betterproto.string_field(15)
    wave_string: str = betterproto.string_field(16)
    aoe_string: str = betterproto.string_field(17)


@dataclass
class OpenworldEndlessBattleEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldEndlessWarInfo(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    type: "OpenworldEndlessWarInfoType" = betterproto.enum_field(2)
    item_id: int = betterproto.uint32_field(3)
    battle_id: int = betterproto.uint32_field(4)
    target_id: int = betterproto.uint32_field(5)
    from_who: int = betterproto.uint32_field(6)
    invasion_id: int = betterproto.uint32_field(7)
    score: int = betterproto.uint32_field(8)
    scene_gear: int = betterproto.uint32_field(9)
    time: int = betterproto.uint32_field(10)


@dataclass
class OpenworldEndlessWarInfoNotify(betterproto.Message):
    war_info: "OpenworldEndlessWarInfo" = betterproto.message_field(1)


@dataclass
class GetOpenworldEndlessPlayerWarInfoReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class GetOpenworldEndlessPlayerWarInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    war_info_list: List["OpenworldEndlessWarInfo"] = betterproto.message_field(3)


@dataclass
class OpenworldEndlessPlayerUpdateNotify(betterproto.Message):
    player_data: "OpenworldEndlessPlayer" = betterproto.message_field(1)
    brief_data: "PlayerFriendBriefData" = betterproto.message_field(2)
    type: "EndlessType" = betterproto.enum_field(3)


@dataclass
class GetOpenworldEndlessTopGroupReq(betterproto.Message):
    type: "EndlessType" = betterproto.enum_field(1)


@dataclass
class GetOpenworldEndlessTopGroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    endless_data_list: List["OpenworldEndlessPlayer"] = betterproto.message_field(2)
    brief_data_list: List["PlayerFriendBriefData"] = betterproto.message_field(3)
    war_info_list: List["OpenworldEndlessWarInfo"] = betterproto.message_field(4)
    hard_level: int = betterproto.uint32_field(5)
    type: "EndlessType" = betterproto.enum_field(6)


@dataclass
class SetOpenworldEndlessMonsterGroupProgressReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)
    type: "EndlessType" = betterproto.enum_field(3)


@dataclass
class SetOpenworldEndlessMonsterGroupProgressRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    monster_group_list: List["OpenworldEndlessMonsterGroup"] = (
        betterproto.message_field(2)
    )
    type: "EndlessType" = betterproto.enum_field(3)


@dataclass
class OpenworldEndlessChangeAvatarReq(betterproto.Message):
    avatar_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class OpenworldEndlessChangeAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class EndlessInSettleNotify(betterproto.Message):
    pass


@dataclass
class GreedyEndlessEnrollReq(betterproto.Message):
    pass


@dataclass
class GreedyEndlessEnrollRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    new_group_id: int = betterproto.uint32_field(2)


@dataclass
class GreedyEndlessReportFloorEndReq(betterproto.Message):
    floor: int = betterproto.uint32_field(1)
    finish_challenge_id_list: List[int] = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)
    extra_score: int = betterproto.uint32_field(4)
    lineup_info: "LineupBriefInfo" = betterproto.message_field(5)
    stage_cost_time: int = betterproto.uint32_field(6)
    end_status: "StageEndStatus" = betterproto.enum_field(7)
    cheat_data_list: List["StageCheatData"] = betterproto.message_field(8)


@dataclass
class GreedyEndlessReportFloorEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)
    next_floor: int = betterproto.uint32_field(3)
    max_finish_floor: int = betterproto.uint32_field(4)
    total_score: int = betterproto.uint32_field(5)
    finish_challenge_id_list: List[int] = betterproto.uint32_field(6)
    max_score_lineup_info: "LineupBriefInfo" = betterproto.message_field(7)


@dataclass
class GreedyEndlessFloorRewardNotify(betterproto.Message):
    reward_data: "RewardData" = betterproto.message_field(1)
    max_finish_floor: int = betterproto.uint32_field(2)
    finish_challenge_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class GreedyEndlessGetRankReq(betterproto.Message):
    pass


@dataclass
class GreedyEndlessGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rank_data: "RankShowData" = betterproto.message_field(2)


@dataclass
class GreedyEndlessTakeRankRewardReq(betterproto.Message):
    pass


@dataclass
class GreedyEndlessTakeRankRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    group_level: int = betterproto.uint32_field(2)
    rank_percent: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class EndlessSelectTypeReq(betterproto.Message):
    endless_type: "EndlessType" = betterproto.enum_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class EndlessSelectTypeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    endless_type: "EndlessType" = betterproto.enum_field(2)


@dataclass
class GreedyEndlessReportFloorBeginReq(betterproto.Message):
    floor: int = betterproto.uint32_field(1)


@dataclass
class GreedyEndlessReportFloorBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetEquipmentForgeDataReq(betterproto.Message):
    pass


@dataclass
class EquipmentForge(betterproto.Message):
    forge_id: int = betterproto.uint32_field(1)
    times: int = betterproto.uint32_field(2)


@dataclass
class GetEquipmentForgeDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    has_forge_list: List["EquipmentForge"] = betterproto.message_field(3)
    forge_list: List[int] = betterproto.uint32_field(4)


@dataclass
class ForgeEquipmentReq(betterproto.Message):
    forge_id: int = betterproto.uint32_field(1)
    consume_item_list: "EquipmentItemList" = betterproto.message_field(2)
    keep_rune_equip_unique_id: int = betterproto.uint32_field(3)
    keep_rune_cost_item_list: "EquipmentItemList" = betterproto.message_field(4)


@dataclass
class ForgeEquipmentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    forge_id: int = betterproto.uint32_field(2)
    return_material_list: List["Material"] = betterproto.message_field(3)


@dataclass
class ExtractEquipmentReq(betterproto.Message):
    type: "EquipmentType" = betterproto.enum_field(1)
    unique_id: int = betterproto.uint32_field(2)
    capsule_id: int = betterproto.uint32_field(3)


@dataclass
class ExtractEquipmentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    material_list: List["Material"] = betterproto.message_field(3)


@dataclass
class ReforgeEquipmentReq(betterproto.Message):
    type: "EquipmentType" = betterproto.enum_field(1)
    unique_id: int = betterproto.uint32_field(2)
    target_equip_id: int = betterproto.uint32_field(3)


@dataclass
class ReforgeEquipmentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    remain_reforge_times: int = betterproto.uint32_field(3)


@dataclass
class GetExtractReforgeActivityReq(betterproto.Message):
    pass


@dataclass
class ExtractEquipmentActivity(betterproto.Message):
    extract_weapon_list: List["ExtractEquipmentActivityOpenExtractWeapon"] = (
        betterproto.message_field(1)
    )
    mainid_black_list: List[int] = betterproto.uint32_field(2)
    is_reforge: bool = betterproto.bool_field(3)
    reforge_main_id_list: List[int] = betterproto.uint32_field(4)
    reforge_times: int = betterproto.uint32_field(5)
    powerup_material_ratio: int = betterproto.uint32_field(6)
    reforge_init_level: int = betterproto.uint32_field(7)
    remain_reforge_times: int = betterproto.uint32_field(8)


@dataclass
class ExtractEquipmentActivityOpenExtractWeapon(betterproto.Message):
    quality: int = betterproto.uint32_field(1)
    base_type: int = betterproto.uint32_field(2)


@dataclass
class BackEquipmentActivity(betterproto.Message):
    mainid_list: List[int] = betterproto.uint32_field(1)
    remain_back_times: int = betterproto.uint32_field(2)


@dataclass
class GetExtractReforgeActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    extract_equipment_activity: "ExtractEquipmentActivity" = betterproto.message_field(
        4
    )
    back_equipment_activity: "BackEquipmentActivity" = betterproto.message_field(5)


@dataclass
class GetEquipmentBackReq(betterproto.Message):
    pass


@dataclass
class EquipmentForgeConsume(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    equip_list: List["EquipmentForgeConsumeConsumeEquip"] = betterproto.message_field(2)
    material_list: List["Material"] = betterproto.message_field(3)


@dataclass
class EquipmentForgeConsumeConsumeEquip(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    exp: int = betterproto.uint32_field(3)


@dataclass
class GetEquipmentBackRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    consume_equip_list: List["EquipmentForgeConsume"] = betterproto.message_field(2)


@dataclass
class BackEquipmentReq(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)


@dataclass
class BackEquipmentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    unique_id_list: List[int] = betterproto.uint32_field(2)
    material_list: List["Material"] = betterproto.message_field(3)
    remain_back_times: int = betterproto.uint32_field(4)


@dataclass
class GachaItem(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)
    split_fragment_num: int = betterproto.uint32_field(4)
    is_rare_drop: bool = betterproto.bool_field(5)
    gift_item_id: int = betterproto.uint32_field(6)
    gift_level: int = betterproto.uint32_field(7)
    gift_num: int = betterproto.uint32_field(8)
    transfer_item_list: List["GenericItemNum"] = betterproto.message_field(9)
    is_client_display_transfer: bool = betterproto.bool_field(10)


@dataclass
class GachaSortItem(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)


@dataclass
class GachaFreeInfo(betterproto.Message):
    free_type: "GachaFreeType" = betterproto.enum_field(1)
    free_times: int = betterproto.uint32_field(2)
    total_free_times: int = betterproto.uint32_field(3)
    next_auto_refresh_time: int = betterproto.uint32_field(4)


@dataclass
class GachaDisplayCommonData(betterproto.Message):
    title_image: str = betterproto.string_field(1)
    supply_image: str = betterproto.string_field(2)
    title: str = betterproto.string_field(3)
    content: str = betterproto.string_field(4)
    up_avatar_list: List[int] = betterproto.uint32_field(5)
    up_weapon_list: List["WeaponDetailData"] = betterproto.message_field(6)
    up_stigmata_list: List["StigmataDetailData"] = betterproto.message_field(7)
    rule: str = betterproto.string_field(8)
    content_detail: str = betterproto.string_field(9)
    up_item_list: List[int] = betterproto.uint32_field(10)
    content_url: str = betterproto.string_field(11)
    btn_image_path: str = betterproto.string_field(12)
    sort_item_list: List["GachaSortItem"] = betterproto.message_field(13)
    is_enable_prompt: bool = betterproto.bool_field(14)
    gacha_id: int = betterproto.uint32_field(15)
    data_begin_time: int = betterproto.uint32_field(16)
    data_end_time: int = betterproto.uint32_field(17)
    up_elf_list: List[int] = betterproto.uint32_field(18)
    display_ext: str = betterproto.string_field(19)
    free_gacha_times: int = betterproto.uint32_field(20)
    free_info_list: List["GachaFreeInfo"] = betterproto.message_field(21)


@dataclass
class GachaLog(betterproto.Message):
    time: int = betterproto.uint32_field(1)
    item: "GachaItem" = betterproto.message_field(2)


@dataclass
class WishWellData(betterproto.Message):
    left_times: int = betterproto.uint32_field(1)
    set_id: int = betterproto.uint32_field(2)
    material_id: int = betterproto.uint32_field(3)
    material_num: int = betterproto.uint32_field(4)
    equip_need_num: int = betterproto.uint32_field(5)
    equip_list: List["WishWellDataEquip"] = betterproto.message_field(6)
    max_wish_times: int = betterproto.uint32_field(7)


@dataclass
class WishWellDataEquip(betterproto.Message):
    equip_id: int = betterproto.uint32_field(1)
    equip_level: int = betterproto.uint32_field(2)


@dataclass
class HcoinGachaData(betterproto.Message):
    ticket_hcoin_cost: int = betterproto.uint32_field(1)
    ticket_material_id: int = betterproto.uint32_field(2)
    wish_well_data: "WishWellData" = betterproto.message_field(3)
    shining_type: int = betterproto.uint32_field(4)
    gacha_panel_type: int = betterproto.uint32_field(5)
    protect_type_id: int = betterproto.uint32_field(6)
    protect_left_times: int = betterproto.uint32_field(7)
    protect_display_info: "GachaProtectDisplayInfo" = betterproto.message_field(8)
    display_max_times: int = betterproto.uint32_field(9)


@dataclass
class FriendsPointGachaData(betterproto.Message):
    friends_point_cost: int = betterproto.uint32_field(1)


@dataclass
class GachaExRewardInfo(betterproto.Message):
    ex_reward_list: List["GachaExRewardInfoExReward"] = betterproto.message_field(1)
    display_ex_reward_item: int = betterproto.uint32_field(2)
    display_ex_reward_type: int = betterproto.uint32_field(3)
    display_ex_reward_detail_list: List["GachaExRewardInfoExRewardDisplayDetail"] = (
        betterproto.message_field(4)
    )


@dataclass
class GachaExRewardInfoExReward(betterproto.Message):
    need_gacha_times: int = betterproto.uint32_field(1)
    reward_id: int = betterproto.uint32_field(2)
    is_taken: bool = betterproto.bool_field(3)


@dataclass
class GachaExRewardInfoExRewardDisplayDetail(betterproto.Message):
    need_gacha_times: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)
    item_num: int = betterproto.uint32_field(3)
    is_taken: bool = betterproto.bool_field(4)
    is_display_shining: bool = betterproto.bool_field(5)


@dataclass
class ProtectEntry(betterproto.Message):
    possible_item_list: List["DropItem"] = betterproto.message_field(1)
    total_times: int = betterproto.uint32_field(2)
    drop_times: int = betterproto.uint32_field(3)


@dataclass
class ActivityGachaData(betterproto.Message):
    ticket_hcoin_cost: int = betterproto.uint32_field(1)
    ticket_material_id: int = betterproto.uint32_field(2)
    cost_material_id: int = betterproto.uint32_field(3)
    cost_material_num: int = betterproto.uint32_field(4)
    baodi_times: int = betterproto.uint32_field(5)
    gacha_type: "GachaType" = betterproto.enum_field(6)
    gacha_times: int = betterproto.uint32_field(7)
    display_protect_entry_list: List["ProtectEntry"] = betterproto.message_field(8)
    is_protect_recycle: bool = betterproto.bool_field(9)
    display_protect_times: int = betterproto.uint32_field(10)
    no_protect_gacha_times: int = betterproto.uint32_field(11)
    gacha_ex_reward_info: "GachaExRewardInfo" = betterproto.message_field(12)
    display_setting_dict: "SettingDict" = betterproto.message_field(13)
    wish_well_data: "WishWellData" = betterproto.message_field(14)


@dataclass
class GachaProtectDisplayInfo(betterproto.Message):
    protect_display_type: "GachaProtectDisplayInfoProtectDisplayType" = (
        betterproto.enum_field(1)
    )
    display_key_avatar: int = betterproto.uint32_field(2)
    display_key_item_list: List[int] = betterproto.uint32_field(3)
    droped_up_item_list: List[int] = betterproto.uint32_field(4)
    no_protect_gacha_times: int = betterproto.uint32_field(5)
    display_key_elf_card_id: int = betterproto.uint32_field(6)


@dataclass
class CustomGachaItemData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    total_num: int = betterproto.uint32_field(2)
    gacha_num: int = betterproto.uint32_field(3)


@dataclass
class CustomGachaData(betterproto.Message):
    ticket_hcoin_cost: int = betterproto.uint32_field(1)
    ticket_material_id: int = betterproto.uint32_field(2)
    cost_material_id: int = betterproto.uint32_field(3)
    cost_material_num: int = betterproto.uint32_field(4)
    is_enable_baodi: bool = betterproto.bool_field(5)
    gacha_type: "GachaType" = betterproto.enum_field(6)
    total_gacha_times: int = betterproto.uint32_field(7)
    gacha_times: int = betterproto.uint32_field(8)
    item_list: List["CustomGachaItemData"] = betterproto.message_field(9)
    display_max_times: int = betterproto.uint32_field(10)
    no_protect_gacha_times: int = betterproto.uint32_field(11)
    protect_display_type: "CustomGachaDataProtectDisplayType" = betterproto.enum_field(
        12
    )
    display_key_avatar: int = betterproto.uint32_field(13)
    display_video_avatar: int = betterproto.uint32_field(14)
    droped_up_item_list: List[int] = betterproto.uint32_field(15)
    shining_type: int = betterproto.uint32_field(16)
    gacha_panel_type: int = betterproto.uint32_field(17)
    display_key_item_list: List[int] = betterproto.uint32_field(18)
    display_extra_para: str = betterproto.string_field(19)
    ex_id: int = betterproto.uint32_field(20)
    ex_energy: int = betterproto.uint32_field(21)
    ex_gacha_num: int = betterproto.uint32_field(22)
    gacha_ex_reward_info: "GachaExRewardInfo" = betterproto.message_field(23)
    protect_display_info: "GachaProtectDisplayInfo" = betterproto.message_field(24)


@dataclass
class BoxGachaItemData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    total_num: int = betterproto.uint32_field(2)
    gacha_num: int = betterproto.uint32_field(3)
    item_num_per_drop: int = betterproto.uint32_field(4)


@dataclass
class BoxGachaDisplayData(betterproto.Message):
    item_list: List["BoxGachaItemData"] = betterproto.message_field(1)
    show_list: List["GachaItem"] = betterproto.message_field(2)
    pre_gacha_id: int = betterproto.uint32_field(3)
    web_link: str = betterproto.string_field(4)
    link_type: int = betterproto.uint32_field(5)
    link_para: str = betterproto.string_field(6)
    link_para_str: str = betterproto.string_field(7)


@dataclass
class BoxGachaData(betterproto.Message):
    box_gacha_data: "BoxGachaDisplayData" = betterproto.message_field(1)
    ticket_hcoin_cost: int = betterproto.uint32_field(2)
    ticket_material_id: int = betterproto.uint32_field(3)
    cost_material_id: int = betterproto.uint32_field(4)
    cost_material_num: int = betterproto.uint32_field(5)
    is_enable_baodi: bool = betterproto.bool_field(6)
    max_gacha_times: int = betterproto.uint32_field(7)
    gacha_times: int = betterproto.uint32_field(8)


@dataclass
class UniqueGachaSelectItemPool(betterproto.Message):
    select_item_list: List[int] = betterproto.uint32_field(1)


@dataclass
class UniqueGachaData(betterproto.Message):
    ticket_hcoin_cost: int = betterproto.uint32_field(1)
    ticket_material_id: int = betterproto.uint32_field(2)
    left_gacha_times: int = betterproto.uint32_field(3)
    select_item_pool: "UniqueGachaSelectItemPool" = betterproto.message_field(4)


@dataclass
class PrayGachaItemData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    total_num: int = betterproto.uint32_field(2)
    gacha_num: int = betterproto.uint32_field(3)


@dataclass
class PrayGachaData(betterproto.Message):
    ticket_hcoin_cost: int = betterproto.uint32_field(1)
    ticket_material_id: int = betterproto.uint32_field(2)
    cost_material_id: int = betterproto.uint32_field(3)
    cost_material_num: int = betterproto.uint32_field(4)
    max_gacha_times: int = betterproto.uint32_field(5)
    gacha_times: int = betterproto.uint32_field(6)
    is_finished: bool = betterproto.bool_field(7)
    protect_item_list: List["GachaItem"] = betterproto.message_field(8)
    pool_item_list: List["PrayGachaItemData"] = betterproto.message_field(9)
    gacha_id: int = betterproto.uint32_field(10)
    pray_value_per_gacha: int = betterproto.uint32_field(11)


@dataclass
class ControllableBoxGachaSelectableGroup(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    select_drop_id: int = betterproto.uint32_field(2)
    drop_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ControllableBoxGachaItem(betterproto.Message):
    drop_id: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)
    item_level: int = betterproto.uint32_field(3)
    item_num: int = betterproto.uint32_field(4)
    is_shining: bool = betterproto.bool_field(5)
    is_core: bool = betterproto.bool_field(6)
    display_setting_dict: "SettingDict" = betterproto.message_field(7)


@dataclass
class ControllableBoxGachaItemData(betterproto.Message):
    item_list: List["ControllableBoxGachaItem"] = betterproto.message_field(1)
    has_got_item_list: List[int] = betterproto.uint32_field(2)
    selecetable_group_list: List["ControllableBoxGachaSelectableGroup"] = (
        betterproto.message_field(3)
    )


@dataclass
class ControllableBoxGachaData(betterproto.Message):
    show_gacha_data: "ControllableBoxGachaItemData" = betterproto.message_field(1)
    ticket_hcoin_cost: int = betterproto.uint32_field(2)
    ticket_material_id: int = betterproto.uint32_field(3)
    ticket_material_num_list: List[int] = betterproto.uint32_field(4)
    hcoin_cost_list: List[int] = betterproto.uint32_field(5)
    display_setting_dict: "SettingDict" = betterproto.message_field(6)


@dataclass
class OptionalGachaItemData(betterproto.Message):
    sub_gacha_id: int = betterproto.uint32_field(1)
    choose_image: str = betterproto.string_field(2)
    is_recommend: bool = betterproto.bool_field(3)
    common_data: "GachaDisplayCommonData" = betterproto.message_field(4)


@dataclass
class OptionalGachaData(betterproto.Message):
    choosed_sub_gacha_id: int = betterproto.uint32_field(1)
    candidate_gacha_list: List["OptionalGachaItemData"] = betterproto.message_field(2)
    reset_left_times: int = betterproto.uint32_field(3)
    title_image: str = betterproto.string_field(4)
    display_max_times: int = betterproto.uint32_field(5)
    no_protect_gacha_times: int = betterproto.uint32_field(6)
    protect_item_list: List["ProtectEntry"] = betterproto.message_field(7)
    is_protect_display: bool = betterproto.bool_field(8)
    ticket_hcoin_cost: int = betterproto.uint32_field(9)
    ticket_material_id: int = betterproto.uint32_field(10)
    wish_well_data: "WishWellData" = betterproto.message_field(11)
    ex_id: int = betterproto.uint32_field(12)
    ex_energy: int = betterproto.uint32_field(13)
    ex_gacha_num: int = betterproto.uint32_field(14)
    protect_display_info: "GachaProtectDisplayInfo" = betterproto.message_field(15)


@dataclass
class AdventureGachaData(betterproto.Message):
    ticket_hcoin_cost: int = betterproto.uint32_field(1)
    ticket_material_id: int = betterproto.uint32_field(2)
    is_enable_baodi: bool = betterproto.bool_field(3)
    gacha_times: int = betterproto.uint32_field(4)
    is_protect_display: bool = betterproto.bool_field(5)
    display_max_times: int = betterproto.uint32_field(6)
    no_protect_gacha_times: int = betterproto.uint32_field(7)
    is_got_s_avatar_protect: bool = betterproto.bool_field(8)
    new_s_avatar_prob: float = betterproto.double_field(9)
    next_s_avatar_assure_gacha_times: int = betterproto.uint32_field(10)
    next_s_avatar_assure_new_need_times: int = betterproto.uint32_field(11)
    free_gacha_times: int = betterproto.uint32_field(12)


@dataclass
class AdventureEquipGachaData(betterproto.Message):
    ticket_hcoin_cost: int = betterproto.uint32_field(1)
    ticket_material_id: int = betterproto.uint32_field(2)
    is_enable_baodi: bool = betterproto.bool_field(3)
    gacha_times: int = betterproto.uint32_field(4)
    new_protect_equip_prob: int = betterproto.uint32_field(5)
    next_assure_new_equip_need_times: int = betterproto.uint32_field(6)


@dataclass
class SpEquipGachaData(betterproto.Message):
    ticket_hcoin_cost: int = betterproto.uint32_field(1)
    ticket_material_id: int = betterproto.uint32_field(2)
    cost_material_id: int = betterproto.uint32_field(3)
    cost_material_num: int = betterproto.uint32_field(4)
    baodi_times: int = betterproto.uint32_field(5)
    gacha_type: "GachaType" = betterproto.enum_field(6)
    gacha_times: int = betterproto.uint32_field(7)
    display_protect_entry_list: List["ProtectEntry"] = betterproto.message_field(8)
    is_protect_recycle: bool = betterproto.bool_field(9)
    display_protect_times: int = betterproto.uint32_field(10)
    no_protect_gacha_times: int = betterproto.uint32_field(11)
    gacha_ex_reward_info: "GachaExRewardInfo" = betterproto.message_field(12)
    display_setting_dict: "SettingDict" = betterproto.message_field(13)
    wish_well_data: "WishWellData" = betterproto.message_field(14)


@dataclass
class SpecialCommonGachaData(betterproto.Message):
    ticket_hcoin_cost: int = betterproto.uint32_field(1)
    ticket_material_id: int = betterproto.uint32_field(2)
    cost_material_id: int = betterproto.uint32_field(3)
    cost_material_num: int = betterproto.uint32_field(4)
    baodi_times: int = betterproto.uint32_field(5)
    gacha_type: "GachaType" = betterproto.enum_field(6)
    gacha_times: int = betterproto.uint32_field(7)
    display_protect_entry_list: List["ProtectEntry"] = betterproto.message_field(8)
    is_protect_recycle: bool = betterproto.bool_field(9)
    display_protect_times: int = betterproto.uint32_field(10)
    no_protect_gacha_times: int = betterproto.uint32_field(11)
    gacha_ex_reward_info: "GachaExRewardInfo" = betterproto.message_field(12)
    display_setting_dict: "SettingDict" = betterproto.message_field(13)
    wish_well_data: "WishWellData" = betterproto.message_field(14)
    protect_display_info: "GachaProtectDisplayInfo" = betterproto.message_field(15)


@dataclass
class PjmsGachaData(betterproto.Message):
    ticket_hcoin_cost: int = betterproto.uint32_field(1)
    ticket_material_id: int = betterproto.uint32_field(2)
    gacha_times: int = betterproto.uint32_field(3)
    display_protect_times: int = betterproto.uint32_field(4)
    no_protect_gacha_times: int = betterproto.uint32_field(5)
    display_setting_dict: "SettingDict" = betterproto.message_field(6)
    gacha_ex_reward_info: "GachaExRewardInfo" = betterproto.message_field(7)
    protect_display_info: "GachaProtectDisplayInfo" = betterproto.message_field(8)


@dataclass
class GachaExFragment(betterproto.Message):
    ex_id: int = betterproto.uint32_field(1)
    ex_energy: int = betterproto.uint32_field(2)
    ex_num: int = betterproto.uint32_field(3)
    ex_energy_add: int = betterproto.uint32_field(4)
    fragment_add: int = betterproto.uint32_field(5)
    ex_energy_add_orig: int = betterproto.uint32_field(6)
    ex_energy_add_bonus: int = betterproto.uint32_field(7)
    avatar_id: int = betterproto.uint32_field(8)


@dataclass
class GachaReq(betterproto.Message):
    type: "GachaType" = betterproto.enum_field(1)
    num: int = betterproto.uint32_field(2)
    is_use_hcoin: bool = betterproto.bool_field(3)
    gacha_random: int = betterproto.uint32_field(4)
    simulate_magic: int = betterproto.uint32_field(5)
    is_use_free_gacha: bool = betterproto.bool_field(6)
    free_gacha_ticket_id: int = betterproto.uint32_field(7)


@dataclass
class GachaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    item_list: List["GachaItem"] = betterproto.message_field(2)
    gacha_random: int = betterproto.uint32_field(3)
    display: "GetGachaDisplayRsp" = betterproto.message_field(4)
    ex_fragment: "GachaExFragment" = betterproto.message_field(5)
    is_use_free_gacha: bool = betterproto.bool_field(6)
    type: "GachaType" = betterproto.enum_field(7)


@dataclass
class GetGachaDisplayReq(betterproto.Message):
    is_all: bool = betterproto.bool_field(1)
    type: "GachaType" = betterproto.enum_field(2)


@dataclass
class GachaDisplayInfo(betterproto.Message):
    gacha_type: "GachaType" = betterproto.enum_field(1)
    common_data: "GachaDisplayCommonData" = betterproto.message_field(2)
    hcoin_gacha_data: "HcoinGachaData" = betterproto.message_field(3)
    friends_point_gacha_data: "FriendsPointGachaData" = betterproto.message_field(4)
    activity_gacha_data: "ActivityGachaData" = betterproto.message_field(5)
    custom_gacha_data: "CustomGachaData" = betterproto.message_field(6)
    unique_gacha_data: "UniqueGachaData" = betterproto.message_field(7)
    box_gacha_data: "BoxGachaData" = betterproto.message_field(8)
    pray_gacha_data: "PrayGachaData" = betterproto.message_field(9)
    controllable_box_gacha_data: "ControllableBoxGachaData" = betterproto.message_field(
        10
    )
    optional_gacha_data: "OptionalGachaData" = betterproto.message_field(11)
    adventure_gacha_data: "AdventureGachaData" = betterproto.message_field(12)
    adventure_equip_gacha_data: "AdventureEquipGachaData" = betterproto.message_field(
        13
    )
    sp_equip_gacha_data: "SpEquipGachaData" = betterproto.message_field(14)
    special_gacha_data: "SpecialCommonGachaData" = betterproto.message_field(15)
    pjms_gacha_data: "PjmsGachaData" = betterproto.message_field(16)


@dataclass
class GachaTenDiscountInfo(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    ticket_cost_num: int = betterproto.uint32_field(4)
    is_used: bool = betterproto.bool_field(5)
    gacha_type_list: List[int] = betterproto.uint32_field(6)


@dataclass
class GetGachaDisplayRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)
    type: "GachaType" = betterproto.enum_field(3)
    pray_gacha_id: int = betterproto.uint32_field(4)
    gacha_random: int = betterproto.uint32_field(5)
    gacha_display_info_list: List["GachaDisplayInfo"] = betterproto.message_field(6)
    gacha_ten_discount_info_list: List["GachaTenDiscountInfo"] = (
        betterproto.message_field(7)
    )
    gacha_daily_times_limit_list: List["GachaDailyTimesLimit"] = (
        betterproto.message_field(8)
    )


@dataclass
class BuyGachaTicketReq(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class BuyGachaTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    material_id: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)
    hcoin_cost: int = betterproto.uint32_field(4)


@dataclass
class GetGachaLogReq(betterproto.Message):
    pass


@dataclass
class GetGachaLogRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    log_info_list: List["GetGachaLogRspGachaLogInfo"] = betterproto.message_field(2)


@dataclass
class GetGachaLogRspGachaLogInfo(betterproto.Message):
    gacha_type: "GachaType" = betterproto.enum_field(1)
    log_list: List["GachaLog"] = betterproto.message_field(2)


@dataclass
class GetGachaProbReq(betterproto.Message):
    gacha_type: int = betterproto.uint32_field(1)


@dataclass
class GetGachaProbRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    gacha_type: int = betterproto.uint32_field(2)
    total_prob_list: List["GachaTotalProb"] = betterproto.message_field(3)
    detail_prob_list: List["GachaDetailProb"] = betterproto.message_field(4)
    baodi_prob_list: List["GachaDetailProb"] = betterproto.message_field(5)


@dataclass
class WishCostEquip(betterproto.Message):
    cost_equip_id: int = betterproto.uint32_field(1)
    cost_equip_num: int = betterproto.uint32_field(2)


@dataclass
class WishWellReq(betterproto.Message):
    wish_id: int = betterproto.uint32_field(1)
    cost_equip_list: List["WishCostEquip"] = betterproto.message_field(2)
    gacha_type: "GachaType" = betterproto.enum_field(3)
    is_force_set: bool = betterproto.bool_field(4)


@dataclass
class WishWellRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    wish_id: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)
    gacha_type: "GachaType" = betterproto.enum_field(4)


@dataclass
class BuyControllableBoxGachaTicketReq(betterproto.Message):
    gacha_id: int = betterproto.uint32_field(1)


@dataclass
class BuyControllableBoxGachaTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    material_id: int = betterproto.uint32_field(2)
    num: int = betterproto.uint32_field(3)
    hcoin_cost: int = betterproto.uint32_field(4)


@dataclass
class TakeGachaExRewardReq(betterproto.Message):
    gacha_type: "GachaType" = betterproto.enum_field(1)
    gacha_id: int = betterproto.uint32_field(2)
    ex_reward_gacha_times: int = betterproto.uint32_field(3)


@dataclass
class TakeGachaExRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    gacha_type: "GachaType" = betterproto.enum_field(2)
    gacha_id: int = betterproto.uint32_field(3)
    ex_reward_gacha_times: int = betterproto.uint32_field(4)
    reward: "RewardData" = betterproto.message_field(5)


@dataclass
class ChooseOptionalGachaReq(betterproto.Message):
    gacha_type: "GachaType" = betterproto.enum_field(1)
    sub_gacha_id: int = betterproto.uint32_field(2)


@dataclass
class ChooseOptionalGachaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    gacha_type: "GachaType" = betterproto.enum_field(2)
    sub_gacha_id: int = betterproto.uint32_field(3)
    ex_fragment: "GachaExFragment" = betterproto.message_field(4)


@dataclass
class SelectControllableBoxGachaSelectableGroupItemReq(betterproto.Message):
    gacha_id: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    select_item_id: int = betterproto.uint32_field(3)


@dataclass
class SelectControllableBoxGachaSelectableGroupItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    gacha_id: int = betterproto.uint32_field(2)
    group_info: "ControllableBoxGachaSelectableGroup" = betterproto.message_field(3)


@dataclass
class UniqueGachaUpdateItemPoolReq(betterproto.Message):
    select_item_list: List[int] = betterproto.uint32_field(1)


@dataclass
class UniqueGachaUpdateItemPoolRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GachaDailyTimesLimit(betterproto.Message):
    type: "GachaType" = betterproto.enum_field(1)
    group_daily_times: int = betterproto.uint32_field(2)
    group_daily_limit_times: int = betterproto.uint32_field(3)
    group_limit_display_ext: str = betterproto.string_field(4)


@dataclass
class GeneralActivityScoreRewardNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    id: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)


@dataclass
class GeneralActivityGetScoreRewardInfoReq(betterproto.Message):
    activity_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GeneralActivityScoreRewardInfo(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    cur_score: int = betterproto.uint32_field(2)
    score_reward_taken_list: List[int] = betterproto.uint32_field(3)


@dataclass
class GeneralActivityGetScoreRewardInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    score_info_list: List["GeneralActivityScoreRewardInfo"] = betterproto.message_field(
        2
    )


@dataclass
class GeneralActivityGetScheduleReq(betterproto.Message):
    pass


@dataclass
class GeneralActivityScheduleInfo(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    show_time: int = betterproto.uint32_field(2)
    begin_time: int = betterproto.uint32_field(3)
    settle_time: int = betterproto.uint32_field(4)
    end_time: int = betterproto.uint32_field(5)
    begin_day_time: int = betterproto.uint32_field(6)
    end_day_time: int = betterproto.uint32_field(7)
    left_times: int = betterproto.uint32_field(8)
    schedule_id: int = betterproto.uint32_field(9)


@dataclass
class GeneralActivityGetScheduleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_list: List["GeneralActivityScheduleInfo"] = betterproto.message_field(2)


@dataclass
class GeneralActivityGetMainInfoReq(betterproto.Message):
    activity_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GeneralActivityBasicInfo(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    cur_score: int = betterproto.uint32_field(2)
    series_activity_id: List[int] = betterproto.uint32_field(3)
    score_reward_taken_list: List[int] = betterproto.uint32_field(4)
    schedule_id: int = betterproto.uint32_field(5)


@dataclass
class GeneralActivitySettleInfo(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    rank_type: int = betterproto.uint32_field(2)
    rank: int = betterproto.uint32_field(3)
    reward_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class PushTowerActivityInfo(betterproto.Message):
    enter_times: int = betterproto.uint32_field(1)
    stage_reward_taken_list: List[int] = betterproto.uint32_field(2)
    is_clear_reward_taken: bool = betterproto.bool_field(3)
    grow_buff_level: int = betterproto.uint32_field(4)


@dataclass
class GeneralActivityStageGroupScheduleInfo(betterproto.Message):
    stage_group_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)


@dataclass
class GeneralActivityStage(betterproto.Message):
    enter_times: int = betterproto.uint32_field(1)
    exchange_times: int = betterproto.uint32_field(2)
    cur_score: int = betterproto.uint32_field(3)
    stage_reward_taken_list: List[int] = betterproto.uint32_field(4)
    bonus_score_times: int = betterproto.uint32_field(5)
    stage_group_schedule_list: List["GeneralActivityStageGroupScheduleInfo"] = (
        betterproto.message_field(6)
    )
    stage_group_reward_taken_list: List[int] = betterproto.uint32_field(7)


@dataclass
class EndlessSingleModeScore(betterproto.Message):
    floor: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class EndlessSingleModeMonsterScore(betterproto.Message):
    monster_group_id: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class EndlessSingleModeItem(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    item_num: int = betterproto.uint32_field(2)


@dataclass
class EndlessSingleModeActivity(betterproto.Message):
    cur_floor: int = betterproto.uint32_field(1)
    floor_score_list: List["EndlessSingleModeScore"] = betterproto.message_field(2)
    is_settled: bool = betterproto.bool_field(3)
    reset_times: int = betterproto.uint32_field(4)
    monster_random_id: int = betterproto.uint32_field(5)
    activity_type: int = betterproto.uint32_field(6)
    ow_monster_score_list: List["EndlessSingleModeMonsterScore"] = (
        betterproto.message_field(7)
    )
    ow_item_list: List["EndlessSingleModeItem"] = betterproto.message_field(8)


@dataclass
class CrisisModeActivity(betterproto.Message):
    stage_group_schedule_list: List["GeneralActivityStageGroupScheduleInfo"] = (
        betterproto.message_field(1)
    )
    stage_reward_taken_list: List[int] = betterproto.uint32_field(2)


@dataclass
class ScheduledMapSiteActivity(betterproto.Message):
    stage_group_schedule_list: List["GeneralActivityStageGroupScheduleInfo"] = (
        betterproto.message_field(1)
    )
    enter_times: int = betterproto.uint32_field(2)


@dataclass
class BossChallengeAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    hp_percent: int = betterproto.uint32_field(2)
    sp_percent: int = betterproto.uint32_field(3)


@dataclass
class BossChallengeScDLCStatus(betterproto.Message):
    sc_dlc_fever_score: int = betterproto.uint32_field(1)
    sc_dlc_climax_score: int = betterproto.uint32_field(2)


@dataclass
class BossChallengeStage(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    unlock_time: int = betterproto.uint32_field(2)
    max_reward_idx: int = betterproto.uint32_field(3)
    cur_floor: int = betterproto.uint32_field(4)
    cur_stage_cost_time: int = betterproto.uint32_field(5)
    min_stage_cost_time: int = betterproto.uint32_field(6)
    avatar_list: List["BossChallengeAvatar"] = betterproto.message_field(7)
    sc_dlc_status: "BossChallengeScDLCStatus" = betterproto.message_field(8)


@dataclass
class BossChallengeActivity(betterproto.Message):
    stage_list: List["BossChallengeStage"] = betterproto.message_field(1)


@dataclass
class FrontEndlessActivity(betterproto.Message):
    cur_floor: int = betterproto.uint32_field(1)
    floor_score_list: List["FrontEndlessActivityFloorScore"] = (
        betterproto.message_field(2)
    )


@dataclass
class FrontEndlessActivityFloorScore(betterproto.Message):
    floor: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class GeneralActivity(betterproto.Message):
    general_basic_info: "GeneralActivityBasicInfo" = betterproto.message_field(1)
    settle_info: "GeneralActivitySettleInfo" = betterproto.message_field(2)
    push_tower_info: "PushTowerActivityInfo" = betterproto.message_field(3)
    activity_stage: "GeneralActivityStage" = betterproto.message_field(5)
    endless_single: "EndlessSingleModeActivity" = betterproto.message_field(7)
    crisis_mode: "CrisisModeActivity" = betterproto.message_field(11)
    scheduled_map_site: "ScheduledMapSiteActivity" = betterproto.message_field(12)
    boss_challenge: "BossChallengeActivity" = betterproto.message_field(13)
    front_endless: "FrontEndlessActivity" = betterproto.message_field(14)


@dataclass
class GeneralActivityGetMainInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_list: List["GeneralActivity"] = betterproto.message_field(2)


@dataclass
class GeneralActivityGetRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GeneralActivityGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)


@dataclass
class PushTowerActivityTakeStageRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_config_id: int = betterproto.uint32_field(2)


@dataclass
class PushTowerActivityTakeStageRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    stage_config_id: int = betterproto.uint32_field(3)
    reward_data_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class PushTowerActivityTakeClearRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class PushTowerActivityTakeClearRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    reward_data_list: List["RewardData"] = betterproto.message_field(3)


@dataclass
class GeneralActivityStageExchangeEnterTimesReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GeneralActivityStageExchangeEnterTimesRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    enter_times: int = betterproto.uint32_field(3)
    exchange_times: int = betterproto.uint32_field(4)


@dataclass
class GeneralActivityStageTakeStageRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class GeneralActivityStageTakeStageRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    reward_data_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class TakeGeneralActivityScoreRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    score_id: int = betterproto.uint32_field(2)


@dataclass
class TakeGeneralActivityScoreRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)
    activity_id: int = betterproto.uint32_field(3)
    score_id: int = betterproto.uint32_field(4)


@dataclass
class GeneralActivityStageTakeStageGroupRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    activity_stage_group_id: int = betterproto.uint32_field(2)


@dataclass
class GeneralActivityStageTakeStageGroupRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)
    activity_id: int = betterproto.uint32_field(3)
    activity_stage_group_id: int = betterproto.uint32_field(4)


@dataclass
class EndlessSingleModeActivityFinishFloorReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    floor: int = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)
    cost_time: int = betterproto.uint32_field(4)
    cheat_data_list: List["StageCheatData"] = betterproto.message_field(5)


@dataclass
class EndlessSingleModeActivityFinishFloorRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class EndlessSingleModeActivityResetReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class EndlessSingleModeActivityResetRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class EndlessSingleModeActivityBattleBeginReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    area_id: int = betterproto.uint32_field(3)
    battle_id: int = betterproto.uint32_field(4)
    group_level: int = betterproto.uint32_field(5)
    monster_group_id: int = betterproto.uint32_field(6)
    layer_number: int = betterproto.uint32_field(7)


@dataclass
class EndlessSingleModeActivityBattleBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class EndlessSingleModeActivityBattleEndReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    area_id: int = betterproto.uint32_field(3)
    battle_id: int = betterproto.uint32_field(4)
    monster_group_id: int = betterproto.uint32_field(5)
    score: int = betterproto.uint32_field(6)
    cost_time: int = betterproto.uint32_field(7)
    end_status: "StageEndStatus" = betterproto.enum_field(8)
    avatar_list: List["StageInnerAvatarData"] = betterproto.message_field(9)
    environment_id: int = betterproto.uint32_field(10)
    layer_number: int = betterproto.uint32_field(11)
    elf_list: List["StageInnerElfData"] = betterproto.message_field(12)


@dataclass
class EndlessSingleModeActivityBattleEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    map_id: int = betterproto.uint32_field(3)
    area_id: int = betterproto.uint32_field(4)
    battle_id: int = betterproto.uint32_field(5)
    monster_group_id: int = betterproto.uint32_field(6)


@dataclass
class EndlessSingleModeActivityTakeItemReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)
    item_num: int = betterproto.uint32_field(3)


@dataclass
class EndlessSingleModeActivityTakeItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class EndlessSingleModeActivityUseItemReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)
    item_num: int = betterproto.uint32_field(3)


@dataclass
class EndlessSingleModeActivityUseItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GeneralActivityGetStageRankReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    rank_id: int = betterproto.uint32_field(2)


@dataclass
class GeneralActivityGetStageRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)


@dataclass
class CrisisModeActivityTakeStageRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class CrisisModeActivityTakeStageRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class GeneralActivityTakeTicketReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GeneralActivityTicket(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    add_num: int = betterproto.uint32_field(2)


@dataclass
class GeneralActivityTakeTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    ticket_list: List["GeneralActivityTicket"] = betterproto.message_field(3)


@dataclass
class BossChallengeActivityGetStageRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class BossChallengeActivityGetStageRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rank: int = betterproto.uint32_field(2)
    rank_ratio: int = betterproto.uint32_field(3)


@dataclass
class FrontEndlessActivityBattleBeginReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    floor: int = betterproto.uint32_field(3)


@dataclass
class FrontEndlessActivityBattleBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class FrontEndlessActivityBattleEndReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    floor: int = betterproto.uint32_field(3)
    score: int = betterproto.uint32_field(4)
    end_status: "StageEndStatus" = betterproto.enum_field(5)
    cost_time: int = betterproto.uint32_field(6)


@dataclass
class FrontEndlessActivityBattleEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_floor: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class GlobalExplorePos(betterproto.Message):
    pos_x: int = betterproto.int32_field(1)
    pos_y: int = betterproto.int32_field(2)


@dataclass
class GlobalExploreGrid(betterproto.Message):
    pos: "GlobalExplorePos" = betterproto.message_field(1)
    entity_id: int = betterproto.uint32_field(2)
    entity_expire_time: int = betterproto.uint32_field(3)
    is_explored: bool = betterproto.bool_field(4)


@dataclass
class GlobalExploreEvent(betterproto.Message):
    event_id: int = betterproto.uint32_field(1)
    event_type: int = betterproto.uint32_field(2)
    event_param_list: List[int] = betterproto.uint32_field(3)
    hint_type: "GlobalExploreHintType" = betterproto.enum_field(4)


@dataclass
class GlobalExploreEntity(betterproto.Message):
    entity_id: int = betterproto.uint32_field(1)
    is_active: bool = betterproto.bool_field(2)
    kingdom_data_list: List["GlobalExploreEntityKingdomData"] = (
        betterproto.message_field(3)
    )
    active_time: int = betterproto.uint32_field(4)
    contribution: int = betterproto.uint32_field(5)


@dataclass
class GlobalExploreEntityKingdomData(betterproto.Message):
    kingdom_id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)


@dataclass
class GlobalExploreQuest(betterproto.Message):
    quest_id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)
    status: "GlobalExploreQuestStatus" = betterproto.enum_field(3)
    finish_times: int = betterproto.uint32_field(4)


@dataclass
class GlobalExploreStage(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    entity_id: int = betterproto.uint32_field(2)
    grid_id: int = betterproto.uint32_field(3)
    is_need_block: bool = betterproto.bool_field(4)


@dataclass
class GlobalExploreInfo(betterproto.Message):
    kingdom_id: int = betterproto.uint32_field(1)
    cur_pos: "GlobalExplorePos" = betterproto.message_field(2)
    cur_stage: "GlobalExploreStage" = betterproto.message_field(3)
    explore_level: int = betterproto.uint32_field(4)
    explore_exp: int = betterproto.uint32_field(5)
    explore_stamina: int = betterproto.uint32_field(6)
    entity_list: List["GlobalExploreEntity"] = betterproto.message_field(7)
    grid_list: List["GlobalExploreGrid"] = betterproto.message_field(8)
    quest_list: List["GlobalExploreQuest"] = betterproto.message_field(9)
    explore_stamina_limit: int = betterproto.uint32_field(10)
    is_take_kingdom_reward: bool = betterproto.bool_field(11)


@dataclass
class GlobalExploreGetActivityReq(betterproto.Message):
    pass


@dataclass
class GlobalExploreGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    info: "GlobalExploreInfo" = betterproto.message_field(2)


@dataclass
class GlobalExploreNotify(betterproto.Message):
    event_list: List["GlobalExploreEvent"] = betterproto.message_field(1)
    move_pos_list: List["GlobalExplorePos"] = betterproto.message_field(2)
    update_info: "GlobalExploreInfo" = betterproto.message_field(3)
    remove_quest_list: List[int] = betterproto.uint32_field(4)


@dataclass
class GlobalExploreMoveReq(betterproto.Message):
    move_pos_list: List["GlobalExplorePos"] = betterproto.message_field(1)
    move_type: "GlobalExploreMoveType" = betterproto.enum_field(2)


@dataclass
class GlobalExploreMoveRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    move_pos_list: List["GlobalExplorePos"] = betterproto.message_field(2)
    move_type: "GlobalExploreMoveType" = betterproto.enum_field(3)


@dataclass
class GlobalExploreInteractReq(betterproto.Message):
    pos: "GlobalExplorePos" = betterproto.message_field(1)
    entity_id: int = betterproto.uint32_field(2)


@dataclass
class GlobalExploreInteractRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    pos: "GlobalExplorePos" = betterproto.message_field(2)
    entity_id: int = betterproto.uint32_field(3)
    action_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class GlobalExploreActionReq(betterproto.Message):
    pos: "GlobalExplorePos" = betterproto.message_field(1)
    entity_id: int = betterproto.uint32_field(2)
    action_id: int = betterproto.uint32_field(3)
    action_param: int = betterproto.uint32_field(4)


@dataclass
class GlobalExploreActionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    pos: "GlobalExplorePos" = betterproto.message_field(2)
    entity_id: int = betterproto.uint32_field(3)
    action_id: int = betterproto.uint32_field(4)
    action_param: int = betterproto.uint32_field(5)
    contribution_add: int = betterproto.uint32_field(6)


@dataclass
class GlobalWarActivity(betterproto.Message):
    cur_schedule_id: int = betterproto.uint32_field(1)
    display_begin_time: int = betterproto.uint32_field(2)
    display_end_time: int = betterproto.uint32_field(3)
    begin_time: int = betterproto.uint32_field(4)
    end_time: int = betterproto.uint32_field(5)
    total_get_currency: int = betterproto.uint32_field(6)
    last_daily_get_currency: int = betterproto.uint32_field(7)
    total_cost_ticket_num: int = betterproto.uint32_field(8)
    take_point_reward_list: List[int] = betterproto.uint32_field(9)
    global_war_point_list: List["GlobalWarPoint"] = betterproto.message_field(10)
    member_list: List["GlobalWarMember"] = betterproto.message_field(11)
    buff_level: int = betterproto.uint32_field(12)
    global_war_isolate_point_list: List["GlobalWarIsolatePoint"] = (
        betterproto.message_field(13)
    )


@dataclass
class GetGlobalWarActivityReq(betterproto.Message):
    pass


@dataclass
class GetGlobalWarActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    global_war_activity: "GlobalWarActivity" = betterproto.message_field(2)


@dataclass
class GlobalWarMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    level: int = betterproto.uint32_field(3)
    head_avatar_id: int = betterproto.uint32_field(4)
    frame_id: int = betterproto.uint32_field(5)
    dress_id: int = betterproto.uint32_field(6)
    custom_head_id: int = betterproto.uint32_field(7)
    global_war_point_id: int = betterproto.uint32_field(8)
    global_war_add_currency: int = betterproto.uint32_field(9)
    global_war_add_time: int = betterproto.uint32_field(10)


@dataclass
class GlobalWarPoint(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)
    cur_hp: int = betterproto.uint32_field(2)
    point_status: int = betterproto.uint32_field(3)
    last_refresh_member_num: int = betterproto.uint32_field(4)
    point_finish_time: int = betterproto.uint32_field(5)
    last_take_sweep_reward_time: int = betterproto.uint32_field(6)


@dataclass
class GlobalWarIsolatePoint(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)
    point_status: int = betterproto.uint32_field(2)


@dataclass
class GlobalWarTakePointRewardReq(betterproto.Message):
    point_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GlobalWarTakePointRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    point_id_list: List[int] = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class GlobalWarAddCurrencyNotify(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)
    global_war_member: "GlobalWarMember" = betterproto.message_field(2)


@dataclass
class GlobalWarExchangeCurrencyReq(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)


@dataclass
class GlobalWarExchangeCurrencyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    add_currency_num: int = betterproto.uint32_field(2)


@dataclass
class GlobalWarGetRankReq(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)


@dataclass
class GlobalWarGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    point_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)


@dataclass
class GlobalWarTakeSweepRewardReq(betterproto.Message):
    point_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class SweepCurrency(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)
    add_num: int = betterproto.uint32_field(2)


@dataclass
class GlobalWarTakeSweepRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    sweep_currency_list: List["SweepCurrency"] = betterproto.message_field(2)


@dataclass
class GetGodWarReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)


@dataclass
class GodWarSite(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    site_status: "GodWarSiteStatus" = betterproto.enum_field(2)


@dataclass
class GodWarOverall(betterproto.Message):
    overall_id: int = betterproto.uint32_field(1)
    overall_val: int = betterproto.uint32_field(2)


@dataclass
class GodWarChallengeStigmata(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    rune_list: List["StigmataRune"] = betterproto.message_field(3)


@dataclass
class GodWarChallengeAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    hp_percent: int = betterproto.uint32_field(2)
    is_virtual: bool = betterproto.bool_field(3)
    weapon_id: int = betterproto.uint32_field(4)
    weapon_level: int = betterproto.uint32_field(5)
    stigmata_1: "GodWarChallengeStigmata" = betterproto.message_field(6)
    stigmata_2: "GodWarChallengeStigmata" = betterproto.message_field(7)
    stigmata_3: "GodWarChallengeStigmata" = betterproto.message_field(8)
    weapon_homology_level: int = betterproto.uint32_field(9)


@dataclass
class GodWarChallengeElf(betterproto.Message):
    elf_info: "ElfBriefInfo" = betterproto.message_field(1)


@dataclass
class GodWarBonus(betterproto.Message):
    bonus_id: int = betterproto.uint32_field(1)
    count_down: int = betterproto.uint32_field(2)
    buff: "GodWarBuff" = betterproto.message_field(3)


@dataclass
class GodWarChallenge(betterproto.Message):
    is_challenge_fail: bool = betterproto.bool_field(1)
    avatar_list: List["GodWarChallengeAvatar"] = betterproto.message_field(2)
    support_avatar_id_list: List[int] = betterproto.uint32_field(3)
    elf_id: int = betterproto.uint32_field(4)
    extra_item_id: int = betterproto.uint32_field(5)
    refresh_teleport_times: int = betterproto.uint32_field(6)
    punish_buff_list: List["GodWarPunishBuff"] = betterproto.message_field(7)
    challenge_score: int = betterproto.uint32_field(8)
    random_seed: int = betterproto.uint32_field(9)
    step_level: int = betterproto.uint32_field(10)
    punish_buff_id_list: List[int] = betterproto.uint32_field(11)
    is_use_virtual_avatar: bool = betterproto.bool_field(12)
    boon_buff_id_list: List[int] = betterproto.uint32_field(13)
    gain_coin_num: int = betterproto.uint32_field(14)
    refresh_teleport_times_limit: int = betterproto.uint32_field(15)
    assistant_extra_item_id: int = betterproto.uint32_field(16)
    bonus_list: List["GodWarBonus"] = betterproto.message_field(17)
    refresh_gacha_times: int = betterproto.uint32_field(18)
    refresh_gacha_times_limit: int = betterproto.uint32_field(19)
    star_ring_energy: int = betterproto.uint32_field(20)
    elf_list: List["GodWarChallengeElf"] = betterproto.message_field(21)
    is_alleviation: bool = betterproto.bool_field(22)


@dataclass
class GodWarChallengeHistory(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    is_challenge_succ: bool = betterproto.bool_field(2)
    max_punish_level: int = betterproto.uint32_field(3)
    pass_step_level_list: List[int] = betterproto.uint32_field(4)
    max_challenge_score: int = betterproto.uint32_field(5)


@dataclass
class GodWarBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_level: int = betterproto.uint32_field(2)


@dataclass
class GodWarTalent(betterproto.Message):
    talent_id: int = betterproto.uint32_field(1)
    talent_level: int = betterproto.uint32_field(2)


@dataclass
class GodWarTale(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    site_list: List["GodWarSite"] = betterproto.message_field(3)
    cur_site_id: int = betterproto.uint32_field(4)
    begin_time: int = betterproto.uint32_field(5)
    end_time: int = betterproto.uint32_field(6)
    challenge: "GodWarChallenge" = betterproto.message_field(7)
    buff_list: List["GodWarBuff"] = betterproto.message_field(8)
    avatar_schedule_id: int = betterproto.uint32_field(9)
    challenge_history_list: List["GodWarChallengeHistory"] = betterproto.message_field(
        10
    )
    is_locked: bool = betterproto.bool_field(11)
    overall_list: List["GodWarOverall"] = betterproto.message_field(12)
    avatar_schedule_max_score: int = betterproto.uint32_field(13)
    cur_avatar_schedule_info: "GodWarCurAvatarScheduleInfo" = betterproto.message_field(
        14
    )


@dataclass
class GodWarCurAvatarScheduleInfo(betterproto.Message):
    max_challenge_score: int = betterproto.uint32_field(1)
    max_punish_level: int = betterproto.uint32_field(2)
    last_schedule_max_punish_level: int = betterproto.uint32_field(3)


@dataclass
class GodWarRoleRelation(betterproto.Message):
    role_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    exp: int = betterproto.uint32_field(3)
    reward_has_take_level: int = betterproto.uint32_field(4)
    reward_has_take_story_list: List[int] = betterproto.uint32_field(5)


@dataclass
class GodWarAvatarExpUp(betterproto.Message):
    begin_time: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)
    avatar_id_list: List[int] = betterproto.uint32_field(3)
    up_ratio: int = betterproto.uint32_field(4)
    schedule_id: int = betterproto.uint32_field(5)


@dataclass
class GodWarChapter(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    is_locked: bool = betterproto.bool_field(2)


@dataclass
class GodWarRoleInfo(betterproto.Message):
    role_relation_list: List["GodWarRoleRelation"] = betterproto.message_field(1)
    avatar_exp_up: "GodWarAvatarExpUp" = betterproto.message_field(2)
    main_avatar_id_list: List[int] = betterproto.uint32_field(3)
    support_avatar_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class GodWar(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_list: List["GodWarTale"] = betterproto.message_field(2)
    begin_time: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)
    talent_list: List["GodWarTalent"] = betterproto.message_field(5)
    max_support_point: int = betterproto.uint32_field(6)
    lobby_id: int = betterproto.uint32_field(9)
    chapter_list: List["GodWarChapter"] = betterproto.message_field(14)
    cur_chapter_id: int = betterproto.uint32_field(15)
    role_info: "GodWarRoleInfo" = betterproto.message_field(16)


@dataclass
class GetGodWarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_list: List["GodWar"] = betterproto.message_field(2)


@dataclass
class GodWarPunishBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_level: int = betterproto.uint32_field(2)


@dataclass
class SelectGodWarChallengeAvatarReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    avatar_id_list: List[int] = betterproto.uint32_field(3)
    support_avatar_id_list: List[int] = betterproto.uint32_field(4)
    elf_id: int = betterproto.uint32_field(5)
    extra_item_id: int = betterproto.uint32_field(6)
    is_use_virtual_avatar: bool = betterproto.bool_field(7)
    boon_buff_id_list: List[int] = betterproto.uint32_field(8)
    step_level: int = betterproto.uint32_field(9)
    assistant_extra_item_id: int = betterproto.uint32_field(10)
    is_alleviation: bool = betterproto.bool_field(11)


@dataclass
class SelectGodWarChallengeAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)


@dataclass
class ChangeGodWarChallengeSupportAvatarReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    support_avatar_id_list: List[int] = betterproto.uint32_field(3)
    extra_item_id: int = betterproto.uint32_field(4)
    assistant_extra_item_id: int = betterproto.uint32_field(5)


@dataclass
class ChangeGodWarChallengeSupportAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    support_avatar_id_list: List[int] = betterproto.uint32_field(4)
    extra_item_id: int = betterproto.uint32_field(5)
    assistant_extra_item_id: int = betterproto.uint32_field(6)


@dataclass
class SyncGodWarTaleNotify(betterproto.Message):
    tale: "GodWarTale" = betterproto.message_field(1)


@dataclass
class ResetGodWarChallengeReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    channel: "ResetGodWarChallengeReqResetChannel" = betterproto.enum_field(3)


@dataclass
class GodWarScoreEventSettle(betterproto.Message):
    score_event_id: int = betterproto.uint32_field(1)
    settle_times: int = betterproto.uint32_field(2)
    total_score: int = betterproto.uint32_field(3)


@dataclass
class ResetGodWarChallengeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    avatar_list: List["GodWarChallengeAvatar"] = betterproto.message_field(4)
    buff_list: List["GodWarBuff"] = betterproto.message_field(5)
    is_challenge_succ: bool = betterproto.bool_field(6)
    challenge_score: int = betterproto.uint32_field(7)
    score_id_settle_times_list: List["GodWarScoreEventSettle"] = (
        betterproto.message_field(8)
    )
    punish_level: int = betterproto.uint32_field(9)
    total_score: int = betterproto.uint32_field(10)
    grade: int = betterproto.uint32_field(11)
    reward_material_list: List["Material"] = betterproto.message_field(12)
    site_idx: int = betterproto.uint32_field(13)
    first_win_reward_list: List["RewardData"] = betterproto.message_field(14)
    is_use_virtual_avatar: bool = betterproto.bool_field(15)
    challenge_cost_time: int = betterproto.uint32_field(16)
    is_alleviation: bool = betterproto.bool_field(17)


@dataclass
class GodWarEventInfo(betterproto.Message):
    event_id: int = betterproto.uint32_field(1)
    event_type: int = betterproto.uint32_field(2)
    event_settle_status: "GodWarEventInfoEventSettleStatus" = betterproto.enum_field(3)
    event_param_list: List[int] = betterproto.uint32_field(4)
    source_event_id: int = betterproto.uint32_field(5)
    reward_data_list: List["RewardData"] = betterproto.message_field(6)
    fingerprint: int = betterproto.uint32_field(7)
    extra_param_list: List[int] = betterproto.uint32_field(8)
    source_type: int = betterproto.uint32_field(9)
    event_param_map_list: List["GodWarEventInfoParamMap"] = betterproto.message_field(
        10
    )


@dataclass
class GodWarEventInfoParamMap(betterproto.Message):
    key: int = betterproto.uint32_field(1)
    value: int = betterproto.uint32_field(2)


@dataclass
class GodWarEventNotify(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    event_list: List["GodWarEventInfo"] = betterproto.message_field(3)
    trigger_type: int = betterproto.uint32_field(4)
    trigger_param_list: List[int] = betterproto.uint32_field(5)


@dataclass
class TriggerGodWarEventReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    event_id_list: List[int] = betterproto.uint32_field(3)
    trigger_type: int = betterproto.uint32_field(4)
    trigger_param_list: List[int] = betterproto.uint32_field(5)


@dataclass
class TriggerGodWarEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    event_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class RefreshGodWarTeleportEventReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    random: int = betterproto.uint32_field(3)


@dataclass
class RefreshGodWarTeleportEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    random: int = betterproto.uint32_field(4)


@dataclass
class SelectGodWarBuffReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    buff_id: int = betterproto.uint32_field(3)


@dataclass
class SelectGodWarBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    buff: "GodWarBuff" = betterproto.message_field(4)


@dataclass
class LevelUpGodWarTalentReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)
    is_level_up_all: bool = betterproto.bool_field(3)


@dataclass
class LevelUpGodWarTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    talent: "GodWarTalent" = betterproto.message_field(3)
    max_support_point: int = betterproto.uint32_field(4)


@dataclass
class TakeGodWarTalentSupportLevelRewardNotify(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class AddGodWarRoleRelationExpReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    role_id: int = betterproto.uint32_field(2)
    exp_material_num: int = betterproto.uint32_field(3)


@dataclass
class AddGodWarRoleRelationExpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)


@dataclass
class LevelUpGodWarRoleRelationReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    role_id: int = betterproto.uint32_field(2)


@dataclass
class LevelUpGodWarRoleRelationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)


@dataclass
class TakeGodWarRoleRelationLevelRewardReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    role_id: int = betterproto.uint32_field(2)


@dataclass
class TakeGodWarRoleRelationLevelRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)


@dataclass
class GodWarGoods(betterproto.Message):
    goods_type: "GodWarGoodsGoodsType" = betterproto.enum_field(1)
    goods_num: int = betterproto.uint32_field(2)
    goods_idx: int = betterproto.uint32_field(3)
    coin_cost: int = betterproto.uint32_field(4)
    buff_goods: "GodWarGoodsBuffGoods" = betterproto.message_field(5)
    levelup_buff_goods: "GodWarGoodsLevelUpBuffGoods" = betterproto.message_field(6)


@dataclass
class GodWarGoodsBuffGoods(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_init_level: int = betterproto.uint32_field(2)


@dataclass
class GodWarGoodsLevelUpBuffGoods(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_cur_level: int = betterproto.uint32_field(2)


@dataclass
class GodWarShop(betterproto.Message):
    goods_list: List["GodWarGoods"] = betterproto.message_field(1)
    is_can_change_state: bool = betterproto.bool_field(2)
    is_can_recover: bool = betterproto.bool_field(3)
    change_state_event_id: int = betterproto.uint32_field(4)
    recover_event_id: int = betterproto.uint32_field(5)
    special_discount: int = betterproto.uint32_field(6)
    refresh_shop_cost: int = betterproto.uint32_field(7)
    refresh_shop_random: int = betterproto.uint32_field(8)
    shopping_cost: int = betterproto.uint32_field(9)


@dataclass
class GetGodWarTaleShopReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)


@dataclass
class GetGodWarTaleShopRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    shop: "GodWarShop" = betterproto.message_field(4)


@dataclass
class BuyGodWarShopGoodsReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    goods_idx: int = betterproto.uint32_field(3)


@dataclass
class BuyGodWarShopGoodsRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    goods_idx: int = betterproto.uint32_field(4)


@dataclass
class TakeGodWarRoleStoryRewardReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    story_id: int = betterproto.uint32_field(2)


@dataclass
class TakeGodWarRoleStoryRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    story_id: int = betterproto.uint32_field(3)
    reward: "RewardData" = betterproto.message_field(4)


@dataclass
class RefreshGodWarTicketReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)


@dataclass
class RefreshGodWarTicketInfo(betterproto.Message):
    ticket_id: int = betterproto.uint32_field(1)
    material_id: int = betterproto.uint32_field(2)
    add_num: int = betterproto.uint32_field(3)


@dataclass
class RefreshGodWarTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    ticket_refresh_list: List["RefreshGodWarTicketInfo"] = betterproto.message_field(3)


@dataclass
class PredictGodWarEventReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    event_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class PredictGodWarEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    event_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class RefreshGodWarBuffEventReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)


@dataclass
class RefreshGodWarBuffEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)


@dataclass
class GetGodWarRoleReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)


@dataclass
class GetGodWarRoleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    role_info: "GodWarRoleInfo" = betterproto.message_field(3)


@dataclass
class GetGodWarTeleportEventReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)


@dataclass
class GetGodWarTeleportEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    teleport_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class SwitchGodWarChapterReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)


@dataclass
class SwitchGodWarChapterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    chapter_id: int = betterproto.uint32_field(3)


@dataclass
class GetGodWarLobbyReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    lobby_id: int = betterproto.uint32_field(2)


@dataclass
class GodWarNpc(betterproto.Message):
    npc_id: int = betterproto.uint32_field(1)
    action_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetGodWarLobbyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    lobby_id: int = betterproto.uint32_field(3)
    npc_list: List["GodWarNpc"] = betterproto.message_field(4)


@dataclass
class FinishGodWarLobbyActionReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    lobby_id: int = betterproto.uint32_field(2)
    action_id: int = betterproto.uint32_field(3)


@dataclass
class FinishGodWarLobbyActionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    lobby_id: int = betterproto.uint32_field(3)
    action_id: int = betterproto.uint32_field(4)


@dataclass
class RefreshGodWarShopGoodsReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    random: int = betterproto.uint32_field(3)


@dataclass
class RefreshGodWarShopGoodsRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    random: int = betterproto.uint32_field(4)


@dataclass
class SkipGodWarStoryNodeReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    node_id: int = betterproto.uint32_field(2)


@dataclass
class SkipGodWarStoryNodeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    node_id: int = betterproto.uint32_field(3)


@dataclass
class RefreshGodWarGachaReq(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    random: int = betterproto.uint32_field(3)


@dataclass
class RefreshGodWarGachaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    god_war_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    random: int = betterproto.uint32_field(4)


@dataclass
class GourmetHuntGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class GourmetHuntWeapon(betterproto.Message):
    weapon_id: int = betterproto.uint32_field(1)
    unlocked_module_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GourmetHuntClearableArchive(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)
    hp: int = betterproto.uint32_field(3)
    sp: int = betterproto.uint32_field(4)
    explore_buff_id: int = betterproto.uint32_field(5)
    collect_ingredient_list: List["GourmetHuntIngredient"] = betterproto.message_field(
        6
    )
    killed_monster_list: List[int] = betterproto.uint32_field(7)
    destroyed_entity_list: List[int] = betterproto.uint32_field(8)
    transaction_str: str = betterproto.string_field(9)
    secondary_weapon_list: List[int] = betterproto.uint32_field(10)
    room_pos_x: int = betterproto.uint32_field(11)
    room_pos_y: int = betterproto.uint32_field(12)


@dataclass
class GourmetHuntUnlockedMapRoom(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    room_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GourmetHuntExploreArchive(betterproto.Message):
    clearable_archive: "GourmetHuntClearableArchive" = betterproto.message_field(1)
    unlocked_map_list: List[int] = betterproto.uint32_field(2)
    unlocked_teleport_list: List[int] = betterproto.uint32_field(3)
    opened_treasure_list: List[int] = betterproto.uint32_field(4)
    killed_boss_list: List[int] = betterproto.uint32_field(5)
    unlocked_map_room_list: List["GourmetHuntUnlockedMapRoom"] = (
        betterproto.message_field(6)
    )
    triggered_entity_list: List[int] = betterproto.uint32_field(7)


@dataclass
class GourmetHuntIngredient(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class GourmetHuntActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    total_revenue: int = betterproto.uint32_field(3)
    total_praise: int = betterproto.uint32_field(4)
    recipe_list: List[int] = betterproto.uint32_field(5)
    furniture_list: List[int] = betterproto.uint32_field(6)
    weapon_list: List["GourmetHuntWeapon"] = betterproto.message_field(7)
    explore_archive: "GourmetHuntExploreArchive" = betterproto.message_field(8)
    ingredient_list: List["GourmetHuntIngredient"] = betterproto.message_field(9)
    unlocked_ingredient_list: List[int] = betterproto.uint32_field(10)
    cur_rating: int = betterproto.uint32_field(11)
    menu_list: List["GourmetHuntManagementMenu"] = betterproto.message_field(12)
    hot_ingredient_id: int = betterproto.uint32_field(13)
    sold_menu_list: List["GourmetHuntManagementMenu"] = betterproto.message_field(14)
    max_revenue_in_one_management: int = betterproto.uint32_field(15)
    max_praise_in_one_management: int = betterproto.uint32_field(16)
    total_management_times: int = betterproto.uint32_field(17)
    cur_daily_mission_group_id: int = betterproto.uint32_field(18)
    management_weather_id: int = betterproto.uint32_field(19)
    challenge_map_score_list: List["CommonUintKVStruct"] = betterproto.message_field(20)
    opened_branch_store_num: int = betterproto.uint32_field(21)


@dataclass
class GourmetHuntGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    activity: "GourmetHuntActivity" = betterproto.message_field(3)


@dataclass
class GourmetHuntLevelUpReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    target_level: int = betterproto.uint32_field(2)


@dataclass
class GourmetHuntLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class GourmetHuntUnlockWeaponModuleReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    weapon_id: int = betterproto.uint32_field(2)
    module_id: int = betterproto.uint32_field(3)


@dataclass
class GourmetHuntUnlockWeaponModuleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    weapon_id: int = betterproto.uint32_field(3)
    module_id: int = betterproto.uint32_field(4)


@dataclass
class GourmetHuntUnlockFurnitureReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    furniture_id: int = betterproto.uint32_field(2)


@dataclass
class GourmetHuntUnlockFurnitureRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    furniture_id: int = betterproto.uint32_field(3)


@dataclass
class GourmetHuntManagementMenu(betterproto.Message):
    recipe_id: int = betterproto.uint32_field(1)
    cook_num: int = betterproto.uint32_field(2)


@dataclass
class GourmetHuntStartManagementReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    menu_list: List["GourmetHuntManagementMenu"] = betterproto.message_field(2)
    management_identity_type: "GourmetHuntIdentityType" = betterproto.enum_field(3)


@dataclass
class GourmetHuntStartManagementRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    transaction_str: str = betterproto.string_field(3)


@dataclass
class GourmetHuntStopManagementReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    settled_menu_list: List["GourmetHuntManagementMenu"] = betterproto.message_field(2)
    gold_earned: int = betterproto.uint32_field(3)
    praise: int = betterproto.uint32_field(4)
    rank_value: int = betterproto.uint32_field(5)
    finished_special_mission_npc_id: int = betterproto.uint32_field(6)


@dataclass
class GourmetHuntStopManagementRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    hot_ingredient_id: int = betterproto.uint32_field(3)
    buff_id: int = betterproto.uint32_field(4)


@dataclass
class GourmetHuntStartExploreReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    transaction_str: str = betterproto.string_field(2)
    map_id: int = betterproto.uint32_field(3)
    teleport_id: int = betterproto.uint32_field(4)
    room_pos_x: int = betterproto.uint32_field(5)
    room_pos_y: int = betterproto.uint32_field(6)
    secondary_weapon_list: List[int] = betterproto.uint32_field(7)


@dataclass
class GourmetHuntStartExploreRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    archive: "GourmetHuntExploreArchive" = betterproto.message_field(3)


@dataclass
class GourmetHuntStopExploreReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    transaction_str: str = betterproto.string_field(2)
    take_out_ingredient_list: List["GourmetHuntIngredient"] = betterproto.message_field(
        3
    )
    report_archive: "GourmetHuntClearableArchive" = betterproto.message_field(4)
    score: int = betterproto.uint32_field(5)
    end_status: "GourmetHuntStopExploreReqEndStatus" = betterproto.enum_field(6)


@dataclass
class GourmetHuntStopExploreRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class GourmetHuntOpenTreasureReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    transaction_str: str = betterproto.string_field(2)
    treasure_id: int = betterproto.uint32_field(3)


@dataclass
class GourmetHuntOpenTreasureRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    treasure_id: int = betterproto.uint32_field(3)
    reward: "RewardData" = betterproto.message_field(4)


@dataclass
class GourmetHuntTriggerTeleportReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    transaction_str: str = betterproto.string_field(2)
    map_id: int = betterproto.uint32_field(3)
    teleport_id: int = betterproto.uint32_field(4)
    report_archive: "GourmetHuntClearableArchive" = betterproto.message_field(5)


@dataclass
class GourmetHuntTriggerTeleportRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    archive: "GourmetHuntExploreArchive" = betterproto.message_field(3)


@dataclass
class GourmetHuntKillBossReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    transaction_str: str = betterproto.string_field(2)
    boss_id: int = betterproto.uint32_field(3)


@dataclass
class GourmetHuntKillBossRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    boss_id: int = betterproto.uint32_field(3)


@dataclass
class GourmetHuntEnterRoomReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    transaction_str: str = betterproto.string_field(2)
    room_id: int = betterproto.uint32_field(3)
    report_archive: "GourmetHuntClearableArchive" = betterproto.message_field(4)


@dataclass
class GourmetHuntEnterRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    archive: "GourmetHuntExploreArchive" = betterproto.message_field(3)


@dataclass
class GourmetHuntGetRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class GourmetHuntGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    map_id: int = betterproto.uint32_field(3)
    rank: int = betterproto.uint32_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank_data: "RankShowData" = betterproto.message_field(6)


@dataclass
class GourmetHuntTriggerEntityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    transaction_str: str = betterproto.string_field(2)
    entity_id: int = betterproto.uint32_field(3)


@dataclass
class GourmetHuntTriggerEntityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    entity_id: int = betterproto.uint32_field(3)


@dataclass
class GourmetHuntDailyStaminaRecoveryNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    recovery_num: int = betterproto.uint32_field(2)


@dataclass
class GourmetHuntBuildBranchStoreReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    branch_store_id: int = betterproto.uint32_field(2)


@dataclass
class GourmetHuntBuildBranchStoreRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    branch_store_id: int = betterproto.uint32_field(3)


@dataclass
class GourmetHuntOpenBranchStoreReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    branch_store_id: int = betterproto.uint32_field(2)


@dataclass
class GourmetHuntOpenBranchStoreRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    opened_branch_store_num: int = betterproto.uint32_field(3)


@dataclass
class GratuityPlayer(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    cost_hp: int = betterproto.uint32_field(3)
    frame_id: int = betterproto.uint32_field(4)
    custom_head_id: int = betterproto.uint32_field(5)


@dataclass
class GratuityMonster(betterproto.Message):
    monster_id: int = betterproto.uint32_field(1)
    left_hp: int = betterproto.uint32_field(2)


@dataclass
class GratuityStage(betterproto.Message):
    stage_unique_id: int = betterproto.uint32_field(1)
    expire_time: int = betterproto.uint32_field(2)
    accept_uid: int = betterproto.uint32_field(3)
    stage_id: int = betterproto.uint32_field(4)
    stage_group: int = betterproto.uint32_field(5)
    monster_list: List["GratuityMonster"] = betterproto.message_field(6)
    player_list: List["GratuityPlayer"] = betterproto.message_field(7)
    publish_time: int = betterproto.uint32_field(8)


@dataclass
class GetGratuityActivityReq(betterproto.Message):
    stage_unique_id_list: List[int] = betterproto.uint32_field(1)
    invite_stage_unique_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetGratuityActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_schedule_id: int = betterproto.uint32_field(2)
    stage_list: List["GratuityStage"] = betterproto.message_field(3)
    today_left_free_stage_num: int = betterproto.uint32_field(4)
    invite_stage_list: List["GratuityStage"] = betterproto.message_field(5)


@dataclass
class GratuityPlayerInfo(betterproto.Message):
    nickname: str = betterproto.string_field(1)
    level: int = betterproto.uint32_field(2)
    frame_id: int = betterproto.uint32_field(3)
    custom_head_id: int = betterproto.uint32_field(4)


@dataclass
class GratuityStageMeta(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    stage_group: int = betterproto.uint32_field(2)
    expire_time: int = betterproto.uint32_field(3)


@dataclass
class AcceptGratuityStageReq(betterproto.Message):
    accept_type: "GratuityAcceptType" = betterproto.enum_field(1)
    player_info: "GratuityPlayerInfo" = betterproto.message_field(2)
    stage_meta_list: List["GratuityStageMeta"] = betterproto.message_field(3)


@dataclass
class AcceptGratuityStageRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_list: List["GratuityStage"] = betterproto.message_field(2)
    accept_type: "GratuityAcceptType" = betterproto.enum_field(3)
    today_left_free_stage_num: int = betterproto.uint32_field(4)


@dataclass
class AssistGratuityStageReq(betterproto.Message):
    stage_unique_id: int = betterproto.uint32_field(1)
    player_info: "GratuityPlayerInfo" = betterproto.message_field(2)
    relation_tag: int = betterproto.uint32_field(3)


@dataclass
class AssistGratuityStageRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage: "GratuityStage" = betterproto.message_field(2)
    relation_tag: int = betterproto.uint32_field(3)


@dataclass
class CancelGratuityStageReq(betterproto.Message):
    stage_unique_id: int = betterproto.uint32_field(1)


@dataclass
class CancelGratuityStageRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_unique_id: int = betterproto.uint32_field(2)


@dataclass
class GetGratuityBattleHistoryReq(betterproto.Message):
    stage_unique_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GratuityBattle(betterproto.Message):
    stage_unique_id: int = betterproto.uint32_field(1)
    player_info: "GratuityPlayer" = betterproto.message_field(2)
    damage: int = betterproto.uint32_field(3)
    stage_begin_time: int = betterproto.uint32_field(4)
    is_bonus: bool = betterproto.bool_field(5)
    stage_id: int = betterproto.uint32_field(6)


@dataclass
class GetGratuityBattleHistoryRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_list: List["GratuityBattle"] = betterproto.message_field(2)


@dataclass
class GratuityStageMessage(betterproto.Message):
    message_type: "GratuityStageMessageMessageType" = betterproto.enum_field(1)
    from_uid: int = betterproto.uint32_field(2)
    monster_damage_list: List["GratuityStageMessageMonsterDamage"] = (
        betterproto.message_field(3)
    )


@dataclass
class GratuityStageMessageMonsterDamage(betterproto.Message):
    monster_id: int = betterproto.uint32_field(1)
    cost_hp: int = betterproto.uint32_field(2)


@dataclass
class SyncGratuityStageReq(betterproto.Message):
    stage_unique_id: int = betterproto.uint32_field(1)
    message_list: List["GratuityStageMessage"] = betterproto.message_field(2)


@dataclass
class SyncGratuityStageRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage: "GratuityStage" = betterproto.message_field(2)
    message_list: List["GratuityStageMessage"] = betterproto.message_field(3)


@dataclass
class PublishGratuityStageReq(betterproto.Message):
    stage_unique_id: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    relation_tag: int = betterproto.uint32_field(3)


@dataclass
class PublishGratuityStageRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    stage_unique_id: int = betterproto.uint32_field(3)
    relation_tag: int = betterproto.uint32_field(4)


@dataclass
class GetGratuityStageListReq(betterproto.Message):
    stage_unique_id_list: List[int] = betterproto.uint32_field(1)
    stage_group_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetGratuityStageListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_list: List["GratuityStage"] = betterproto.message_field(2)


@dataclass
class RejectGratuityStageReq(betterproto.Message):
    stage_unique_id: int = betterproto.uint32_field(1)


@dataclass
class RejectGratuityStageRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_unique_id: int = betterproto.uint32_field(2)


@dataclass
class GratuityStageInviteNotify(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    stage: "GratuityStage" = betterproto.message_field(2)


@dataclass
class GratuityStageFinishNotify(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    stage: "GratuityStage" = betterproto.message_field(2)


@dataclass
class KingdomWarPointKingdomData(betterproto.Message):
    kingdom_id: int = betterproto.uint32_field(1)
    score_u64: int = betterproto.uint64_field(2)
    vote_score_u64: int = betterproto.uint64_field(3)
    last_score_u64: int = betterproto.uint64_field(4)
    player_num: int = betterproto.uint32_field(5)
    recent_player_list: List["KingdomWarPointKingdomDataKingdomPlayer"] = (
        betterproto.message_field(6)
    )
    last_score_time: int = betterproto.uint32_field(7)


@dataclass
class KingdomWarPointKingdomDataKingdomPlayer(betterproto.Message):
    nick_name: str = betterproto.string_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class KingdomWarPoint(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)
    cur_kingdom_id: int = betterproto.uint32_field(2)
    kingdom_list: List["KingdomWarPointKingdomData"] = betterproto.message_field(3)
    score: int = betterproto.uint32_field(4)
    last_kingdom_id: int = betterproto.uint32_field(5)
    finished_num: int = betterproto.uint32_field(6)
    stage_id: int = betterproto.uint32_field(7)
    today_score: int = betterproto.uint32_field(8)
    is_open: bool = betterproto.bool_field(9)


@dataclass
class KingdomWarPhaseKingdomData(betterproto.Message):
    kingdom_id: int = betterproto.uint32_field(1)
    fame: int = betterproto.uint32_field(2)
    score_u64: int = betterproto.uint64_field(3)
    rank: int = betterproto.uint32_field(4)
    status: int = betterproto.uint32_field(5)
    bonus_point: int = betterproto.uint32_field(6)
    last_fame: int = betterproto.uint32_field(7)
    record_list: List["KingdomWarOccupyRecord"] = betterproto.message_field(8)
    belief: int = betterproto.uint32_field(9)
    last_belief: int = betterproto.uint32_field(10)


@dataclass
class KingdomWarPhasePlayerData(betterproto.Message):
    cur_point_id: int = betterproto.uint32_field(1)
    today_step: int = betterproto.uint32_field(2)
    is_take_phase_reward: bool = betterproto.bool_field(3)
    vote_point: int = betterproto.uint32_field(4)
    yesterday_score: int = betterproto.uint32_field(5)
    today_finish_stage_num_: int = betterproto.uint32_field(6)
    last_point_id: int = betterproto.uint32_field(7)
    today_score: int = betterproto.uint32_field(8)
    change_stage_num: int = betterproto.uint32_field(9)


@dataclass
class KingdomWarPhase(betterproto.Message):
    phase_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    today_begin_time: int = betterproto.uint32_field(4)
    today_end_time: int = betterproto.uint32_field(5)
    point_list: List["KingdomWarPoint"] = betterproto.message_field(6)
    kingdom_list: List["KingdomWarPhaseKingdomData"] = betterproto.message_field(7)
    player_data: "KingdomWarPhasePlayerData" = betterproto.message_field(8)
    assist_point: int = betterproto.uint32_field(9)
    last_refresh_time: int = betterproto.uint32_field(10)


@dataclass
class KingdomWarKingdom(betterproto.Message):
    kingdom_id: int = betterproto.uint32_field(1)
    player_num: int = betterproto.uint32_field(2)


@dataclass
class KingdomWarData(betterproto.Message):
    phase_list: List["KingdomWarPhase"] = betterproto.message_field(1)
    kingdom_list: List["KingdomWarKingdom"] = betterproto.message_field(2)
    cur_phase: int = betterproto.uint32_field(3)
    is_over: bool = betterproto.bool_field(4)
    has_take_max_score: int = betterproto.uint32_field(5)
    has_get_currency_num: int = betterproto.uint32_field(6)


@dataclass
class KingdomWarJoinData(betterproto.Message):
    combat_power: int = betterproto.uint32_field(1)
    last_kingdom_id: int = betterproto.uint32_field(2)


@dataclass
class GetKingdomWarReq(betterproto.Message):
    join_data: "KingdomWarJoinData" = betterproto.message_field(1)


@dataclass
class GetKingdomWarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    display_begin_time: int = betterproto.uint32_field(3)
    display_end_time: int = betterproto.uint32_field(4)
    begin_time: int = betterproto.uint32_field(5)
    end_time: int = betterproto.uint32_field(6)
    kingdom_war: "KingdomWarData" = betterproto.message_field(7)
    kingdom_id: int = betterproto.uint32_field(8)
    activity_stamina: int = betterproto.uint32_field(9)
    last_recover_stamina_time: int = betterproto.uint32_field(10)


@dataclass
class KingdomWarMoveReq(betterproto.Message):
    target_point: int = betterproto.uint32_field(1)


@dataclass
class KingdomWarMoveRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_point_id: int = betterproto.uint32_field(2)
    today_step: int = betterproto.uint32_field(3)


@dataclass
class KingdomWarVoteReq(betterproto.Message):
    target_point: int = betterproto.uint32_field(1)


@dataclass
class KingdomWarVoteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_point: int = betterproto.uint32_field(2)


@dataclass
class KingdomWarGetRankReq(betterproto.Message):
    kingdom_id: int = betterproto.uint32_field(1)


@dataclass
class KingdomWarGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rank_data: "RankShowData" = betterproto.message_field(2)
    kingdom_id: int = betterproto.uint32_field(3)


@dataclass
class KingdomWarTakeDailyRewardReq(betterproto.Message):
    kingdom_id: int = betterproto.uint32_field(1)


@dataclass
class KingdomWarOccupyRecord(betterproto.Message):
    begin_time: int = betterproto.uint32_field(1)
    occupy_point_list: List[int] = betterproto.uint32_field(2)
    player_score: int = betterproto.uint32_field(3)


@dataclass
class KingdomWarTakeDailyRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    record_list: List["KingdomWarOccupyRecord"] = betterproto.message_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)


@dataclass
class KingdomWarExchangeCurrencyReq(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)


@dataclass
class KingdomWarExchangeCurrencyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    point_id: int = betterproto.uint32_field(2)
    currency_num: int = betterproto.uint32_field(3)


@dataclass
class KingdomWarGetPointRankReq(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)
    kingdom_id: int = betterproto.uint32_field(2)


@dataclass
class KingdomWarGetPointRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    point_id: int = betterproto.uint32_field(2)
    kingdom_id: int = betterproto.uint32_field(3)
    rank_data_list: "RankShowData" = betterproto.message_field(4)


@dataclass
class MahouCardGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MahouCardAreaDropRecord(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    cur_drop_num: int = betterproto.uint32_field(2)
    cur_site_id: int = betterproto.uint32_field(3)
    is_unlocked_today: bool = betterproto.bool_field(4)
    unlocked_times: int = betterproto.uint32_field(5)


@dataclass
class MahouCardSite(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    passed_floor_list: List[int] = betterproto.uint32_field(2)


@dataclass
class MahouCardRole(betterproto.Message):
    role_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class MahouCardBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    remain_room_cnt: int = betterproto.uint32_field(2)
    remain_battle_cnt: int = betterproto.uint32_field(3)


@dataclass
class MahouCardSiteRecord(betterproto.Message):
    site_type: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)


@dataclass
class MahouCardActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    area_daily_drop_record_list: List["MahouCardAreaDropRecord"] = (
        betterproto.message_field(2)
    )
    site_list: List["MahouCardSite"] = betterproto.message_field(3)
    role_list: List["MahouCardRole"] = betterproto.message_field(4)
    has_got_card_id_list: List[int] = betterproto.uint32_field(5)
    cur_site_id: int = betterproto.uint32_field(6)
    site_record_list: List["MahouCardSiteRecord"] = betterproto.message_field(7)


@dataclass
class MahouCardGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "MahouCardActivity" = betterproto.message_field(2)


@dataclass
class MahouCardRoleLevelUpReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    role_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class MahouCardRoleLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    role_id: int = betterproto.uint32_field(3)
    target_level: int = betterproto.uint32_field(4)


@dataclass
class MahouCardEnterSiteReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    role_id: int = betterproto.uint32_field(3)
    is_force: bool = betterproto.bool_field(4)


@dataclass
class MahouCardBattleCard(betterproto.Message):
    slot: int = betterproto.uint32_field(1)
    card_id: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)
    tag_list: List[int] = betterproto.uint32_field(4)


@dataclass
class MahouCardHandCard(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    tag_list: List[int] = betterproto.uint32_field(3)


@dataclass
class MahouCardRoomInfo(betterproto.Message):
    room_id: int = betterproto.uint32_field(1)
    battle_random_seed: int = betterproto.uint32_field(2)
    transaction_str: str = betterproto.string_field(3)
    retry_times: int = betterproto.uint32_field(4)
    is_done: bool = betterproto.bool_field(5)
    is_in_battle: bool = betterproto.bool_field(6)


@dataclass
class MahouCardSiteInfo(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    role_id: int = betterproto.uint32_field(2)
    role_level: int = betterproto.uint32_field(3)
    room_info: "MahouCardRoomInfo" = betterproto.message_field(4)
    passed_room_id_list: List[int] = betterproto.uint32_field(5)
    transaction_str: str = betterproto.string_field(6)
    hand_card_list: List["MahouCardHandCard"] = betterproto.message_field(7)
    battle_card_list: List["MahouCardBattleCard"] = betterproto.message_field(8)
    battle_hp: int = betterproto.uint32_field(9)
    remain_exchange_times: int = betterproto.uint32_field(10)
    discard_times: int = betterproto.uint32_field(11)
    discard_goal: int = betterproto.uint32_field(12)
    discard_trigger_times: int = betterproto.uint32_field(13)
    exchange_trigger_times: int = betterproto.uint32_field(14)
    wait_select_prophesy_list: List[int] = betterproto.uint32_field(15)
    prophesy_list: List[int] = betterproto.uint32_field(16)
    role_prophesy_list: List[int] = betterproto.uint32_field(17)
    buff_list: List["MahouCardBuff"] = betterproto.message_field(18)
    cur_event_id: int = betterproto.uint32_field(19)
    option_list: List[int] = betterproto.uint32_field(20)
    invalid_option_list: List[int] = betterproto.uint32_field(21)


@dataclass
class MahouCardEnterSiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    site_id: int = betterproto.uint32_field(3)
    cur_site: "MahouCardSiteInfo" = betterproto.message_field(4)


@dataclass
class MahouCardEnterRoomReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)


@dataclass
class MahouCardEnterRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    site_id: int = betterproto.uint32_field(3)
    cur_site: "MahouCardSiteInfo" = betterproto.message_field(4)


@dataclass
class MahouCardExitRoomReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)


@dataclass
class MahouCardExitRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    cur_site: "MahouCardSiteInfo" = betterproto.message_field(3)


@dataclass
class MahouCardExitSiteReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)


@dataclass
class MahouCardExitSiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    site_id: int = betterproto.uint32_field(3)
    reward: "RewardData" = betterproto.message_field(4)
    daily_site_drop_num: int = betterproto.uint32_field(5)


@dataclass
class MahouCardGetCurSiteInfoReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_type: int = betterproto.uint32_field(2)


@dataclass
class MahouCardGetCurSiteInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    cur_site: "MahouCardSiteInfo" = betterproto.message_field(3)
    site_type: int = betterproto.uint32_field(4)


@dataclass
class MahouCardHandCardChangeNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    reason: "MahouCardHandCardChangeNotifyReason" = betterproto.enum_field(4)
    lost_hand_card_list: List["MahouCardHandCard"] = betterproto.message_field(5)
    add_hand_card_list: List["MahouCardHandCard"] = betterproto.message_field(6)
    lost_battle_card_list: List["MahouCardBattleCard"] = betterproto.message_field(7)
    add_battle_card_list: List["MahouCardBattleCard"] = betterproto.message_field(8)
    event_id: int = betterproto.uint32_field(9)
    is_need_sync: bool = betterproto.bool_field(10)


@dataclass
class MahouCardExchangeCardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    unique_id: int = betterproto.uint32_field(4)


@dataclass
class MahouCardExchangeCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MahouCardDiscardCardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    unique_id: int = betterproto.uint32_field(4)


@dataclass
class MahouCardDiscardCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MahouCardLevelUpCardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    cost_unique_id: int = betterproto.uint32_field(4)
    target_unique_id: int = betterproto.uint32_field(5)


@dataclass
class MahouCardLevelUpCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cost_unique_id: int = betterproto.uint32_field(2)
    target_unique_id: int = betterproto.uint32_field(3)


@dataclass
class MahouCardSetBattleCardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    unique_id: int = betterproto.uint32_field(4)
    slot: int = betterproto.uint32_field(5)
    direction: "MahouCardSetBattleCardReqDirection" = betterproto.enum_field(6)


@dataclass
class MahouCardSetBattleCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MahouCardRecallBattleCardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    unique_id: int = betterproto.uint32_field(4)
    slot: int = betterproto.uint32_field(5)


@dataclass
class MahouCardRecallBattleCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MahouCardSelectProphesyReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    prophesy_id: int = betterproto.uint32_field(4)


@dataclass
class MahouCardSelectProphesyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MahouCardChooseEventOptionReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    event_id: int = betterproto.uint32_field(4)
    option_list: List[int] = betterproto.uint32_field(5)


@dataclass
class MahouCardChooseEventOptionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MahouCardEventNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    event_id: int = betterproto.uint32_field(4)
    option_list: List[int] = betterproto.uint32_field(5)
    invalid_option_list: List[int] = betterproto.uint32_field(6)


@dataclass
class MahouCardBattleBeginReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)


@dataclass
class MahouCardBattleBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MahouCardBattleEndReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    score: int = betterproto.uint32_field(4)
    end_status: "MahouCardBattleEndReqStatus" = betterproto.enum_field(5)


@dataclass
class MahouCardBattleEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MahouCardUnlockDailySiteReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)


@dataclass
class MahouCardUnlockDailySiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MahouCardGetDailySiteRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)


@dataclass
class MahouCardGetDailySiteRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    area_id: int = betterproto.uint32_field(3)
    rank: int = betterproto.uint32_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank_data: "RankShowData" = betterproto.message_field(6)


@dataclass
class MahouCardOverdrawnNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    overdrawn_card_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ClientMailKey(betterproto.Message):
    type: "ClientMailType" = betterproto.enum_field(1)
    id: int = betterproto.uint32_field(2)


@dataclass
class ClientMailAttachmentItem(betterproto.Message):
    key: "ClientMailKey" = betterproto.message_field(1)
    item_id: int = betterproto.uint32_field(2)


@dataclass
class ClientMail(betterproto.Message):
    key: "ClientMailKey" = betterproto.message_field(1)
    title: str = betterproto.string_field(2)
    content: str = betterproto.string_field(3)
    sender: str = betterproto.string_field(4)
    time: int = betterproto.uint32_field(5)
    attachment: "MailAttachment" = betterproto.message_field(6)
    is_attachment_got: bool = betterproto.bool_field(7)
    expire_time: int = betterproto.uint32_field(8)
    content_param_list: List[str] = betterproto.string_field(9)
    template_id: int = betterproto.uint32_field(10)
    is_read: bool = betterproto.bool_field(11)
    mail_style: int = betterproto.uint32_field(12)
    img_path: str = betterproto.string_field(13)
    is_favorite: bool = betterproto.bool_field(14)


@dataclass
class GetClientMailDataReq(betterproto.Message):
    start: int = betterproto.uint32_field(1)
    stop: int = betterproto.uint32_field(2)
    filter_type: "ClientMailFilterType" = betterproto.enum_field(3)


@dataclass
class ClientMailStyleInfo(betterproto.Message):
    mail_style: int = betterproto.uint32_field(1)
    untaken_num: int = betterproto.uint32_field(2)


@dataclass
class ClientMailInfo(betterproto.Message):
    total_num: int = betterproto.uint32_field(1)
    can_fast_delete_num: int = betterproto.uint32_field(2)
    mail_style_info_list: List["ClientMailStyleInfo"] = betterproto.message_field(3)


@dataclass
class GetClientMailDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mail_list: List["ClientMail"] = betterproto.message_field(2)
    is_end: bool = betterproto.bool_field(3)
    start: int = betterproto.uint32_field(4)
    notice_mail_list: List["ClientMail"] = betterproto.message_field(5)
    filter_type: "ClientMailFilterType" = betterproto.enum_field(6)
    client_mail_info: "ClientMailInfo" = betterproto.message_field(7)


@dataclass
class TakeClientMailAttachmentReq(betterproto.Message):
    mail_key_list: List["ClientMailKey"] = betterproto.message_field(1)
    is_show_attachment: bool = betterproto.bool_field(2)


@dataclass
class TakeClientMailAttachmentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    succ_mail_key_list: List["ClientMailKey"] = betterproto.message_field(2)
    is_show_attachment: bool = betterproto.bool_field(3)
    mail_attachment: "MailAttachment" = betterproto.message_field(4)
    is_take_all: bool = betterproto.bool_field(5)
    fail_mail_list: List["ClientMailAttachmentItem"] = betterproto.message_field(6)


@dataclass
class MarkReadClientMailReq(betterproto.Message):
    mail_key: "ClientMailKey" = betterproto.message_field(1)


@dataclass
class MarkReadClientMailRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mail_key: "ClientMailKey" = betterproto.message_field(2)


@dataclass
class DelClientMailReq(betterproto.Message):
    mail_key: "ClientMailKey" = betterproto.message_field(1)
    is_one_click_delete: bool = betterproto.bool_field(2)


@dataclass
class DelClientMailRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mail_key: "ClientMailKey" = betterproto.message_field(2)
    is_one_click_delete: bool = betterproto.bool_field(3)


@dataclass
class NewClientMailNotify(betterproto.Message):
    type: "ClientMailType" = betterproto.enum_field(1)


@dataclass
class SetClientMailFavoriteReq(betterproto.Message):
    mail_key: "ClientMailKey" = betterproto.message_field(1)
    is_favorite: bool = betterproto.bool_field(2)


@dataclass
class SetClientMailFavoriteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mail_key: "ClientMailKey" = betterproto.message_field(2)
    is_favorite: bool = betterproto.bool_field(3)


@dataclass
class MarblesShootGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MarblesShootActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    avatar_list: List["MarblesShootAvatar"] = betterproto.message_field(2)
    story_game: "MarblesShootGame" = betterproto.message_field(3)
    daily_game: "MarblesShootGame" = betterproto.message_field(4)
    challenge_game: "MarblesShootGame" = betterproto.message_field(5)
    game_settle_info_list: List["MarblesShootGameSettleInfo"] = (
        betterproto.message_field(6)
    )
    daily_game_config_id: int = betterproto.uint32_field(7)
    daily_game_has_drop_material_list: List["Material"] = betterproto.message_field(8)
    wiki: "MarblesShootWiki" = betterproto.message_field(9)


@dataclass
class MarblesShootGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "MarblesShootActivity" = betterproto.message_field(2)
    activity_id: int = betterproto.uint32_field(3)


@dataclass
class MarblesShootGameSettleInfo(betterproto.Message):
    game_id: int = betterproto.uint32_field(1)
    last_fail_room_id: int = betterproto.uint32_field(2)
    has_drop_material_list: List["Material"] = betterproto.message_field(3)


@dataclass
class MarblesShootAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class MarblesShootWiki(betterproto.Message):
    ball_list: List[int] = betterproto.uint32_field(1)
    peg_list: List[int] = betterproto.uint32_field(2)
    treasure_list: List[int] = betterproto.uint32_field(3)


@dataclass
class MarblesShootBall(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    ball_id: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)


@dataclass
class MarblesShootTreasure(betterproto.Message):
    treasure_id: int = betterproto.uint32_field(1)
    effect_times: int = betterproto.uint32_field(2)


@dataclass
class MarblesShootGameRewardItem(betterproto.Message):
    treasure_id: int = betterproto.uint32_field(1)
    coin_num: int = betterproto.uint32_field(2)


@dataclass
class MarblesShootGameCurRoomInfo(betterproto.Message):
    cur_room_id: int = betterproto.uint32_field(1)
    room_type: "MarblesShootRoomType" = betterproto.enum_field(2)
    room_status: "MarblesShootRoomStatus" = betterproto.enum_field(3)
    battle_id: int = betterproto.uint32_field(4)
    shop_operate_times: int = betterproto.uint32_field(5)
    can_buy_ball_list: List["MarblesShootBall"] = betterproto.message_field(6)
    bought_ball_idx_list: List[int] = betterproto.uint32_field(7)
    can_select_treasure_list: List[int] = betterproto.uint32_field(8)
    can_select_reward_item_list: List["MarblesShootGameRewardItem"] = (
        betterproto.message_field(9)
    )
    event_group_id: int = betterproto.uint32_field(10)
    can_trigger_event_id_list: List[int] = betterproto.uint32_field(11)
    init_ball_list: List["MarblesShootInitItem"] = betterproto.message_field(12)
    init_treasure_list: List["MarblesShootInitItem"] = betterproto.message_field(13)
    init_ball_select_num: int = betterproto.uint32_field(14)
    init_treasure_select_num: int = betterproto.uint32_field(15)


@dataclass
class MarblesShootInitItem(betterproto.Message):
    ball: "MarblesShootBall" = betterproto.message_field(1)
    treasure_id: int = betterproto.uint32_field(2)
    weight: int = betterproto.uint32_field(3)


@dataclass
class MarblesShootGame(betterproto.Message):
    game_id: int = betterproto.uint32_field(1)
    avatar: "MarblesShootAvatar" = betterproto.message_field(2)
    avatar_hp: int = betterproto.uint32_field(3)
    coin_num: int = betterproto.uint32_field(4)
    treasure_list: List["MarblesShootTreasure"] = betterproto.message_field(5)
    ball_list: List["MarblesShootBall"] = betterproto.message_field(6)
    cur_room_info: "MarblesShootGameCurRoomInfo" = betterproto.message_field(7)
    passed_room_id_list: List[int] = betterproto.uint32_field(8)
    shop_action_random: int = betterproto.uint32_field(9)
    daily_game_config_id: int = betterproto.uint32_field(10)
    game_transaction_str: str = betterproto.string_field(11)
    total_add_coin_num: int = betterproto.uint32_field(12)


@dataclass
class MarblesShootAvatarLevelUpReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class MarblesShootAvatarLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    avatar: "MarblesShootAvatar" = betterproto.message_field(3)


@dataclass
class MarblesShootGetGameReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)


@dataclass
class MarblesShootGetGameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    game: "MarblesShootGame" = betterproto.message_field(3)


@dataclass
class MarblesShootBeginGameReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    is_from_last_fail_room: bool = betterproto.bool_field(3)
    avatar_id: int = betterproto.uint32_field(4)


@dataclass
class MarblesShootBeginGameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    game: "MarblesShootGame" = betterproto.message_field(3)


@dataclass
class MarblesShootEndGameReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)


@dataclass
class MarblesShootGameStatistics(betterproto.Message):
    total_round: int = betterproto.uint32_field(1)
    max_round_damage: int = betterproto.uint32_field(2)
    mvp_ball: "MarblesShootBall" = betterproto.message_field(3)
    max_hit_combo: int = betterproto.uint32_field(4)
    total_score: int = betterproto.uint32_field(5)


@dataclass
class MarblesShootEndGameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    drop_material_list: List["Material"] = betterproto.message_field(3)
    statistics: "MarblesShootGameStatistics" = betterproto.message_field(4)
    end_status: "StageEndStatus" = betterproto.enum_field(5)
    ball_num: int = betterproto.uint32_field(6)


@dataclass
class MarblesShootFinishRoomReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    next_room_id: int = betterproto.uint32_field(3)
    avatar_hp: int = betterproto.uint32_field(4)
    cur_coin_num: int = betterproto.uint32_field(5)


@dataclass
class MarblesShootFinishRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class MarblesShootTriggerEventReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    event_id: int = betterproto.uint32_field(3)


@dataclass
class MarblesShootTriggerEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    event_id: int = betterproto.uint32_field(3)
    add_ball_list: List["MarblesShootBall"] = betterproto.message_field(4)
    add_treasure_list: List["MarblesShootTreasure"] = betterproto.message_field(5)
    del_ball_list: List["MarblesShootBall"] = betterproto.message_field(6)
    del_treasure_list: List["MarblesShootTreasure"] = betterproto.message_field(7)
    level_up_ball_list: List["MarblesShootBall"] = betterproto.message_field(8)


@dataclass
class MarblesShootFinishBattleReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    avatar_hp: int = betterproto.uint32_field(3)
    room_round: int = betterproto.uint32_field(4)
    max_round_damage: int = betterproto.uint32_field(5)
    mvp_ball_unique_id: int = betterproto.uint32_field(6)
    max_hit_combo: int = betterproto.uint32_field(7)
    battle_score: int = betterproto.uint32_field(8)
    cur_coin_num: int = betterproto.uint32_field(9)


@dataclass
class MarblesShootFinishBattleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class MarblesShootSelectRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    reward_idx: int = betterproto.uint32_field(3)
    cur_coin_num: int = betterproto.uint32_field(4)


@dataclass
class MarblesShootSelectRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class MarblesShootShopOperateReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    operate_type: "MarblesShootShopOperateReqOperateType" = betterproto.enum_field(3)
    operate_param: int = betterproto.uint32_field(4)
    shop_action_random: int = betterproto.uint32_field(5)


@dataclass
class MarblesShootShopOperateRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    shop_action_random: int = betterproto.uint32_field(3)


@dataclass
class MarblesShootGetRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MarblesShootGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)
    rank_percent: int = betterproto.uint32_field(4)
    rank: int = betterproto.uint32_field(5)


@dataclass
class MarblesShootSelectInitItemReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    game_id: int = betterproto.uint32_field(2)
    ball_list: List["MarblesShootBall"] = betterproto.message_field(3)
    treasure_list: List[int] = betterproto.uint32_field(4)


@dataclass
class MarblesShootSelectInitItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class MarblesShootGetWikiReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MarblesShootGetWikiRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    wiki: "MarblesShootWiki" = betterproto.message_field(3)


@dataclass
class MassiveWarRoomMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    score_rank: int = betterproto.uint32_field(3)
    player_group_id: int = betterproto.uint32_field(4)


@dataclass
class MassiveWarStageInfo(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    sub_schedule_id: int = betterproto.uint32_field(2)
    begin_time: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)
    max_damage_level_score: int = betterproto.uint32_field(5)
    max_rank_score: int = betterproto.uint32_field(6)
    basic_damage_score: int = betterproto.uint32_field(7)
    min_rank_ratio: int = betterproto.uint32_field(8)
    min_damage_level: int = betterproto.uint32_field(9)
    max_total_damage: int = betterproto.uint32_field(10)


@dataclass
class MassiveWarActivity(betterproto.Message):
    cur_schedule_id: int = betterproto.uint32_field(1)
    start_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    open_day_time: int = betterproto.uint32_field(4)
    close_day_time: int = betterproto.uint32_field(5)
    battle_times: int = betterproto.uint32_field(6)
    cur_battle_uniq_id: int = betterproto.uint32_field(7)
    stage_info_list: List["MassiveWarStageInfo"] = betterproto.message_field(8)
    player_group_id: int = betterproto.uint32_field(9)
    last_settle_reward_score: int = betterproto.uint32_field(10)


@dataclass
class MassiveWarGetActivityReq(betterproto.Message):
    pass


@dataclass
class MassiveWarGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    massive_war_activity: "MassiveWarActivity" = betterproto.message_field(2)


@dataclass
class MassiveWarBattleMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    total_damage: int = betterproto.uint32_field(3)
    rank: int = betterproto.uint32_field(4)
    lineup_info: "LineupBriefInfo" = betterproto.message_field(5)


@dataclass
class MassiveWarBattleMonster(betterproto.Message):
    message_id: int = betterproto.uint32_field(1)
    monster_id: int = betterproto.uint32_field(2)
    total_hp: int = betterproto.uint32_field(3)
    left_hp: int = betterproto.uint32_field(4)


@dataclass
class MassiveWarMonsterDamage(betterproto.Message):
    message_id: int = betterproto.uint32_field(1)
    total_damage: int = betterproto.uint32_field(2)


@dataclass
class MassiveWarFieldProgress(betterproto.Message):
    field_progress_ratio: int = betterproto.uint32_field(1)
    in_field_member_num: int = betterproto.uint32_field(2)


@dataclass
class MassiveWarBattleInfo(betterproto.Message):
    battle_begin_time: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    battle_uniq_id: int = betterproto.uint32_field(3)
    auto_lose_hp_time_id: int = betterproto.uint32_field(4)
    battle_status: int = betterproto.uint32_field(5)
    total_member: int = betterproto.uint32_field(6)
    self_rank: int = betterproto.uint32_field(7)
    self_monster_damage_list: List["MassiveWarMonsterDamage"] = (
        betterproto.message_field(8)
    )
    monster_list: List["MassiveWarBattleMonster"] = betterproto.message_field(9)
    top_member_list: List["MassiveWarBattleMember"] = betterproto.message_field(10)
    monster_hard_level: int = betterproto.uint32_field(11)
    self_buff_progress: int = betterproto.uint32_field(12)
    field_progress: "MassiveWarFieldProgress" = betterproto.message_field(13)


@dataclass
class MassiveWarGetBattleInfoReq(betterproto.Message):
    battle_uniq_id: int = betterproto.uint32_field(1)


@dataclass
class MassiveWarGetBattleInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_uniq_id: int = betterproto.uint32_field(2)
    battle_info: "MassiveWarBattleInfo" = betterproto.message_field(3)


@dataclass
class MassiveWarGetRankReq(betterproto.Message):
    battle_uniq_id: int = betterproto.uint32_field(1)


@dataclass
class MassiveWarGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_uniq_id: int = betterproto.uint32_field(2)
    member_list: List["MassiveWarBattleMember"] = betterproto.message_field(3)


@dataclass
class MassiveWarBattleBeginNotify(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    battle_uniq_id: int = betterproto.uint32_field(2)
    transaction_str: str = betterproto.string_field(3)
    battle_info: "MassiveWarBattleInfo" = betterproto.message_field(4)


@dataclass
class MassiveWarBattleMessage(betterproto.Message):
    message_id: int = betterproto.uint32_field(1)
    damage_msg: "MassiveWarBattleMessageDamageMessage" = betterproto.message_field(2)
    field_msg: "MassiveWarBattleMessageFieldMessage" = betterproto.message_field(3)


@dataclass
class MassiveWarBattleMessageDamageMessage(betterproto.Message):
    add_damage: int = betterproto.uint64_field(1)
    total_damage: int = betterproto.uint64_field(2)


@dataclass
class MassiveWarBattleMessageFieldMessage(betterproto.Message):
    action_type: "MassiveWarFieldActionType" = betterproto.enum_field(1)
    buff_progress: int = betterproto.uint32_field(2)


@dataclass
class MassiveWarReportBattleMessageNotify(betterproto.Message):
    message_list: List["MassiveWarBattleMessage"] = betterproto.message_field(1)
    battle_uniq_id: int = betterproto.uint32_field(2)


@dataclass
class MassiveWarExitBattleReq(betterproto.Message):
    battle_uniq_id: int = betterproto.uint32_field(1)


@dataclass
class MassiveWarExitBattleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MassiveWarBattleEndNotify(betterproto.Message):
    battle_uniq_id: int = betterproto.uint32_field(1)
    transaction_str: str = betterproto.string_field(2)
    total_damage: int = betterproto.uint32_field(3)
    damage_level: int = betterproto.uint32_field(4)
    rank: int = betterproto.uint32_field(5)
    total_damage_score: int = betterproto.uint32_field(6)
    rank_score: int = betterproto.uint32_field(7)
    basic_damage_score: int = betterproto.uint32_field(8)
    total_member_num: int = betterproto.uint32_field(9)
    battle_cost_time: int = betterproto.uint32_field(10)


@dataclass
class MassiveWarLineupInfoNotify(betterproto.Message):
    battle_uniq_id: int = betterproto.uint32_field(1)
    lineup_info: "LineupBriefInfo" = betterproto.message_field(2)


@dataclass
class MassiveWarTakeScoreRewardReq(betterproto.Message):
    pass


@dataclass
class MassiveWarTakeScoreRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class MatchThreeRole(betterproto.Message):
    role_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class MatchThreeGem(betterproto.Message):
    gem_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class MatchThreeGemGachaPool(betterproto.Message):
    gacha_pool_id: int = betterproto.uint32_field(1)
    status: "MatchThreeGemGachaPoolStatus" = betterproto.enum_field(2)
    has_got_gem_list: List[int] = betterproto.uint32_field(3)


@dataclass
class MatchThreeGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MatchThreeHasGotDailyMaterial(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class MatchThreeActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    role_list: List["MatchThreeRole"] = betterproto.message_field(2)
    gem_list: List["MatchThreeGem"] = betterproto.message_field(3)
    has_got_daily_material_list: List["MatchThreeHasGotDailyMaterial"] = (
        betterproto.message_field(4)
    )
    item_list: List[int] = betterproto.uint32_field(5)
    cur_schedule_id: int = betterproto.uint32_field(6)
    passed_room_id_list: List[int] = betterproto.uint32_field(7)
    max_tower_floor: int = betterproto.uint32_field(8)


@dataclass
class MatchThreeGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "MatchThreeActivity" = betterproto.message_field(2)


@dataclass
class MatchThreeRoleLevelUpReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    role_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class MatchThreeRoleLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    role: "MatchThreeRole" = betterproto.message_field(3)


@dataclass
class MatchThreeGemGachaDisplayReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class MatchThreeGemGachaDisplayRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    gacha_random: int = betterproto.uint32_field(3)
    pool_list: List["MatchThreeGemGachaPool"] = betterproto.message_field(4)


@dataclass
class MatchThreeGemGachaReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    gacha_random: int = betterproto.uint32_field(2)


@dataclass
class MatchThreeGemGachaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    new_gacha_random: int = betterproto.uint32_field(3)
    pool_id: int = betterproto.uint32_field(4)
    gem: "MatchThreeGem" = betterproto.message_field(5)
    pool_list: List["MatchThreeGemGachaPool"] = betterproto.message_field(6)


@dataclass
class MatchThreeGetRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)


@dataclass
class MatchThreeGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)
    rank_percent: int = betterproto.uint32_field(4)
    room_id: int = betterproto.uint32_field(5)


@dataclass
class MatchThreeRoomBeginReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    room_type: "MatchThreeRoomType" = betterproto.enum_field(3)
    room_id: int = betterproto.uint32_field(4)
    role_id: int = betterproto.uint32_field(5)
    item_list: List[int] = betterproto.uint32_field(6)


@dataclass
class MatchThreeRoomBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    transaction_str: str = betterproto.string_field(4)
    dynamic_level: int = betterproto.uint32_field(5)


@dataclass
class MatchThreeRoomEndReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    status: "MatchThreeRoomEndReqStatus" = betterproto.enum_field(3)
    room_id: int = betterproto.uint32_field(4)
    room_type: "MatchThreeRoomType" = betterproto.enum_field(5)
    score: int = betterproto.uint32_field(6)
    battle_time: int = betterproto.uint32_field(7)
    floor_id: int = betterproto.uint32_field(8)


@dataclass
class MatchThreeRoomEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    daily_drop_item_list: List["DropItem"] = betterproto.message_field(4)
    is_first_win: bool = betterproto.bool_field(5)
    floor_id: int = betterproto.uint32_field(6)
    reward_data: "RewardData" = betterproto.message_field(7)


@dataclass
class MirageGetActivityReq(betterproto.Message):
    pass


@dataclass
class MirageTalent(betterproto.Message):
    talent_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class MirageChallengeStageRecord(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    max_score: int = betterproto.uint32_field(2)
    core_skill_list: List[int] = betterproto.uint32_field(3)


@dataclass
class MirageActivity(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    daily_currency_drop_num: int = betterproto.uint32_field(2)
    talent_list: List["MirageTalent"] = betterproto.message_field(3)
    challenge_record_list: List["MirageChallengeStageRecord"] = (
        betterproto.message_field(4)
    )
    cur_rotate_index: int = betterproto.uint32_field(5)
    cur_rotate_close_time: int = betterproto.uint32_field(6)
    cur_daily_drop_limit_reset_times: int = betterproto.uint32_field(7)


@dataclass
class MirageGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "MirageActivity" = betterproto.message_field(2)


@dataclass
class MirageTalentLevelUpReq(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)


@dataclass
class MirageTalentLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)
    cur_level: int = betterproto.uint32_field(3)


@dataclass
class MirageReportStageBeginReq(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    battle_avatar_id: int = betterproto.uint32_field(3)
    support_avatar_list: List[int] = betterproto.uint32_field(4)
    core_skill_list: List[int] = betterproto.uint32_field(5)
    difficulty_id: int = betterproto.uint32_field(6)


@dataclass
class MirageReportStageBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    battle_avatar_id: int = betterproto.uint32_field(3)


@dataclass
class MirageResetDailyDropLimitReq(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)


@dataclass
class MirageResetDailyDropLimitRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)


@dataclass
class GetMonopolyActivityReq(betterproto.Message):
    monopoly_id: int = betterproto.uint32_field(1)


@dataclass
class MonopolyMonster(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    monster_id: int = betterproto.uint32_field(2)


@dataclass
class MonopolyFloor(betterproto.Message):
    floor_id: int = betterproto.uint32_field(1)
    building_list: List["MonopolyFloorBuilding"] = betterproto.message_field(2)
    monster_list: List["MonopolyMonster"] = betterproto.message_field(3)
    round_status: "MonopolyRoundStatus" = betterproto.enum_field(4)


@dataclass
class MonopolyFloorBuilding(betterproto.Message):
    location: int = betterproto.uint32_field(1)
    type: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    product_num: int = betterproto.uint32_field(4)


@dataclass
class MonopolyArea(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    status: "MonopolyAreaStatus" = betterproto.enum_field(2)
    floor_list: List["MonopolyFloor"] = betterproto.message_field(3)


@dataclass
class MonopolyShopGoods(betterproto.Message):
    goods_id: int = betterproto.uint32_field(1)
    buy_times: int = betterproto.uint32_field(2)


@dataclass
class GetMonopolyActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    monopoly_id: int = betterproto.uint32_field(2)
    area_list: List["MonopolyArea"] = betterproto.message_field(3)
    goods_list: List["MonopolyShopGoods"] = betterproto.message_field(4)


@dataclass
class MonopolyThrowDiceReq(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)


@dataclass
class MonopolyThrowDiceRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)
    dice_num: int = betterproto.uint32_field(3)


@dataclass
class MonopolyBuildingConstructReq(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    building_type: int = betterproto.uint32_field(2)


@dataclass
class MonopolyBuildingConstructRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)
    building_type: int = betterproto.uint32_field(3)


@dataclass
class MonopolyEndRoundReq(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)


@dataclass
class MonopolyEndRoundRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MonopolyUseItemReq(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)
    para: int = betterproto.uint32_field(3)


@dataclass
class MonopolyUseItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MonopolyRewardNotify(betterproto.Message):
    behavior_id: int = betterproto.uint32_field(1)
    reward: "RewardData" = betterproto.message_field(2)


@dataclass
class MonopolyBuyGoodsReq(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    goods_id: int = betterproto.uint32_field(2)


@dataclass
class MonopolyBuyGoodsRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MonopolySkipBattleReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class MonopolySkipBattleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MonopolyResetFloorReq(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)


@dataclass
class MonopolyResetFloorRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)
    floor_id: int = betterproto.uint32_field(3)
    tile_tower_id: int = betterproto.uint32_field(4)


@dataclass
class MonopolyAddMonsterReq(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    monster_id: int = betterproto.uint32_field(3)
    position: int = betterproto.uint32_field(4)
    direction: int = betterproto.uint32_field(5)


@dataclass
class MonopolyAddMonsterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    monster_id: int = betterproto.uint32_field(2)
    position: int = betterproto.uint32_field(3)
    direction: int = betterproto.uint32_field(4)
    unique_id: int = betterproto.uint32_field(5)
    entity_type: int = betterproto.uint32_field(6)
    tile_entity_id: int = betterproto.uint32_field(7)


@dataclass
class RaffleTicket(betterproto.Message):
    ticket_num: int = betterproto.uint32_field(1)
    draw_idx: int = betterproto.uint32_field(2)
    reward_grade: "RaffleRewardGrade" = betterproto.enum_field(3)
    is_reward_taken: bool = betterproto.bool_field(4)


@dataclass
class Raffle(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    draw_begin_time: int = betterproto.uint32_field(2)
    draw_end_time: int = betterproto.uint32_field(3)
    reward_begin_time: int = betterproto.uint32_field(4)
    mission_id: int = betterproto.uint32_field(5)
    total_ticket_num: int = betterproto.uint32_field(6)
    ticket_list: List["RaffleTicket"] = betterproto.message_field(7)


@dataclass
class ExchangeRaffleMaterialReq(betterproto.Message):
    pass


@dataclass
class ExchangeRaffleMaterialRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    get_material_list: List["Material"] = betterproto.message_field(2)


@dataclass
class TakeRaffleRewardReq(betterproto.Message):
    raffle_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class TakeRaffleRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    raffle_id_list: List[int] = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class DrawRaffleTicketReq(betterproto.Message):
    raffle_id: int = betterproto.uint32_field(1)


@dataclass
class DrawRaffleTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    raffle_id: int = betterproto.uint32_field(2)
    ticket: int = betterproto.uint32_field(3)
    draw_idx: int = betterproto.uint32_field(4)


@dataclass
class RaffleActivity(betterproto.Message):
    cur_schedule_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    raffle_list: List["Raffle"] = betterproto.message_field(4)


@dataclass
class GetRaffleActivityReq(betterproto.Message):
    raffle_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetRaffleActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    raffle_activity: "RaffleActivity" = betterproto.message_field(2)


@dataclass
class NinjaSlot(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    exp: int = betterproto.uint32_field(3)
    choosed_effect_id: int = betterproto.uint32_field(4)


@dataclass
class NinjaActivityData(betterproto.Message):
    ninja_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    slot_list: List["NinjaSlot"] = betterproto.message_field(4)


@dataclass
class GetNinjaActivityReq(betterproto.Message):
    pass


@dataclass
class GetNinjaActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    ninja_data: "NinjaActivityData" = betterproto.message_field(2)


@dataclass
class NinjaSlotStrengthenReq(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    material_id: int = betterproto.uint32_field(2)
    cost_num: int = betterproto.uint32_field(3)


@dataclass
class NinjaSlotStrengthenRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    slot: "NinjaSlot" = betterproto.message_field(2)


@dataclass
class NinjaActivityNotify(betterproto.Message):
    slot_list: List["NinjaSlot"] = betterproto.message_field(1)


@dataclass
class NinjaSlotChooseEffectReq(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    effect_id: int = betterproto.uint32_field(2)


@dataclass
class NinjaSlotChooseEffectRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    slot: "NinjaSlot" = betterproto.message_field(2)


@dataclass
class KeepAliveNotify(betterproto.Message):
    route_type_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetGameserverReq(betterproto.Message):
    pass


@dataclass
class GetGameserverRsp(betterproto.Message):
    pass


@dataclass
class GetPlayerTokenReq(betterproto.Message):
    account_type: int = betterproto.uint32_field(1)
    account_uid: str = betterproto.string_field(2)
    account_token: str = betterproto.string_field(3)
    account_ext: str = betterproto.string_field(4)
    token: str = betterproto.string_field(5)
    version: str = betterproto.string_field(6)
    device: str = betterproto.string_field(7)
    tag: int = betterproto.int32_field(8)
    uid: int = betterproto.uint32_field(9)
    system_info: str = betterproto.string_field(10)
    ipv4_str: str = betterproto.string_field(11)
    ipv6_str: str = betterproto.string_field(12)
    cps: str = betterproto.string_field(13)
    device_uuid: str = betterproto.string_field(14)
    transfer_code: str = betterproto.string_field(15)
    transfer_pwd: str = betterproto.string_field(16)
    ip_info_str: str = betterproto.string_field(17)
    device_type: "DeviceType" = betterproto.enum_field(20)
    is_allow_device_register: bool = betterproto.bool_field(21)
    combo_channel_id: int = betterproto.uint32_field(22)
    combo_token: str = betterproto.string_field(23)
    ua_pc: str = betterproto.string_field(24)
    device_fingerprint: str = betterproto.string_field(25)


@dataclass
class GetPlayerTokenRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    uid: int = betterproto.uint32_field(2)
    token: str = betterproto.string_field(3)
    account_type: int = betterproto.uint32_field(4)
    account_uid: str = betterproto.string_field(5)
    tag: int = betterproto.int32_field(6)
    transfer_code: str = betterproto.string_field(15)
    transfer_pwd_expire_time: int = betterproto.uint32_field(16)
    is_bind_access: bool = betterproto.bool_field(17)
    fightserver_ip: int = betterproto.uint32_field(18)
    fightserver_port: int = betterproto.uint32_field(19)
    msg: str = betterproto.string_field(20)
    black_list_end_time: int = betterproto.uint32_field(21)
    user_type: int = betterproto.uint32_field(22)
    limit_level: int = betterproto.uint32_field(23)
    security_cmd_buffer: List[bytes] = betterproto.bytes_field(24)
    hoyolab_account_uid: str = betterproto.string_field(26)
    ua_pc: str = betterproto.string_field(27)


@dataclass
class PlayerLoginReq(betterproto.Message):
    last_server_packet_id: int = betterproto.uint32_field(2)
    cps: str = betterproto.string_field(3)
    check_sum: str = betterproto.string_field(4)
    device_uuid: str = betterproto.string_field(5)
    android_signatures: str = betterproto.string_field(6)
    language: str = betterproto.string_field(7)
    advertiser_id: str = betterproto.string_field(8)
    security_cmd_reply: List[bytes] = betterproto.bytes_field(9)
    last_login_version: int = betterproto.uint32_field(10)
    account_type: int = betterproto.uint32_field(11)
    account_uid: str = betterproto.string_field(12)
    device_type: "DeviceType" = betterproto.enum_field(13)
    user_type: int = betterproto.uint32_field(14)
    user_ip: str = betterproto.string_field(15)
    tag: int = betterproto.uint32_field(16)
    client_version: str = betterproto.string_field(17)
    client_device: str = betterproto.string_field(18)
    system_info: str = betterproto.string_field(19)
    android_sign: str = betterproto.string_field(20)
    limit_level: int = betterproto.uint32_field(21)
    black_list_end_time: int = betterproto.uint32_field(22)
    is_bind_access: bool = betterproto.bool_field(23)
    login_session_token: int = betterproto.uint32_field(25)
    hoyolab_account_uid: str = betterproto.string_field(26)
    user_port: int = betterproto.uint32_field(27)
    ua_pc: str = betterproto.string_field(28)
    device_fingerprint: str = betterproto.string_field(29)


@dataclass
class PlayerLoginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    msg: str = betterproto.string_field(2)
    is_first_login: bool = betterproto.bool_field(4)
    last_client_packet_id: int = betterproto.uint32_field(5)
    region_name: str = betterproto.string_field(6)
    cg_type: "CGType" = betterproto.enum_field(9)
    last_logout_time: int = betterproto.uint32_field(10)
    region_id: int = betterproto.uint32_field(11)
    is_valid_reconnect: bool = betterproto.bool_field(12)
    account_type: int = betterproto.uint32_field(13)
    account_uid: str = betterproto.string_field(14)
    login_session_token: int = betterproto.uint32_field(15)
    psycho_key: int = betterproto.uint32_field(16)
    is_packet_cache_empty: bool = betterproto.bool_field(17)


@dataclass
class PlayerLogoutReq(betterproto.Message):
    is_kick: bool = betterproto.bool_field(1)


@dataclass
class GetMainDataReq(betterproto.Message):
    type_list: List["GetMainDataReqDataType"] = betterproto.enum_field(1)


@dataclass
class VideoPopupData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    middle_image_path: str = betterproto.string_field(4)
    video_icon: str = betterproto.string_field(5)
    video_link: str = betterproto.string_field(6)
    video_link_open_type: int = betterproto.uint32_field(7)
    max_times: int = betterproto.uint32_field(8)


@dataclass
class ChatworldActivityInfo(betterproto.Message):
    treasure_schedule_id: int = betterproto.uint32_field(1)
    is_has_npc_red_envelope: bool = betterproto.bool_field(2)


@dataclass
class WarshipAvatarData(betterproto.Message):
    warship_first_avatar_id: int = betterproto.uint32_field(1)
    warship_second_avatar_id: int = betterproto.uint32_field(2)


@dataclass
class WaitDelMaterialData(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)


@dataclass
class GetMainDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    level: int = betterproto.uint32_field(3)
    exp: int = betterproto.uint32_field(4)
    hcoin: int = betterproto.uint32_field(5)
    scoin: int = betterproto.uint32_field(6)
    stamina: int = betterproto.uint32_field(7)
    stamina_recover_left_time: int = betterproto.uint32_field(8)
    stamina_recover_config_time: int = betterproto.uint32_field(9)
    equipment_size_limit: int = betterproto.uint32_field(14)
    self_desc: str = betterproto.string_field(16)
    pay_hcoin: int = betterproto.uint32_field(17)
    free_hcoin: int = betterproto.uint32_field(18)
    assistant_avatar_id: int = betterproto.uint32_field(19)
    is_allow_cost_senior_equip_on_cur_device: bool = betterproto.bool_field(20)
    birthday: int = betterproto.uint32_field(21)
    month_recharge_price: int = betterproto.uint32_field(22)
    wait_del_hcoin: int = betterproto.uint32_field(23)
    on_medal_id: int = betterproto.uint32_field(24)
    today_recharge_price: int = betterproto.uint32_field(26)
    use_frame_id: int = betterproto.uint32_field(27)
    is_all: bool = betterproto.bool_field(28)
    mcoin: int = betterproto.uint32_field(29)
    open_panel_activity_list: List[int] = betterproto.uint32_field(30)
    video_popup_list: List["VideoPopupData"] = betterproto.message_field(31)
    on_phone_pendant_id: int = betterproto.uint32_field(32)
    next_evaluate_time: int = betterproto.uint32_field(33)
    chatworld_activity_info: "ChatworldActivityInfo" = betterproto.message_field(34)
    level_lock_id: int = betterproto.uint32_field(35)
    warship_avatar: "WarshipAvatarData" = betterproto.message_field(37)
    custom_head_id: int = betterproto.uint32_field(38)
    total_login_days: int = betterproto.uint32_field(39)
    register_time: int = betterproto.uint32_field(40)
    warship_theme: "WarshipThemeData" = betterproto.message_field(41)
    wait_del_material_list: List["WaitDelMaterialData"] = betterproto.message_field(42)
    on_medal: "Medal" = betterproto.message_field(43)
    type_list: List[int] = betterproto.uint32_field(44)


@dataclass
class GetScoinExchangeInfoReq(betterproto.Message):
    pass


@dataclass
class GetScoinExchangeInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    usable_times: int = betterproto.uint32_field(2)
    total_times: int = betterproto.uint32_field(3)
    hcoin_cost: int = betterproto.uint32_field(4)
    scoin_get: int = betterproto.uint32_field(5)


@dataclass
class ScoinExchangeReq(betterproto.Message):
    purple_jade_num: int = betterproto.uint32_field(1)


@dataclass
class ScoinExchangeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    hcoin_cost: int = betterproto.uint32_field(2)
    scoin_get: int = betterproto.uint32_field(3)
    boost_rate: int = betterproto.uint32_field(4)
    purple_jade_cost: int = betterproto.uint32_field(5)


@dataclass
class GetStaminaExchangeInfoReq(betterproto.Message):
    pass


@dataclass
class GetStaminaExchangeInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    usable_times: int = betterproto.uint32_field(2)
    total_times: int = betterproto.uint32_field(3)
    hcoin_cost: int = betterproto.uint32_field(4)
    stamina_get: int = betterproto.uint32_field(5)


@dataclass
class StaminaExchangeReq(betterproto.Message):
    pass


@dataclass
class StaminaExchangeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    hcoin_cost: int = betterproto.uint32_field(2)
    stamina_get: int = betterproto.uint32_field(3)


@dataclass
class NicknameModifyReq(betterproto.Message):
    nickname: str = betterproto.string_field(1)


@dataclass
class NicknameModifyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cd_end_time: int = betterproto.uint32_field(2)


@dataclass
class GmTalkReq(betterproto.Message):
    msg: str = betterproto.string_field(1)


@dataclass
class GmTalkRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    msg: str = betterproto.string_field(2)
    retmsg: str = betterproto.string_field(3)


@dataclass
class GetAvatarDataReq(betterproto.Message):
    avatar_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetAvatarDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_list: List["Avatar"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class GetEquipmentDataReq(betterproto.Message):
    weapon_unique_id_list: List[int] = betterproto.uint32_field(1)
    stigmata_unique_id_list: List[int] = betterproto.uint32_field(2)
    material_id_list: List[int] = betterproto.uint32_field(3)
    mecha_unique_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class GetEquipmentDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    weapon_list: List["Weapon"] = betterproto.message_field(2)
    stigmata_list: List["Stigmata"] = betterproto.message_field(3)
    material_list: List["Material"] = betterproto.message_field(4)
    is_all: bool = betterproto.bool_field(5)
    mecha_list: List["Mecha"] = betterproto.message_field(6)
    vitality_value: int = betterproto.uint32_field(7)


@dataclass
class DelEquipmentNotify(betterproto.Message):
    weapon_unique_id_list: List[int] = betterproto.uint32_field(1)
    stigmata_unique_id_list: List[int] = betterproto.uint32_field(2)
    mecha_unique_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class AvatarStarUpReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)


@dataclass
class AvatarStarUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class EquipmentPowerUpReq(betterproto.Message):
    main_item: "EquipmentItem" = betterproto.message_field(1)
    consume_item_list: "EquipmentItemList" = betterproto.message_field(2)


@dataclass
class EquipmentPowerUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    main_item: "EquipmentItem" = betterproto.message_field(2)
    boost_rate: int = betterproto.uint32_field(3)
    return_material_list: List["Material"] = betterproto.message_field(4)


@dataclass
class EquipmentSellReq(betterproto.Message):
    sell_item_list: "EquipmentItemList" = betterproto.message_field(1)


@dataclass
class EquipmentSellRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    scoin_add: int = betterproto.uint32_field(2)
    purple_jade_add: int = betterproto.uint32_field(3)
    cost_vitality: int = betterproto.uint32_field(4)


@dataclass
class AddAvatarExpByMaterialReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    material_id: int = betterproto.uint32_field(2)
    material_num: int = betterproto.uint32_field(3)


@dataclass
class AddAvatarExpByMaterialRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class EquipmentEvoReq(betterproto.Message):
    main_item: "EquipmentItem" = betterproto.message_field(1)
    consume_item_list: "EquipmentItemList" = betterproto.message_field(2)


@dataclass
class EquipmentEvoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    new_item: "EquipmentItem" = betterproto.message_field(2)


@dataclass
class DressEquipmentReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    slot: "EquipmentSlot" = betterproto.enum_field(2)
    unique_id: int = betterproto.uint32_field(3)


@dataclass
class DressEquipmentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    slot: "EquipmentSlot" = betterproto.enum_field(2)
    unique_id: int = betterproto.uint32_field(3)


@dataclass
class GetStageDataReq(betterproto.Message):
    stage_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetStageDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_list: List["Stage"] = betterproto.message_field(2)
    finished_chapter_list: List[int] = betterproto.uint32_field(3)
    event_data_list: List["StageEventData"] = betterproto.message_field(4)
    is_all: bool = betterproto.bool_field(5)


@dataclass
class StageBeginReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    avatar_id_list: List[int] = betterproto.uint32_field(2)
    avatar_team_type: "AvatarTeamType" = betterproto.enum_field(3)
    assistant_uid: int = betterproto.uint32_field(4)
    is_speed_up_stage: bool = betterproto.bool_field(5)
    avatar_trial_id_list: List[int] = betterproto.uint32_field(6)
    elf_id_list: List[int] = betterproto.uint32_field(7)
    target_wave: int = betterproto.uint32_field(8)
    gratuity_stage_unique_id: int = betterproto.uint32_field(9)
    is_gratuity_bonus: bool = betterproto.bool_field(10)
    mtp_report_type: str = betterproto.string_field(11)
    mtp_report_value: str = betterproto.string_field(12)
    is_re_begin: bool = betterproto.bool_field(13)
    avatar_restrict_list: List[int] = betterproto.uint32_field(14)
    is_theme_wanted_mp_assist_mode: bool = betterproto.bool_field(15)
    sc_dlc_support_avatar_id: int = betterproto.uint32_field(16)
    stage_begin_floor: int = betterproto.uint32_field(17)
    monster_card_unique_id_list: List[int] = betterproto.uint32_field(18)
    fake_avatar_id_list: List[int] = betterproto.uint32_field(19)
    extra_item_id_list: List[int] = betterproto.uint32_field(20)
    step_level: int = betterproto.uint32_field(21)
    activity_id: int = betterproto.uint32_field(22)
    theme_wanted_multi_num: int = betterproto.uint32_field(23)
    is_theme_wanted_extra_drop: bool = betterproto.bool_field(24)


@dataclass
class StageBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    progress: int = betterproto.uint32_field(3)
    drop_item_list: List["DropItem"] = betterproto.message_field(4)
    is_collect_cheat_data: bool = betterproto.bool_field(5)
    sign_key: str = betterproto.string_field(6)
    tag: int = betterproto.uint32_field(7)
    equip_buff_list: List["AvatarEquipBuff"] = betterproto.message_field(8)
    battle_buff_list: List[str] = betterproto.string_field(9)
    battle_attr_list: List[str] = betterproto.string_field(10)
    is_trigger_baodi: bool = betterproto.bool_field(11)
    security_cmd_buffer: List[bytes] = betterproto.bytes_field(12)
    stage_transaction_str: str = betterproto.string_field(13)
    god_war_skill_id: int = betterproto.uint32_field(14)
    ark_plus_room_event_id: int = betterproto.uint32_field(15)
    game_data: List[bytes] = betterproto.bytes_field(16)


@dataclass
class StageEndReq(betterproto.Message):
    body: List[bytes] = betterproto.bytes_field(1)
    sign: str = betterproto.string_field(2)


@dataclass
class StageEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    player_exp_reward: int = betterproto.uint32_field(3)
    avatar_exp_reward: int = betterproto.uint32_field(4)
    scoin_reward: int = betterproto.uint32_field(5)
    challenge_list: List["StageChallengeData"] = betterproto.message_field(6)
    friends_point_add: int = betterproto.uint32_field(7)
    progress: int = betterproto.uint32_field(8)
    special_challenge_list: List["StageSpecialChallengeData"] = (
        betterproto.message_field(9)
    )
    mvp_reward: "MpStageMvpReward" = betterproto.message_field(10)
    mp_drop_item_list: List["DropItem"] = betterproto.message_field(11)
    mp_exp_reward: int = betterproto.uint32_field(12)
    exp_convert_scoin: int = betterproto.uint32_field(13)
    bond_add_friends_point: int = betterproto.uint32_field(14)
    buff_reward: "AccountBuffReward" = betterproto.message_field(15)
    world_boss_score: int = betterproto.uint32_field(16)
    rank_scoin: int = betterproto.uint32_field(17)
    line_enhance_reward_data: "RewardData" = betterproto.message_field(18)
    dungeons_evaluation: int = betterproto.uint32_field(19)
    dungeons_drop_item_list: List["DropItem"] = betterproto.message_field(20)
    end_status: "StageEndStatus" = betterproto.enum_field(21)
    bonus_score: int = betterproto.uint32_field(22)
    bonus_drop_list: List["DropItem"] = betterproto.message_field(23)
    gratuity_drop_list: List["DropItem"] = betterproto.message_field(24)
    extra_reward_data_list: List["RewardData"] = betterproto.message_field(25)
    extra_drop_list: List["DropItem"] = betterproto.message_field(26)
    is_new_max_score: bool = betterproto.bool_field(27)
    theme_wanted_drop_item_list: List["DropItem"] = betterproto.message_field(28)
    theme_wanted_show_extra_drop_item_list: List["DropItem"] = (
        betterproto.message_field(29)
    )
    is_theme_wanted_extra_drop_taken_by_first_pass: bool = betterproto.bool_field(30)
    god_war_challenge_score: int = betterproto.uint32_field(31)
    old_max_score: int = betterproto.uint32_field(32)
    stage_score: int = betterproto.uint32_field(33)
    is_first_win: bool = betterproto.bool_field(34)
    bonus_reward_data_list: List["RewardData"] = betterproto.message_field(35)
    auxiliary_unit_list: List["PjmsAuxiliaryUnit"] = betterproto.message_field(36)
    pjms_resident_settle_pre_stage_drop_item_list: List["DropItem"] = (
        betterproto.message_field(37)
    )


@dataclass
class GetAvatarTeamDataReq(betterproto.Message):
    pass


@dataclass
class GetAvatarTeamDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_team_list: List["AvatarTeam"] = betterproto.message_field(2)
    custom_avatar_team_list: List["CustomAvatarTeam"] = betterproto.message_field(3)


@dataclass
class UpdateAvatarTeamNotify(betterproto.Message):
    team: "AvatarTeam" = betterproto.message_field(1)


@dataclass
class AvatarSubSkillLevelUpReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)
    sub_skill_id: int = betterproto.uint32_field(3)
    is_level_up_all: bool = betterproto.bool_field(4)


@dataclass
class AvatarSubSkillLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MaterialEvoReq(betterproto.Message):
    pass


@dataclass
class MaterialEvoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetStageDropDisplayReq(betterproto.Message):
    stage_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetStageDropDisplayRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_drop_list: List["StageDropDisplayInfo"] = betterproto.message_field(2)


@dataclass
class GetFriendListReq(betterproto.Message):
    pass


@dataclass
class GetFriendListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    friend_list: List["PlayerFriendBriefData"] = betterproto.message_field(2)
    is_whole_data: bool = betterproto.bool_field(3)
    assistant_num: int = betterproto.uint32_field(4)


@dataclass
class AddFriendReq(betterproto.Message):
    action: "AddFriendAction" = betterproto.enum_field(1)
    target_uid_list: List[int] = betterproto.uint32_field(2)


@dataclass
class AddFriendRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    action: "AddFriendAction" = betterproto.enum_field(2)
    target_uid_list: List[int] = betterproto.uint32_field(3)


@dataclass
class DelFriendReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class DelFriendRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)


@dataclass
class GetAskAddFriendListReq(betterproto.Message):
    pass


@dataclass
class FriendAskAddData(betterproto.Message):
    brief: "PlayerFriendBriefData" = betterproto.message_field(1)
    ask_time: int = betterproto.uint32_field(2)


@dataclass
class GetAskAddFriendListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    ask_list: List["FriendAskAddData"] = betterproto.message_field(2)


@dataclass
class GetPlayerDetailDataReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class GetPlayerDetailDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    detail: "PlayerDetailData" = betterproto.message_field(2)


@dataclass
class UpdateEquipmentProtectedStatusReq(betterproto.Message):
    is_protected: bool = betterproto.bool_field(1)
    weapon_unique_id_list: List[int] = betterproto.uint32_field(2)
    stigmata_unique_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class UpdateEquipmentProtectedStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetRecommendFriendListReq(betterproto.Message):
    level: int = betterproto.uint32_field(1)
    filter_uid_list: List[int] = betterproto.uint32_field(2)
    recommend_uid_list: List[int] = betterproto.uint32_field(3)
    mp_recommend_uid_list: List[int] = betterproto.uint32_field(4)


@dataclass
class GetRecommendFriendListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    recommend_list: List["PlayerFriendBriefData"] = betterproto.message_field(2)


@dataclass
class SetSelfDescReq(betterproto.Message):
    self_desc: str = betterproto.string_field(1)


@dataclass
class SetSelfDescRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cd_end_time: int = betterproto.uint32_field(2)


@dataclass
class DelFriendNotify(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class GetOfflineFriendsPointNotify(betterproto.Message):
    friends_point: int = betterproto.uint32_field(1)


@dataclass
class VerifyItunesOrderNotify(betterproto.Message):
    receipt_data: str = betterproto.string_field(1)
    device_uuid: str = betterproto.string_field(2)
    is_auto_reissue: bool = betterproto.bool_field(3)
    currency_code: str = betterproto.string_field(4)
    price_amount: str = betterproto.string_field(5)


@dataclass
class GetMailDataReq(betterproto.Message):
    pass


@dataclass
class GetMailDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mail_list: List["Mail"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class GetMailAttachmentReq(betterproto.Message):
    mail_key_list: List["MailKey"] = betterproto.message_field(1)
    is_show_attachment: bool = betterproto.bool_field(2)


@dataclass
class GetMailAttachmentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    succ_mail_key_list: List["MailKey"] = betterproto.message_field(2)
    is_show_attachment: bool = betterproto.bool_field(3)
    mail_attachment: "MailAttachment" = betterproto.message_field(4)


@dataclass
class UnlockAvatarSkillReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)


@dataclass
class UnlockAvatarSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class EquipmentQuickLevelUpReq(betterproto.Message):
    main_item: "EquipmentItem" = betterproto.message_field(1)
    power_up_consume_item_list: "EquipmentItemList" = betterproto.message_field(2)
    evo_consume_item_list: "EquipmentItemList" = betterproto.message_field(3)
    target_item_id: int = betterproto.uint32_field(4)
    target_level: int = betterproto.uint32_field(5)


@dataclass
class EquipmentQuickLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    new_item: "EquipmentItem" = betterproto.message_field(2)
    boost_rate_list: List[int] = betterproto.uint32_field(3)
    return_material_list: List["Material"] = betterproto.message_field(4)


@dataclass
class RefreshAvatarSkillReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)


@dataclass
class RefreshAvatarSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetAssistantFrozenListReq(betterproto.Message):
    pass


@dataclass
class GetAssistantFrozenListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    frozen_list: List["AssistantFrozen"] = betterproto.message_field(2)


@dataclass
class SellAvatarFragmentReq(betterproto.Message):
    fragment_list: List["AvatarFragment"] = betterproto.message_field(1)


@dataclass
class SellAvatarFragmentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    scoin_add: int = betterproto.uint32_field(2)


@dataclass
class GetHasGotItemIdListReq(betterproto.Message):
    pass


@dataclass
class WeaponInfo(betterproto.Message):
    weapon_id: int = betterproto.uint32_field(1)
    sub_weapon_id: int = betterproto.uint32_field(2)


@dataclass
class GetHasGotItemIdListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    item_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class AvatarReviveReq(betterproto.Message):
    is_retry: bool = betterproto.bool_field(1)
    revive_use_id: int = betterproto.uint32_field(2)


@dataclass
class AvatarReviveRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    revive_times: int = betterproto.uint32_field(2)


@dataclass
class ResetStageEnterTimesReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class ResetStageEnterTimesRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetConfigReq(betterproto.Message):
    pass


@dataclass
class GetConfigRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stamina_recover_config_time: int = betterproto.uint32_field(2)
    avatar_revive_hcoin_cost: int = betterproto.uint32_field(4)
    same_type_power_up_rate: int = betterproto.uint32_field(5)
    day_time_offset: int = betterproto.uint32_field(6)
    server_cur_time: int = betterproto.uint32_field(7)
    power_up_scoin_cost_rate: int = betterproto.uint32_field(8)
    max_friend_num: int = betterproto.uint32_field(9)
    avatar_max_add_goodfeel: int = betterproto.uint32_field(12)
    avatar_cost_plus_config_list: List["AvatarCostPlusConfig"] = (
        betterproto.message_field(13)
    )
    disjoin_equipment_back_exp_percent: int = betterproto.uint32_field(15)
    gacha_ticket_list: List["GetConfigRspGachaTicket"] = betterproto.message_field(31)
    region_name: str = betterproto.string_field(32)
    min_invite_level: int = betterproto.uint32_field(33)
    discount_schedule_config_list: List["GetConfigRspDiscountScheduleConfig"] = (
        betterproto.message_field(35)
    )
    island_event_refresh_interval: int = betterproto.uint32_field(36)
    is_random_box_product_open: bool = betterproto.bool_field(40)
    scoin_limit: int = betterproto.uint32_field(41)
    friends_point_limit: int = betterproto.uint32_field(42)
    product_random_box_begin_time: int = betterproto.uint32_field(43)
    product_random_box_end_time: int = betterproto.uint32_field(44)
    week_day_activity_coin_item_id: int = betterproto.uint32_field(45)
    island_visit_max_help_num: int = betterproto.uint32_field(46)
    cost_senior_equip_after_cancel_protect_min_time_diff: int = (
        betterproto.uint32_field(47)
    )
    bulletin_activity_list: List["BulletinActivityConfig"] = betterproto.message_field(
        50
    )
    rogue_stage_open_level: int = betterproto.uint32_field(52)
    stigmata_rune_open_level: int = betterproto.uint32_field(56)
    stigmata_promote_max_times: int = betterproto.uint32_field(59)
    stigmata_rune_combat_ratio: int = betterproto.uint32_field(60)
    stigmata_disjoin_back_exp_percent: int = betterproto.uint32_field(61)
    stigmata_refine_value_back_percent: int = betterproto.uint32_field(62)
    scoin_convert_per_exp: int = betterproto.uint32_field(64)
    mp_reset_skill_hcoin_cost: int = betterproto.uint32_field(65)
    mp_member_max_times_for_all_act: int = betterproto.uint32_field(66)
    mp_member_exhausted_drop_ratio: int = betterproto.uint32_field(67)
    friend_bond_level_config_list: List["GetConfigRspFriendBondLevelConfig"] = (
        betterproto.message_field(68)
    )
    friend_assistant_add_bond: int = betterproto.uint32_field(70)
    armada_manage_mail_length: int = betterproto.uint32_field(72)
    armada_contact_length: int = betterproto.uint32_field(73)
    armada_manage_mail_cd: int = betterproto.uint32_field(74)
    armada_bulletin_length: int = betterproto.uint32_field(75)
    openworld_judge_para_type1: int = betterproto.uint32_field(76)
    openworld_judge_para_type2: int = betterproto.uint32_field(77)
    openworld_judge_para_type3: int = betterproto.uint32_field(78)
    openworld_judge_para_type4: int = betterproto.uint32_field(79)
    trial_avatar_player_min_level: int = betterproto.uint32_field(80)
    disjoin_equipment_max_batch_num: int = betterproto.uint32_field(81)
    equip_disjoint_unlock_level: int = betterproto.uint32_field(82)
    stage_type_limit_avatar_fight_in_venture_list: List[int] = betterproto.uint32_field(
        83
    )
    anti_cheat_stage_check_config: "GetConfigRspAntiCheatStageCheckConfig" = (
        betterproto.message_field(85)
    )
    is_can_gal_touch: bool = betterproto.bool_field(87)
    is_resistance_open: bool = betterproto.bool_field(88)
    next_day_begin_time: int = betterproto.uint32_field(90)


@dataclass
class GetConfigRspGachaTicket(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    hcoin_cost: int = betterproto.uint32_field(2)


@dataclass
class GetConfigRspDiscountScheduleConfig(betterproto.Message):
    type: int = betterproto.uint32_field(1)
    discount: int = betterproto.uint32_field(2)
    begin_time: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)
    para_int_list: List[int] = betterproto.uint32_field(5)


@dataclass
class GetConfigRspFriendBondLevelConfig(betterproto.Message):
    level: int = betterproto.uint32_field(1)
    min_bond: int = betterproto.uint32_field(2)
    assist_cd_reduce_rate: int = betterproto.uint32_field(3)
    invite_add_friends_point: int = betterproto.uint32_field(4)
    extra_add_mp_exp_rate: int = betterproto.uint32_field(5)
    extra_mp_add_friends_point: int = betterproto.uint32_field(6)


@dataclass
class GetConfigRspAntiCheatStageCheckConfig(betterproto.Message):
    check_stage_id_list: List[int] = betterproto.uint32_field(1)
    check_stage_type_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetMissionDataReq(betterproto.Message):
    pass


@dataclass
class GetMissionDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mission_list: List["Mission"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(7)
    is_in_activity: bool = betterproto.bool_field(8)
    challenge_mission: "ChallengeMissionData" = betterproto.message_field(9)
    close_mission_list: List[int] = betterproto.uint32_field(10)
    mainline_step: "MainlineStepMission" = betterproto.message_field(11)


@dataclass
class GetMissionRewardReq(betterproto.Message):
    mission_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetMissionRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)
    mission_id_list: List[int] = betterproto.uint32_field(3)
    reward_unlock_time: int = betterproto.uint32_field(4)


@dataclass
class DelMissionNotify(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)


@dataclass
class UpdateMissionProgressReq(betterproto.Message):
    finish_way: "MissionFinishWay" = betterproto.enum_field(1)
    finish_para: int = betterproto.uint32_field(2)
    finish_para_str: str = betterproto.string_field(3)
    progress_add: int = betterproto.uint32_field(4)
    stage_id: int = betterproto.uint32_field(5)


@dataclass
class UpdateMissionProgressRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class BindAccountReq(betterproto.Message):
    account_type: int = betterproto.uint32_field(1)
    account_uid: str = betterproto.string_field(2)
    account_token: str = betterproto.string_field(3)
    account_ext: str = betterproto.string_field(4)


@dataclass
class BindAccountRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    account_type: int = betterproto.uint32_field(2)
    account_uid: str = betterproto.string_field(3)


@dataclass
class GetSignInRewardStatusReq(betterproto.Message):
    pass


@dataclass
class GetSignInRewardStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    is_need_sign_in: bool = betterproto.bool_field(2)
    next_sign_in_day: int = betterproto.uint32_field(3)
    next_sign_in_reward_id: int = betterproto.uint32_field(4)


@dataclass
class GetSignInRewardReq(betterproto.Message):
    pass


@dataclass
class GetSignInRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class GetWeekDayActivityDataReq(betterproto.Message):
    pass


@dataclass
class GetWeekDayActivityDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_list: List["WeekDayActivity"] = betterproto.message_field(2)
    is_whole_data: bool = betterproto.bool_field(3)
    series_list: List["ActivitySeries"] = betterproto.message_field(4)


@dataclass
class GetFinishGuideDataReq(betterproto.Message):
    pass


@dataclass
class GetFinishGuideDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    guide_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class FinishGuideReportReq(betterproto.Message):
    guide_id_list: List[int] = betterproto.uint32_field(1)
    is_force_finish: bool = betterproto.bool_field(2)


@dataclass
class FinishGuideReportRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    guide_id_list: List[int] = betterproto.uint32_field(2)
    is_finish: bool = betterproto.bool_field(3)


@dataclass
class StageInnerDataReportReq(betterproto.Message):
    avatar_list: List["StageInnerAvatarData"] = betterproto.message_field(1)
    monster_list: List["StageInnerMonsterData"] = betterproto.message_field(2)
    rotate_camera_times: int = betterproto.uint32_field(3)
    elf_list: List["StageInnerElfData"] = betterproto.message_field(4)
    stage_id: int = betterproto.uint32_field(5)


@dataclass
class StageInnerDataReportRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetDispatchReq(betterproto.Message):
    pass


@dataclass
class GetDispatchRsp(betterproto.Message):
    pass


@dataclass
class ExchangeAvatarWeaponReq(betterproto.Message):
    avatar_id_1: int = betterproto.uint32_field(1)
    avatar_id_2: int = betterproto.uint32_field(2)


@dataclass
class ExchangeAvatarWeaponRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetBulletinReq(betterproto.Message):
    type: "GetBulletinReqReqBulletinType" = betterproto.enum_field(1)
    bulletin_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetBulletinRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    bulletin_list: List["Bulletin"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class AddGoodfeelReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    add_goodfeel: int = betterproto.int32_field(2)
    add_goodfeel_type: int = betterproto.uint32_field(3)


@dataclass
class AddGoodfeelRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class IslandDisjoinEquipmentReq(betterproto.Message):
    type: "EquipmentType" = betterproto.enum_field(1)
    unique_id_list: List[int] = betterproto.uint32_field(2)
    disjoin_type: "DisjoinType" = betterproto.enum_field(3)


@dataclass
class IslandDisjoinEquipmentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    disjoin_unique_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetGuideRewardReq(betterproto.Message):
    guide_id: int = betterproto.uint32_field(1)


@dataclass
class GetGuideRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class UrgencyMsgNotify(betterproto.Message):
    msg: str = betterproto.string_field(1)
    client_setting: "SettingDict" = betterproto.message_field(2)


@dataclass
class RefineStigmataRuneReq(betterproto.Message):
    type: "StigmataRefineType" = betterproto.enum_field(1)
    unique_id: int = betterproto.uint32_field(2)
    consume_item_list: "EquipmentItemList" = betterproto.message_field(3)
    special_id: int = betterproto.uint32_field(4)
    lock_rune_index: int = betterproto.uint32_field(5)
    is_retry: bool = betterproto.bool_field(6)
    times_type: "StigmataRefineTimesType" = betterproto.enum_field(7)


@dataclass
class RefineStigmataRuneRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rune_list: List["StigmataRune"] = betterproto.message_field(2)
    times_type: "StigmataRefineTimesType" = betterproto.enum_field(3)
    rune_group_list: List["StigmataRuneGroup"] = betterproto.message_field(4)
    wait_select_stgimata_list: List[int] = betterproto.uint32_field(5)


@dataclass
class SelectNewStigmataRuneReq(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    is_select: bool = betterproto.bool_field(2)
    times_type: "StigmataRefineTimesType" = betterproto.enum_field(3)
    select_unique_id: int = betterproto.uint32_field(4)


@dataclass
class SelectNewStigmataRuneRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    select_unique_id: int = betterproto.uint32_field(2)
    is_select: bool = betterproto.bool_field(3)


@dataclass
class CreateWeiXinOrderReq(betterproto.Message):
    body: str = betterproto.string_field(1)
    attach: str = betterproto.string_field(2)
    total_fee: str = betterproto.string_field(3)
    notify_url: str = betterproto.string_field(4)
    trade_type: "CreateWeiXinOrderReqTradeType" = betterproto.enum_field(5)


@dataclass
class CreateWeiXinOrderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    prepay_id: str = betterproto.string_field(2)
    partner_id: str = betterproto.string_field(3)
    nonce_str: str = betterproto.string_field(4)
    timestamp: str = betterproto.string_field(5)
    sign: str = betterproto.string_field(6)
    qr_code_url: str = betterproto.string_field(7)


@dataclass
class CommentReportReq(betterproto.Message):
    comment: "CommentType" = betterproto.enum_field(1)
    times: int = betterproto.uint32_field(2)


@dataclass
class CommentReportRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    next_evaluate_time: int = betterproto.uint32_field(2)


@dataclass
class GetExtraStoryDataReq(betterproto.Message):
    pass


@dataclass
class GetExtraStoryDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_list: List["ExtraStoryChapter"] = betterproto.message_field(2)
    is_dynamic_hard_lv: bool = betterproto.bool_field(3)
    chapter_key_list: List[int] = betterproto.uint32_field(4)
    taken_reward_line_id_list: List[int] = betterproto.uint32_field(5)
    is_open_enhance: bool = betterproto.bool_field(6)
    taken_enhance_reward_act_id_list: List[int] = betterproto.uint32_field(7)


@dataclass
class GetExtraStoryActivityActReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class GetExtraStoryActivityActRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    act_list: List["ExtraStoryAct"] = betterproto.message_field(2)


@dataclass
class GetExtraStoryAchieveDataReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class GetExtraStoryAchieveDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    achieve_list: List["ExtraStoryAchieve"] = betterproto.message_field(2)


@dataclass
class GetExtraStoryAchieveRewardReq(betterproto.Message):
    achieve_id: int = betterproto.uint32_field(1)


@dataclass
class GetExtraStoryAchieveRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    achieve_id: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)


@dataclass
class SwitchDynamicHardLvReq(betterproto.Message):
    pass


@dataclass
class SwitchDynamicHardLvRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    is_dynamic_hard_lv: bool = betterproto.bool_field(2)


@dataclass
class GetIslandEventReq(betterproto.Message):
    pass


@dataclass
class GetIslandEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_pos_list: List["IslandAvatarPos"] = betterproto.message_field(2)


@dataclass
class FinishIslandEventReq(betterproto.Message):
    event_id: int = betterproto.uint32_field(1)
    node_num: int = betterproto.uint32_field(2)
    is_get_reward: bool = betterproto.bool_field(3)


@dataclass
class FinishIslandEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class SetTransferPwdReq(betterproto.Message):
    transfer_pwd: str = betterproto.string_field(1)


@dataclass
class SetTransferPwdRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    transfer_code: str = betterproto.string_field(2)
    transfer_pwd_expire_time: int = betterproto.uint32_field(3)


@dataclass
class VerifyGoogleOrderNotify(betterproto.Message):
    channel: "VerifyGoogleOrderNotifyGoogleType" = betterproto.enum_field(1)
    param: str = betterproto.string_field(2)


@dataclass
class SetDressReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    dress_id: int = betterproto.uint32_field(2)


@dataclass
class SetDressRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DressToReturnMaterialNotify(betterproto.Message):
    dress_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)
    scoin: int = betterproto.uint32_field(3)
    return_material_id: int = betterproto.uint32_field(4)
    return_material_num: int = betterproto.uint32_field(5)


@dataclass
class UseMaterialReq(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)
    parameter: int = betterproto.uint32_field(3)
    simulate_magic: int = betterproto.uint32_field(4)
    consume_item_list: "EquipmentItemList" = betterproto.message_field(5)


@dataclass
class UseMaterialRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    gift_reward_list: List["RewardData"] = betterproto.message_field(2)
    drop_item_list: List["DropItem"] = betterproto.message_field(3)
    material_id: int = betterproto.uint32_field(4)
    num: int = betterproto.uint32_field(5)
    overflow_item_id: int = betterproto.uint32_field(6)


@dataclass
class SwitchAvatarSubSkillReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)
    sub_skill_id: int = betterproto.uint32_field(3)


@dataclass
class SwitchAvatarSubSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ExchangeWeekDayActivityTimesReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    activity_times: int = betterproto.uint32_field(2)


@dataclass
class ExchangeWeekDayActivityTimesRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    coin_cost: int = betterproto.uint32_field(2)


@dataclass
class UpdateCustomAvatarTeamReq(betterproto.Message):
    team: "CustomAvatarTeam" = betterproto.message_field(1)


@dataclass
class UpdateCustomAvatarTeamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class UpdateAssistantAvatarIdReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)


@dataclass
class UpdateAssistantAvatarIdRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class TakeDutyRewardReq(betterproto.Message):
    duty_type: "DutyType" = betterproto.enum_field(1)
    duty_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TakeDutyRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    duty_type: "DutyType" = betterproto.enum_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)
    duty_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class ReportBirthdayReq(betterproto.Message):
    birthday: int = betterproto.uint32_field(1)


@dataclass
class ReportBirthdayRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class CreateLobbyReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    min_level: int = betterproto.uint32_field(2)
    lobby_enter_type: "LobbyEnterType" = betterproto.enum_field(3)
    max_player_num: int = betterproto.uint32_field(4)
    cabin_attr: List["CabinTechAddAttr"] = betterproto.message_field(5)
    client_rtt: int = betterproto.uint32_field(6)
    member: "MpTeamMember" = betterproto.message_field(7)
    avatar_trial_list: List[int] = betterproto.uint32_field(8)
    is_allow_cross_region: bool = betterproto.bool_field(9)
    team_name: str = betterproto.string_field(10)
    is_team_name_default: bool = betterproto.bool_field(11)
    max_level: int = betterproto.uint32_field(12)


@dataclass
class CreateLobbyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    sub_retcode: int = betterproto.int32_field(2)
    lobby_id: int = betterproto.uint32_field(3)
    stage_id: int = betterproto.uint32_field(4)
    min_level: int = betterproto.uint32_field(5)
    lobby_enter_type: "LobbyEnterType" = betterproto.enum_field(6)
    max_level: int = betterproto.uint32_field(7)
    team_name: str = betterproto.string_field(8)


@dataclass
class EnterLobbyReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    lobby_id: int = betterproto.uint32_field(2)
    is_friend_invitation: bool = betterproto.bool_field(3)
    level: int = betterproto.uint32_field(4)
    client_rtt: int = betterproto.uint32_field(5)
    has_leader_stamina: bool = betterproto.bool_field(6)
    member: "MpTeamMember" = betterproto.message_field(7)
    has_leader_enter_times: bool = betterproto.bool_field(8)
    device_score: int = betterproto.uint32_field(9)
    report_num: int = betterproto.uint32_field(10)
    has_leader_theme_wanted_ticket: bool = betterproto.bool_field(11)


@dataclass
class EnterLobbyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    sub_retcode: int = betterproto.int32_field(2)
    lobby_id: int = betterproto.uint32_field(3)
    stage_id: int = betterproto.uint32_field(4)
    avatar_id: int = betterproto.uint32_field(5)


@dataclass
class LeaveTeamReq(betterproto.Message):
    team_id: int = betterproto.uint32_field(1)
    is_logout: bool = betterproto.bool_field(2)
    is_squeeze: bool = betterproto.bool_field(3)


@dataclass
class LeaveTeamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class UpdateLobbyLineupReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    member_info: "MpTeamMemberInfo" = betterproto.message_field(2)
    avatar_trial_id: int = betterproto.uint32_field(3)
    reclaim_avatar_id: int = betterproto.uint32_field(4)
    elf_id: int = betterproto.uint32_field(5)
    backup_avatar_id_list: List[int] = betterproto.uint32_field(6)


@dataclass
class UpdateLobbyLineupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    avatar_trial_id: int = betterproto.uint32_field(3)
    reclaim_avatar_id: int = betterproto.uint32_field(4)
    elf_id: int = betterproto.uint32_field(5)
    backup_avatar_id_list: List[int] = betterproto.uint32_field(6)


@dataclass
class SwitchMemberStatusReq(betterproto.Message):
    status: "LobbyMemberStatus" = betterproto.enum_field(1)


@dataclass
class SwitchMemberStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class LobbyStageBeginReq(betterproto.Message):
    pass


@dataclass
class LobbyStageBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fight_server_ip: str = betterproto.string_field(2)
    fight_server_port: int = betterproto.uint32_field(3)
    lobby_id: int = betterproto.uint32_field(4)
    uid_list: List[int] = betterproto.uint32_field(5)
    leader_uid: int = betterproto.uint32_field(6)


@dataclass
class LobbyStageEndReq(betterproto.Message):
    lobby_id: int = betterproto.uint32_field(1)
    client_data: int = betterproto.uint32_field(2)


@dataclass
class LobbyStageEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    lobby_id: int = betterproto.uint32_field(2)


@dataclass
class KickLobbyMemberReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class KickLobbyMemberRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SetLobbyFastEntranceReq(betterproto.Message):
    lobby_id: int = betterproto.uint32_field(1)
    is_open: bool = betterproto.bool_field(2)


@dataclass
class SetLobbyFastEntranceRsp(betterproto.Message):
    lobby_id: int = betterproto.uint32_field(1)
    retcode: int = betterproto.uint32_field(2)
    is_open: bool = betterproto.bool_field(3)


@dataclass
class LobbyEnterFightErrorNotify(betterproto.Message):
    lobby_id: int = betterproto.uint32_field(1)
    retcode: int = betterproto.uint32_field(2)
    uid_list: List[int] = betterproto.uint32_field(3)
    sub_retcode: int = betterproto.uint32_field(4)


@dataclass
class PromoteStigmataRuneReq(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)


@dataclass
class PromoteStigmataRuneRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    wait_select_stgimata_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetMpDataReq(betterproto.Message):
    data_type: "MpDataType" = betterproto.enum_field(1)


@dataclass
class GetMpDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    data_type: "MpDataType" = betterproto.enum_field(2)
    op_type: "GetMpDataRspOpType" = betterproto.enum_field(3)
    mp_level: int = betterproto.uint32_field(4)
    mp_exp: int = betterproto.uint32_field(5)
    skill_point_list: List["MpSkillPoint"] = betterproto.message_field(6)
    skill_list: List["MpSkill"] = betterproto.message_field(7)
    team_avatar_id: int = betterproto.uint32_field(8)
    punish_end_time: int = betterproto.uint32_field(9)


@dataclass
class MpUpgradeSkillReq(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)


@dataclass
class MpUpgradeSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)


@dataclass
class MpResetSkillPointReq(betterproto.Message):
    type: "MpSkillType" = betterproto.enum_field(1)


@dataclass
class MpResetSkillPointRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "MpSkillType" = betterproto.enum_field(2)


@dataclass
class MpGetTeamReq(betterproto.Message):
    pass


@dataclass
class MpGetTeamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    team_data: "MpTeamData" = betterproto.message_field(2)


@dataclass
class MpTeamSyncNotify(betterproto.Message):
    team_data: "MpTeamData" = betterproto.message_field(1)


@dataclass
class MpCreateTeamReq(betterproto.Message):
    member: "MpTeamMember" = betterproto.message_field(1)


@dataclass
class MpCreateTeamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    team_id: int = betterproto.uint32_field(2)


@dataclass
class MpEnterTeamReq(betterproto.Message):
    team_id: int = betterproto.uint32_field(1)
    member: "MpTeamMember" = betterproto.message_field(2)
    uid: int = betterproto.uint32_field(3)


@dataclass
class MpEnterTeamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    team_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)


@dataclass
class GetTeamBriefInfoReq(betterproto.Message):
    team_id: int = betterproto.uint32_field(1)
    is_friend_invitation: bool = betterproto.bool_field(2)


@dataclass
class GetTeamBriefInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    team_id: int = betterproto.uint32_field(2)
    status: "MpTeamStatus" = betterproto.enum_field(3)
    stage_id: int = betterproto.uint32_field(4)
    is_friend_invitation: bool = betterproto.bool_field(5)


@dataclass
class MpKickFromTeamReq(betterproto.Message):
    member_uid: int = betterproto.uint32_field(1)


@dataclass
class MpKickFromTeamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    member_uid: int = betterproto.uint32_field(2)


@dataclass
class MpTeamEnterLobbyReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    lobby_enter_type: "LobbyEnterType" = betterproto.enum_field(2)
    min_level: int = betterproto.uint32_field(3)
    team_name: str = betterproto.string_field(4)
    is_team_name_default: bool = betterproto.bool_field(5)
    max_level: int = betterproto.uint32_field(6)


@dataclass
class MpTeamEnterLobbyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    sub_retcode: int = betterproto.int32_field(2)
    error_uid: int = betterproto.uint32_field(3)
    stage_id: int = betterproto.uint32_field(4)
    team_id: int = betterproto.uint32_field(5)
    team_name: str = betterproto.string_field(6)


@dataclass
class MpTeamChangeLeaderReq(betterproto.Message):
    new_leader_uid: int = betterproto.uint32_field(1)


@dataclass
class MpTeamChangeLeaderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetGobackReq(betterproto.Message):
    pass


@dataclass
class GobackActivity(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)


@dataclass
class GobackActivityLoginReward(betterproto.Message):
    take_days: int = betterproto.uint32_field(1)
    take_reward_list: List[int] = betterproto.uint32_field(2)
    take_bonus_reward_list: List[int] = betterproto.uint32_field(3)


@dataclass
class GobackFund(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    is_unlocked: bool = betterproto.bool_field(2)
    has_take_reward_progress_list: List[int] = betterproto.uint32_field(3)


@dataclass
class GobackGrowUpActivity(betterproto.Message):
    joined_rank_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GobackSpecialBp(betterproto.Message):
    bp_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    exp: int = betterproto.uint32_field(3)
    is_purchased: bool = betterproto.bool_field(4)
    free_reward_max_take_level: int = betterproto.uint32_field(5)
    purchase_reward_max_take_level: int = betterproto.uint32_field(6)


@dataclass
class GobackSpecial(betterproto.Message):
    special_id: int = betterproto.uint32_field(1)
    special_bp: "GobackSpecialBp" = betterproto.message_field(2)


@dataclass
class GetGobackRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    goback_end_time: int = betterproto.uint32_field(2)
    login_days: int = betterproto.uint32_field(3)
    has_take_days_reward_list: List[int] = betterproto.uint32_field(4)
    has_take_days_bonus_reward_list: List[int] = betterproto.uint32_field(5)
    goback_activity_list: List["GobackActivity"] = betterproto.message_field(6)
    score: int = betterproto.uint32_field(7)
    has_take_score_reward_list: List[int] = betterproto.uint32_field(8)
    schedule_id: int = betterproto.uint32_field(9)
    login_reward_list: List["GobackActivityLoginReward"] = betterproto.message_field(10)
    fund: "GobackFund" = betterproto.message_field(11)
    goback_grow_up_activity: "GobackGrowUpActivity" = betterproto.message_field(12)
    goback_special: "GobackSpecial" = betterproto.message_field(13)


@dataclass
class TakeGobackLoginRewardReq(betterproto.Message):
    take_days: int = betterproto.uint32_field(1)
    reward_type: int = betterproto.uint32_field(2)
    reward_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TakeGobackLoginRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    take_days: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)
    reward_type: int = betterproto.uint32_field(4)
    reward_id_list: List[int] = betterproto.uint32_field(5)


@dataclass
class TeamLeaderChangeNotify(betterproto.Message):
    team_id: int = betterproto.uint32_field(1)
    old_leader: int = betterproto.uint32_field(2)
    new_leader: int = betterproto.uint32_field(3)
    is_timeout: bool = betterproto.bool_field(4)


@dataclass
class MpTeamLeaveLobbyReq(betterproto.Message):
    pass


@dataclass
class MpTeamLeaveLobbyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MpMemberSetClientStatusReq(betterproto.Message):
    status: "MpMemberClientStatus" = betterproto.enum_field(1)


@dataclass
class MpMemberSetClientStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MpReportPlayerReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class MpReportPlayerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    report_success: bool = betterproto.bool_field(3)
    judge_term: int = betterproto.uint32_field(4)


@dataclass
class MpStageSettleNotify(betterproto.Message):
    team_id: int = betterproto.uint32_field(1)
    settle_list: List["MpStageSettle"] = betterproto.message_field(2)


@dataclass
class MpLikePlayerReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class MpLikePlayerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    from_uid: int = betterproto.uint32_field(3)
    target_like_num: int = betterproto.uint32_field(4)
    add_friends_point: int = betterproto.uint32_field(5)


@dataclass
class FriendBondNotify(betterproto.Message):
    friend_uid: int = betterproto.uint32_field(1)
    bond: int = betterproto.uint32_field(2)


@dataclass
class MpTeamMemberSetVoiceIdReq(betterproto.Message):
    voice_id: int = betterproto.uint32_field(1)


@dataclass
class MpTeamMemberSetVoiceIdRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    uid: int = betterproto.uint32_field(2)
    voice_id: int = betterproto.uint32_field(3)


@dataclass
class ReportClientDataVersionReq(betterproto.Message):
    version: int = betterproto.uint32_field(1)


@dataclass
class ReportClientDataVersionRsp(betterproto.Message):
    server_version: int = betterproto.uint32_field(1)


@dataclass
class OpenworldStat(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    max_num: int = betterproto.uint32_field(2)
    finish_num: int = betterproto.uint32_field(3)


@dataclass
class OpenworldStageAvatarInfo(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    hp_percent: int = betterproto.uint32_field(2)
    sp_percent: int = betterproto.uint32_field(3)
    revive_time: int = betterproto.uint32_field(4)
    last_hp_recover_time: int = betterproto.uint32_field(5)


@dataclass
class OpenworldStageArea(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    avatar_list: List[int] = betterproto.uint32_field(2)
    weapon_uid_list: List[int] = betterproto.uint32_field(3)
    stigmata_uid_list: List[int] = betterproto.uint32_field(4)


@dataclass
class OpenworldStageInner(betterproto.Message):
    condition_type: int = betterproto.uint32_field(1)
    condition_value: int = betterproto.uint32_field(2)


@dataclass
class OpenworldQuestData(betterproto.Message):
    level: int = betterproto.uint32_field(1)
    star: int = betterproto.uint32_field(2)
    is_open: bool = betterproto.bool_field(3)
    day_open_times: int = betterproto.uint32_field(4)
    quest_list: List["OpenworldQuest"] = betterproto.message_field(5)
    refresh_left_times: int = betterproto.uint32_field(6)
    next_refresh_cost: int = betterproto.uint32_field(7)
    key_quest: "OpenworldQuest" = betterproto.message_field(8)
    max_quest_level: int = betterproto.uint32_field(9)
    is_can_abandon: bool = betterproto.bool_field(10)
    challenge_score: int = betterproto.uint32_field(11)
    finish_key_quest_list: List[int] = betterproto.uint32_field(12)
    is_quest_finish: bool = betterproto.bool_field(13)
    open_quest_time: int = betterproto.uint32_field(14)


@dataclass
class OpenworldOverView(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)


@dataclass
class OpenworldCook(betterproto.Message):
    cook_id: int = betterproto.uint32_field(1)
    eat_num: int = betterproto.uint32_field(2)


@dataclass
class OpenworldStory(betterproto.Message):
    story_id: int = betterproto.uint32_field(1)
    story_progress: int = betterproto.uint32_field(2)
    accept_time: int = betterproto.uint32_field(3)


@dataclass
class OpenworldTechData(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    exp: int = betterproto.uint32_field(3)
    next_collect_time: int = betterproto.uint32_field(4)
    skill_point: int = betterproto.uint32_field(5)
    unlock_skill_list: List[int] = betterproto.uint32_field(6)


@dataclass
class OpenworldMapBriefData(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    status: int = betterproto.uint32_field(2)
    stat_list: List["OpenworldStat"] = betterproto.message_field(3)
    cycle: int = betterproto.uint32_field(4)
    quest_level: int = betterproto.uint32_field(5)
    has_take_finish_reward_cycle: int = betterproto.uint32_field(6)
    is_once_unlocked: bool = betterproto.bool_field(7)


@dataclass
class OpenworldEvent(betterproto.Message):
    event_id: int = betterproto.uint32_field(1)
    drop_item_list: List["DropItem"] = betterproto.message_field(2)


@dataclass
class OpenworldBossHunt(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    cur_boss_id: int = betterproto.uint32_field(2)
    boss_list: List["OpenworldBoss"] = betterproto.message_field(3)
    last_choose_boss_time: int = betterproto.uint32_field(4)
    have_take_rating_reward_list: List[int] = betterproto.uint32_field(5)
    is_call_boss: bool = betterproto.bool_field(6)
    killed_boss_id_list: List[int] = betterproto.uint32_field(7)


@dataclass
class OpenworldActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    phase_id: int = betterproto.uint32_field(2)
    activity_level: int = betterproto.uint32_field(3)
    activity_exp: int = betterproto.uint32_field(4)
    activity_reward_taken_level_list: List[int] = betterproto.uint32_field(5)
    activity_treasure_taken_list: List[int] = betterproto.uint32_field(6)


@dataclass
class OpenworldBoss(betterproto.Message):
    boss_id: int = betterproto.uint32_field(1)
    left_hp: int = betterproto.uint32_field(2)
    clue_progress: int = betterproto.uint32_field(3)
    search_time: int = betterproto.uint32_field(4)
    battle_time: int = betterproto.uint32_field(5)
    is_take_kill_reward: bool = betterproto.bool_field(6)
    location_idx: int = betterproto.uint32_field(7)
    boss_killed_avatar_list: List[int] = betterproto.uint32_field(8)
    mp_left_hp: int = betterproto.uint32_field(9)
    min_kill_time: int = betterproto.uint32_field(10)


@dataclass
class OpenworldAreaInfo(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    info_list: List[str] = betterproto.string_field(2)


@dataclass
class OpenworldEntityState(betterproto.Message):
    entity_id: int = betterproto.uint32_field(1)
    entity_state: int = betterproto.uint32_field(2)


@dataclass
class OpenworldAreaEntityState(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)
    entity_state_list: List["OpenworldEntityState"] = betterproto.message_field(2)


@dataclass
class OpenworldPeriodSettleData(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    settle_level: int = betterproto.uint32_field(2)
    old_level: int = betterproto.uint32_field(3)
    old_star: int = betterproto.uint32_field(4)
    cur_level: int = betterproto.uint32_field(5)
    cur_star: int = betterproto.uint32_field(6)
    sub_star: int = betterproto.uint32_field(7)
    normal_reward: "RewardData" = betterproto.message_field(8)
    up_reward: "RewardData" = betterproto.message_field(9)


@dataclass
class OpenworldPeriodSettleNotify(betterproto.Message):
    settle_map_list: List["OpenworldPeriodSettleData"] = betterproto.message_field(1)


@dataclass
class OpenworldWeeklySettleNotify(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_level: int = betterproto.uint32_field(2)
    reward: "RewardData" = betterproto.message_field(3)


@dataclass
class OpenworldMechaPort(betterproto.Message):
    slot: "MechaSlot" = betterproto.enum_field(1)
    mecha_id: int = betterproto.uint32_field(2)


@dataclass
class AcceptOpenworldStoryReq(betterproto.Message):
    story_id: int = betterproto.uint32_field(1)
    report_ext: str = betterproto.string_field(2)


@dataclass
class AcceptOpenworldStoryRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    story_id: int = betterproto.uint32_field(2)


@dataclass
class SetOpenworldStoryProgressReq(betterproto.Message):
    story_id: int = betterproto.uint32_field(1)
    story_progress: int = betterproto.uint32_field(2)


@dataclass
class SetOpenworldStoryProgressRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    story_id: int = betterproto.uint32_field(2)


@dataclass
class TakeOpenworldStoryRewardReq(betterproto.Message):
    story_id: int = betterproto.uint32_field(1)
    is_accept_follow_story: bool = betterproto.bool_field(2)
    report_ext: str = betterproto.string_field(3)


@dataclass
class TakeOpenworldStoryRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    story_id: int = betterproto.uint32_field(3)
    accept_story_id_list: List[int] = betterproto.uint32_field(4)
    is_accept_follow_story: bool = betterproto.bool_field(5)


@dataclass
class TakeOpenworldEventRewardReq(betterproto.Message):
    event_id: int = betterproto.uint32_field(1)
    drop_item_list: List["DropItem"] = betterproto.message_field(2)
    map_id: int = betterproto.uint32_field(3)
    report_ext: str = betterproto.string_field(4)


@dataclass
class TakeOpenworldEventRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    openworld_event: "OpenworldEvent" = betterproto.message_field(3)
    finish_once_event_list: List[int] = betterproto.uint32_field(4)


@dataclass
class GetOpenworldStageReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class GetOpenworldStageRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_list: List["OpenworldStageAvatarInfo"] = betterproto.message_field(2)
    cook_buffer_list: List[int] = betterproto.uint32_field(3)
    map_id: int = betterproto.uint32_field(4)
    mecha_buff_list: List[int] = betterproto.uint32_field(5)
    mecha_lost_hp_percent: int = betterproto.uint32_field(6)
    mecha_lost_sp_percent: int = betterproto.uint32_field(7)
    map_energy: int = betterproto.uint32_field(8)
    sc_dlc_fever_score: int = betterproto.uint32_field(9)
    sc_dlc_climax_score: int = betterproto.uint32_field(10)


@dataclass
class OpenworldChapterStageBeginInfo(betterproto.Message):
    location_id: int = betterproto.uint32_field(1)
    story_mode: int = betterproto.uint32_field(2)
    story_serial: int = betterproto.uint32_field(3)
    is_quick_start: bool = betterproto.bool_field(4)


@dataclass
class OpenworldStageBeginReq(betterproto.Message):
    avatar_id_list: List[int] = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)
    map_id: int = betterproto.uint32_field(3)
    elf_id_list: List[int] = betterproto.uint32_field(4)
    openworld_stage_type: "OpenworldStageType" = betterproto.enum_field(5)
    stage_id: int = betterproto.uint32_field(6)
    support_avatar_id: int = betterproto.uint32_field(7)
    chapter_ow_info: "OpenworldChapterStageBeginInfo" = betterproto.message_field(8)
    report_ext: str = betterproto.string_field(9)


@dataclass
class OpenworldStageBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    can_sp_recover_avatar_list: List[int] = betterproto.uint32_field(2)
    map_id: int = betterproto.uint32_field(3)
    dlc_support_avatar_list: List[int] = betterproto.uint32_field(4)


@dataclass
class OpenworldStageEndReq(betterproto.Message):
    end_status: "StageEndStatus" = betterproto.enum_field(1)
    cheat_data_list: List["StageCheatData"] = betterproto.message_field(2)
    avatar_list: List["OpenworldStageAvatarInfo"] = betterproto.message_field(3)
    sp_recover_avatar_list: List[int] = betterproto.uint32_field(4)
    map_id: int = betterproto.uint32_field(5)
    mecha_lost_hp_percent: int = betterproto.uint32_field(6)
    mecha_lost_sp_percent: int = betterproto.uint32_field(7)
    drop_item_list: List["DropItem"] = betterproto.message_field(8)
    map_energy: int = betterproto.uint32_field(9)
    sc_dlc_fever_score: int = betterproto.uint32_field(10)
    sc_dlc_climax_score: int = betterproto.uint32_field(11)
    area_id: int = betterproto.uint32_field(12)
    report_ext: str = betterproto.string_field(13)


@dataclass
class OpenworldStageEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    end_status: "StageEndStatus" = betterproto.enum_field(2)
    map_id: int = betterproto.uint32_field(3)


@dataclass
class OpenOpenworldQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class OpenOpenworldQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetOpenworldSelectQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class GetOpenworldSelectQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_list: List["OpenworldQuest"] = betterproto.message_field(2)


@dataclass
class ChooseOpenworldQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)


@dataclass
class ChooseOpenworldQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest: "OpenworldQuest" = betterproto.message_field(2)


@dataclass
class RefreshOpenworldQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class RefreshOpenworldQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_list: List["OpenworldQuest"] = betterproto.message_field(2)
    refresh_left_times: int = betterproto.uint32_field(3)
    next_refresh_cost: int = betterproto.uint32_field(4)
    map_id: int = betterproto.uint32_field(5)


@dataclass
class TakeOpenworldQuestRewardReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)


@dataclass
class TakeOpenworldQuestRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    day_reward_list: List["RewardData"] = betterproto.message_field(3)
    add_star: int = betterproto.uint32_field(4)
    challenge_score: int = betterproto.uint32_field(5)
    old_quest_level: int = betterproto.uint32_field(6)


@dataclass
class AbandonOpenworldQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)


@dataclass
class AbandonOpenworldQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ReportOpenworldSpawnPointReq(betterproto.Message):
    point_info: str = betterproto.string_field(1)
    avatar_list: List["OpenworldStageAvatarInfo"] = betterproto.message_field(2)
    is_ld_sp_recover: bool = betterproto.bool_field(3)
    sp_recover_avatar_list: List[int] = betterproto.uint32_field(4)
    map_id: int = betterproto.uint32_field(5)


@dataclass
class ReportOpenworldSpawnPointRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    point_info: str = betterproto.string_field(3)


@dataclass
class FinishOpenworldQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    cost_time: int = betterproto.uint32_field(3)
    finish_challenge_list: List[int] = betterproto.uint32_field(4)
    mecha_id: int = betterproto.uint32_field(5)
    report_ext: str = betterproto.string_field(6)


@dataclass
class FinishOpenworldQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    cost_time: int = betterproto.uint32_field(3)
    finish_challenge_list: List[int] = betterproto.uint32_field(4)


@dataclass
class TakeOpenworldCycleFinishRewardReq(betterproto.Message):
    cycle: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class TakeOpenworldCycleFinishRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    map_id: int = betterproto.uint32_field(3)
    cycle: int = betterproto.uint32_field(4)


@dataclass
class EatOpenworldCookReq(betterproto.Message):
    cook_id: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    map_id: int = betterproto.uint32_field(3)


@dataclass
class EatOpenworldCookRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class TakeOpenworldKeyQuestRewardReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class TakeOpenworldKeyQuestRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    level: int = betterproto.uint32_field(3)
    star: int = betterproto.uint32_field(4)


@dataclass
class GetNewOpenworldReq(betterproto.Message):
    data_type: "OpenworldDataType" = betterproto.enum_field(1)


@dataclass
class GetNewOpenworldRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    data_type: "OpenworldDataType" = betterproto.enum_field(2)
    map_list: List["OpenworldMapBriefData"] = betterproto.message_field(3)
    next_refresh_time: int = betterproto.uint32_field(4)
    global_random_seed: int = betterproto.uint32_field(6)
    close_time: int = betterproto.uint32_field(7)
    cook_list: List["OpenworldCook"] = betterproto.message_field(8)
    quest_theme_index: int = betterproto.uint32_field(9)
    tech: List["OpenworldTechData"] = betterproto.message_field(10)
    mecha_port_list: List["OpenworldMechaPort"] = betterproto.message_field(11)
    quest_level: int = betterproto.uint32_field(12)
    quest_star: int = betterproto.uint32_field(13)
    max_quest_level: int = betterproto.uint32_field(14)


@dataclass
class GetOpenworldMapReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class GetOpenworldMapRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    cycle: int = betterproto.uint32_field(3)
    event_list: List["OpenworldEvent"] = betterproto.message_field(4)
    event_random_seed: int = betterproto.uint32_field(5)
    spawn_point: str = betterproto.string_field(6)
    over_view_list: List["OpenworldOverView"] = betterproto.message_field(7)
    stat_list: List["OpenworldStat"] = betterproto.message_field(8)
    status: int = betterproto.uint32_field(9)
    quest_data: "OpenworldQuestData" = betterproto.message_field(10)
    tech_data: "OpenworldTechData" = betterproto.message_field(11)
    has_take_finish_reward_cycle: int = betterproto.uint32_field(12)
    activity_data: "OpenworldActivity" = betterproto.message_field(13)
    boss_hunt: "OpenworldBossHunt" = betterproto.message_field(14)
    area_info_list: List["OpenworldAreaInfo"] = betterproto.message_field(15)
    area_entity_state_list: List["OpenworldAreaEntityState"] = (
        betterproto.message_field(16)
    )
    finish_once_event_list: List[int] = betterproto.uint32_field(17)


@dataclass
class GetOpenworldStoryReq(betterproto.Message):
    pass


@dataclass
class GetOpenworldStoryRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    finish_story_id_list: List[int] = betterproto.uint32_field(2)
    cur_story_list: List["OpenworldStory"] = betterproto.message_field(3)
    finish_story_id_add_list: List[int] = betterproto.uint32_field(4)
    finish_story_id_del_list: List[int] = betterproto.uint32_field(5)
    is_all: bool = betterproto.bool_field(6)


@dataclass
class UnlockOpenworldTechSkillReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)


@dataclass
class UnlockOpenworldTechSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    param: int = betterproto.int32_field(2)


@dataclass
class ActivateOpenworldMapReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class ActivateOpenworldMapRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldMechaTeamMember(betterproto.Message):
    pos: int = betterproto.uint32_field(1)
    mecha_unique_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldMechaTeam(betterproto.Message):
    mecha_list: List["OpenworldMechaTeamMember"] = betterproto.message_field(1)


@dataclass
class OpenworldSetMechaTeamReq(betterproto.Message):
    team_index: int = betterproto.uint32_field(1)
    mecha_list: List["OpenworldMechaTeamMember"] = betterproto.message_field(2)
    set_as_battle_team: bool = betterproto.bool_field(3)


@dataclass
class OpenworldSetMechaTeamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldGetMechaTeamReq(betterproto.Message):
    pass


@dataclass
class OpenworldGetMechaTeamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mecha_team_list: List["OpenworldMechaTeam"] = betterproto.message_field(2)
    cur_team_index: int = betterproto.uint32_field(3)


@dataclass
class OpenworldMechaDefenseBeginReq(betterproto.Message):
    pass


@dataclass
class OpenworldMechaDefenseBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    hard_level: int = betterproto.uint32_field(2)


@dataclass
class OpenworldMechaDefenseEndReq(betterproto.Message):
    end_status: "StageEndStatus" = betterproto.enum_field(1)
    hard_level: int = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)
    cheat_data_list: List["StageCheatData"] = betterproto.message_field(4)


@dataclass
class OpenworldMechaDefenseEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    rating: int = betterproto.uint32_field(3)


@dataclass
class GetOpenworldMechaDefenseReq(betterproto.Message):
    pass


@dataclass
class OpenworldMechaDefense(betterproto.Message):
    last_enter_time: int = betterproto.uint32_field(1)
    left_enter_times: int = betterproto.uint32_field(2)
    last_rating: int = betterproto.uint32_field(3)


@dataclass
class GetOpenworldMechaDefenseRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mecha_defense: "OpenworldMechaDefense" = betterproto.message_field(2)


@dataclass
class OpenworldMakeMechaReq(betterproto.Message):
    paper_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldMakeMechaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    mecha_id: int = betterproto.uint32_field(2)


@dataclass
class SetMechaPortReq(betterproto.Message):
    slot: "MechaSlot" = betterproto.enum_field(1)
    mecha_id: int = betterproto.uint32_field(2)


@dataclass
class SetMechaPortRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ChooseOpenworldBossReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    boss_id: int = betterproto.uint32_field(2)


@dataclass
class ChooseOpenworldBossRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    boss_id: int = betterproto.uint32_field(3)


@dataclass
class UpdateOpenworldBossStatusReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    left_hp: int = betterproto.uint32_field(2)
    battle_time: int = betterproto.uint32_field(3)
    location_idx: int = betterproto.uint32_field(4)
    report_ext: str = betterproto.string_field(5)


@dataclass
class UpdateOpenworldBossStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class UpdateOpenworldBossSearchTimeReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    search_time: int = betterproto.uint32_field(2)


@dataclass
class UpdateOpenworldBossSearchTimeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class TakeOpenworldBossRewardReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    boss_id: int = betterproto.uint32_field(2)


@dataclass
class TakeOpenworldBossRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    boss_id: int = betterproto.uint32_field(3)
    reward_data_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class TakeOpenworldBossHuntRatingRewardReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    rating_id: int = betterproto.uint32_field(2)


@dataclass
class TakeOpenworldBossHuntRatingRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    rating_id: int = betterproto.uint32_field(3)
    reward_data_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class SyncOpenworldBossHuntNotify(betterproto.Message):
    boss_hunt: "OpenworldBossHunt" = betterproto.message_field(1)


@dataclass
class TakeOpenworldActivityLevelRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    activity_level: int = betterproto.uint32_field(2)


@dataclass
class TakeOpenworldActivityLevelRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    activity_level: int = betterproto.uint32_field(3)
    reward_data_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class GetOpenworldBossHuntRankReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class GetOpenworldBossHuntRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)


@dataclass
class SyncOpenworldActivityDisplayInfo(betterproto.Message):
    add_base_activity_exp: int = betterproto.uint32_field(1)
    add_buff_activity_exp: int = betterproto.uint32_field(2)


@dataclass
class SyncOpenworldActivityNotify(betterproto.Message):
    activity_data: "OpenworldActivity" = betterproto.message_field(1)
    display_info: "SyncOpenworldActivityDisplayInfo" = betterproto.message_field(2)


@dataclass
class ResetOpenworldBossReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    boss_id: int = betterproto.uint32_field(2)


@dataclass
class ResetOpenworldBossRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    boss_id: int = betterproto.uint32_field(3)


@dataclass
class ReportOpenworldAreaInfoReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)
    area_info: str = betterproto.string_field(3)


@dataclass
class ReportOpenworldAreaInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    area_id: int = betterproto.uint32_field(3)
    area_info_list: List["OpenworldAreaInfo"] = betterproto.message_field(4)


@dataclass
class OpenworldFightBeginNotify(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)
    stage_type: "OpenworldStageType" = betterproto.enum_field(3)
    monster_name: str = betterproto.string_field(4)
    sub_area_name: str = betterproto.string_field(5)
    report_ext: str = betterproto.string_field(6)


@dataclass
class OpenworldFightEndNotify(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)
    stage_type: "OpenworldStageType" = betterproto.enum_field(3)
    monster_kill_info: str = betterproto.string_field(4)
    revive_times: int = betterproto.uint32_field(5)
    fight_end_status: "OpenworldFightEndStatus" = betterproto.enum_field(6)
    cost_time: int = betterproto.uint32_field(7)
    sub_area_name: str = betterproto.string_field(8)
    report_ext: str = betterproto.string_field(9)


@dataclass
class ReportOpenworldAreaEntityStateReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)
    entity_id: int = betterproto.uint32_field(3)
    entity_state: int = betterproto.uint32_field(4)


@dataclass
class ReportOpenworldAreaEntityStateRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    area_id: int = betterproto.uint32_field(3)
    entity_id: int = betterproto.uint32_field(4)
    area_entity_state_list: List["OpenworldAreaEntityState"] = (
        betterproto.message_field(5)
    )


@dataclass
class UpdateOpenworldQuestProgressReq(betterproto.Message):
    finish_way: "OpenworldQuestFinishWay" = betterproto.enum_field(1)
    finish_para_str: str = betterproto.string_field(2)
    progress_add: int = betterproto.uint32_field(3)
    report_ext: str = betterproto.string_field(4)


@dataclass
class UpdateOpenworldQuestProgressRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    finish_way: "OpenworldQuestFinishWay" = betterproto.enum_field(2)
    finish_para_str: str = betterproto.string_field(3)


@dataclass
class GetOpenworldQuestActivityReq(betterproto.Message):
    pass


@dataclass
class GetOpenworldQuestActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    total_score: int = betterproto.uint32_field(3)
    cycle_quest_taken_num: int = betterproto.uint32_field(4)


@dataclass
class OpenworldAvatarActivity(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    exp: int = betterproto.uint32_field(4)
    daily_quest_list: List["OpenworldQuest"] = betterproto.message_field(5)
    daily_accept_quest_times: int = betterproto.uint32_field(6)
    daily_refresh_quest_times: int = betterproto.uint32_field(7)
    special_quest_list: List["OpenworldQuest"] = betterproto.message_field(8)
    talent_list: List["OpenworldAvatarActivityTalent"] = betterproto.message_field(9)
    cultivate_list: List["OpenworldAvatarActivityCultivate"] = (
        betterproto.message_field(10)
    )
    unlock_avatar_id_list: List[int] = betterproto.uint32_field(11)
    finished_quest_id_list: List[int] = betterproto.uint32_field(12)
    total_daily_quest_currency_num: int = betterproto.uint32_field(13)
    schedule_id: int = betterproto.uint32_field(14)


@dataclass
class OpenworldAvatarActivityTalent(betterproto.Message):
    talent_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class OpenworldAvatarActivityCultivate(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class GetOpenworldAvatarActivityReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class GetOpenworldAvatarActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "OpenworldAvatarActivity" = betterproto.message_field(2)


@dataclass
class OpenworldAvatarActivityAcceptDailyQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldAvatarActivityAcceptDailyQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest: "OpenworldQuest" = betterproto.message_field(2)


@dataclass
class OpenworldAvatarActivityRefreshDailyQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldAvatarActivityRefreshDailyQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest: "OpenworldQuest" = betterproto.message_field(2)


@dataclass
class OpenworldAvatarActivityFinishQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    cost_time: int = betterproto.uint32_field(3)
    finish_challenge_list: List[int] = betterproto.uint32_field(4)


@dataclass
class OpenworldAvatarActivityFinishQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    cost_time: int = betterproto.uint32_field(3)
    finish_challenge_list: List[int] = betterproto.uint32_field(4)


@dataclass
class OpenworldAvatarActivityTakeQuestRewardReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldAvatarActivityTakeQuestRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)
    map_id: int = betterproto.uint32_field(3)
    quest_id: int = betterproto.uint32_field(4)


@dataclass
class OpenworldAvatarActivityCultivateReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    cultivate_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldAvatarActivityCultivateRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldAvatarActivityTalentLevelupReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldAvatarActivityTalentLevelupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldAvatarActivityGetFileReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldAvatarActivityGetFileRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    file_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class OpenworldAvatarActivitySpecialQuestNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    quest_list: List["OpenworldQuest"] = betterproto.message_field(2)


@dataclass
class OpenworldChapterGetDataReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterSlot(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    buff_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterShopGoods(betterproto.Message):
    goods_id: int = betterproto.uint32_field(1)
    cost_material_id: int = betterproto.uint32_field(2)
    cost_num: int = betterproto.uint32_field(3)
    is_sold: bool = betterproto.bool_field(4)
    need_fame_level: int = betterproto.uint32_field(5)
    reward_id: int = betterproto.uint32_field(6)


@dataclass
class OpenworldChapterShop(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)
    goods_list: List["OpenworldChapterShopGoods"] = betterproto.message_field(2)


@dataclass
class OpenworldChapterChallenge(betterproto.Message):
    today_challenge_times: int = betterproto.uint32_field(1)
    last_challenge_time: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterEndlessTowerSite(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    has_take_reward_score: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterHero(betterproto.Message):
    hero_id: int = betterproto.uint32_field(1)
    hero_level: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterHeroCard(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)
    card_level: int = betterproto.uint32_field(2)
    card_exp: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterHeroCardSlot(betterproto.Message):
    slot_idx: int = betterproto.uint32_field(1)
    card_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterHeroCardGroup(betterproto.Message):
    hero_id: int = betterproto.uint32_field(1)
    group_name: str = betterproto.string_field(2)
    is_active: bool = betterproto.bool_field(3)
    slot_list: List["OpenworldChapterHeroCardSlot"] = betterproto.message_field(4)


@dataclass
class OpenworldChapterAchievementMission(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    finish_time: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterEndlessChallenge(betterproto.Message):
    challenge_id: int = betterproto.uint32_field(1)
    is_passed: bool = betterproto.bool_field(2)
    max_score: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterFurnaceWork(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    formula_id: int = betterproto.uint32_field(2)
    status: "OpenworldChapterFurnaceWorkStatus" = betterproto.enum_field(3)
    finish_time: int = betterproto.uint32_field(4)


@dataclass
class OpenworldChapterFurnaceFormulaUseHistory(betterproto.Message):
    formula_id: int = betterproto.uint32_field(1)
    use_times: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterFurnace(betterproto.Message):
    formula_use_history_list: List["OpenworldChapterFurnaceFormulaUseHistory"] = (
        betterproto.message_field(1)
    )
    furnace_work_list: List["OpenworldChapterFurnaceWork"] = betterproto.message_field(
        2
    )


@dataclass
class OpenworldChapterBuilding(betterproto.Message):
    main_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    level_up_finish_time: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterTerminal(betterproto.Message):
    level: int = betterproto.uint32_field(1)
    exp: int = betterproto.uint32_field(2)
    is_period_upgraded: bool = betterproto.bool_field(3)


@dataclass
class OpenworldChapterQuestData(betterproto.Message):
    quest_list: List["OpenworldQuest"] = betterproto.message_field(1)
    quest_accept_times: int = betterproto.uint32_field(2)
    quest_refresh_times: int = betterproto.uint32_field(3)
    special_quest_finished_num: int = betterproto.uint32_field(4)


@dataclass
class OpenworldChapterTalent(betterproto.Message):
    talent_id: int = betterproto.uint32_field(1)
    talent_level: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterDigSiteProgramTimes(betterproto.Message):
    program_id: int = betterproto.uint32_field(1)
    times: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterDigSite(betterproto.Message):
    main_id: int = betterproto.uint32_field(1)
    program_id: int = betterproto.uint32_field(2)
    program_finish_time: int = betterproto.uint32_field(3)
    program_times_list: List["OpenworldChapterDigSiteProgramTimes"] = (
        betterproto.message_field(4)
    )


@dataclass
class OpenworldChapter(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    slot_list: List["OpenworldChapterSlot"] = betterproto.message_field(2)
    max_equip_cost: int = betterproto.uint32_field(3)
    buff_list: List["OpenworldChapterBuff"] = betterproto.message_field(4)
    max_reward_take_num: int = betterproto.uint32_field(5)
    fame: int = betterproto.uint32_field(6)
    fame_level: int = betterproto.uint32_field(7)
    challenge: "OpenworldChapterChallenge" = betterproto.message_field(8)
    endless_tower_site_list: List["OpenworldChapterEndlessTowerSite"] = (
        betterproto.message_field(9)
    )
    hero_list: List["OpenworldChapterHero"] = betterproto.message_field(10)
    hero_card_list: List["OpenworldChapterHeroCard"] = betterproto.message_field(11)
    hero_card_group_list: List["OpenworldChapterHeroCardGroup"] = (
        betterproto.message_field(12)
    )
    achievement_mission_list: List["OpenworldChapterAchievementMission"] = (
        betterproto.message_field(13)
    )
    endless_challenge_list: List["OpenworldChapterEndlessChallenge"] = (
        betterproto.message_field(14)
    )
    building_list: List["OpenworldChapterBuilding"] = betterproto.message_field(15)
    terminal: "OpenworldChapterTerminal" = betterproto.message_field(16)
    quest_data: "OpenworldChapterQuestData" = betterproto.message_field(17)
    furnace: "OpenworldChapterFurnace" = betterproto.message_field(18)
    talent_list: List["OpenworldChapterTalent"] = betterproto.message_field(19)
    active_talent_id_list: List[int] = betterproto.uint32_field(20)
    dig_site_list: List["OpenworldChapterDigSite"] = betterproto.message_field(21)
    got_last_reward_special_qte_map_list: List[int] = betterproto.uint32_field(22)


@dataclass
class OpenworldChapterGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_data: "OpenworldChapter" = betterproto.message_field(2)


@dataclass
class OpenworldChapterSlotEquipBuffReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    slot_id: int = betterproto.uint32_field(2)
    buff_id: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterSlotEquipBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    slot_id: int = betterproto.uint32_field(3)
    buff_id: int = betterproto.uint32_field(4)


@dataclass
class OpenworldAcceptNewStoryReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    report_ext: str = betterproto.string_field(2)


@dataclass
class OpenworldAcceptNewStoryRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    story_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterTakeRewardReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterTakeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    max_reward_take_num: int = betterproto.uint32_field(4)


@dataclass
class OpenworldCloseStoryReq(betterproto.Message):
    story_id_list: List[int] = betterproto.uint32_field(1)
    report_ext: str = betterproto.string_field(2)


@dataclass
class OpenworldCloseStoryRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    story_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterGetShopDataReq(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterGetShopDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    shop: "OpenworldChapterShop" = betterproto.message_field(2)


@dataclass
class OpenworldChapterShopBuyGoodsReq(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)
    goods_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterShopBuyGoodsRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    shop_id: int = betterproto.uint32_field(2)
    goods_id: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class OpenworldChapterEndlessTowerGetRankReq(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterEndlessTowerGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    rank_percent: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterEndlessTowerTakeRewardReq(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterEndlessTowerTakeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)


@dataclass
class OpenworldChapterLevelUpHeroReq(betterproto.Message):
    hero_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterLevelUpHeroRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterEquipCardGroupReq(betterproto.Message):
    group_idx: int = betterproto.uint32_field(1)
    hero_id: int = betterproto.uint32_field(2)
    slot_list: List["OpenworldChapterHeroCardSlot"] = betterproto.message_field(3)


@dataclass
class OpenworldChapterEquipCardGroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterModifyCardGroupNameReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    group_idx: int = betterproto.uint32_field(2)
    group_name: str = betterproto.string_field(3)


@dataclass
class OpenworldChapterModifyCardGroupNameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterActiveCardGroupReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    group_idx: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterActiveCardGroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterDeleteCardGroupReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    group_idx: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterDeleteCardGroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterGetChallengeDataReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterChallengeGroup(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    max_challenge_index: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterGetChallengeDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    challenge_schedule_id: int = betterproto.uint32_field(3)
    open_group_list: List[int] = betterproto.uint32_field(4)
    group_list: List["OpenworldChapterChallengeGroup"] = betterproto.message_field(5)
    schedule_end_time: int = betterproto.uint32_field(6)


@dataclass
class OpenworldChapterFinishChallengeReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    challenge_index: int = betterproto.uint32_field(3)
    report_ext: str = betterproto.string_field(4)


@dataclass
class OpenworldChapterFinishChallengeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    group_id: int = betterproto.uint32_field(3)
    challenge_index: int = betterproto.uint32_field(4)
    reward_data: "RewardData" = betterproto.message_field(5)


@dataclass
class OpenworldChapterHeroCardLevelUpNotify(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)
    card_level: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterOpenHeroTreasureReq(betterproto.Message):
    pass


@dataclass
class OpenworldChapterOpenHeroTreasureRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class HuntActivityHunter(betterproto.Message):
    hunter_id: int = betterproto.uint32_field(1)
    state: "HuntActivityHunterState" = betterproto.enum_field(2)
    spawn_point: str = betterproto.string_field(3)


@dataclass
class HuntActivityMachine(betterproto.Message):
    machine_id: int = betterproto.uint32_field(1)
    state: int = betterproto.uint32_field(2)


@dataclass
class HuntActivityMapData(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    is_unlock: bool = betterproto.bool_field(2)
    open_time: int = betterproto.uint32_field(3)
    hunter: "HuntActivityHunter" = betterproto.message_field(4)
    machine_list: List["HuntActivityMachine"] = betterproto.message_field(5)
    show_stronghold_id_list: List[int] = betterproto.uint32_field(6)
    hard_level: int = betterproto.uint32_field(7)
    remain_stronghold_take_times: int = betterproto.uint32_field(8)
    quest_list: List["OpenworldQuest"] = betterproto.message_field(9)
    hunting_score: int = betterproto.uint32_field(10)
    finish_quest_num: int = betterproto.uint32_field(11)
    finish_stronghold_id_list: List[int] = betterproto.uint32_field(12)


@dataclass
class OpenworldHuntActivityGetDataReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldHuntActivityGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    map_data_list: List["HuntActivityMapData"] = betterproto.message_field(3)
    talent_list: List["OpenworldTalent"] = betterproto.message_field(4)


@dataclass
class OpenworldHuntActivityGetMapDataReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldHuntActivityGetMapDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_data: "HuntActivityMapData" = betterproto.message_field(2)


@dataclass
class OpenworldHuntActivityCommonStateChangeReq(betterproto.Message):
    type: "HuntActivityEntityType" = betterproto.enum_field(1)
    wanted_state: int = betterproto.uint32_field(2)
    map_id: int = betterproto.uint32_field(3)
    entity_id: int = betterproto.uint32_field(4)
    report_ext: str = betterproto.string_field(5)


@dataclass
class OpenworldHuntActivityCommonStateChangeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "HuntActivityEntityType" = betterproto.enum_field(2)
    map_id: int = betterproto.uint32_field(3)
    entity_id: int = betterproto.uint32_field(4)


@dataclass
class OpenworldHuntActivityTalentUpgradeReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)
    report_ext: str = betterproto.string_field(3)


@dataclass
class OpenworldHuntActivityTalentUpgradeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldHuntActivityFinishQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    cost_time: int = betterproto.uint32_field(3)
    report_ext: str = betterproto.string_field(4)


@dataclass
class OpenworldHuntActivityFinishQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    quest_id: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class OpenworldHuntActivityTakeStrongholdRewardNotify(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    stronghold_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class OpenworldHuntActivityChangeHunterAreaReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    hunter_id: int = betterproto.uint32_field(2)
    spawn_point: str = betterproto.string_field(3)


@dataclass
class OpenworldHuntActivityChangeHunterAreaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldHuntActivityReportHuntingScoreReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    hunting_score: int = betterproto.uint32_field(2)


@dataclass
class OpenworldHuntActivityReportHuntingScoreRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterChallengeBeginReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    challenge_index: int = betterproto.uint32_field(3)
    report_ext: str = betterproto.string_field(4)


@dataclass
class OpenworldChapterChallengeBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterEndlessChallengeBeginReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    challenge_id: int = betterproto.uint32_field(2)
    report_ext: str = betterproto.string_field(3)


@dataclass
class OpenworldChapterEndlessChallengeBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterEndlessChallengeEndReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    challenge_id: int = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)
    report_ext: str = betterproto.string_field(4)


@dataclass
class OpenworldChapterEndlessChallengeEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class OpenworldChapterLevelUpBuildingReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    main_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterLevelUpBuildingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterLevelUpBuildingFinishNotify(betterproto.Message):
    main_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    map_id: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterAccelerateLevelUpBuildingReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    main_id: int = betterproto.uint32_field(2)
    material_id: int = betterproto.uint32_field(3)
    material_num: int = betterproto.uint32_field(4)


@dataclass
class OpenworldChapterAccelerateLevelUpBuildingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterTerminalPeriodUpgradeReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    cur_level: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterTerminalPeriodUpgradeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterGetSelectQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterGetSelectQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_list: List["OpenworldQuest"] = betterproto.message_field(2)
    map_id: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterRefreshQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterRefreshQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_list: List["OpenworldQuest"] = betterproto.message_field(2)
    map_id: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterAcceptQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterAcceptQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest: "OpenworldQuest" = betterproto.message_field(2)
    map_id: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterFinishQuestReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    cost_time: int = betterproto.uint32_field(3)
    report_ext: str = betterproto.string_field(4)


@dataclass
class OpenworldChapterFinishQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    cost_time: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterTakeQuestRewardReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterTakeQuestRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class OpenworldChapterFurnaceStartWorkReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    formula_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterFurnaceStartWorkRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterFurnaceCancelWorkReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterFurnaceCancelWorkRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterFurnaceAccelerateWorkReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    material_id: int = betterproto.uint32_field(3)
    material_num: int = betterproto.uint32_field(4)


@dataclass
class OpenworldChapterFurnaceAccelerateWorkRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)


@dataclass
class TakeOpenworldChapterFurnaceWorkRewardReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class TakeOpenworldChapterFurnaceWorkRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class OpenworldChapterLevelUpTalentReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterLevelUpTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterActiveTalentReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    active_talent_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterActiveTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterDigSiteStartReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    main_id: int = betterproto.uint32_field(2)
    program_id: int = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterDigSiteStartRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterDigSiteCancelReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    main_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterDigSiteCancelRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterDigSiteTakeRewardReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    main_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterDigSiteTakeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class OpenworldChapterDigSiteAccelerateReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    main_id: int = betterproto.uint32_field(2)
    material_id: int = betterproto.uint32_field(3)
    material_num: int = betterproto.uint32_field(4)


@dataclass
class OpenworldChapterDigSiteAccelerateRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterMoonChallengeTowerGetDataReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterMoonChallengeTower(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    max_score: int = betterproto.uint32_field(2)
    save_point_floor: int = betterproto.uint32_field(3)
    max_finish_floor: int = betterproto.uint32_field(4)


@dataclass
class OpenworldChapterMoonChallengeTowerGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    daily_challenge_times: int = betterproto.uint32_field(3)
    challenge_tower_list: List["OpenworldChapterMoonChallengeTower"] = (
        betterproto.message_field(4)
    )


@dataclass
class OpenworldChapterMoonChallengeTowerBattleBeginReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterMoonChallengeTowerBattleBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    tower_id: int = betterproto.uint32_field(3)
    cur_floor: int = betterproto.uint32_field(4)
    cur_score: int = betterproto.uint32_field(5)


@dataclass
class OpenworldChapterMoonChallengeTowerBattleEndReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)
    end_floor: int = betterproto.uint32_field(3)
    score: int = betterproto.uint32_field(4)
    battle_end_status: "MoonChallengeTowerBattleEndStatus" = betterproto.enum_field(5)
    cost_time: int = betterproto.uint32_field(6)


@dataclass
class OpenworldChapterMoonChallengeTowerBattleEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    tower_id: int = betterproto.uint32_field(3)
    end_floor: int = betterproto.uint32_field(4)
    score: int = betterproto.uint32_field(5)
    old_max_score: int = betterproto.uint32_field(6)
    save_point_floor: int = betterproto.uint32_field(7)
    score_drop_material: "Material" = betterproto.message_field(8)
    save_point_drop_material: "Material" = betterproto.message_field(9)
    save_point_drop_terminal_exp: int = betterproto.uint32_field(10)
    battle_end_status: "MoonChallengeTowerBattleEndStatus" = betterproto.enum_field(11)


@dataclass
class OpenworldChapterMoonChallengeTowerSweepReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterMoonChallengeTowerSweepRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    tower_id: int = betterproto.uint32_field(3)
    score_drop_material: "Material" = betterproto.message_field(4)


@dataclass
class OpenworldChapterMoonChallengeTowerGetRankReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterMoonChallengeTowerGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    tower_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    rank_percent: int = betterproto.uint32_field(5)


@dataclass
class OpenworldChapterMoonRelicsChangeReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    relics_id: int = betterproto.uint32_field(2)


@dataclass
class OpenworldChapterMoonRelicsChangeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    relics_id: int = betterproto.uint32_field(3)
    reward: "RewardData" = betterproto.message_field(4)


@dataclass
class OpenworldChapterQTEMapEndReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    qte_map_id: int = betterproto.uint32_field(2)
    normal_drop_num: int = betterproto.uint32_field(3)
    is_got_last_reward: bool = betterproto.bool_field(4)
    end_status: "QTEMapEndStatus" = betterproto.enum_field(5)
    report_ext: str = betterproto.string_field(6)


@dataclass
class OpenworldChapterQTEMapEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    normal_drop_material: "Material" = betterproto.message_field(2)
    last_reward_material: "Material" = betterproto.message_field(3)


@dataclass
class OpenworldChapterReportDropItemReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    drop_item_list: List["DropItem"] = betterproto.message_field(2)


@dataclass
class OpenworldChapterReportDropItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterAntiGravityData(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    is_unlock: bool = betterproto.bool_field(2)
    finish_coin_index_list: List[int] = betterproto.uint32_field(3)


@dataclass
class OpenworldChapterGetAntiGravityDataReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class OpenworldChapterGetAntiGravityDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    map_id: int = betterproto.uint32_field(2)
    antigravity_stage_data_list: List["OpenworldChapterAntiGravityData"] = (
        betterproto.message_field(3)
    )


@dataclass
class PjmsWorld(betterproto.Message):
    world_id: int = betterproto.uint32_field(1)
    entity_list: List["PjmsEntity"] = betterproto.message_field(2)
    world_time: int = betterproto.uint32_field(3)
    kill_monster_guid_list: List[int] = betterproto.uint32_field(4)
    active_group_list: List["PjmsGroup"] = betterproto.message_field(5)


@dataclass
class PjmsTeleport(betterproto.Message):
    teleport_id: int = betterproto.uint32_field(1)
    status: "PjmsTeleportStatus" = betterproto.enum_field(2)


@dataclass
class PjmsMap(betterproto.Message):
    unlock_fog_id_list: List[int] = betterproto.uint32_field(1)
    teleport_list: List["PjmsTeleport"] = betterproto.message_field(2)


@dataclass
class PjmsGadget(betterproto.Message):
    state: int = betterproto.uint32_field(1)


@dataclass
class PjmsNpc(betterproto.Message):
    state: int = betterproto.uint32_field(1)


@dataclass
class PjmsEntity(betterproto.Message):
    guid: int = betterproto.uint32_field(1)
    type: int = betterproto.uint32_field(2)
    gadget: "PjmsGadget" = betterproto.message_field(3)
    npc: "PjmsNpc" = betterproto.message_field(4)


@dataclass
class PjmsGroup(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    state: int = betterproto.uint32_field(2)
    create_time: int = betterproto.uint32_field(3)


@dataclass
class PjmsEventChapterLevelUpParam(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    cur_chapter_level: int = betterproto.uint32_field(2)


@dataclass
class PjmsEventFinishStoryParam(betterproto.Message):
    story_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsEventAddMaterialParam(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    add_num: int = betterproto.int32_field(2)


@dataclass
class PjmsEventEnterWorldParam(betterproto.Message):
    world_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsEventLevelUpParam(betterproto.Message):
    level: int = betterproto.uint32_field(1)


@dataclass
class PjmsEventKillMonsterParam(betterproto.Message):
    monster_guid: int = betterproto.uint32_field(1)
    world_id: int = betterproto.uint32_field(2)
    group_id: int = betterproto.uint32_field(3)


@dataclass
class PjmsEventGadgetStateChangeParam(betterproto.Message):
    gadget_guid: int = betterproto.uint32_field(1)
    cur_state: int = betterproto.uint32_field(2)
    world_id: int = betterproto.uint32_field(3)
    group_id: int = betterproto.uint32_field(4)


@dataclass
class PjmsEventGroupStateChangeParam(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    cur_state: int = betterproto.uint32_field(2)


@dataclass
class PjmsEventSetWorldTimeParam(betterproto.Message):
    world_time: int = betterproto.uint32_field(1)


@dataclass
class PjmsEventFinishStageIdParam(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsEventFinishMissionParam(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsEventGroupActiveChangeParam(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    is_active: bool = betterproto.bool_field(2)


@dataclass
class PjmsEventShopBuyGoodsParam(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)
    goods_id: int = betterproto.uint32_field(2)
    goods_num: int = betterproto.uint32_field(3)


@dataclass
class PjmsEventLeaveWorldParam(betterproto.Message):
    world_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsEvent(betterproto.Message):
    type: "PjmsEventType" = betterproto.enum_field(1)
    finish_story_param: "PjmsEventFinishStoryParam" = betterproto.message_field(2)
    add_material_param: "PjmsEventAddMaterialParam" = betterproto.message_field(3)
    enter_world_param: "PjmsEventEnterWorldParam" = betterproto.message_field(4)
    level_up_param: "PjmsEventLevelUpParam" = betterproto.message_field(5)
    kill_monster_param: "PjmsEventKillMonsterParam" = betterproto.message_field(6)
    gadget_state_change_param: "PjmsEventGadgetStateChangeParam" = (
        betterproto.message_field(7)
    )
    group_state_change_param: "PjmsEventGroupStateChangeParam" = (
        betterproto.message_field(8)
    )
    set_world_time_param: "PjmsEventSetWorldTimeParam" = betterproto.message_field(9)
    finish_stage_id_param: "PjmsEventFinishStageIdParam" = betterproto.message_field(10)
    chapter_level_up_param: "PjmsEventChapterLevelUpParam" = betterproto.message_field(
        11
    )
    finish_mission_param: "PjmsEventFinishMissionParam" = betterproto.message_field(12)
    group_active_change_param: "PjmsEventGroupActiveChangeParam" = (
        betterproto.message_field(13)
    )
    shop_buy_goods_param: "PjmsEventShopBuyGoodsParam" = betterproto.message_field(14)
    leave_world_param: "PjmsEventLeaveWorldParam" = betterproto.message_field(15)


@dataclass
class PjmsStory(betterproto.Message):
    story_id: int = betterproto.uint32_field(1)
    status: int = betterproto.uint32_field(2)
    progress: int = betterproto.uint32_field(3)


@dataclass
class PjmsEnterWorldReq(betterproto.Message):
    world_id: int = betterproto.uint32_field(1)
    teleport_id: int = betterproto.uint32_field(2)


@dataclass
class PjmsEnterWorldRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    world: "PjmsWorld" = betterproto.message_field(2)
    teleport_id: int = betterproto.uint32_field(3)
    formation: "PjmsFormation" = betterproto.message_field(4)
    world_transaction_str: str = betterproto.string_field(5)


@dataclass
class PjmsGetCurWorldReq(betterproto.Message):
    pass


@dataclass
class PjmsGetCurWorldRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    world: "PjmsWorld" = betterproto.message_field(2)


@dataclass
class PjmsChapter(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    exp: int = betterproto.uint32_field(3)
    cur_track_series_id: int = betterproto.uint32_field(4)
    talent_level: int = betterproto.uint32_field(5)
    formation: "PjmsFormation" = betterproto.message_field(6)
    unit_info: "PjmsUnitInfo" = betterproto.message_field(7)
    last_take_chapter_reward_material_num: int = betterproto.uint32_field(8)
    last_take_chapter_reward_level: int = betterproto.uint32_field(9)
    finish_daily_quest_series_id_list: List[int] = betterproto.uint32_field(10)
    chapter_shadowlake: "ChapterShadowLake" = betterproto.message_field(11)
    playing_bgm_id: int = betterproto.uint32_field(12)


@dataclass
class PjmsUnitInfo(betterproto.Message):
    core_unit_list: List["PjmsCoreUnit"] = betterproto.message_field(1)
    auxiliary_unit_list: List["PjmsAuxiliaryUnit"] = betterproto.message_field(2)
    cur_unit_set_id: int = betterproto.uint32_field(3)
    unit_set_list: List["PjmsUnitSet"] = betterproto.message_field(4)


@dataclass
class PjmsGetMainDataReq(betterproto.Message):
    pass


@dataclass
class PjmsGetMainDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    world: "PjmsWorld" = betterproto.message_field(2)
    map: "PjmsMap" = betterproto.message_field(3)
    gender_type: int = betterproto.uint32_field(4)
    world_time: int = betterproto.uint32_field(5)
    name: str = betterproto.string_field(6)
    name_cd_end_time: int = betterproto.uint32_field(7)
    gender_cd_end_time: int = betterproto.uint32_field(8)
    world_transaction_str: str = betterproto.string_field(9)
    first_set_name: str = betterproto.string_field(10)


@dataclass
class PjmsGetStoryDataReq(betterproto.Message):
    pass


@dataclass
class PjmsStorySeriesData(betterproto.Message):
    story_series_id: int = betterproto.uint32_field(1)
    story_list: List["PjmsStory"] = betterproto.message_field(2)


@dataclass
class PjmsGetStoryDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    finished_story_series_id_list: List[int] = betterproto.uint32_field(2)
    story_list: List["PjmsStory"] = betterproto.message_field(3)
    accepted_series_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class PjmsStoryFinishData(betterproto.Message):
    story_id: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class PjmsStorySeriesFinishData(betterproto.Message):
    story_series_id: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class PjmsStoryProgressData(betterproto.Message):
    story_id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)


@dataclass
class PjmsUpdateStoryProgressNotify(betterproto.Message):
    story_progress_data_list: List["PjmsStoryProgressData"] = betterproto.message_field(
        1
    )


@dataclass
class PjmsSyncMapInfoNotify(betterproto.Message):
    map: "PjmsMap" = betterproto.message_field(1)


@dataclass
class PjmsUpdateEntityNotify(betterproto.Message):
    inactive_entity_guid_list: List[int] = betterproto.uint32_field(1)
    update_active_entity_list: List["PjmsEntity"] = betterproto.message_field(2)
    inactive_group_id_list: List[int] = betterproto.uint32_field(3)
    refresh_group_id_list: List[int] = betterproto.uint32_field(4)
    active_group_list: List["PjmsGroup"] = betterproto.message_field(5)
    revive_monster_guid_list: List[int] = betterproto.uint32_field(6)


@dataclass
class PjmsUpdateStoryProgressReq(betterproto.Message):
    finish_param_uint: int = betterproto.uint32_field(1)
    finish_param_str: str = betterproto.string_field(2)


@dataclass
class PjmsUpdateStoryProgressRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    finish_param_uint: int = betterproto.uint32_field(2)
    finish_param_str: str = betterproto.string_field(3)


@dataclass
class PjmsKillMonsterReq(betterproto.Message):
    guid: int = betterproto.uint32_field(1)


@dataclass
class PjmsKillMonsterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    guid: int = betterproto.uint32_field(2)


@dataclass
class PjmsChangeGadgetStateReq(betterproto.Message):
    guid: int = betterproto.uint32_field(1)
    current_state: int = betterproto.uint32_field(2)
    target_state: int = betterproto.uint32_field(3)


@dataclass
class PjmsChangeGadgetStateRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    guid: int = betterproto.uint32_field(2)
    current_state: int = betterproto.uint32_field(3)
    target_state: int = betterproto.uint32_field(4)


@dataclass
class PjmsActiveGroupReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    is_active: bool = betterproto.bool_field(2)
    graph_id: int = betterproto.uint32_field(3)


@dataclass
class PjmsActiveGroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    is_current_active: bool = betterproto.bool_field(3)
    graph_id: int = betterproto.uint32_field(4)


@dataclass
class PjmsActiveEntityReq(betterproto.Message):
    entity_guid_list: List[int] = betterproto.uint32_field(1)
    is_active: bool = betterproto.bool_field(2)
    graph_id: int = betterproto.uint32_field(3)


@dataclass
class PjmsActiveEntityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    entity_guid_list: List[int] = betterproto.uint32_field(2)
    is_active: bool = betterproto.bool_field(3)
    fail_entity_guid_list: List[int] = betterproto.uint32_field(4)
    graph_id: int = betterproto.uint32_field(5)


@dataclass
class PjmsSetWorldTimeReq(betterproto.Message):
    target_time: int = betterproto.uint32_field(1)


@dataclass
class PjmsSetWorldTimeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_time: int = betterproto.uint32_field(2)


@dataclass
class DropFrom(betterproto.Message):
    from_type: int = betterproto.uint32_field(1)
    param_int: int = betterproto.uint32_field(2)


@dataclass
class PjmsCommonDropNotify(betterproto.Message):
    drop_item_list: List["DropItem"] = betterproto.message_field(1)
    drop_from: "DropFrom" = betterproto.message_field(2)
    hcoin: int = betterproto.uint32_field(3)


@dataclass
class PjmsChangeChapterReq(betterproto.Message):
    select_chapter_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsChangeChapterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_chapter: "PjmsChapter" = betterproto.message_field(2)
    cur_world: "PjmsWorld" = betterproto.message_field(3)
    world_transaction_str: str = betterproto.string_field(4)


@dataclass
class PjmsSetCurAvatarReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    cur_avatar_id: int = betterproto.uint32_field(2)
    is_elf_mode: bool = betterproto.bool_field(3)


@dataclass
class PjmsSetCurAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    cur_avatar_id: int = betterproto.uint32_field(3)
    is_elf_mode: bool = betterproto.bool_field(4)


@dataclass
class PjmsAvatarStatus(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    sp_percent: int = betterproto.uint32_field(2)
    hp_percent: int = betterproto.uint32_field(3)


@dataclass
class PjmsFormation(betterproto.Message):
    cur_avatar_id: int = betterproto.uint32_field(1)
    elf_id: int = betterproto.uint32_field(2)
    is_elf_mode: bool = betterproto.bool_field(3)
    star_ring_energy: int = betterproto.uint32_field(4)
    avatar_id_list: List[int] = betterproto.uint32_field(5)


@dataclass
class PjmsUpdateFormationReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    avatar_list: List[int] = betterproto.uint32_field(2)
    elf_id: int = betterproto.uint32_field(3)


@dataclass
class PjmsUpdateFormationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    formation: "PjmsFormation" = betterproto.message_field(3)


@dataclass
class PjmsUpdateAvatarStatusReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    avatar_status_list: List["PjmsAvatarStatus"] = betterproto.message_field(2)
    star_ring_energy: int = betterproto.uint32_field(3)


@dataclass
class PjmsUpdateAvatarStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    avatar_status_list: List["PjmsAvatarStatus"] = betterproto.message_field(3)
    star_ring_energy: int = betterproto.uint32_field(4)


@dataclass
class PjmsGetAvatarStatusReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    avatar_id_list: List[int] = betterproto.uint32_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class PjmsGetAvatarStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    avatar_status_list: List["PjmsAvatarStatus"] = betterproto.message_field(3)
    is_all: bool = betterproto.bool_field(4)
    star_ring_energy: int = betterproto.uint32_field(5)


@dataclass
class PjmsUpdateChapterNotify(betterproto.Message):
    cur_chapter: "PjmsChapter" = betterproto.message_field(1)


@dataclass
class PjmsLevelUpTalentReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    target_level: int = betterproto.uint32_field(2)


@dataclass
class PjmsLevelUpTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    cur_talent_level: int = betterproto.uint32_field(3)
    cur_chapter_level: int = betterproto.uint32_field(4)


@dataclass
class ChapterShadowLake(betterproto.Message):
    max_energy_num: int = betterproto.uint32_field(1)
    energy_num: int = betterproto.uint32_field(2)


@dataclass
class PjmsSetNameReq(betterproto.Message):
    name: str = betterproto.string_field(1)
    is_first: bool = betterproto.bool_field(2)


@dataclass
class PjmsSetNameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    name: str = betterproto.string_field(2)
    cd_end_time: int = betterproto.uint32_field(3)
    first_set_name: str = betterproto.string_field(4)


@dataclass
class PjmsSetGenderReq(betterproto.Message):
    gender_type: "PjmsGenderType" = betterproto.enum_field(1)


@dataclass
class PjmsSetGenderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    gender_type: "PjmsGenderType" = betterproto.enum_field(2)
    cd_end_time: int = betterproto.uint32_field(3)


@dataclass
class PjmsGetUnitInfoReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsGetUnitInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    unit_info: "PjmsUnitInfo" = betterproto.message_field(3)


@dataclass
class PjmsLevelUpCoreUnitReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    unit_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class PjmsLevelUpCoreUnitRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    unit_id: int = betterproto.uint32_field(3)
    target_level: int = betterproto.uint32_field(4)
    before_level: int = betterproto.uint32_field(5)


@dataclass
class PjmsLevelUpAuxiliaryUnitReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    cur_level: int = betterproto.uint32_field(3)
    cur_exp: int = betterproto.uint32_field(4)
    cost_material_list: List["Material"] = betterproto.message_field(5)
    cost_auxiliary_unique_id_list: List[int] = betterproto.uint32_field(6)


@dataclass
class PjmsLevelUpAuxiliaryUnitRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    unit_before: "PjmsAuxiliaryUnit" = betterproto.message_field(3)
    unit_after: "PjmsAuxiliaryUnit" = betterproto.message_field(4)
    return_material_list: List["Material"] = betterproto.message_field(5)


@dataclass
class PjmsUnitSetChangeNotify(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    cur_unit_set_id: int = betterproto.uint32_field(2)
    updated_unit_set_list: List["PjmsUnitSet"] = betterproto.message_field(3)


@dataclass
class PjmsUnitSetSlot(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    id: int = betterproto.uint32_field(2)


@dataclass
class PjmsUnitSet(betterproto.Message):
    set_id: int = betterproto.uint32_field(1)
    slot_list: List["PjmsUnitSetSlot"] = betterproto.message_field(2)


@dataclass
class PjmsSetCurUnitSetReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    set_id: int = betterproto.uint32_field(2)


@dataclass
class PjmsSetCurUnitSetRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    cur_set_id: int = betterproto.uint32_field(3)


@dataclass
class PjmsChangeUnitSetSlotReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    set_id: int = betterproto.uint32_field(2)
    slot: "PjmsUnitSetSlot" = betterproto.message_field(3)


@dataclass
class PjmsChangeUnitSetSlotRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    set_data: "PjmsUnitSet" = betterproto.message_field(3)


@dataclass
class PjmsUnitChangeNotify(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    updated_core_unit_list: List["PjmsCoreUnit"] = betterproto.message_field(2)
    updated_auxiliary_unit_list: List["PjmsAuxiliaryUnit"] = betterproto.message_field(
        3
    )
    deleted_auxiliary_unique_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class PjmsChangeBgmReq(betterproto.Message):
    bgm_id: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)


@dataclass
class PjmsChangeBgmRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    bgm_id: int = betterproto.uint32_field(2)
    chapter_id: int = betterproto.uint32_field(3)


@dataclass
class PjmsTakeChapterRewardReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsTakeChapterRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    last_take_reward_material_num: int = betterproto.uint32_field(4)


@dataclass
class PjmsDisjoinAuxiliaryUnitReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    unique_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class PjmsDisjoinAuxiliaryUnitRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    return_material_list: List["Material"] = betterproto.message_field(3)


@dataclass
class PjmsResidentStageRestrict(betterproto.Message):
    restrict_id: int = betterproto.uint32_field(1)
    weekly_enter_times: int = betterproto.uint32_field(2)


@dataclass
class PjmsGetResidentStageDataReq(betterproto.Message):
    pass


@dataclass
class PjmsGetResidentStageDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    restrict_list: List["PjmsResidentStageRestrict"] = betterproto.message_field(2)


@dataclass
class PjmsGetExploreScoreReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsExploreScore(betterproto.Message):
    explore_id: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class PjmsGetExploreScoreRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    explore_score_list: List["PjmsExploreScore"] = betterproto.message_field(3)


@dataclass
class PjmsGetHomeDataReq(betterproto.Message):
    pass


@dataclass
class PjmsGetHomeDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    unlock_bgm_id_list: List[int] = betterproto.uint32_field(2)
    unlock_furniture_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class PjmsGetAchievementDataReq(betterproto.Message):
    pass


@dataclass
class PjmsAchievement(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    finish_time: int = betterproto.uint32_field(2)


@dataclass
class PjmsAchievementSection(betterproto.Message):
    section_id: int = betterproto.uint32_field(1)
    is_take_platinum_reward: bool = betterproto.bool_field(2)
    achievement_list: List["PjmsAchievement"] = betterproto.message_field(3)


@dataclass
class PjmsGetAchievementDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    section_list: List["PjmsAchievementSection"] = betterproto.message_field(2)


@dataclass
class PjmsTakeAchievementPlatinumRewardReq(betterproto.Message):
    section_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsTakeAchievementPlatinumRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    section_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class PjmsTakeChapterLevelRewardReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsTakeChapterLevelRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    last_take_chapter_reward_level: int = betterproto.uint32_field(4)


@dataclass
class PjmsRefreshGroupReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    create_time: int = betterproto.uint32_field(2)
    graph_id: int = betterproto.uint32_field(3)


@dataclass
class PjmsRefreshGroupRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    cur_create_time: int = betterproto.uint32_field(3)
    graph_id: int = betterproto.uint32_field(4)


@dataclass
class PjmsStageBeginRspBody(betterproto.Message):
    world: "PjmsWorld" = betterproto.message_field(1)


@dataclass
class PjmsSetAuxiliaryUnitLockStatusReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    lock_status: "PjmsAuxiliaryUnitLockStatus" = betterproto.enum_field(3)


@dataclass
class PjmsSetAuxiliaryUnitLockStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    unique_id: int = betterproto.uint32_field(3)


@dataclass
class PjmsReviveAvatarReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    revive_use_id: int = betterproto.uint32_field(3)
    revive_seed: int = betterproto.uint32_field(4)


@dataclass
class PjmsReviveAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    avatar_id: int = betterproto.uint32_field(3)
    revive_times: int = betterproto.uint32_field(4)
    revive_seed: int = betterproto.uint32_field(5)


@dataclass
class PjmsFinishConsumeMaterialStoryReq(betterproto.Message):
    story_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsFinishConsumeMaterialStoryRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    story_id: int = betterproto.uint32_field(2)


@dataclass
class PjmsStoryStatusData(betterproto.Message):
    finished_story_data: "PjmsStoryFinishData" = betterproto.message_field(1)
    finished_story_series_data: "PjmsStorySeriesFinishData" = betterproto.message_field(
        2
    )
    accepted_story_id: int = betterproto.uint32_field(3)
    accepted_series_id: int = betterproto.uint32_field(4)


@dataclass
class PjmsStoryStatusNotify(betterproto.Message):
    story_status_list: List["PjmsStoryStatusData"] = betterproto.message_field(1)


@dataclass
class PjmsChangeNpcStateReq(betterproto.Message):
    npc_guid: int = betterproto.uint32_field(1)
    target_state: int = betterproto.uint32_field(2)


@dataclass
class PjmsChangeNpcStateRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    npc_guid: int = betterproto.uint32_field(2)
    cur_state: int = betterproto.uint32_field(3)


@dataclass
class PjmsAddShadowLakeEnergyReq(betterproto.Message):
    add_energy_num: int = betterproto.uint32_field(1)
    cur_energy_num: int = betterproto.uint32_field(2)


@dataclass
class PjmsAddShadowLakeEnergyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    add_energy_num: int = betterproto.uint32_field(2)
    cur_energy_num: int = betterproto.uint32_field(3)


@dataclass
class PjmsSubShadowLakeEnergyReq(betterproto.Message):
    sub_energy_num: int = betterproto.uint32_field(1)
    cur_energy_num: int = betterproto.uint32_field(2)


@dataclass
class PjmsSubShadowLakeEnergyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    sub_energy_num: int = betterproto.uint32_field(2)
    cur_energy_num: int = betterproto.uint32_field(3)


@dataclass
class PjmsShadowLakeNotify(betterproto.Message):
    chapter_shadowlake: "ChapterShadowLake" = betterproto.message_field(1)


@dataclass
class PjmsGetChapterDataReq(betterproto.Message):
    is_all: bool = betterproto.bool_field(1)
    chapter_id: int = betterproto.uint32_field(2)


@dataclass
class PjmsGetChapterDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)
    chapter_list: List["PjmsChapter"] = betterproto.message_field(3)
    cur_chapter_id: int = betterproto.uint32_field(4)


@dataclass
class PjmsGetActivityPanelReq(betterproto.Message):
    pass


@dataclass
class PjmsActivityPanel(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    is_resident: bool = betterproto.bool_field(4)
    advance_begin_time: int = betterproto.uint32_field(5)
    advance_end_time: int = betterproto.uint32_field(6)
    min_level: int = betterproto.uint32_field(7)


@dataclass
class PjmsGetActivityPanelRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_panel_list: List["PjmsActivityPanel"] = betterproto.message_field(2)


@dataclass
class PjmsResidentStageGetRankReq(betterproto.Message):
    rank_group_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsResidentStageGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rank_group_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)
    rank_percent: int = betterproto.uint32_field(4)
    rank: int = betterproto.uint32_field(5)


@dataclass
class PjmsGetRecoveryRecordReq(betterproto.Message):
    pass


@dataclass
class PjmsRecoveryRecord(betterproto.Message):
    target_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)
    last_recover_time: int = betterproto.uint32_field(3)


@dataclass
class PjmsGetRecoveryRecordRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    recovery_record_list: List["PjmsRecoveryRecord"] = betterproto.message_field(2)


@dataclass
class PjmsRecordRecoveryActionReq(betterproto.Message):
    triggered_record_list: List["PjmsRecoveryRecord"] = betterproto.message_field(1)


@dataclass
class PjmsRecordRecoveryActionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    recovery_record_list: List["PjmsRecoveryRecord"] = betterproto.message_field(2)


@dataclass
class PjmsCondition(betterproto.Message):
    condition_id: int = betterproto.uint32_field(1)
    is_match: bool = betterproto.bool_field(2)


@dataclass
class PjmsGetConditionDataReq(betterproto.Message):
    pass


@dataclass
class PjmsGetConditionDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    condition_list: List["PjmsCondition"] = betterproto.message_field(2)


@dataclass
class PjmsChapterTrackStorySeriesReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    track_series_id: int = betterproto.uint32_field(2)


@dataclass
class PjmsChapterTrackStorySeriesRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    cur_track_series_id: int = betterproto.uint32_field(3)


@dataclass
class PjmsLeaveCurWorldReq(betterproto.Message):
    pass


@dataclass
class PjmsLeaveCurWorldRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class PjmsChapterActiveEcologyTalkReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    talk_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class PjmsChapterActiveEcologyTalkRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)


@dataclass
class PjmsTrackStorySeriesReq(betterproto.Message):
    track_series_id: int = betterproto.uint32_field(1)
    category_id: int = betterproto.uint32_field(2)


@dataclass
class PjmsTrackStorySeriesRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class PjmsSkipStoryReq(betterproto.Message):
    skip_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsSkipStoryRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    skip_id: int = betterproto.uint32_field(2)
    skipped_story_list: List[int] = betterproto.uint32_field(3)


@dataclass
class PlatformShooterGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class PlatformShooterWeaponAffix(betterproto.Message):
    cur_affix_id: int = betterproto.uint32_field(1)
    wait_confirm_affix_id: int = betterproto.uint32_field(2)


@dataclass
class PlatformShooterWeapon(betterproto.Message):
    weapon_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    affix_list: List["PlatformShooterWeaponAffix"] = betterproto.message_field(3)


@dataclass
class PlatformShooterQAvatar(betterproto.Message):
    qavatar_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class PlatformShooterWeaponPool(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    status: "PlatformShooterWeaponPoolStatus" = betterproto.enum_field(2)
    has_got_weapon_list: List[int] = betterproto.uint32_field(3)


@dataclass
class PlatformShooterDailyStageInfo(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    room_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class PlatformShooterActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    qavatar_list: List["PlatformShooterQAvatar"] = betterproto.message_field(2)
    weapon_list: List["PlatformShooterWeapon"] = betterproto.message_field(3)
    daily_challenge_has_drop_num: int = betterproto.uint32_field(4)
    daily_stage_info_list: List["PlatformShooterDailyStageInfo"] = (
        betterproto.message_field(5)
    )
    cur_daily_challenge_schedule_id: int = betterproto.uint32_field(6)


@dataclass
class PlatformShooterGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "PlatformShooterActivity" = betterproto.message_field(2)


@dataclass
class PlatformShooterQAvatarLevelUpReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    qavatar_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class PlatformShooterQAvatarLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    qavatar: "PlatformShooterQAvatar" = betterproto.message_field(3)


@dataclass
class PlatformShooterWeaponPoolGetDisplayReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class PlatformShooterWeaponPoolGetDisplayRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    gacha_random: int = betterproto.uint32_field(3)
    pool_list: List["PlatformShooterWeaponPool"] = betterproto.message_field(4)


@dataclass
class PlatformShooterWeaponPoolGachaReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    gacha_random: int = betterproto.uint32_field(2)


@dataclass
class PlatformShooterWeaponPoolGachaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    new_gacha_random: int = betterproto.uint32_field(3)
    pool_list: List["PlatformShooterWeaponPool"] = betterproto.message_field(4)
    pool_id: int = betterproto.uint32_field(5)
    weapon: "PlatformShooterWeapon" = betterproto.message_field(6)


@dataclass
class PlatformShooterWeaponAffixRefineReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    weapon_id: int = betterproto.uint32_field(2)
    affix_index_list: List[int] = betterproto.uint32_field(3)
    type: "PlatformShooterWeaponAffixRefineType" = betterproto.enum_field(4)
    is_retry: bool = betterproto.bool_field(5)


@dataclass
class PlatformShooterWeaponAffixRefineRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    weapon: "PlatformShooterWeapon" = betterproto.message_field(3)


@dataclass
class PlatformShooterWeaponAffixConfirmInfo(betterproto.Message):
    affix_index: int = betterproto.uint32_field(1)
    type: "PlatformShooterWeaponAffixConfirmType" = betterproto.enum_field(2)


@dataclass
class PlatformShooterWeaponAffixConfirmReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    weapon_id: int = betterproto.uint32_field(2)
    affix_index: int = betterproto.uint32_field(3)
    type: "PlatformShooterWeaponAffixConfirmType" = betterproto.enum_field(4)
    confirm_info_list: List["PlatformShooterWeaponAffixConfirmInfo"] = (
        betterproto.message_field(5)
    )


@dataclass
class PlatformShooterWeaponAffixConfirmRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    weapon: "PlatformShooterWeapon" = betterproto.message_field(3)


@dataclass
class PlatformShooterGetRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class PlatformShooterGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank: int = betterproto.uint32_field(6)


@dataclass
class PvzGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class PvzQAvatar(betterproto.Message):
    qavatar_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    is_special_material_unlocked: bool = betterproto.bool_field(3)


@dataclass
class PvzSiteDropMaterial(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    has_drop_num: int = betterproto.uint32_field(2)


@dataclass
class PvzSiteInfo(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)
    site_type: "PvzSiteType" = betterproto.enum_field(3)
    has_drop_material_list: List["PvzSiteDropMaterial"] = betterproto.message_field(4)


@dataclass
class PvzActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unlocked_qavatar_list: List["PvzQAvatar"] = betterproto.message_field(2)
    site_info_list: List["PvzSiteInfo"] = betterproto.message_field(3)
    challenge_max_finish_wave: int = betterproto.uint32_field(4)


@dataclass
class PvzGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    pvz_activity: "PvzActivity" = betterproto.message_field(2)


@dataclass
class PvzBattleBeginReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)
    floor_id: int = betterproto.uint32_field(3)
    qavatar_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class PvzBattleBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    tower_id: int = betterproto.uint32_field(3)
    floor_id: int = betterproto.uint32_field(4)
    qavatar_list: List["PvzQAvatar"] = betterproto.message_field(5)
    game_type: int = betterproto.uint32_field(6)


@dataclass
class PvzBattleEndReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    end_status: "PvzBattleEndStatus" = betterproto.enum_field(2)
    finish_wave: int = betterproto.uint32_field(3)
    tower_id: int = betterproto.uint32_field(4)
    floor_id: int = betterproto.uint32_field(5)
    cost_time: int = betterproto.uint32_field(6)
    left_hp: int = betterproto.uint32_field(7)
    used_coin_num: int = betterproto.uint32_field(8)


@dataclass
class PvzBattleEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    tower_id: int = betterproto.uint32_field(3)
    floor_id: int = betterproto.uint32_field(4)
    end_status: "PvzBattleEndStatus" = betterproto.enum_field(5)
    finish_wave: int = betterproto.uint32_field(6)
    max_finish_wave: int = betterproto.uint32_field(7)
    reward_data: "RewardData" = betterproto.message_field(8)
    qavatar_list: List["PvzQAvatar"] = betterproto.message_field(9)
    site_id: int = betterproto.uint32_field(10)
    cost_time: int = betterproto.uint32_field(11)
    left_hp: int = betterproto.uint32_field(12)
    used_coin_num: int = betterproto.uint32_field(13)


@dataclass
class PvzQAvatarLevelUpReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    qavatar_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class PvzQAvatarLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    qavatar_id: int = betterproto.uint32_field(3)
    target_level: int = betterproto.uint32_field(4)


@dataclass
class QAvatarBattleMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    region_name: str = betterproto.string_field(2)
    nickname: str = betterproto.string_field(3)
    level: int = betterproto.uint32_field(4)
    frame_id: int = betterproto.uint32_field(5)
    custom_head_id: int = betterproto.uint32_field(6)
    division: int = betterproto.uint32_field(7)
    elo_score: int = betterproto.uint32_field(8)
    choose_virtual_avatar: "VirtualAvatar" = betterproto.message_field(9)
    camp_id: int = betterproto.uint32_field(10)


@dataclass
class QAvatarBattleBeginNotify(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    fightserver_ip: int = betterproto.uint32_field(3)
    fightserver_port: int = betterproto.uint32_field(4)
    chatworld_id: int = betterproto.uint32_field(5)
    scene_id: int = betterproto.uint32_field(6)
    fightserver_ip_v4: str = betterproto.string_field(7)
    fightserver_ip_v6: str = betterproto.string_field(8)
    lobby_id: int = betterproto.uint32_field(9)
    battle_id: int = betterproto.uint32_field(10)
    battle_start_time: int = betterproto.uint32_field(11)
    member_list: List["QAvatarBattleMember"] = betterproto.message_field(12)


@dataclass
class QAvatarBattleFightInfo(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    kill_num: int = betterproto.uint32_field(2)
    dead_num: int = betterproto.uint32_field(3)
    rank: int = betterproto.uint32_field(4)
    is_mvp: bool = betterproto.bool_field(5)
    is_win: bool = betterproto.bool_field(6)
    max_hp: int = betterproto.uint32_field(7)
    cur_hp: int = betterproto.uint32_field(8)
    reborn_time_ms_u64: int = betterproto.uint64_field(9)
    max_sp: int = betterproto.uint32_field(10)
    cur_sp: int = betterproto.uint32_field(11)
    damage_caused: int = betterproto.uint32_field(12)


@dataclass
class QAvatarBattleSettleNotify(betterproto.Message):
    end_reason: "QAvatarBattleEndReason" = betterproto.enum_field(1)
    tale_id: int = betterproto.uint32_field(2)
    site_id: int = betterproto.uint32_field(3)
    lobby_id: int = betterproto.uint32_field(4)
    battle_start_time: int = betterproto.uint32_field(5)
    previous_score: int = betterproto.uint32_field(6)
    cur_score: int = betterproto.uint32_field(7)
    fight_info_list: List["QAvatarBattleFightInfo"] = betterproto.message_field(8)
    get_material_list: List["Material"] = betterproto.message_field(9)
    member_list: List["QAvatarBattleMember"] = betterproto.message_field(10)


@dataclass
class QAvatarBattleGetLobbyInfoReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    lobby_id: int = betterproto.uint32_field(2)


@dataclass
class QAvatarBattleGetLobbyInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    lobby_id: int = betterproto.uint32_field(3)
    lobby_status: int = betterproto.uint32_field(4)
    fightserver_ip: int = betterproto.uint32_field(5)
    fightserver_port: int = betterproto.uint32_field(6)
    battle_id: int = betterproto.uint32_field(7)
    member_list: List["QAvatarBattleMember"] = betterproto.message_field(8)
    fightserver_ip_v4: str = betterproto.string_field(9)
    fightserver_ip_v6: str = betterproto.string_field(10)


@dataclass
class QAvatarBattlePositionComponent(betterproto.Message):
    x: float = betterproto.float_field(1)
    y: float = betterproto.float_field(2)
    rotation_x: float = betterproto.float_field(3)
    rotation_y: float = betterproto.float_field(4)


@dataclass
class QAvatarBattleSpeedComponent(betterproto.Message):
    speed_x: float = betterproto.float_field(1)
    speed_y: float = betterproto.float_field(2)


@dataclass
class QAvatarBattleSkillInfo(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)
    skill_type: int = betterproto.uint32_field(2)
    btn_holdup_time_ms_u64: int = betterproto.uint64_field(3)
    combo_num: int = betterproto.uint32_field(4)
    max_bullet_num: int = betterproto.uint32_field(5)
    cur_bullet_num: int = betterproto.uint32_field(6)
    max_charge_num: int = betterproto.uint32_field(7)
    cur_charge_num: int = betterproto.uint32_field(8)
    skill_cd_ms_u64: int = betterproto.uint64_field(9)


@dataclass
class QAvatarBattleSkillComponent(betterproto.Message):
    skill_info_list: List["QAvatarBattleSkillInfo"] = betterproto.message_field(1)


@dataclass
class QAvatarBattleBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_type: "QAvatarBuffType" = betterproto.enum_field(2)
    expire_time_ms_u64: int = betterproto.uint64_field(3)
    num: int = betterproto.uint32_field(4)


@dataclass
class QAvatarBattleBuffComponent(betterproto.Message):
    buff_list: List["QAvatarBattleBuff"] = betterproto.message_field(1)


@dataclass
class QAvatarBattleEvadeComponent(betterproto.Message):
    speed_x: float = betterproto.float_field(1)
    speed_y: float = betterproto.float_field(2)
    expire_time_ms_u64: int = betterproto.uint64_field(3)


@dataclass
class QAvatarBattleStigmata(betterproto.Message):
    stigmata_id: int = betterproto.uint32_field(1)


@dataclass
class QAvatarBattleStigmataComponent(betterproto.Message):
    stigmata_list: List["QAvatarBattleStigmata"] = betterproto.message_field(1)


@dataclass
class QAvatarBattleComponentSet(betterproto.Message):
    position_component: "QAvatarBattlePositionComponent" = betterproto.message_field(1)
    speed_component: "QAvatarBattleSpeedComponent" = betterproto.message_field(2)
    skill_component: "QAvatarBattleSkillComponent" = betterproto.message_field(3)
    evade_component: "QAvatarBattleEvadeComponent" = betterproto.message_field(4)
    buff_component: "QAvatarBattleBuffComponent" = betterproto.message_field(5)


@dataclass
class QAvatarBattleEntity(betterproto.Message):
    entity_id: int = betterproto.uint32_field(1)
    type: "QAvatarBattleEntityType" = betterproto.enum_field(2)
    entity_name_id: int = betterproto.uint32_field(3)
    entity_expire_time_ms_u64: int = betterproto.uint64_field(4)
    component_set: "QAvatarBattleComponentSet" = betterproto.message_field(5)
    fight_info: "QAvatarBattleFightInfo" = betterproto.message_field(6)
    owner_id: int = betterproto.uint32_field(7)


@dataclass
class QAvatarBattleDeleteEntity(betterproto.Message):
    delete_reason: "QAvatarBattleEntityDeleteReasonType" = betterproto.enum_field(1)
    entity_id: int = betterproto.uint32_field(2)


@dataclass
class QAvatarBattleDataNotify(betterproto.Message):
    update_entity_list: List["QAvatarBattleEntity"] = betterproto.message_field(1)
    cur_time_ms_u64: int = betterproto.uint64_field(2)
    delete_entity_list: List["QAvatarBattleDeleteEntity"] = betterproto.message_field(3)
    is_all: bool = betterproto.bool_field(4)


@dataclass
class QAvatarBattleEnterBattleReq(betterproto.Message):
    pass


@dataclass
class QAvatarBattleEnterBattleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class QAvatarBattleMoveNotify(betterproto.Message):
    speed_x: float = betterproto.float_field(1)
    speed_y: float = betterproto.float_field(2)
    rotation_x: float = betterproto.float_field(3)
    rotation_y: float = betterproto.float_field(4)


@dataclass
class QAvatarBattleEndBattleNotify(betterproto.Message):
    end_reason: "QAvatarBattleEndReason" = betterproto.enum_field(1)
    is_win: bool = betterproto.bool_field(2)
    is_mvp: bool = betterproto.bool_field(3)
    fight_info_list: List["QAvatarBattleFightInfo"] = betterproto.message_field(4)


@dataclass
class QAvatarBattleStartSkillReq(betterproto.Message):
    skill_type: int = betterproto.uint32_field(1)
    rotation_x: float = betterproto.float_field(2)
    rotation_y: float = betterproto.float_field(3)


@dataclass
class QAvatarBattleStartSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    skill_type: int = betterproto.uint32_field(2)
    skill_id: int = betterproto.uint32_field(3)


@dataclass
class QAvatarBattleStartSkillNotify(betterproto.Message):
    src_entity_id: int = betterproto.uint32_field(1)
    skill_type: int = betterproto.uint32_field(2)
    skill_id: int = betterproto.uint32_field(3)


@dataclass
class QAvatarBattleEndSkillReq(betterproto.Message):
    skill_type: int = betterproto.uint32_field(1)
    rotation_x: float = betterproto.float_field(2)
    rotation_y: float = betterproto.float_field(3)
    dst_position_x: float = betterproto.float_field(4)
    dst_position_y: float = betterproto.float_field(5)


@dataclass
class QAvatarBattleEndSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    skill_type: int = betterproto.uint32_field(2)
    skill_id: int = betterproto.uint32_field(3)


@dataclass
class QAvatarBattleEndSkillNotify(betterproto.Message):
    src_entity_id: int = betterproto.uint32_field(1)
    skill_type: int = betterproto.uint32_field(2)
    skill_id: int = betterproto.uint32_field(3)


@dataclass
class QAvatarBattleSkillTriggerNotify(betterproto.Message):
    trigger_entity_id: int = betterproto.uint32_field(1)
    trigger_entity: "QAvatarBattleEntity" = betterproto.message_field(2)
    skill_info: "QAvatarBattleSkillInfo" = betterproto.message_field(3)


@dataclass
class QAvatarBattleComponentOpNotify(betterproto.Message):
    trigger_entity_id: int = betterproto.uint32_field(1)
    component_type: int = betterproto.uint32_field(2)
    op_type: "QAvatarBattleComponentOpNotifyComponentOpType" = betterproto.enum_field(3)


@dataclass
class QAvatarBattleDiscardStigmataReq(betterproto.Message):
    stigmata_id: int = betterproto.uint32_field(1)


@dataclass
class QAvatarBattleDiscardStigmataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stigmata_id: int = betterproto.uint32_field(2)


@dataclass
class QAvatarBattleGetDataNotify(betterproto.Message):
    pass


@dataclass
class QAvatarBattleKillNotify(betterproto.Message):
    killer_uid: int = betterproto.uint32_field(1)
    killed_uid: int = betterproto.uint32_field(2)
    killer_streak_num: int = betterproto.uint32_field(3)
    battle_total_kill_num: int = betterproto.uint32_field(4)


@dataclass
class QAvatarBattleRefreshGadgetForecastNotify(betterproto.Message):
    refresh_id: int = betterproto.uint32_field(1)
    refresh_time_ms_u64: int = betterproto.uint64_field(2)
    spawn_point_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class QAvatarBattleRefreshGadget(betterproto.Message):
    gadget_id: int = betterproto.uint32_field(1)
    spawn_point_id: int = betterproto.uint32_field(2)


@dataclass
class QAvatarBattleRefreshGadgetGenerateNotify(betterproto.Message):
    refresh_id: int = betterproto.uint32_field(1)
    refresh_gadget_list: List["QAvatarBattleRefreshGadget"] = betterproto.message_field(
        2
    )


@dataclass
class QCandyBattleVector3(betterproto.Message):
    x: int = betterproto.int32_field(1)
    y: int = betterproto.int32_field(2)
    z: int = betterproto.int32_field(3)


@dataclass
class QCandyBattleComponentPosition(betterproto.Message):
    postion: "QCandyBattleVector3" = betterproto.message_field(1)
    forward: "QCandyBattleVector3" = betterproto.message_field(2)


@dataclass
class QCandyBattleComponentSet(betterproto.Message):
    position_component: "QCandyBattleComponentPosition" = betterproto.message_field(1)


@dataclass
class QCandyBattleMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    rank_score: int = betterproto.uint32_field(3)
    team_id: int = betterproto.uint32_field(4)
    avatar_id: int = betterproto.uint32_field(5)
    entity_id: int = betterproto.uint32_field(6)
    hidden_score: int = betterproto.int32_field(7)
    effect_id: int = betterproto.uint32_field(8)


@dataclass
class QCandyBattleMemberBrief(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    entity_id: int = betterproto.uint32_field(2)


@dataclass
class QCandyBattlePropData(betterproto.Message):
    entity_id: int = betterproto.uint32_field(1)
    uuid: int = betterproto.uint32_field(2)


@dataclass
class QCandyBattleSettleInfo(betterproto.Message):
    rank: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)
    cost_time: int = betterproto.uint32_field(3)
    life_times: int = betterproto.uint32_field(4)
    score: int = betterproto.uint32_field(5)
    map_id: int = betterproto.uint32_field(6)
    is_first_pass: bool = betterproto.bool_field(7)
    effect_times: int = betterproto.uint32_field(8)
    survive_rounds: int = betterproto.uint32_field(9)
    item_type: int = betterproto.uint32_field(10)


@dataclass
class QCandyBattleMemberSettleInfo(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    avatar_id: int = betterproto.uint32_field(3)
    cur_rank_score: int = betterproto.uint32_field(4)
    is_abandoned: bool = betterproto.bool_field(5)
    settle_info: "QCandyBattleSettleInfo" = betterproto.message_field(6)


@dataclass
class QCandyBattleEntity(betterproto.Message):
    entity_id: int = betterproto.uint32_field(1)
    type: "QCandyBattleEntityType" = betterproto.enum_field(2)
    component_set: "QCandyBattleComponentSet" = betterproto.message_field(3)
    prop_id: int = betterproto.uint32_field(4)
    owner_entity_id: int = betterproto.uint32_field(5)
    state: int = betterproto.uint32_field(6)


@dataclass
class QCandyBattleInfo(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    remain_life_times: int = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)
    uid: int = betterproto.uint32_field(4)
    total_score: int = betterproto.uint32_field(5)


@dataclass
class PlayerSkill(betterproto.Message):
    entity_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)


@dataclass
class QCandyBattleGetActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class QCandyBattleGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    today_currency_got_num: int = betterproto.uint32_field(3)
    rank_score: int = betterproto.uint32_field(4)
    max_rank_score: int = betterproto.uint32_field(5)
    last_avatar_id: int = betterproto.uint32_field(6)
    unlocked_avatar_list: List[int] = betterproto.uint32_field(7)
    settle_record_list: List["QCandyBattleSettleInfo"] = betterproto.message_field(8)
    cur_day_fight_num: int = betterproto.uint32_field(9)
    currency_limit: int = betterproto.uint32_field(10)
    last_enter_effect_id: int = betterproto.uint32_field(11)
    unlocked_enter_effect_list: List[int] = betterproto.uint32_field(12)


@dataclass
class QCandyBattleBeginNotify(betterproto.Message):
    lobby_id: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)
    map_id: int = betterproto.uint32_field(3)
    fightserver_ip: int = betterproto.uint32_field(4)
    fightserver_port: int = betterproto.uint32_field(5)
    activity_id: int = betterproto.uint32_field(6)
    best_record: "QCandyBattleSettleInfo" = betterproto.message_field(7)
    fightserver_ip_v4: str = betterproto.string_field(8)
    fightserver_ip_v6: str = betterproto.string_field(9)


@dataclass
class QCandyBattleChooseAvatarReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    old_avatar_id: int = betterproto.uint32_field(2)
    new_avatar_id: int = betterproto.uint32_field(3)


@dataclass
class QCandyBattleChooseAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    old_avatar_id: int = betterproto.uint32_field(3)
    new_avatar_id: int = betterproto.uint32_field(4)


@dataclass
class QCandyBattleUnlockAvatarReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)


@dataclass
class QCandyBattleUnlockAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    avatar_id: int = betterproto.uint32_field(3)


@dataclass
class QCandyBattleSettleBattleNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    lobby_id: int = betterproto.uint32_field(2)
    map_id: int = betterproto.uint32_field(3)
    settle_info_list: List["QCandyBattleMemberSettleInfo"] = betterproto.message_field(
        4
    )
    battle_id: int = betterproto.uint32_field(5)
    fightserver_ip: int = betterproto.uint32_field(6)
    settle_time: int = betterproto.uint32_field(7)
    fightserver_ip_v4: str = betterproto.string_field(8)
    fightserver_ip_v6: str = betterproto.string_field(9)


@dataclass
class QCandyBattleEnterBattleReq(betterproto.Message):
    pass


@dataclass
class QCandyBattleEnterBattleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_type: "QCandyBattleType" = betterproto.enum_field(2)
    member_list: List["QCandyBattleMember"] = betterproto.message_field(3)
    prop_data_list: List["QCandyBattlePropData"] = betterproto.message_field(4)
    memory_round_data_list: List["QCandyBattleMemoryRoundData"] = (
        betterproto.message_field(5)
    )
    cs_round_data_list: List["QCandyBattleCooperationScoreRoundData"] = (
        betterproto.message_field(6)
    )
    random_seed: int = betterproto.uint32_field(7)
    target_total_score: int = betterproto.uint32_field(8)


@dataclass
class QCandyBattleDataNotify(betterproto.Message):
    cur_time_ms_u64: int = betterproto.uint64_field(1)
    update_entity_list: List["QCandyBattleEntity"] = betterproto.message_field(2)
    delete_entity_list: List["QCandyBattleEntity"] = betterproto.message_field(3)
    battle_info_list: List["QCandyBattleInfo"] = betterproto.message_field(4)


@dataclass
class QCandyBattleEndNotify(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)


@dataclass
class QCandyBattleMoveNotify(betterproto.Message):
    pos: "QCandyBattleVector3" = betterproto.message_field(1)
    forward: "QCandyBattleVector3" = betterproto.message_field(2)


@dataclass
class QCandyBattleTriggerEntityReq(betterproto.Message):
    entity_id: int = betterproto.uint32_field(1)
    cur_state: int = betterproto.uint32_field(2)


@dataclass
class QCandyBattleTriggerEntityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    entity_id: int = betterproto.uint32_field(2)
    cur_state: int = betterproto.uint32_field(3)


@dataclass
class QCandyBattleAvatarLifeTimesChangeNotify(betterproto.Message):
    life_times: int = betterproto.uint32_field(1)


@dataclass
class QCandyBattleArriveReq(betterproto.Message):
    pass


@dataclass
class QCandyBattleArriveRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class QCandyBattleUseSkillReq(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)


@dataclass
class QCandyBattleUseSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)
    remain_times: int = betterproto.uint32_field(3)


@dataclass
class QCandyBattleUseSkillNotify(betterproto.Message):
    player_use_skill: "PlayerSkill" = betterproto.message_field(1)


@dataclass
class QCandyBattleAvatarStateClientNotify(betterproto.Message):
    state: int = betterproto.uint32_field(1)
    is_move: bool = betterproto.bool_field(2)
    sub_state: int = betterproto.uint32_field(3)


@dataclass
class QCandyBattleAvatarStateServerNotify(betterproto.Message):
    entity_id: int = betterproto.uint32_field(1)
    state: int = betterproto.uint32_field(2)
    is_move: bool = betterproto.bool_field(3)
    sub_state: int = betterproto.uint32_field(4)


@dataclass
class QCandyBattleSkillEndNotify(betterproto.Message):
    player_skill_end: "PlayerSkill" = betterproto.message_field(1)


@dataclass
class QCandyBattleFinishBattleNotify(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    is_over: bool = betterproto.bool_field(2)
    settle_info: "QCandyBattleSettleInfo" = betterproto.message_field(3)


@dataclass
class QCandyBattleLeaveBattleReq(betterproto.Message):
    pass


@dataclass
class QCandyBattleLeaveBattleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class QCandyBattleLeaveBattleNotify(betterproto.Message):
    uid: int = betterproto.uint32_field(1)


@dataclass
class QCandyBattleStartTimeLineNotify(betterproto.Message):
    battle_begin_time: int = betterproto.uint32_field(1)
    battle_end_time: int = betterproto.uint32_field(2)


@dataclass
class QCandyBattleSkillUseTimesChangeNotify(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)
    remain_times: int = betterproto.uint32_field(2)


@dataclass
class QCandyBattleSendEmojiReq(betterproto.Message):
    emoji_id: int = betterproto.uint32_field(1)


@dataclass
class QCandyBattleSendEmojiRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    emoji_id: int = betterproto.uint32_field(2)


@dataclass
class QCandyBattleSendEmojiNotify(betterproto.Message):
    emoji_id: int = betterproto.uint32_field(1)
    uid: int = betterproto.uint32_field(2)
    entity_id: int = betterproto.uint32_field(3)


@dataclass
class QCandyBattleSyncAbilityNotify(betterproto.Message):
    ability_id: int = betterproto.uint32_field(1)
    entity_id: int = betterproto.uint32_field(2)
    owner_entity_id: int = betterproto.uint32_field(3)
    param: int = betterproto.uint32_field(4)


@dataclass
class QCandyBattleMemoryRoundData(betterproto.Message):
    correct_picture_id: int = betterproto.uint32_field(1)
    picture_id_list: List[int] = betterproto.uint32_field(2)
    memory_data_list: List["QCandyBattleMemoryData"] = betterproto.message_field(3)


@dataclass
class QCandyBattleMemoryData(betterproto.Message):
    picture_show_list: List[int] = betterproto.uint32_field(1)


@dataclass
class QCandyBattleCooperationScoreRoundData(betterproto.Message):
    random_list: List[int] = betterproto.uint32_field(1)


@dataclass
class QCandyBattleMemoryRoundEndReq(betterproto.Message):
    life_times: int = betterproto.uint32_field(1)
    cur_round: int = betterproto.uint32_field(2)


@dataclass
class QCandyBattleMemoryRoundEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    life_times: int = betterproto.uint32_field(2)
    cur_round: int = betterproto.uint32_field(3)


@dataclass
class RaidReplaceScoreRecord(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    score: int = betterproto.uint32_field(2)


@dataclass
class RaidReplaceActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    opened_stage_list: List[int] = betterproto.uint32_field(2)
    passed_stage_list: List[int] = betterproto.uint32_field(3)
    cur_reward_line_score: int = betterproto.uint32_field(4)
    last_take_reward_score: int = betterproto.uint32_field(5)
    reward_line_id: int = betterproto.uint32_field(6)
    is_special_reward_take_times_added: bool = betterproto.bool_field(7)


@dataclass
class RaidReplaceGetDataReq(betterproto.Message):
    pass


@dataclass
class RaidReplaceGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    activity_list: List["RaidReplaceActivity"] = betterproto.message_field(3)
    score_record_list: List["RaidReplaceScoreRecord"] = betterproto.message_field(4)
    available_special_reward_take_times: int = betterproto.uint32_field(5)


@dataclass
class RaidReplaceTakeRewardLineRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class RaidReplaceTakeRewardLineRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class RaidReplaceTakeSpecialRewardReq(betterproto.Message):
    reward_id: int = betterproto.uint32_field(1)


@dataclass
class RaidReplaceTakeSpecialRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class InLevelBaseActorSnapshot(betterproto.Message):
    base_max_hp: float = betterproto.float_field(1)
    base_max_sp: float = betterproto.float_field(2)
    max_hp: float = betterproto.float_field(3)
    max_sp: float = betterproto.float_field(4)
    hp: float = betterproto.float_field(5)
    sp: float = betterproto.float_field(6)
    level: int = betterproto.uint32_field(7)
    attack: float = betterproto.float_field(8)
    defense: float = betterproto.float_field(9)
    is_alive: bool = betterproto.bool_field(10)
    total_overkill_damage: float = betterproto.float_field(11)


@dataclass
class InLevelAvatarSkillInfo(betterproto.Message):
    skill_name: str = betterproto.string_field(1)
    cd: float = betterproto.float_field(2)
    cost_sp: float = betterproto.float_field(3)
    need_sp: float = betterproto.float_field(4)
    cd_timer: float = betterproto.float_field(5)
    max_charges_count: int = betterproto.uint32_field(6)
    charges_counter: int = betterproto.uint32_field(7)
    can_hold: bool = betterproto.bool_field(8)
    instant_trigger_anim_event_id: str = betterproto.string_field(9)


@dataclass
class InLevelAvatarActorSnapshot(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    skill_list: List["InLevelAvatarSkillInfo"] = betterproto.message_field(2)
    weapon_id: int = betterproto.uint32_field(3)
    weapon_level: int = betterproto.uint32_field(4)
    stigmata_1_id: int = betterproto.uint32_field(5)
    stigmata_1_level: int = betterproto.uint32_field(6)
    stigmata_2_id: int = betterproto.uint32_field(7)
    stigmata_2_level: int = betterproto.uint32_field(8)
    stigmata_3_id: int = betterproto.uint32_field(9)
    stigmata_3_level: int = betterproto.uint32_field(10)


@dataclass
class InLevelMonsterActorSnapshot(betterproto.Message):
    monster_name: str = betterproto.string_field(1)


@dataclass
class InLevelEntityProperty(betterproto.Message):
    name: str = betterproto.string_field(1)
    value: float = betterproto.float_field(2)


@dataclass
class InLevelActorSnapshot(betterproto.Message):
    avatar_snapshot: "InLevelAvatarActorSnapshot" = betterproto.message_field(1)
    monster_snapshot: "InLevelMonsterActorSnapshot" = betterproto.message_field(2)
    base_snapshot: "InLevelBaseActorSnapshot" = betterproto.message_field(3)
    property_list: List["InLevelEntityProperty"] = betterproto.message_field(4)


@dataclass
class InLevelAttackDataSnapshot(betterproto.Message):
    attacker_ani_damage__ratio: float = betterproto.float_field(1)
    attacker_class: int = betterproto.uint32_field(2)
    attacker_nature: int = betterproto.uint32_field(3)
    attacker_category: int = betterproto.uint32_field(4)
    attacker_crit_chance: float = betterproto.float_field(5)
    attacker_crit_damage_ratio: float = betterproto.float_field(6)
    attacker_level: int = betterproto.uint32_field(7)
    attacker_shield_damage_ratio: float = betterproto.float_field(8)
    attacker_shield_damage_delta: float = betterproto.float_field(9)
    attacker_attack_percentage: float = betterproto.float_field(10)
    attacker_attack_value: float = betterproto.float_field(11)
    added_attack_ratio: float = betterproto.float_field(12)
    added_damage_ratio: float = betterproto.float_field(13)
    added_damage_ratio2: float = betterproto.float_field(14)
    attacker_added_attack_value: float = betterproto.float_field(15)
    attacker_all_damage_reduce_ratio: float = betterproto.float_field(16)
    attacker_fire_damage: float = betterproto.float_field(17)
    attacker_fire_damage_percentage: float = betterproto.float_field(18)
    added_attacker_fire_damage_ratio: float = betterproto.float_field(19)
    attacker_thunder_damage: float = betterproto.float_field(20)
    attacker_thunder_damage_percentage: float = betterproto.float_field(21)
    added_attacker_thunder_damage_ratio: float = betterproto.float_field(22)
    attacker_ice_damage: float = betterproto.float_field(23)
    attacker_ice_damage_percentage: float = betterproto.float_field(24)
    added_attacker_ice_damage_ratio: float = betterproto.float_field(25)
    attackee_ani_defence_ratio: float = betterproto.float_field(26)
    attackee_nature: int = betterproto.uint32_field(27)
    attackee_class: int = betterproto.uint32_field(28)
    attackee_added_damage_take_ratio: float = betterproto.float_field(29)
    attackee_normal_damage_taken_ratio: float = betterproto.float_field(30)
    attackee_fire_damage_taken_ratio: float = betterproto.float_field(31)
    attackee_ice_damage_taken_ratio: float = betterproto.float_field(32)
    attackee_thunder_damage_taken_ratio: float = betterproto.float_field(33)
    fire_damage: float = betterproto.float_field(34)
    thunder_damage: float = betterproto.float_field(35)
    ice_damage: float = betterproto.float_field(36)
    ani_damage_ratio: float = betterproto.float_field(37)
    retreat_velocity: float = betterproto.float_field(38)
    frame_halt: int = betterproto.uint32_field(39)
    is_anim_event_attack: bool = betterproto.bool_field(40)
    is_in_combo_count: bool = betterproto.bool_field(41)
    attack_category_tag: int = betterproto.uint32_field(42)
    hit_type: int = betterproto.uint32_field(43)
    hit_flag: int = betterproto.uint32_field(44)
    hit_level: int = betterproto.uint32_field(45)
    hit_effect: int = betterproto.uint32_field(46)
    hit_effect_aux: int = betterproto.uint32_field(47)
    added_attack_ratio2: float = betterproto.float_field(48)
    added_attacker_fire_damage_ratio2: float = betterproto.float_field(49)
    added_attacker_thunder_damage_ratio2: float = betterproto.float_field(50)
    added_attacker_ice_damage_ratio2: float = betterproto.float_field(51)
    added_attacker_burn_damage_ratio: float = betterproto.float_field(52)
    added_attacker_burn_damage_ratio2: float = betterproto.float_field(53)
    added_attacker_burn_damage_delta: float = betterproto.float_field(54)
    added_attacker_bleed_damage_ratio: float = betterproto.float_field(55)
    added_attacker_bleed_damage_ratio2: float = betterproto.float_field(56)
    added_attacker_bleed_damage_delta: float = betterproto.float_field(57)


@dataclass
class InLevelContext(betterproto.Message):
    type: "InLevelContextContextType" = betterproto.enum_field(1)
    context_string: str = betterproto.string_field(2)


@dataclass
class InLevelAttackSnapshot(betterproto.Message):
    time: int = betterproto.uint32_field(1)
    attack_data_created: "InLevelAttackDataSnapshot" = betterproto.message_field(2)
    attack_data_resoved: "InLevelAttackDataSnapshot" = betterproto.message_field(3)
    actor_list: List["InLevelActorSnapshot"] = betterproto.message_field(4)


@dataclass
class InLevelAttackSnapshotInfo(betterproto.Message):
    context: "InLevelContext" = betterproto.message_field(1)
    snapshot_list: List["InLevelAttackSnapshot"] = betterproto.message_field(2)


@dataclass
class PlayerRoomStatus(betterproto.Message):
    room_mode: "RoomMode" = betterproto.enum_field(1)
    room_id: int = betterproto.uint32_field(2)


@dataclass
class RoomMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    region_name: str = betterproto.string_field(2)
    nickname: str = betterproto.string_field(3)
    level: int = betterproto.uint32_field(4)
    head_avatar_id: int = betterproto.uint32_field(5)
    frame_id: int = betterproto.uint32_field(6)
    dress_id: int = betterproto.uint32_field(7)
    status: "RoomMemberStatus" = betterproto.enum_field(8)
    position: "RoomMemberMemberPosition" = betterproto.enum_field(9)
    mode_bytes: List[bytes] = betterproto.bytes_field(10)
    custom_head_id: int = betterproto.uint32_field(11)
    client_status: "RoomClientStatus" = betterproto.enum_field(12)
    voice_id: int = betterproto.uint32_field(13)


@dataclass
class RoomInfo(betterproto.Message):
    sub_type: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class GetRoomDataReq(betterproto.Message):
    pass


@dataclass
class GetRoomDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SyncRoomDataNotify(betterproto.Message):
    player_room_status: "PlayerRoomStatus" = betterproto.message_field(1)
    member_list: List["RoomMember"] = betterproto.message_field(2)
    room_info: "RoomInfo" = betterproto.message_field(3)


@dataclass
class CreateRoomReq(betterproto.Message):
    room_mode: "RoomMode" = betterproto.enum_field(1)
    member_data: "RoomMember" = betterproto.message_field(2)
    room_info: "RoomInfo" = betterproto.message_field(3)


@dataclass
class CreateRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    room_mode: "RoomMode" = betterproto.enum_field(2)


@dataclass
class EnterRoomReq(betterproto.Message):
    room_mode: "RoomMode" = betterproto.enum_field(1)
    room_id: int = betterproto.uint32_field(2)
    member_data: "RoomMember" = betterproto.message_field(3)
    room_info: "RoomInfo" = betterproto.message_field(4)


@dataclass
class EnterRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    room_mode: "RoomMode" = betterproto.enum_field(2)


@dataclass
class ExitRoomReq(betterproto.Message):
    pass


@dataclass
class ExitRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ExitRoomNotify(betterproto.Message):
    reason: "RoomExitReason" = betterproto.enum_field(1)


@dataclass
class InviteRoomReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class InviteRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class RoomInvitationNotify(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    room_mode: "RoomMode" = betterproto.enum_field(2)
    room_id: int = betterproto.uint32_field(3)
    from_player: "RoomMember" = betterproto.message_field(4)
    room_info: "RoomInfo" = betterproto.message_field(5)
    chatworld_scene_id: int = betterproto.uint32_field(6)
    chatworld_id: int = betterproto.uint32_field(7)


@dataclass
class SendRoomChatMsgNotify(betterproto.Message):
    chat_msg: "ChatMsg" = betterproto.message_field(1)
    is_broadcast_msg: bool = betterproto.bool_field(2)
    room_mode: "RoomMode" = betterproto.enum_field(3)
    target_uid_list: List[int] = betterproto.uint32_field(4)


@dataclass
class RecvRoomChatMsgNotify(betterproto.Message):
    room_mode: "RoomMode" = betterproto.enum_field(1)
    chat_msg: "ChatMsg" = betterproto.message_field(2)


@dataclass
class StartRoomMatchReq(betterproto.Message):
    room_mode: "RoomMode" = betterproto.enum_field(1)


@dataclass
class StartRoomMatchRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    room_mode: "RoomMode" = betterproto.enum_field(2)


@dataclass
class CancelRoomMatchReq(betterproto.Message):
    pass


@dataclass
class CancelRoomMatchRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SyncRoomMatchDataNotify(betterproto.Message):
    room_mode: "RoomMode" = betterproto.enum_field(1)
    is_in_matching: bool = betterproto.bool_field(2)
    match_start_time: int = betterproto.uint32_field(3)
    estimate_match_cost_time: int = betterproto.uint32_field(4)
    reason: "SyncRoomMatchDataNotifyReason" = betterproto.enum_field(5)


@dataclass
class RoomMatchTimeoutNotify(betterproto.Message):
    pass


@dataclass
class UpdateRoomInfoReq(betterproto.Message):
    room_info: "RoomInfo" = betterproto.message_field(1)


@dataclass
class UpdateRoomInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class RoomSwitchMemberStatusReq(betterproto.Message):
    status: "RoomMemberStatus" = betterproto.enum_field(1)
    client_status: "RoomClientStatus" = betterproto.enum_field(2)


@dataclass
class RoomSwitchMemberStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class RoomKickMemberReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class RoomKickMemberRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class RoomTransferLeaderReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class RoomTransferLeaderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class RoomMemberSetVoiceIdReq(betterproto.Message):
    voice_id: int = betterproto.uint32_field(1)


@dataclass
class RoomMemberSetVoiceIdRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    uid: int = betterproto.uint32_field(2)
    voice_id: int = betterproto.uint32_field(3)


@dataclass
class RoomGetStatusReq(betterproto.Message):
    room_id: int = betterproto.uint32_field(1)
    member_data: "RoomMember" = betterproto.message_field(2)


@dataclass
class RoomGetStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    player_room_status: "PlayerRoomStatus" = betterproto.message_field(2)
    member_list: List["RoomMember"] = betterproto.message_field(3)
    room_info: "RoomInfo" = betterproto.message_field(4)


@dataclass
class DismissRoomReq(betterproto.Message):
    pass


@dataclass
class DismissRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class RpgDungeonQuest(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    avatar_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class RpgDungeonBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_level: int = betterproto.uint32_field(2)


@dataclass
class RpgDungeonBuffPool(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    left_times: int = betterproto.uint32_field(2)


@dataclass
class RpgDungeonActivity(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    quest_list: List["RpgDungeonQuest"] = betterproto.message_field(2)
    candidate_buff_id_list: List[int] = betterproto.uint32_field(3)
    buff_list: List["RpgDungeonBuff"] = betterproto.message_field(4)
    pool_list: List["RpgDungeonBuffPool"] = betterproto.message_field(5)


@dataclass
class RpgDungeonGetActivityReq(betterproto.Message):
    dungeon_id: int = betterproto.uint32_field(1)


@dataclass
class RpgDungeonGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "RpgDungeonActivity" = betterproto.message_field(2)
    dungeon_id: int = betterproto.uint32_field(3)


@dataclass
class RpgDungeonSelectQuestReq(betterproto.Message):
    dungeon_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    avatar_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class RpgDungeonSelectQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    dungeon_id: int = betterproto.uint32_field(2)


@dataclass
class RpgDungeonGetCandidateBuffReq(betterproto.Message):
    dungeon_id: int = betterproto.uint32_field(1)
    pool_id: int = betterproto.uint32_field(2)


@dataclass
class RpgDungeonGetCandidateBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    dungeon_id: int = betterproto.uint32_field(2)
    pool_id: int = betterproto.uint32_field(3)
    buff_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class RpgDungeonSelectBuffReq(betterproto.Message):
    dungeon_id: int = betterproto.uint32_field(1)
    buff_id: int = betterproto.uint32_field(2)


@dataclass
class RpgDungeonSelectBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    dungeon_id: int = betterproto.uint32_field(2)


@dataclass
class GetRpgTaleReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)


@dataclass
class RpgTaleProgress(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)


@dataclass
class RpgTaleSite(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)
    status: "RpgTaleSiteStatus" = betterproto.enum_field(3)
    content_type: "RpgTaleSiteContentType" = betterproto.enum_field(4)
    content_param: str = betterproto.string_field(5)
    finished_matrix_event_id_list: List[int] = betterproto.uint32_field(6)
    event_type: int = betterproto.uint32_field(7)
    event_param: int = betterproto.uint32_field(8)
    cur_progress: "RpgTaleProgress" = betterproto.message_field(9)
    pass_times: int = betterproto.uint32_field(10)
    status_end_time: int = betterproto.uint32_field(11)
    close_time: int = betterproto.uint32_field(12)
    unlock_limit_flag_list: List["RpgTaleFlag"] = betterproto.message_field(13)


@dataclass
class RpgTaleOverall(betterproto.Message):
    overall_id: int = betterproto.uint32_field(1)
    value: int = betterproto.uint32_field(2)


@dataclass
class RpgTaleArea(betterproto.Message):
    area_id: int = betterproto.uint32_field(1)


@dataclass
class RpgTaleStageScoreDrop(betterproto.Message):
    total_num: int = betterproto.uint32_field(1)
    daily_num: int = betterproto.uint32_field(2)


@dataclass
class RpgTaleTotalScoreDrop(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    daily_num: int = betterproto.uint32_field(2)
    total_num: int = betterproto.uint32_field(3)


@dataclass
class RpgTaleStage(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    max_floor: int = betterproto.uint32_field(2)
    max_score: int = betterproto.uint32_field(3)
    score_drop: "RpgTaleStageScoreDrop" = betterproto.message_field(4)


@dataclass
class CurRpgTaleStage(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    cur_floor: int = betterproto.uint32_field(2)
    avatar_list: List[int] = betterproto.uint32_field(3)
    client_data: str = betterproto.string_field(4)


@dataclass
class RpgTaleAbility(betterproto.Message):
    ability_id: int = betterproto.uint32_field(1)
    ability_level: int = betterproto.uint32_field(2)


@dataclass
class RpgTaleStageEnterTimesLimit(betterproto.Message):
    limit_id: int = betterproto.uint32_field(1)
    enter_times: int = betterproto.uint32_field(2)


@dataclass
class RpgTaleQAvatarSettleGotMaterial(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    material_num: int = betterproto.uint32_field(2)


@dataclass
class RpgTaleQAvatarBattle(betterproto.Message):
    cur_score: int = betterproto.uint32_field(1)
    has_take_reward_score: int = betterproto.uint32_field(2)
    choose_virtual_avatar_id: int = betterproto.uint32_field(3)
    win_num: int = betterproto.uint32_field(4)
    win_streak: int = betterproto.uint32_field(5)
    virtual_avatar_drop_num: int = betterproto.uint32_field(6)
    got_material_list: List["RpgTaleQAvatarSettleGotMaterial"] = (
        betterproto.message_field(7)
    )


@dataclass
class RpgTaleData(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    site_list: List["RpgTaleSite"] = betterproto.message_field(2)
    cur_site_id: int = betterproto.uint32_field(3)
    reward_taken_collection_count_list: List[int] = betterproto.uint32_field(4)
    end_time: int = betterproto.uint32_field(5)
    finished_event_id_list: List[int] = betterproto.uint32_field(6)
    area_list: List["RpgTaleArea"] = betterproto.message_field(7)
    overall_list: List["RpgTaleOverall"] = betterproto.message_field(8)
    schedule_id: int = betterproto.uint32_field(9)
    stage_list: List["RpgTaleStage"] = betterproto.message_field(10)
    total_score_drop_list: List["RpgTaleTotalScoreDrop"] = betterproto.message_field(11)
    ability_list: List["RpgTaleAbility"] = betterproto.message_field(12)
    site_refresh_num: int = betterproto.uint32_field(13)
    last_reset_site_refresh_num_time: int = betterproto.uint32_field(14)
    qavatar_battle: "RpgTaleQAvatarBattle" = betterproto.message_field(15)
    stage_enter_times_limit_list: List["RpgTaleStageEnterTimesLimit"] = (
        betterproto.message_field(16)
    )
    finished_mission_group_list: List[int] = betterproto.uint32_field(17)
    timed_end_time: int = betterproto.uint32_field(18)


@dataclass
class GetRpgTaleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    is_all: bool = betterproto.bool_field(3)
    rpg_tale_list: List["RpgTaleData"] = betterproto.message_field(4)


@dataclass
class SyncRpgTaleSiteNotify(betterproto.Message):
    site_list: List["RpgTaleSite"] = betterproto.message_field(1)
    tale_id: int = betterproto.uint32_field(2)


@dataclass
class EnterRpgTaleSiteReq(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)


@dataclass
class EnterRpgTaleSiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)


@dataclass
class FinishRpgTalePlotReq(betterproto.Message):
    plot_id: int = betterproto.uint32_field(1)
    dialog_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)


@dataclass
class FinishRpgTalePlotRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    plot_id: int = betterproto.uint32_field(2)
    dialog_id: int = betterproto.uint32_field(3)
    tale_id: int = betterproto.uint32_field(4)


@dataclass
class UnlockRpgTaleSiteReq(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    is_only_check: bool = betterproto.bool_field(3)


@dataclass
class RpgTaleFlag(betterproto.Message):
    type: "RpgTaleFlagType" = betterproto.enum_field(1)
    param_list: List[int] = betterproto.uint32_field(2)


@dataclass
class UnlockRpgTaleSiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)
    limit_flag_list: List["RpgTaleFlag"] = betterproto.message_field(4)
    is_only_check: bool = betterproto.bool_field(5)


@dataclass
class TakeRpgTaleCollectionRewardReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)


@dataclass
class TakeRpgTaleCollectionRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    collection_count_list: List[int] = betterproto.uint32_field(2)
    reward_data_list: List["RewardData"] = betterproto.message_field(3)
    reward_taken_collection_count_list: List[int] = betterproto.uint32_field(4)
    tale_id: int = betterproto.uint32_field(5)


@dataclass
class RpgTaleEvent(betterproto.Message):
    event_id: int = betterproto.uint32_field(1)
    event_type: int = betterproto.uint32_field(2)
    event_param_list: List[int] = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class RpgTaleEventNotify(betterproto.Message):
    event_data: "RpgTaleEvent" = betterproto.message_field(1)
    tale_id: int = betterproto.uint32_field(2)


@dataclass
class TriggerRpgTaleEventReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    content_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TriggerRpgTaleEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)


@dataclass
class CheckRpgTaleStageTriggerReq(betterproto.Message):
    trigger_list: List[int] = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)


@dataclass
class CheckRpgTaleStageTriggerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    show_trigger_list: List[int] = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)


@dataclass
class TriggerRpgTaleStageEventReq(betterproto.Message):
    trigger_id: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)


@dataclass
class TriggerRpgTaleStageEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    event_data: "RpgTaleEvent" = betterproto.message_field(2)
    tale_id: int = betterproto.uint32_field(3)


@dataclass
class MatrixGridPos(betterproto.Message):
    x: int = betterproto.uint32_field(1)
    y: int = betterproto.uint32_field(2)


@dataclass
class MatrixFloorBriefInfo(betterproto.Message):
    floor_id: int = betterproto.uint32_field(1)
    floor_status: "MatrixFloorStatus" = betterproto.enum_field(2)


@dataclass
class GetMatrixReq(betterproto.Message):
    pass


@dataclass
class GetMatrixRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    floor_brief_info_list: List["MatrixFloorBriefInfo"] = betterproto.message_field(2)
    cur_floor_id: int = betterproto.uint32_field(3)


@dataclass
class GetMatrixFloorReq(betterproto.Message):
    floor_id: int = betterproto.uint32_field(1)


@dataclass
class MatrixGrid(betterproto.Message):
    pos: "MatrixGridPos" = betterproto.message_field(1)
    type: "MatrixGridType" = betterproto.enum_field(2)
    grid_id: int = betterproto.uint32_field(3)
    event_id: int = betterproto.uint32_field(4)


@dataclass
class MatrixLottery(betterproto.Message):
    lottery_id: int = betterproto.uint32_field(1)
    lottery_num: int = betterproto.uint32_field(2)
    left_step: int = betterproto.uint32_field(3)


@dataclass
class MatrixBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_type: int = betterproto.uint32_field(2)
    buff_para_int: int = betterproto.uint32_field(3)


@dataclass
class MatrixFloorMapInfo(betterproto.Message):
    floor_id: int = betterproto.uint32_field(1)
    grid_list: List["MatrixGrid"] = betterproto.message_field(2)
    width: int = betterproto.uint32_field(3)
    height: int = betterproto.uint32_field(4)
    map_id: int = betterproto.uint32_field(5)
    current_pos: "MatrixGridPos" = betterproto.message_field(6)
    event_grid_list: List["MatrixGrid"] = betterproto.message_field(7)
    step_num: int = betterproto.uint32_field(8)
    dice_point: int = betterproto.uint32_field(9)
    lottery_list: List["MatrixLottery"] = betterproto.message_field(10)
    buff_list: List["MatrixBuff"] = betterproto.message_field(11)


@dataclass
class GetMatrixFloorRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    floor_brief_info: "MatrixFloorBriefInfo" = betterproto.message_field(2)
    floor_map_info: "MatrixFloorMapInfo" = betterproto.message_field(3)


@dataclass
class MatrixEnterReq(betterproto.Message):
    floor_id: int = betterproto.uint32_field(1)


@dataclass
class MatrixEnterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MatrixAdvancePath(betterproto.Message):
    path_from: "MatrixGridPos" = betterproto.message_field(1)
    path_to: "MatrixGridPos" = betterproto.message_field(2)


@dataclass
class MatrixAdvanceReq(betterproto.Message):
    from_pos: "MatrixGridPos" = betterproto.message_field(1)
    to_pos: "MatrixGridPos" = betterproto.message_field(2)
    path_list: List["MatrixAdvancePath"] = betterproto.message_field(3)


@dataclass
class MatrixAdvanceRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_pos: "MatrixGridPos" = betterproto.message_field(2)
    pos_list: List["MatrixGridPos"] = betterproto.message_field(3)


@dataclass
class SyncMatrixFloorNotify(betterproto.Message):
    floor_id: int = betterproto.uint32_field(1)
    floor_brief_info: "MatrixFloorBriefInfo" = betterproto.message_field(2)
    floor_map_info: "MatrixFloorMapInfo" = betterproto.message_field(3)


@dataclass
class SyncMatrixNotify(betterproto.Message):
    floor_brief_info_list: List["MatrixFloorBriefInfo"] = betterproto.message_field(1)
    cur_floor_id: int = betterproto.uint32_field(2)


@dataclass
class MatrixTriggerEventReq(betterproto.Message):
    pos: "MatrixGridPos" = betterproto.message_field(1)
    event_id: int = betterproto.uint32_field(2)


@dataclass
class MatrixTriggerEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MatrixCancelEventReq(betterproto.Message):
    pass


@dataclass
class MatrixCancelEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SyncMatrixCurEventNotify(betterproto.Message):
    pos: "MatrixGridPos" = betterproto.message_field(1)
    event_id: int = betterproto.uint32_field(2)
    real_event_param: int = betterproto.uint32_field(3)


@dataclass
class MatrixEventFinishNotify(betterproto.Message):
    pos: "MatrixGridPos" = betterproto.message_field(1)
    event_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    display_type: "MatrixEventType" = betterproto.enum_field(4)
    display_id: int = betterproto.uint32_field(5)


@dataclass
class FinishMatrixEventPlotReq(betterproto.Message):
    plot_id: int = betterproto.uint32_field(1)
    dialog_id: int = betterproto.uint32_field(2)


@dataclass
class FinishMatrixEventPlotRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    plot_id: int = betterproto.uint32_field(2)
    dialog_id: int = betterproto.uint32_field(3)


@dataclass
class MatrixTeleportNotify(betterproto.Message):
    from_pos: "MatrixGridPos" = betterproto.message_field(1)
    to_pos: "MatrixGridPos" = betterproto.message_field(2)


@dataclass
class MatrixMoveObjectReq(betterproto.Message):
    pos: "MatrixGridPos" = betterproto.message_field(1)
    event_id: int = betterproto.uint32_field(2)


@dataclass
class MatrixMoveObjectRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    pos_list: List["MatrixGridPos"] = betterproto.message_field(2)
    event_id: int = betterproto.uint32_field(3)


@dataclass
class MatrixResetFloorReq(betterproto.Message):
    pass


@dataclass
class MatrixResetFloorRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MatrixSettleFloorEventReq(betterproto.Message):
    pass


@dataclass
class MatrixSettleFloorEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MatrixThrowDiceReq(betterproto.Message):
    dice_type: "DiceType" = betterproto.enum_field(1)
    dice_point: int = betterproto.uint32_field(2)


@dataclass
class MatrixThrowDiceRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    dice_type: "DiceType" = betterproto.enum_field(2)
    dice_point: int = betterproto.uint32_field(3)
    bonus_dice_point: int = betterproto.uint32_field(4)


@dataclass
class MatrixSetDiceDestinationReq(betterproto.Message):
    target_pos: "MatrixGridPos" = betterproto.message_field(1)


@dataclass
class MatrixSetDiceDestinationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_pos: "MatrixGridPos" = betterproto.message_field(2)


@dataclass
class MatrixGuessFingerReq(betterproto.Message):
    finger_type: "MatrixFingerType" = betterproto.enum_field(1)


@dataclass
class MatrixGuessFingerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    player_finger_type: "MatrixFingerType" = betterproto.enum_field(2)
    robot_finger_type: "MatrixFingerType" = betterproto.enum_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class MatrixSetLotteryNumReq(betterproto.Message):
    lottery_num: int = betterproto.uint32_field(1)


@dataclass
class MatrixSetLotteryNumRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MatrixLotteryDrawNotify(betterproto.Message):
    lottery: "MatrixLottery" = betterproto.message_field(1)
    win_num: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class FinishRpgTaleStagePlotReq(betterproto.Message):
    plot_id: int = betterproto.uint32_field(1)
    dialog_id: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)


@dataclass
class FinishRpgTaleStagePlotRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    plot_id: int = betterproto.uint32_field(2)
    dialog_id: int = betterproto.uint32_field(3)
    tale_id: int = betterproto.uint32_field(4)


@dataclass
class ReportRpgTaleStageReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    cur_floor: int = betterproto.uint32_field(2)
    client_data: str = betterproto.string_field(3)
    tale_id: int = betterproto.uint32_field(4)
    score: int = betterproto.uint32_field(5)
    monster_unique_id_list: List[int] = betterproto.uint32_field(6)
    monster_card_unique_id_list: List[int] = betterproto.uint32_field(7)


@dataclass
class ReportRpgTaleStageRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    cur_floor: int = betterproto.uint32_field(3)
    tale_id: int = betterproto.uint32_field(4)
    score: int = betterproto.uint32_field(5)


@dataclass
class RpgTaleSweepReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    times: int = betterproto.uint32_field(2)
    tale_id: int = betterproto.uint32_field(3)


@dataclass
class RpgTaleSweepRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    times: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)
    tale_id: int = betterproto.uint32_field(5)
    max_floor: int = betterproto.uint32_field(6)


@dataclass
class GetRpgTaleFileReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)


@dataclass
class GetRpgTaleFileRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    file_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class RpgTaleRefreshTicketReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)


@dataclass
class RpgTaleTicketRefreshInfo(betterproto.Message):
    ticket_id: int = betterproto.uint32_field(1)
    material_id: int = betterproto.uint32_field(2)
    add_num: int = betterproto.uint32_field(3)


@dataclass
class RpgTaleRefreshTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    ticket_refresh_list: List["RpgTaleTicketRefreshInfo"] = betterproto.message_field(3)


@dataclass
class RpgTaleLevelUpAbilityReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    ability_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class RpgTaleLevelUpAbilityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    ability_id: int = betterproto.uint32_field(3)
    limit_flag_list: List["RpgTaleFlag"] = betterproto.message_field(4)


@dataclass
class RpgTaleResetTowerReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)


@dataclass
class RpgTaleResetTowerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)


@dataclass
class RpgTaleSetOverallReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    overall_id: int = betterproto.uint32_field(2)
    value: int = betterproto.uint32_field(3)


@dataclass
class RpgTaleSetOverallRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    overall_id: int = betterproto.uint32_field(3)


@dataclass
class RpgTaleRefreshSiteReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)


@dataclass
class RpgTaleRefreshSiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)


@dataclass
class RpgTaleSetPvpVirtualAvatarReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    virtual_avatar_id: int = betterproto.uint32_field(2)


@dataclass
class RpgTaleSetPvpVirtualAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    virtual_avatar_id: int = betterproto.uint32_field(3)


@dataclass
class RpgTaleGetPvpDivisionRewardReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)


@dataclass
class RpgTaleGetPvpDivisionRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class RpgTaleGetStageScoreRankReq(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class RpgTaleGetStageScoreRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tale_id: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    percent: int = betterproto.uint32_field(5)


@dataclass
class RpgTaleFinishMissionGroupNotify(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    mission_group_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class GetScDLCReq(betterproto.Message):
    pass


@dataclass
class FeverSkillSuite(betterproto.Message):
    suite_id: int = betterproto.uint32_field(1)
    suite_name: str = betterproto.string_field(2)
    skill_chip_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ScDLCFever(betterproto.Message):
    level: int = betterproto.uint32_field(1)
    exp: int = betterproto.uint32_field(2)
    fever_slot_num: int = betterproto.uint32_field(3)
    has_take_reward_level: int = betterproto.uint32_field(4)
    skill_suite_list: List["FeverSkillSuite"] = betterproto.message_field(5)
    active_suite_id: int = betterproto.uint32_field(6)


@dataclass
class ScDLCTalent(betterproto.Message):
    talent_id: int = betterproto.uint32_field(1)
    talent_level: int = betterproto.uint32_field(2)


@dataclass
class ScDLCAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    talent_list: List["ScDLCTalent"] = betterproto.message_field(3)
    equip_talent_list: List[int] = betterproto.uint32_field(4)


@dataclass
class ScDLCSupportNPC(betterproto.Message):
    npc_id: int = betterproto.uint32_field(1)
    exp: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)


@dataclass
class ScDLCDailyQuestData(betterproto.Message):
    quest_list: List["OpenworldQuest"] = betterproto.message_field(1)
    left_accept_times: int = betterproto.uint32_field(2)
    refresh_left_times: int = betterproto.uint32_field(3)
    refresh_cost_material_id: int = betterproto.uint32_field(4)
    refresh_cost_material_num: int = betterproto.uint32_field(5)


@dataclass
class ScDLCAchievement(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    finish_time: int = betterproto.uint32_field(2)


@dataclass
class GetScDLCRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fever: "ScDLCFever" = betterproto.message_field(2)
    avatar_list: List["ScDLCAvatar"] = betterproto.message_field(3)
    npc_list: List["ScDLCSupportNPC"] = betterproto.message_field(4)
    daily_quest_data: "ScDLCDailyQuestData" = betterproto.message_field(5)
    name: str = betterproto.string_field(6)
    achievement_list: List["ScDLCAchievement"] = betterproto.message_field(7)
    max_challenge_reward_take_progress: int = betterproto.uint32_field(8)
    active_fever_ability_group_id_list: List[int] = betterproto.uint32_field(9)
    max_active_fever_ability_group_num: int = betterproto.uint32_field(10)


@dataclass
class UpdateScDLCFeverSuiteReq(betterproto.Message):
    suite_id: int = betterproto.uint32_field(1)
    suite_name: str = betterproto.string_field(2)
    skill_chip_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class UpdateScDLCFeverSuiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ActiveScDLCFeverSuiteReq(betterproto.Message):
    suite_id: int = betterproto.uint32_field(1)


@dataclass
class ActiveScDLCFeverSuiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class AddScDLCSupportNPCExpReq(betterproto.Message):
    npc_id: int = betterproto.uint32_field(1)
    material_id: int = betterproto.uint32_field(2)


@dataclass
class AddScDLCSupportNPCExpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class LevelUpScDLCAvatarReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)


@dataclass
class LevelUpScDLCAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class LevelUpScDLCTalentReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    talent_id: int = betterproto.uint32_field(2)


@dataclass
class LevelUpScDLCTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class EquipScDLCAvatarTalentReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    equip_talent_list: List[int] = betterproto.uint32_field(2)


@dataclass
class EquipScDLCAvatarTalentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetScDLCSelectDailyQuestReq(betterproto.Message):
    pass


@dataclass
class GetScDLCSelectDailyQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_list: List["OpenworldQuest"] = betterproto.message_field(2)


@dataclass
class RefreshScDLCDailyQuestReq(betterproto.Message):
    pass


@dataclass
class RefreshScDLCDailyQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_list: List["OpenworldQuest"] = betterproto.message_field(2)


@dataclass
class AcceptScDLCDailyQuestReq(betterproto.Message):
    quest_id: int = betterproto.uint32_field(1)


@dataclass
class AcceptScDLCDailyQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest: "OpenworldQuest" = betterproto.message_field(2)


@dataclass
class FinishScDLCDailyQuestReq(betterproto.Message):
    quest_id: int = betterproto.uint32_field(1)
    cost_time: int = betterproto.uint32_field(2)
    finish_challenge_list: List[int] = betterproto.uint32_field(3)


@dataclass
class FinishScDLCDailyQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    cost_time: int = betterproto.uint32_field(3)
    finish_challenge_list: List[int] = betterproto.uint32_field(4)


@dataclass
class TakeScDLCDailyQuestRewardReq(betterproto.Message):
    quest_id: int = betterproto.uint32_field(1)


@dataclass
class TakeScDLCDailyQuestRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class ModifyScDLCNameReq(betterproto.Message):
    name: str = betterproto.string_field(1)


@dataclass
class ModifyScDLCNameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class TakeScDLCChallengeRewardReq(betterproto.Message):
    pass


@dataclass
class TakeScDLCChallengeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class FinishScDLCPlotReq(betterproto.Message):
    id: int = betterproto.uint32_field(1)


@dataclass
class FinishScDLCPlotRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ScDLCTowerAvatarInfo(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    hp_percent: int = betterproto.uint32_field(2)
    sp_percent: int = betterproto.uint32_field(3)


@dataclass
class GetScDLCTowerReq(betterproto.Message):
    pass


@dataclass
class GetScDLCTowerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    cur_floor: int = betterproto.uint32_field(3)
    max_floor: int = betterproto.uint32_field(4)
    avatar_info_list: List["ScDLCTowerAvatarInfo"] = betterproto.message_field(5)
    max_score: int = betterproto.uint32_field(6)
    avatar_revive_times: int = betterproto.uint32_field(7)
    sc_dlc_fever_score: int = betterproto.uint32_field(8)
    sc_dlc_climax_score: int = betterproto.uint32_field(9)
    max_can_sweep_floor: int = betterproto.uint32_field(10)


@dataclass
class ScDLCTowerStageBeginReq(betterproto.Message):
    avatar_id_list: List[int] = betterproto.uint32_field(1)
    support_avatar_id: int = betterproto.uint32_field(2)
    report_ext: str = betterproto.string_field(3)


@dataclass
class ScDLCTowerStageBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_floor: int = betterproto.uint32_field(2)


@dataclass
class ScDLCTowerStageEndReq(betterproto.Message):
    end_status: "StageEndStatus" = betterproto.enum_field(1)
    floor: int = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)
    avatar_info_list: List["ScDLCTowerAvatarInfo"] = betterproto.message_field(4)
    drop_item_list: List["DropItem"] = betterproto.message_field(5)
    sc_dlc_fever_score: int = betterproto.uint32_field(6)
    sc_dlc_climax_score: int = betterproto.uint32_field(7)
    report_ext: str = betterproto.string_field(8)


@dataclass
class ScDLCTowerStageEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)
    score: int = betterproto.uint32_field(3)
    floor: int = betterproto.uint32_field(4)
    settle_floor: int = betterproto.uint32_field(5)


@dataclass
class GetScDLCTowerRankReq(betterproto.Message):
    pass


@dataclass
class GetScDLCTowerRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rank_percent: int = betterproto.uint32_field(2)
    rank: int = betterproto.uint32_field(3)


@dataclass
class ScDLCTowerScheduleRewardNotify(betterproto.Message):
    score: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class ScDLCReviveAvatarReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    report_ext: str = betterproto.string_field(2)


@dataclass
class ScDLCReviveAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ScDLCTowerReviveAvatarReq(betterproto.Message):
    report_ext: str = betterproto.string_field(1)


@dataclass
class ScDLCTowerReviveAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    revive_times: int = betterproto.uint32_field(2)


@dataclass
class ScDLCActiveFeverAbilityReq(betterproto.Message):
    ability_group_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class ScDLCActiveFeverAbilityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ScDLCSweepTowerReq(betterproto.Message):
    pass


@dataclass
class ScDLCSweepTowerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class UpdateClientSettingNotify(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    data: List[bytes] = betterproto.bytes_field(2)


@dataclass
class CommonCdCheckNotify(betterproto.Message):
    end_time: int = betterproto.uint32_field(1)


@dataclass
class AntiAddictNotify(betterproto.Message):
    msg_type: "AntiAddictNotifyAntiAddictMsgType" = betterproto.enum_field(1)
    msg: str = betterproto.string_field(2)
    level: str = betterproto.string_field(3)


@dataclass
class SensitiveWordCheckReq(betterproto.Message):
    content: str = betterproto.string_field(1)


@dataclass
class SensitiveWordCheckRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class KickOutPlayerNotify(betterproto.Message):
    reason: "KickOutPlayerNotifyKickOutReason" = betterproto.enum_field(1)


@dataclass
class ClientReportReq(betterproto.Message):
    report_type: str = betterproto.string_field(1)
    report_value: str = betterproto.string_field(2)


@dataclass
class ClientReportRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetAuthkeyReq(betterproto.Message):
    auth_appid: str = betterproto.string_field(1)
    sign_type: int = betterproto.uint32_field(2)
    authkey_ver: int = betterproto.uint32_field(3)


@dataclass
class GetAuthkeyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    authkey: str = betterproto.string_field(2)
    auth_appid: str = betterproto.string_field(3)
    sign_type: int = betterproto.uint32_field(4)
    authkey_ver: int = betterproto.uint32_field(5)


@dataclass
class ClientReportBinReq(betterproto.Message):
    report_type: "ClientReportBinType" = betterproto.enum_field(1)
    report_bin_list: List[bytes] = betterproto.bytes_field(2)


@dataclass
class ClientReportBinRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class NetTestReq(betterproto.Message):
    is_gate_test: bool = betterproto.bool_field(1)
    req_time: int = betterproto.uint64_field(2)
    test_uint_list: List[int] = betterproto.uint32_field(3)
    test_str_list: List[str] = betterproto.string_field(4)


@dataclass
class NetTestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    is_gate_test: bool = betterproto.bool_field(2)
    req_time: int = betterproto.uint64_field(3)
    test_uint_list: List[int] = betterproto.uint32_field(4)
    test_str_list: List[str] = betterproto.string_field(5)


@dataclass
class SecurityPasswordInfo(betterproto.Message):
    remain_fail_times: int = betterproto.int32_field(1)


@dataclass
class GetSecurityPasswordReq(betterproto.Message):
    pass


@dataclass
class GetSecurityPasswordRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    status: "SecurityPasswordStatus" = betterproto.enum_field(2)
    device_status: "SecurityPasswordDeviceStatus" = betterproto.enum_field(3)
    reset_end_time: int = betterproto.uint32_field(4)
    salt: str = betterproto.string_field(5)


@dataclass
class SetSecurityPasswordReq(betterproto.Message):
    password: str = betterproto.string_field(1)


@dataclass
class SetSecurityPasswordRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ChangeSecurityPasswordReq(betterproto.Message):
    old_password: str = betterproto.string_field(1)
    new_password: str = betterproto.string_field(2)


@dataclass
class ChangeSecurityPasswordRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    security_password_info: "SecurityPasswordInfo" = betterproto.message_field(2)


@dataclass
class UnlockDeviceSecurityPasswordReq(betterproto.Message):
    password: str = betterproto.string_field(1)


@dataclass
class UnlockDeviceSecurityPasswordRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    security_password_info: "SecurityPasswordInfo" = betterproto.message_field(2)


@dataclass
class SecurityPasswordOpReq(betterproto.Message):
    password: str = betterproto.string_field(1)
    op_type: "SecurityPasswordOpType" = betterproto.enum_field(2)
    para_list: List[int] = betterproto.uint32_field(3)


@dataclass
class SecurityPasswordOpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    op_type: "SecurityPasswordOpType" = betterproto.enum_field(2)
    security_password_info: "SecurityPasswordInfo" = betterproto.message_field(3)


@dataclass
class ResetSecurityPasswordReq(betterproto.Message):
    is_withdraw: bool = betterproto.bool_field(1)


@dataclass
class ResetSecurityPasswordRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SecurityPasswordRejectionNotify(betterproto.Message):
    pass


@dataclass
class BuyGoodsCost(betterproto.Message):
    hcoin_cost: int = betterproto.uint32_field(1)
    scoin_cost: int = betterproto.uint32_field(2)
    mcoin_cost: int = betterproto.uint32_field(3)
    cost_item_list: List["Material"] = betterproto.message_field(4)


@dataclass
class GoodsDiscount(betterproto.Message):
    begin_time: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)
    discount: int = betterproto.uint32_field(3)
    goods_cost: "BuyGoodsCost" = betterproto.message_field(4)


@dataclass
class Goods(betterproto.Message):
    goods_id: int = betterproto.uint32_field(1)
    buy_times: int = betterproto.uint32_field(2)
    can_be_refresh: bool = betterproto.bool_field(3)
    refresh_time_type: "GoodsRefreshTimeType" = betterproto.enum_field(4)
    begin_time: int = betterproto.uint32_field(5)
    end_time: int = betterproto.uint32_field(6)
    show_type: "GoodsShowType" = betterproto.enum_field(7)
    unlock_tips: str = betterproto.string_field(8)
    prepare_time: int = betterproto.uint32_field(9)
    sort_id: int = betterproto.uint32_field(10)
    product_name: str = betterproto.string_field(11)
    product_id: int = betterproto.uint32_field(12)
    product_price: int = betterproto.uint32_field(13)
    show_setting_str: str = betterproto.string_field(14)
    show_new_tag: int = betterproto.uint32_field(15)
    mall_anchor_list: List[int] = betterproto.uint32_field(16)
    is_ignore: bool = betterproto.bool_field(17)
    unlock_type: int = betterproto.uint32_field(18)
    unlock_para_int: int = betterproto.uint32_field(19)
    unlock_para_str: str = betterproto.string_field(20)
    prepare_level: int = betterproto.uint32_field(21)
    min_level: int = betterproto.uint32_field(22)
    max_level: int = betterproto.uint32_field(23)
    discount: "GoodsDiscount" = betterproto.message_field(24)
    is_popup: bool = betterproto.bool_field(25)
    is_hide_price: bool = betterproto.bool_field(26)
    max_buy_type: int = betterproto.uint32_field(27)


@dataclass
class Shop(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)
    is_open: bool = betterproto.bool_field(2)
    text_map_name: str = betterproto.string_field(3)
    shop_icon_path: str = betterproto.string_field(4)
    goods_list: List["Goods"] = betterproto.message_field(5)
    next_auto_refresh_time: int = betterproto.uint32_field(6)
    manual_refresh_times: int = betterproto.uint32_field(7)
    refresh_item: int = betterproto.uint32_field(8)
    next_refresh_cost: int = betterproto.uint32_field(9)
    max_manual_refresh_times: int = betterproto.uint32_field(10)
    shop_type: int = betterproto.uint32_field(11)
    currency_list: List[int] = betterproto.uint32_field(12)
    schedule_change_time: int = betterproto.uint32_field(13)
    shop_name: str = betterproto.string_field(14)
    unlock_level: int = betterproto.uint32_field(15)
    all_goods_id_list: List[int] = betterproto.uint32_field(16)
    begin_time: int = betterproto.uint32_field(17)
    end_time: int = betterproto.uint32_field(18)
    is_hot: bool = betterproto.bool_field(19)
    multi_currency: int = betterproto.uint32_field(20)
    is_double_confirm: bool = betterproto.bool_field(21)
    is_show: bool = betterproto.bool_field(22)
    sort_priority: int = betterproto.uint32_field(23)
    toolbar_currency_list: List[int] = betterproto.uint32_field(24)
    new_currency_list: List[int] = betterproto.uint32_field(25)
    free_manual_refresh_times: int = betterproto.uint32_field(26)


@dataclass
class GetShopListReq(betterproto.Message):
    pass


@dataclass
class GetShopListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    shop_list: List["Shop"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class GetShoppingMallListReq(betterproto.Message):
    pass


@dataclass
class EffectiveGiftGoodsData(betterproto.Message):
    goods_id: int = betterproto.uint32_field(1)
    expire_time: int = betterproto.uint32_field(2)


@dataclass
class GetShoppingMallListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    shop_list: List["Shop"] = betterproto.message_field(2)
    effective_gift_goods_list: List["EffectiveGiftGoodsData"] = (
        betterproto.message_field(3)
    )


@dataclass
class GetSingleShopWithoutRefreshReq(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)


@dataclass
class GetSingleShopWithoutRefreshRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    shop: "Shop" = betterproto.message_field(2)


@dataclass
class Product(betterproto.Message):
    name: str = betterproto.string_field(1)
    desc: str = betterproto.string_field(2)
    type: "ProductType" = betterproto.enum_field(3)
    pay_hcoin: int = betterproto.uint32_field(4)
    free_hcoin: int = betterproto.uint32_field(5)
    price: int = betterproto.uint32_field(6)
    left_buy_times: int = betterproto.uint32_field(7)
    card_daily_hcoin: int = betterproto.uint32_field(8)
    card_left_days: int = betterproto.uint32_field(9)
    is_forbid_by_itunes_small_order: bool = betterproto.bool_field(10)
    box_reward_list: List["RewardData"] = betterproto.message_field(11)
    is_itunes_box_subscription: bool = betterproto.bool_field(12)
    card_activity_daily_hcoin: int = betterproto.uint32_field(13)
    is_add_hcoin: bool = betterproto.bool_field(14)
    end_time: int = betterproto.uint32_field(15)
    sort_priority: int = betterproto.uint32_field(16)
    is_show_pic: bool = betterproto.bool_field(17)
    pic_path: str = betterproto.string_field(18)
    detail: str = betterproto.string_field(19)
    id: int = betterproto.uint32_field(20)
    mcoin: int = betterproto.uint32_field(21)
    product_goods_id: int = betterproto.uint32_field(22)
    price_tier: str = betterproto.string_field(23)


@dataclass
class GetProductListReq(betterproto.Message):
    pass


@dataclass
class FoundationData(betterproto.Message):
    product_name: str = betterproto.string_field(1)
    has_take_reward_level_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetProductListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    product_list: List["Product"] = betterproto.message_field(2)
    next_random_box_product_refresh_time: int = betterproto.uint32_field(3)
    next_limit_product_refresh_time: int = betterproto.uint32_field(4)
    foundation_list: List["FoundationData"] = betterproto.message_field(5)


@dataclass
class ManualRefreshShopReq(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)


@dataclass
class ManualRefreshShopRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetRecommendGoodsReq(betterproto.Message):
    pass


@dataclass
class RecommendGoods(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)
    goods: "Goods" = betterproto.message_field(2)
    banner_bg: str = betterproto.string_field(3)
    accurate_deliver_schedule_id: int = betterproto.uint32_field(4)


@dataclass
class GetRecommendGoodsRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    recommend_goods_list: List["RecommendGoods"] = betterproto.message_field(2)


@dataclass
class BuyGoodsReq(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)
    goods_id: int = betterproto.uint32_field(2)
    coupon_material_id: int = betterproto.uint32_field(3)
    coupon_num: int = betterproto.uint32_field(4)
    mcoin_coupon_material_id: int = betterproto.uint32_field(5)
    goods_num: int = betterproto.uint32_field(6)
    gift_pack_select_reward_id: int = betterproto.uint32_field(7)
    discount_save_num: int = betterproto.uint32_field(8)
    auto_open_select_reward_id: int = betterproto.uint32_field(9)


@dataclass
class BuyGoodsRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    shop_id: int = betterproto.uint32_field(2)
    goods_id: int = betterproto.uint32_field(3)
    goods_buy_times: int = betterproto.uint32_field(4)
    item_id: int = betterproto.uint32_field(5)
    level: int = betterproto.uint32_field(6)
    num: int = betterproto.uint32_field(7)
    gift_pack_select_reward_id: int = betterproto.uint32_field(8)
    split_fragment_num: int = betterproto.uint32_field(9)


@dataclass
class ShopGoodsInfo(betterproto.Message):
    goods_id: int = betterproto.uint32_field(1)
    sell_num: int = betterproto.uint32_field(2)


@dataclass
class GlobalShopGoodsInfoNotify(betterproto.Message):
    shop_goods_list: List["ShopGoodsInfo"] = betterproto.message_field(1)


@dataclass
class VipReward(betterproto.Message):
    vip_level: int = betterproto.uint32_field(1)
    pay_hcoin: int = betterproto.uint32_field(2)
    reward_id_list: List[int] = betterproto.uint32_field(3)
    reward_batch: int = betterproto.uint32_field(4)
    special_reward_id_list: List[int] = betterproto.uint32_field(5)
    is_special_shine_list: List[int] = betterproto.uint32_field(6)
    taken_reward_id_list: List[int] = betterproto.uint32_field(7)


@dataclass
class GetVipRewardDataReq(betterproto.Message):
    pass


@dataclass
class GetVipRewardDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    total_pay_hcoin: int = betterproto.uint32_field(2)
    vip_reward_list: List["VipReward"] = betterproto.message_field(3)


@dataclass
class GetVipRewardReq(betterproto.Message):
    vip_level_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetVipRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class GetCardProductInfoReq(betterproto.Message):
    pass


@dataclass
class CardProductInfo(betterproto.Message):
    product_name: str = betterproto.string_field(1)
    expire_time: int = betterproto.uint32_field(2)
    reward_num: int = betterproto.uint32_field(3)
    hcoin: int = betterproto.uint32_field(4)
    take_reward_days: int = betterproto.uint32_field(5)
    last_daily_reward_time: int = betterproto.uint32_field(6)
    bonus_need_days: int = betterproto.uint32_field(7)
    bonus_hcoin: int = betterproto.uint32_field(8)
    bonus_max_save_days: int = betterproto.uint32_field(9)
    card_left_days: int = betterproto.uint32_field(10)


@dataclass
class CardProductReward(betterproto.Message):
    product_name: str = betterproto.string_field(1)
    hcoin: int = betterproto.uint32_field(2)
    take_reward_days: int = betterproto.uint32_field(3)


@dataclass
class GetCardProductInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    card_product_info_list: List["CardProductInfo"] = betterproto.message_field(2)


@dataclass
class TakeCardProductDailyRewardReq(betterproto.Message):
    pass


@dataclass
class TakeCardProductDailyRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    card_product_reward_list: List["CardProductReward"] = betterproto.message_field(2)


@dataclass
class TakeCardProductBonusRewardReq(betterproto.Message):
    pass


@dataclass
class TakeCardProductBonusRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    card_product_reward_list: List["CardProductReward"] = betterproto.message_field(2)


@dataclass
class TakeFoundationRewardReq(betterproto.Message):
    product_name: str = betterproto.string_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class TakeFoundationRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    product_name: str = betterproto.string_field(3)
    has_take_reward_level_list: List[int] = betterproto.uint32_field(4)


@dataclass
class GetProductRecommendListReq(betterproto.Message):
    pass


@dataclass
class GetProductRecommendListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    recommend_list: List[int] = betterproto.uint32_field(2)


@dataclass
class BuyProductReq(betterproto.Message):
    name: str = betterproto.string_field(1)
    price: int = betterproto.uint32_field(2)
    currency_code: str = betterproto.string_field(3)
    format_price: str = betterproto.string_field(4)


@dataclass
class BuyProductRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ExchangeHcoinByMcoinReq(betterproto.Message):
    product_name: str = betterproto.string_field(1)
    mcoin_price: int = betterproto.uint32_field(2)


@dataclass
class ExchangeHcoinByMcoinRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    product_name: str = betterproto.string_field(2)
    pay_hcoin: int = betterproto.uint32_field(3)
    free_hcoin: int = betterproto.uint32_field(4)


@dataclass
class GetMyCardAuthCodeReq(betterproto.Message):
    fac_trade_seq: str = betterproto.string_field(1)
    product_name: str = betterproto.string_field(2)
    amount: str = betterproto.string_field(3)


@dataclass
class GetMyCardAuthCodeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    auth_code: str = betterproto.string_field(2)
    trade_seq: str = betterproto.string_field(3)
    product_name: str = betterproto.string_field(4)
    transaction_url: str = betterproto.string_field(5)


@dataclass
class VerifyMyCardOrderNotify(betterproto.Message):
    auth_code: str = betterproto.string_field(1)
    product_name: str = betterproto.string_field(2)


@dataclass
class RechargeFinishNotify(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    product_name: str = betterproto.string_field(2)
    pay_hcoin: int = betterproto.uint32_field(3)
    free_hcoin: int = betterproto.uint32_field(4)
    product_desc: str = betterproto.string_field(5)
    box_reward_list: List["RewardData"] = betterproto.message_field(6)
    product_price: int = betterproto.uint32_field(7)
    channel_name: str = betterproto.string_field(8)
    channel_order_no: str = betterproto.string_field(9)
    is_add_hcoin: bool = betterproto.bool_field(10)
    mcoin: int = betterproto.uint32_field(11)
    goods_id: int = betterproto.uint32_field(12)
    pay_currency: str = betterproto.string_field(13)
    pay_price: str = betterproto.string_field(14)
    product_type: "ProductType" = betterproto.enum_field(15)


@dataclass
class ReportClickRechargeButtonNotify(betterproto.Message):
    product_name: str = betterproto.string_field(1)
    currency_code: str = betterproto.string_field(2)
    price: str = betterproto.string_field(3)


@dataclass
class GlobalShopGoodsGetBuyOrderReq(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)
    goods_id: int = betterproto.uint32_field(2)


@dataclass
class GlobalShopGoodsGetBuyOrderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    shop_id: int = betterproto.uint32_field(2)
    goods_id: int = betterproto.uint32_field(3)
    buy_order: int = betterproto.uint32_field(4)


@dataclass
class SimplifiedGodWarChallengeAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    hp_percent: int = betterproto.uint32_field(2)
    is_virtual: bool = betterproto.bool_field(3)
    weapon_id: int = betterproto.uint32_field(4)
    weapon_level: int = betterproto.uint32_field(5)
    stigmata_1: "SimplifiedGodWarChallengeStigmata" = betterproto.message_field(6)
    stigmata_2: "SimplifiedGodWarChallengeStigmata" = betterproto.message_field(7)
    stigmata_3: "SimplifiedGodWarChallengeStigmata" = betterproto.message_field(8)
    weapon_homology_level: int = betterproto.uint32_field(9)
    sp_percent: int = betterproto.uint32_field(10)


@dataclass
class SimplifiedGodWarChallengeElf(betterproto.Message):
    elf_info: "ElfBriefInfo" = betterproto.message_field(1)


@dataclass
class SimplifiedGodWarChallengeStigmata(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    rune_list: List["StigmataRune"] = betterproto.message_field(3)


@dataclass
class SimplifiedGodWarBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_level: int = betterproto.uint32_field(2)


@dataclass
class SimplifiedGodWarOverall(betterproto.Message):
    overall_id: int = betterproto.uint32_field(1)
    overall_value: int = betterproto.uint32_field(2)


@dataclass
class SimplifiedGodWarActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    challenge_schedule_id: int = betterproto.uint32_field(2)
    challenge: "SimplifiedGodWarChallenge" = betterproto.message_field(3)
    challenge_history_list: List["SimplifiedGodWarChallengeHistory"] = (
        betterproto.message_field(4)
    )


@dataclass
class SimplifiedGodWarChallenge(betterproto.Message):
    avatar_list: List["SimplifiedGodWarChallengeAvatar"] = betterproto.message_field(1)
    elf_list: List["SimplifiedGodWarChallengeElf"] = betterproto.message_field(2)
    support_avatar_id_list: List[int] = betterproto.uint32_field(3)
    challenge_score: int = betterproto.uint32_field(4)
    random_seed: int = betterproto.uint32_field(5)
    is_use_virtual_avatar: bool = betterproto.bool_field(6)
    star_ring_energy: int = betterproto.uint32_field(7)
    cur_site_id: int = betterproto.uint32_field(8)
    cur_theme_id: int = betterproto.uint32_field(9)
    buff_list: List["SimplifiedGodWarBuff"] = betterproto.message_field(10)
    assist_role_id_list: List[int] = betterproto.uint32_field(11)
    selected_buff_id_list: List[int] = betterproto.uint32_field(12)
    selected_assist_rold_id_list: List[int] = betterproto.uint32_field(13)
    overall_list: List["SimplifiedGodWarOverall"] = betterproto.message_field(14)
    challenge_transaction_str: str = betterproto.string_field(15)


@dataclass
class SimplifiedGodWarChallengeHistory(betterproto.Message):
    theme_id: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    is_challenge_succ: bool = betterproto.bool_field(3)
    max_challenge_score: int = betterproto.uint32_field(4)
    accumulate_challenge_score: int = betterproto.uint32_field(5)


@dataclass
class SimplifiedGodWarGetActivityReq(betterproto.Message):
    pass


@dataclass
class SimplifiedGodWarGetActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity: "SimplifiedGodWarActivity" = betterproto.message_field(2)


@dataclass
class SimplifiedGodWarSelectChallengeAvatarReq(betterproto.Message):
    avatar_id_list: List[int] = betterproto.uint32_field(1)
    support_avatar_id_list: List[int] = betterproto.uint32_field(2)
    elf_id: int = betterproto.uint32_field(3)
    is_use_virtual_avatar: bool = betterproto.bool_field(4)
    theme_id: int = betterproto.uint32_field(5)


@dataclass
class SimplifiedGodWarSelectChallengeAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SimplifiedGodWarResetChallengeReq(betterproto.Message):
    pass


@dataclass
class SimplifiedGodWarResetChallengeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_list: List["SimplifiedGodWarChallengeAvatar"] = betterproto.message_field(2)
    buff_list: List["SimplifiedGodWarBuff"] = betterproto.message_field(3)
    is_challenge_succ: bool = betterproto.bool_field(4)
    challenge_score: int = betterproto.uint32_field(5)
    reward_material_list: List["Material"] = betterproto.message_field(6)
    site_idx: int = betterproto.uint32_field(7)
    first_win_reward: "RewardData" = betterproto.message_field(8)
    is_use_virtual_avatar: bool = betterproto.bool_field(9)
    challenge_cost_time: int = betterproto.uint32_field(10)
    grade: int = betterproto.uint32_field(11)
    activity_id: int = betterproto.uint32_field(12)
    theme_id: int = betterproto.uint32_field(13)
    total_score: int = betterproto.uint32_field(14)


@dataclass
class SimplifiedGodWarGetBuffReq(betterproto.Message):
    pass


@dataclass
class SimplifiedGodWarGetBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    candidate_buff_suit_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class SimplifiedGodWarSelectBuffReq(betterproto.Message):
    buff_suit_id: int = betterproto.uint32_field(1)
    core_buff_id: int = betterproto.uint32_field(2)


@dataclass
class SimplifiedGodWarSelectBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    buff_suit_id: int = betterproto.uint32_field(2)
    core_buff_id: int = betterproto.uint32_field(3)


@dataclass
class SimplifiedGodWarGetAssistRoleReq(betterproto.Message):
    pass


@dataclass
class SimplifiedGodWarGetAssistRoleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    candidate_assist_rold_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class SimplifiedGodWarSelectAssistRoleReq(betterproto.Message):
    assist_role_id: int = betterproto.uint32_field(1)


@dataclass
class SimplifiedGodWarSelectAssistRoleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    assist_role_id: int = betterproto.uint32_field(2)


@dataclass
class SimplifiedGodWarEnterSiteReq(betterproto.Message):
    pass


@dataclass
class SimplifiedGodWarEnterSiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)


@dataclass
class SlgBattleBuffData(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    type: "SlgBuffType" = betterproto.enum_field(2)
    num: int = betterproto.uint32_field(3)


@dataclass
class SlgBattleCountryData(betterproto.Message):
    country_id: int = betterproto.uint32_field(1)
    take_down_boss_num: int = betterproto.uint32_field(2)
    buff_list: List["SlgBattleBuffData"] = betterproto.message_field(3)
    country_score: int = betterproto.uint32_field(4)


@dataclass
class SlgBattlePointCountryData(betterproto.Message):
    country_id: int = betterproto.uint32_field(1)
    point_score_u64: int = betterproto.uint64_field(2)


@dataclass
class SlgBattlePointBossData(betterproto.Message):
    boss_id: int = betterproto.uint32_field(1)
    type: "SlgBossType" = betterproto.enum_field(2)
    is_alive: bool = betterproto.bool_field(3)
    boss_schedule_id: int = betterproto.uint32_field(4)


@dataclass
class SlgBattlePointData(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)
    occupy_country_id: int = betterproto.uint32_field(2)
    point_country_data_list: List["SlgBattlePointCountryData"] = (
        betterproto.message_field(3)
    )
    boss_data: "SlgBattlePointBossData" = betterproto.message_field(4)
    occupied_country_list: List[int] = betterproto.uint32_field(5)


@dataclass
class SlgBattlePlayerData(betterproto.Message):
    country_id: int = betterproto.uint32_field(1)
    buff_list: List[int] = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)


@dataclass
class SlgBattleData(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    battle_schedule_id: int = betterproto.uint32_field(2)
    country_data_list: List["SlgBattleCountryData"] = betterproto.message_field(3)
    point_data_list: List["SlgBattlePointData"] = betterproto.message_field(4)
    begin_time: int = betterproto.uint32_field(5)
    end_time: int = betterproto.uint32_field(6)
    today_begin_time: int = betterproto.uint32_field(7)
    today_end_time: int = betterproto.uint32_field(8)
    player_data: "SlgBattlePlayerData" = betterproto.message_field(9)
    adjoining_point_list: List[int] = betterproto.uint32_field(10)
    last_settle_time: int = betterproto.uint32_field(11)
    is_settled: bool = betterproto.bool_field(12)
    level_group_id: int = betterproto.uint32_field(13)


@dataclass
class SlgBattleBriefCountryData(betterproto.Message):
    country_id: int = betterproto.uint32_field(1)
    country_score: int = betterproto.uint32_field(2)


@dataclass
class SlgBriefBattleData(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    battle_schedule_id: int = betterproto.uint32_field(2)
    country_id: int = betterproto.uint32_field(3)
    country_data_list: List["SlgBattleBriefCountryData"] = betterproto.message_field(4)
    is_settled: bool = betterproto.bool_field(5)


@dataclass
class SlgGetDataReq(betterproto.Message):
    country_id: int = betterproto.uint32_field(1)
    region: str = betterproto.string_field(2)


@dataclass
class SlgGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    next_battle_begin_time: int = betterproto.uint32_field(3)
    battle_data: "SlgBattleData" = betterproto.message_field(4)
    activity_stamina_num: int = betterproto.uint32_field(5)
    last_recover_activity_stamina_time: int = betterproto.uint32_field(6)
    begin_time: int = betterproto.uint32_field(7)
    end_time: int = betterproto.uint32_field(8)
    unlock_story_id_list: List[int] = betterproto.uint32_field(9)
    history_battle_data_list: List["SlgBriefBattleData"] = betterproto.message_field(10)
    battle_schedule_id: int = betterproto.uint32_field(11)
    current_enroll_data: "SlgEnrollData" = betterproto.message_field(12)
    taken_score_reward_id_list: List[int] = betterproto.uint32_field(13)
    total_score: int = betterproto.uint32_field(14)


@dataclass
class SlgPointSweepReq(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)


@dataclass
class SlgPointSweepRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    point_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class SlgEnrollData(betterproto.Message):
    enroll_battle_schedule_id: int = betterproto.uint32_field(1)
    enroll_begin_time: int = betterproto.uint32_field(2)
    enroll_end_time: int = betterproto.uint32_field(3)
    is_enrolled: bool = betterproto.bool_field(4)


@dataclass
class SlgBattleMatchRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)
    battle_schedule_id: int = betterproto.uint32_field(3)


@dataclass
class SlgEnrollReq(betterproto.Message):
    battle_schedule_id: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    match_score: int = betterproto.uint32_field(3)
    region_name: str = betterproto.string_field(4)


@dataclass
class SlgEnrollRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_schedule_id: int = betterproto.uint32_field(2)


@dataclass
class SlgGetActivityStaminaReq(betterproto.Message):
    pass


@dataclass
class SlgGetActivityStaminaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_stamina_num: int = betterproto.uint32_field(2)
    last_recover_activity_stamina_time: int = betterproto.uint32_field(3)


@dataclass
class SlgTakeScoreRewardReq(betterproto.Message):
    score_reward_type: "SlgScoreRewardType" = betterproto.enum_field(1)


@dataclass
class SlgTakeScoreRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    has_taken_score_reward_id_list: List[int] = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class SlgBattleAddScoreFailNotify(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)


@dataclass
class SlgGetBattleRankReq(betterproto.Message):
    country_id: int = betterproto.uint32_field(1)


@dataclass
class SlgBattleRank(betterproto.Message):
    is_all: bool = betterproto.bool_field(1)
    country_id: int = betterproto.uint32_field(2)
    total_num: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)


@dataclass
class SlgGetBattleRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rank: "SlgBattleRank" = betterproto.message_field(2)
    battle_schedule_id: int = betterproto.uint32_field(3)


@dataclass
class SlgGetPointRankReq(betterproto.Message):
    point_id: int = betterproto.uint32_field(1)


@dataclass
class SlgGetPointRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_schedule_id: int = betterproto.uint32_field(2)
    point_id: int = betterproto.uint32_field(3)
    player_score: int = betterproto.uint32_field(4)
    rank_list: List["UserRankData"] = betterproto.message_field(5)


@dataclass
class SlgBattleSettleNotify(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    battle_schedule_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)
    rank: int = betterproto.uint32_field(4)


@dataclass
class SlgBroadcastPlayer(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    country_id: int = betterproto.uint32_field(2)
    nickname: str = betterproto.string_field(3)


@dataclass
class SlgBattleBroadcast(betterproto.Message):
    broadcast_id: int = betterproto.uint32_field(1)
    trigger_time: int = betterproto.uint32_field(2)
    point_id: int = betterproto.uint32_field(3)
    para: int = betterproto.uint32_field(4)
    trigger_player: "SlgBroadcastPlayer" = betterproto.message_field(5)


@dataclass
class SlgBroadcastNotify(betterproto.Message):
    broadcast_list: List["SlgBattleBroadcast"] = betterproto.message_field(1)


@dataclass
class SlgMainPageReq(betterproto.Message):
    is_in_main_page: bool = betterproto.bool_field(1)


@dataclass
class SlgBattleInSettleNotify(betterproto.Message):
    pass


@dataclass
class SlgGetBriefRankReq(betterproto.Message):
    pass


@dataclass
class SlgGetBriefRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    all_country_rank: int = betterproto.uint32_field(2)
    self_country_rank: int = betterproto.uint32_field(3)


@dataclass
class SwitchData(betterproto.Message):
    type: "FeatureSwitchType" = betterproto.enum_field(1)
    data: List[bytes] = betterproto.bytes_field(2)
    min_level: int = betterproto.uint32_field(3)
    max_level: int = betterproto.uint32_field(4)
    begin_time: int = betterproto.uint32_field(5)
    end_time: int = betterproto.uint32_field(6)


@dataclass
class SwitchDataNotify(betterproto.Message):
    data_list: List["SwitchData"] = betterproto.message_field(1)


@dataclass
class SwitchChangeDataNotify(betterproto.Message):
    op_type: "FeatureSwitchOpType" = betterproto.enum_field(1)
    data_list: List["SwitchData"] = betterproto.message_field(2)


@dataclass
class StageSwitchData(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class ShopSwitchData(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)


@dataclass
class ShopGoodsPoolSwitchData(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)


@dataclass
class ActivityPanelSwitchData(betterproto.Message):
    panel_id: int = betterproto.uint32_field(1)


@dataclass
class MissionHideSwitchData(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)


@dataclass
class ItemUseSwitchData(betterproto.Message):
    use_id: int = betterproto.uint32_field(1)


@dataclass
class MaterialHideSwitchData(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)


@dataclass
class MissionRewardSwitchData(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)


@dataclass
class MailAttachmentTakeSwitchData(betterproto.Message):
    pass


@dataclass
class DanmakuSwitchData(betterproto.Message):
    pass


@dataclass
class ExBossSwitchData(betterproto.Message):
    boss_group_id: int = betterproto.uint32_field(1)


@dataclass
class ShopGoodsPoolHideSwitchData(betterproto.Message):
    shop_id: int = betterproto.uint32_field(1)
    pool_id: int = betterproto.uint32_field(2)


@dataclass
class ChatSwitchData(betterproto.Message):
    chat_switch_channel_type: int = betterproto.uint32_field(1)


@dataclass
class HexieSwitchData(betterproto.Message):
    pass


@dataclass
class McoinBuySwitchData(betterproto.Message):
    account_type: int = betterproto.uint32_field(1)


@dataclass
class ShopGoodsSwitchData(betterproto.Message):
    goods_id: int = betterproto.uint32_field(1)


@dataclass
class CommandCDSwitchData(betterproto.Message):
    cmd_id: int = betterproto.uint32_field(1)
    cd: int = betterproto.uint32_field(2)


@dataclass
class EndlessSwitchData(betterproto.Message):
    endless_type: int = betterproto.uint32_field(1)
    player_group: int = betterproto.uint32_field(2)


@dataclass
class ExBossEnterSwitchData(betterproto.Message):
    ex_boss_id: int = betterproto.uint32_field(1)


@dataclass
class GachaSwitchData(betterproto.Message):
    gacha_id: int = betterproto.uint32_field(1)
    gacha_type: int = betterproto.uint32_field(2)


@dataclass
class AvatarFragmentSwitchData(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)


@dataclass
class ElfFragmentSwitchData(betterproto.Message):
    elf_id: int = betterproto.uint32_field(1)


@dataclass
class EquipForgeSwitchData(betterproto.Message):
    equip_forge_id: int = betterproto.uint32_field(1)


@dataclass
class BattlePassSwitchData(betterproto.Message):
    pass


@dataclass
class GachaCoinTransferData(betterproto.Message):
    gacha_type: int = betterproto.uint32_field(1)


@dataclass
class RpgTaleSwitchData(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)


@dataclass
class ActivitySwitchData(betterproto.Message):
    activity_type: int = betterproto.uint32_field(1)


@dataclass
class ThemeWantedSwitchData(betterproto.Message):
    pass


@dataclass
class SnsRequestSwitchData(betterproto.Message):
    pass


@dataclass
class GodWarSwitchData(betterproto.Message):
    god_war_id: int = betterproto.uint32_field(1)


@dataclass
class ServerStopGachaMsgData(betterproto.Message):
    pass


@dataclass
class KingdomWarSwitchData(betterproto.Message):
    pass


@dataclass
class RefineRuneSwitchData(betterproto.Message):
    pass


@dataclass
class ChangeFriendRemarkSwitchData(betterproto.Message):
    pass


@dataclass
class GachaDailyTimesLimitSwitchData(betterproto.Message):
    pass


@dataclass
class InviteActivitySwitchData(betterproto.Message):
    pass


@dataclass
class QCandyBattleActivitySwitchData(betterproto.Message):
    switch_type: int = betterproto.uint32_field(1)


@dataclass
class GlobalExploreSwitchData(betterproto.Message):
    pass


@dataclass
class RpgTaleActivitySwitchData(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)


@dataclass
class RankSwitchData(betterproto.Message):
    rank_key: str = betterproto.string_field(1)


@dataclass
class ChapterBwWorldSwitchData(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class UltraEndlessForceSyncLocalScoreSwitchData(betterproto.Message):
    pass


@dataclass
class ExBossLockAvatarSwitchData(betterproto.Message):
    pass


@dataclass
class ChapterArkSwitchData(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class RaidReplaceSwitchData(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsEnterWorldSwitchData(betterproto.Message):
    world_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsQuestSwitchData(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    series_id: int = betterproto.uint32_field(2)


@dataclass
class PjmsActivitySwitchData(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class PjmsFirstEnterSwitchData(betterproto.Message):
    pass


@dataclass
class EquipmentQuickLevelUpSwitchData(betterproto.Message):
    pass


@dataclass
class SimplifiedGodWarSwitchData(betterproto.Message):
    pass


@dataclass
class DevilAutoChessSwitchData(betterproto.Message):
    pass


@dataclass
class TileSwitchData(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)


@dataclass
class FutariBattleSwitchData(betterproto.Message):
    pass


@dataclass
class RpgTaleAreaSwitchData(betterproto.Message):
    tale_id: int = betterproto.uint32_field(1)
    area_id: int = betterproto.uint32_field(2)


@dataclass
class PjmsChapterKnightRichManSwitchData(betterproto.Message):
    rich_man_id: int = betterproto.uint32_field(1)


@dataclass
class BattlePassUpgradeSwitchData(betterproto.Message):
    pass


@dataclass
class CheckExtraStoryLockedAvatarBindEquipReq(betterproto.Message):
    pass


@dataclass
class CheckExtraStoryLockedAvatarBindEquipRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    need_switch: bool = betterproto.bool_field(2)


@dataclass
class SwitchExtraStoryLockedAvatarBindEquipReq(betterproto.Message):
    mode: "AvatarBindEquipMode" = betterproto.enum_field(1)


@dataclass
class SwitchExtraStoryLockedAvatarBindEquipRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    succ_cnt: int = betterproto.uint32_field(2)
    mode: "AvatarBindEquipMode" = betterproto.enum_field(3)


@dataclass
class TakeDormLikesDropReq(betterproto.Message):
    pass


@dataclass
class TakeDormLikesDropRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    drop_item_list: List["DropItem"] = betterproto.message_field(2)
    yesterday_be_liked_num: int = betterproto.uint32_field(3)


@dataclass
class CheckDormLikesDropReq(betterproto.Message):
    pass


@dataclass
class CheckDormLikesDropRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    has_likes_drop: bool = betterproto.bool_field(2)
    yesterday_be_liked_num: int = betterproto.uint32_field(3)


@dataclass
class GetWorldMapDataReq(betterproto.Message):
    pass


@dataclass
class WorldMapData(betterproto.Message):
    world_map_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    high_light_min_level: int = betterproto.uint32_field(4)
    high_light_max_level: int = betterproto.uint32_field(5)
    weight: int = betterproto.uint32_field(6)
    advance_time: int = betterproto.uint32_field(7)
    id: int = betterproto.uint32_field(8)


@dataclass
class GetWorldMapDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    world_map_list: List["WorldMapData"] = betterproto.message_field(2)


@dataclass
class GetMpStageRecordReq(betterproto.Message):
    pass


@dataclass
class GetMpStageRecordRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    record_list: List["MpStageRecord"] = betterproto.message_field(2)


@dataclass
class LobbySetClientStatusReq(betterproto.Message):
    status: "LobbyClientStatus" = betterproto.enum_field(1)


@dataclass
class LobbySetClientStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class LobbyPrepareCountDownNotify(betterproto.Message):
    count_down_time: int = betterproto.uint32_field(1)


@dataclass
class MpStageVoteCountDownNotify(betterproto.Message):
    count_down_time: int = betterproto.uint32_field(1)


@dataclass
class MpStageVoteReq(betterproto.Message):
    option: "MpStageVoteOption" = betterproto.enum_field(1)


@dataclass
class MpStageVoteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    option: "MpStageVoteOption" = betterproto.enum_field(2)


@dataclass
class MpStageVoteResultNotify(betterproto.Message):
    option: int = betterproto.uint32_field(1)


@dataclass
class LobbyTimeoutNoLeaderNotify(betterproto.Message):
    pass


@dataclass
class TakeWeekDayActivityReturnCoinReq(betterproto.Message):
    pass


@dataclass
class TakeWeekDayActivityReturnCoinRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)
    is_coin_full_after_taken: bool = betterproto.bool_field(3)


@dataclass
class MpStageGetVoteInfoReq(betterproto.Message):
    pass


@dataclass
class MpStageVoteInfo(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    option: int = betterproto.uint32_field(2)


@dataclass
class MpStageGetVoteInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    vote_info_list: List["MpStageVoteInfo"] = betterproto.message_field(2)
    vote_end_time: int = betterproto.uint32_field(3)


@dataclass
class MpStageMemberVoteNotify(betterproto.Message):
    vote_info_list: List["MpStageVoteInfo"] = betterproto.message_field(1)


@dataclass
class SwitchExtraStoryLineEnhanceReq(betterproto.Message):
    pass


@dataclass
class SwitchExtraStoryLineEnhanceRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    is_open_enhance: bool = betterproto.bool_field(2)


@dataclass
class GetChallengeStepBonusReq(betterproto.Message):
    step_id: int = betterproto.uint32_field(1)


@dataclass
class GetChallengeStepBonusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class CityActivitySite(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    site_begin_time: int = betterproto.uint32_field(2)
    site_end_time: int = betterproto.uint32_field(3)
    activity_schedule_id: int = betterproto.uint32_field(4)
    activity_begin_time: int = betterproto.uint32_field(5)
    activity_end_time: int = betterproto.uint32_field(6)


@dataclass
class CityActivityRole(betterproto.Message):
    role_id: int = betterproto.uint32_field(1)
    affinity: int = betterproto.uint32_field(2)
    affinity_level: int = betterproto.uint32_field(3)
    is_like_type_gift_received: bool = betterproto.bool_field(4)
    is_favourite_gift_received: bool = betterproto.bool_field(5)


@dataclass
class CityActivityEvent(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    event_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class CityActivityPhoneEvent(betterproto.Message):
    role_id: int = betterproto.uint32_field(1)
    phone_event_id: int = betterproto.uint32_field(2)
    status: "PhoneEventStatus" = betterproto.enum_field(3)


@dataclass
class CityActivityAffinityDropInfo(betterproto.Message):
    max_daily_affinity_drop_in_stage: int = betterproto.uint32_field(1)
    today_affinity_drop_in_stage: int = betterproto.uint32_field(2)


@dataclass
class MpLeaveTeamNotify(betterproto.Message):
    reason: int = betterproto.int32_field(1)


@dataclass
class GetLobbyStatReq(betterproto.Message):
    stage_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class LobbyTeamPlayerNum(betterproto.Message):
    status: "LobbyStatus" = betterproto.enum_field(1)
    player_num: int = betterproto.uint32_field(2)


@dataclass
class LobbyStat(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    in_team_player_num_list: List["LobbyTeamPlayerNum"] = betterproto.message_field(2)
    wait_player_num: int = betterproto.uint32_field(3)


@dataclass
class GetLobbyStatRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    lobby_stat_list: List["LobbyStat"] = betterproto.message_field(2)
    lobby_total_stat: "LobbyStat" = betterproto.message_field(3)


@dataclass
class DisjoinFurnitureReq(betterproto.Message):
    furniture_list: List["DepotFurniture"] = betterproto.message_field(1)


@dataclass
class DisjoinFurnitureRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    material_list: List["Material"] = betterproto.message_field(2)


@dataclass
class ChatReport(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    report_type: int = betterproto.uint32_field(2)
    report_detail: str = betterproto.string_field(3)
    reporter_uid: int = betterproto.uint32_field(4)


@dataclass
class ChatReportReq(betterproto.Message):
    chat_report: "ChatReport" = betterproto.message_field(1)


@dataclass
class ChatReportRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cd_left_time: int = betterproto.uint32_field(2)


@dataclass
class ChatReportNotify(betterproto.Message):
    report_uid: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    report_type: int = betterproto.uint32_field(3)
    lost_chat_credit: int = betterproto.uint32_field(4)
    chat_forbid_times: int = betterproto.uint32_field(5)


@dataclass
class ChatUnforbidNotify(betterproto.Message):
    uid_list: List[int] = betterproto.uint32_field(1)


@dataclass
class ChatForbidNotify(betterproto.Message):
    forbid_finish_time: int = betterproto.uint32_field(1)
    forbid_type: "ChatForbidNotifyForbidType" = betterproto.enum_field(2)


@dataclass
class GetChatReportInfoReq(betterproto.Message):
    pass


@dataclass
class GetChatReportInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chat_forbid_finish_time: int = betterproto.uint32_field(2)
    chat_forbid_times: int = betterproto.uint32_field(3)
    lost_chat_credit: int = betterproto.uint32_field(4)


@dataclass
class ChatForbidSnsNotify(betterproto.Message):
    credit_bound: int = betterproto.uint32_field(1)
    chat_forbid_finish_time: int = betterproto.uint32_field(2)
    chat_forbid_times: int = betterproto.uint32_field(3)


@dataclass
class RecoverChatCreditNotify(betterproto.Message):
    lost_chat_credit: int = betterproto.uint32_field(1)


@dataclass
class SendChatRedEnvelopeReq(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    channel: int = betterproto.uint32_field(2)
    msg: str = betterproto.string_field(3)
    nickname: str = betterproto.string_field(4)
    armada_id: int = betterproto.uint32_field(5)
    red_envelope_id: int = betterproto.uint32_field(6)


@dataclass
class SendChatRedEnvelopeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)
    channel: int = betterproto.uint32_field(3)
    msg: str = betterproto.string_field(4)
    red_envelope_id: int = betterproto.uint32_field(5)
    expire_time: int = betterproto.uint32_field(6)


@dataclass
class TakeChatRedEnvelopeReq(betterproto.Message):
    channel: int = betterproto.uint32_field(1)
    sender_uid: int = betterproto.uint32_field(2)
    red_envelope_id: int = betterproto.uint32_field(3)
    item_id: int = betterproto.uint32_field(4)
    armada_id: int = betterproto.uint32_field(5)
    is_sender_npc: bool = betterproto.bool_field(6)
    nickname: str = betterproto.string_field(7)


@dataclass
class TakeChatRedEnvelopeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    channel: int = betterproto.uint32_field(2)
    sender_uid: int = betterproto.uint32_field(3)
    sender_nickname: str = betterproto.string_field(4)
    item_id: int = betterproto.uint32_field(5)
    take_scoin: int = betterproto.uint32_field(6)
    drop_item_list: List["DropItem"] = betterproto.message_field(7)
    msg: str = betterproto.string_field(8)
    red_envelope_id: int = betterproto.uint32_field(9)
    drop_id: int = betterproto.uint32_field(10)
    take_hcoin: int = betterproto.uint32_field(11)
    is_sender_npc: bool = betterproto.bool_field(12)
    take_material: "Material" = betterproto.message_field(13)
    is_take_over: bool = betterproto.bool_field(14)
    red_envelope_take_num_today: int = betterproto.uint32_field(15)
    red_envelope_take_num_per_day: int = betterproto.uint32_field(16)


@dataclass
class GetPhotoDataReq(betterproto.Message):
    type: int = betterproto.uint32_field(1)


@dataclass
class GetPhotoDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: int = betterproto.uint32_field(2)
    photo_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class GetWikiDataReq(betterproto.Message):
    pass


@dataclass
class GetWikiDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    has_take_rating_reward_list: List[int] = betterproto.uint32_field(2)
    has_take_activity_suit_reward_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TakeWikiRatingRewardReq(betterproto.Message):
    rating_id: int = betterproto.uint32_field(1)
    rating_score: int = betterproto.uint32_field(2)
    cg_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TakeWikiRatingRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    rating_id: int = betterproto.uint32_field(3)


@dataclass
class GetPhonePendantDataReq(betterproto.Message):
    phone_pendant_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetPhonePendantDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)
    phone_pendant_list: List["PhonePendant"] = betterproto.message_field(3)


@dataclass
class PhonePendantOpReq(betterproto.Message):
    op: "PhonePendantOpType" = betterproto.enum_field(1)
    on_id: int = betterproto.uint32_field(2)
    off_id: int = betterproto.uint32_field(3)


@dataclass
class PhonePendantOpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    op: "PhonePendantOpType" = betterproto.enum_field(2)
    on_id: int = betterproto.uint32_field(3)
    off_id: int = betterproto.uint32_field(4)


@dataclass
class GetTeamListReq(betterproto.Message):
    stage_id_list: List[int] = betterproto.uint32_field(1)
    team_id_list: List[int] = betterproto.uint32_field(2)
    is_select_in_order: bool = betterproto.bool_field(3)
    level: int = betterproto.uint32_field(4)


@dataclass
class GetTeamListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    team_data_list: List["MpTeamData"] = betterproto.message_field(2)


@dataclass
class GetEmojiDataReq(betterproto.Message):
    pass


@dataclass
class GetEmojiDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    emoji_id_list: List[int] = betterproto.uint32_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class MpMatchStage(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    has_leader_stamina: bool = betterproto.bool_field(2)
    has_leader_enter_times: bool = betterproto.bool_field(3)
    avatar_detail: "AvatarDetailData" = betterproto.message_field(4)
    backup_avatar_list: List["AvatarDetailData"] = betterproto.message_field(5)
    has_leader_theme_wanted_ticket: bool = betterproto.bool_field(6)


@dataclass
class MpFastMatchReq(betterproto.Message):
    stage_id_list: List[int] = betterproto.uint32_field(1)
    device_score: int = betterproto.uint32_field(2)
    match_stage_list: List["MpMatchStage"] = betterproto.message_field(3)
    level: int = betterproto.uint32_field(4)
    client_rtt: int = betterproto.uint32_field(5)
    member: "MpTeamMember" = betterproto.message_field(6)
    report_num: int = betterproto.uint32_field(7)


@dataclass
class MpFastMatchRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id_list: List[int] = betterproto.uint32_field(2)
    lobby_id: int = betterproto.uint32_field(3)


@dataclass
class SnsShowExBossData(betterproto.Message):
    cur_rank: int = betterproto.uint32_field(1)
    total_score: int = betterproto.uint32_field(2)
    finished_boss_info_list: List["FinishedExBossInfo"] = betterproto.message_field(3)
    rank_id: int = betterproto.uint32_field(4)
    cur_rank_percent: int = betterproto.uint32_field(5)


@dataclass
class SnsShowEndlessData(betterproto.Message):
    cur_type: "EndlessType" = betterproto.enum_field(1)
    openworld_endless_player_data: "OpenworldEndlessPlayer" = betterproto.message_field(
        2
    )


@dataclass
class SnsShowTowerRaidData(betterproto.Message):
    hard_level: int = betterproto.uint32_field(1)
    max_hard_level: int = betterproto.uint32_field(2)
    total_enter_times: int = betterproto.uint32_field(3)
    total_battle_during_time: int = betterproto.uint32_field(4)


@dataclass
class GetSnsShowDataReq(betterproto.Message):
    sns_show_type: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    is_friend: bool = betterproto.bool_field(3)
    ex_boss_schedule_id: int = betterproto.uint32_field(4)


@dataclass
class GetSnsShowDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    sns_show_type: int = betterproto.uint32_field(2)
    target_uid: int = betterproto.uint32_field(3)
    sns_show_endless_data: "SnsShowEndlessData" = betterproto.message_field(4)
    sns_show_ex_boss_data: "SnsShowExBossData" = betterproto.message_field(5)
    wiki_detail_data_list: List["WikiDetailData"] = betterproto.message_field(6)
    card_data: "PlayerCardData" = betterproto.message_field(7)
    player_data: "PlayerDetailData" = betterproto.message_field(8)
    target_uid_level: int = betterproto.uint32_field(9)
    sns_show_tower_raid_data: "SnsShowTowerRaidData" = betterproto.message_field(10)


@dataclass
class MasterPupilTagSwitch(betterproto.Message):
    type: "MasterPupilType" = betterproto.enum_field(1)
    is_open: bool = betterproto.bool_field(2)


@dataclass
class GetClientSettingReq(betterproto.Message):
    client_setting_type: int = betterproto.uint32_field(1)


@dataclass
class AvatarArtifactSwitch(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    is_artifact_switch_on: bool = betterproto.bool_field(2)


@dataclass
class UpdateClientSettingReq(betterproto.Message):
    client_setting_type: int = betterproto.uint32_field(1)
    is_weekly_guide_switch_on: bool = betterproto.bool_field(2)
    sns_show_priviledge_list: List["SnsShowPriviledge"] = betterproto.message_field(3)
    avatar_artifact_switch: "AvatarArtifactSwitch" = betterproto.message_field(4)
    master_pupil_tag_switch: "MasterPupilTagSwitch" = betterproto.message_field(5)


@dataclass
class GetClientSettingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    client_setting_type: int = betterproto.uint32_field(2)
    is_weekly_guide_switch_on: bool = betterproto.bool_field(3)
    sns_show_priviledge_list: List["SnsShowPriviledge"] = betterproto.message_field(4)
    avatar_artifact_switch_list: List["AvatarArtifactSwitch"] = (
        betterproto.message_field(5)
    )
    master_pupil_tag_switch_list: List["MasterPupilTagSwitch"] = (
        betterproto.message_field(6)
    )


@dataclass
class GetOtherPlayerClientSettingReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    client_setting_type: int = betterproto.uint32_field(2)


@dataclass
class GetOtherPlayerClientSettingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    client_setting_type: int = betterproto.uint32_field(3)
    is_weekly_guide_switch_on: bool = betterproto.bool_field(4)
    sns_show_priviledge_list: List["SnsShowPriviledge"] = betterproto.message_field(5)


@dataclass
class UpdateLobbySettingReq(betterproto.Message):
    team_name: str = betterproto.string_field(1)
    min_level: int = betterproto.uint32_field(2)
    lobby_enter_type: "LobbyEnterType" = betterproto.enum_field(3)
    max_level: int = betterproto.uint32_field(4)


@dataclass
class UpdateLobbySettingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class ExchangePurpleJadeReq(betterproto.Message):
    hcoin_num: int = betterproto.uint32_field(1)
    mcoin_num: int = betterproto.uint32_field(2)


@dataclass
class ExchangePurpleJadeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    hcoin_cost: int = betterproto.uint32_field(2)
    purple_jade_added: int = betterproto.uint32_field(3)
    mcoin_cost: int = betterproto.uint32_field(4)


@dataclass
class GetBriefDataListReq(betterproto.Message):
    uid_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetBriefDataListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    uid_brief_data_list: List["PlayerFriendBriefData"] = betterproto.message_field(2)


@dataclass
class FinishPlotReq(betterproto.Message):
    plot_type: int = betterproto.uint32_field(1)
    plot_id: int = betterproto.uint32_field(2)
    dialog_id: int = betterproto.uint32_field(3)
    avatar_id_list: List[int] = betterproto.uint32_field(4)
    visual_novel_id: int = betterproto.uint32_field(5)


@dataclass
class FinishPlotRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    plot_type: int = betterproto.uint32_field(2)
    plot_id: int = betterproto.uint32_field(3)
    dialog_id: int = betterproto.uint32_field(4)
    reward_list: List["RewardData"] = betterproto.message_field(5)
    drop_item_list: List["DropItem"] = betterproto.message_field(6)


@dataclass
class GetRegionUidRangeReq(betterproto.Message):
    pass


@dataclass
class RegionUidRange(betterproto.Message):
    region_name: str = betterproto.string_field(1)
    start_uid: int = betterproto.uint32_field(2)
    end_uid: int = betterproto.uint32_field(3)


@dataclass
class GetRegionUidRangeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    local_region_name: str = betterproto.string_field(2)
    region_uid_range_list: List["RegionUidRange"] = betterproto.message_field(3)


@dataclass
class GetPlotListReq(betterproto.Message):
    pass


@dataclass
class GetPlotListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    plot_list: List[int] = betterproto.uint32_field(2)


@dataclass
class FarmProduceMaterialDetail(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    has_produce_times_total: int = betterproto.uint32_field(2)


@dataclass
class FarmSlotDetail(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    slot_status: int = betterproto.uint32_field(2)
    produce_begin_time: int = betterproto.uint32_field(3)
    produce_end_time: int = betterproto.uint32_field(4)
    produce_material_id: int = betterproto.uint32_field(5)
    has_produce_times_daily: int = betterproto.uint32_field(6)


@dataclass
class GetFarmActivityDataReq(betterproto.Message):
    pass


@dataclass
class GetFarmActivityDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    farm_level: int = betterproto.uint32_field(3)
    farm_exp: int = betterproto.uint32_field(4)
    slot_detail_list: List["FarmSlotDetail"] = betterproto.message_field(5)
    produce_material_list: List["FarmProduceMaterialDetail"] = (
        betterproto.message_field(6)
    )


@dataclass
class UnlockFarmSlotReq(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)


@dataclass
class UnlockFarmSlotRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    slot_id: int = betterproto.uint32_field(2)


@dataclass
class StartFarmProduceReq(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    produce_material_id: int = betterproto.uint32_field(2)


@dataclass
class StartFarmProduceRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    slot_id: int = betterproto.uint32_field(2)
    produce_material_id: int = betterproto.uint32_field(3)
    slot_detail: "FarmSlotDetail" = betterproto.message_field(4)


@dataclass
class FinishFarmProduceReq(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    is_finish_all: bool = betterproto.bool_field(2)


@dataclass
class FinishFarmProduceRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    slot_id: int = betterproto.uint32_field(2)
    is_finish_all: bool = betterproto.bool_field(3)
    reward_farm_exp: int = betterproto.uint32_field(4)
    produce_material_list: List["Material"] = betterproto.message_field(5)
    reward_data: "RewardData" = betterproto.message_field(6)


@dataclass
class SpeedUpFarmProduceReq(betterproto.Message):
    slot_id: int = betterproto.uint32_field(1)
    speed_up_material_id: int = betterproto.uint32_field(2)
    speed_up_material_num: int = betterproto.uint32_field(3)


@dataclass
class SpeedUpFarmProduceRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    slot_id: int = betterproto.uint32_field(2)
    speed_up_material_id: int = betterproto.uint32_field(3)
    speed_up_material_num: int = betterproto.uint32_field(4)


@dataclass
class FarmActivityNotify(betterproto.Message):
    farm_level: int = betterproto.uint32_field(1)
    farm_exp: int = betterproto.uint32_field(2)
    slot_detail_list: List["FarmSlotDetail"] = betterproto.message_field(3)
    produce_material_list: List["FarmProduceMaterialDetail"] = (
        betterproto.message_field(4)
    )


@dataclass
class AvatarArtifactUnlockReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    artifact_id: int = betterproto.uint32_field(2)


@dataclass
class AvatarArtifactUnlockRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    artifact_id: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class AvatarArtifactLevelUpReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    artifact_id: int = betterproto.uint32_field(2)


@dataclass
class AvatarArtifactLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    artifact_id: int = betterproto.uint32_field(3)
    avatar_detail: "AvatarDetailData" = betterproto.message_field(4)
    reward_data: "RewardData" = betterproto.message_field(5)


@dataclass
class TakeGobackScoreRewardReq(betterproto.Message):
    score_id: int = betterproto.uint32_field(1)


@dataclass
class TakeGobackScoreRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    score_id: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)
    score: int = betterproto.uint32_field(4)


@dataclass
class AvatarEquipSuite(betterproto.Message):
    suite_id: int = betterproto.uint32_field(1)
    weapon_unique_id: int = betterproto.uint32_field(2)
    stigmata_unique_id_1: int = betterproto.uint32_field(3)
    stigmata_unique_id_2: int = betterproto.uint32_field(4)
    stigmata_unique_id_3: int = betterproto.uint32_field(5)
    suite_name: str = betterproto.string_field(6)


@dataclass
class GetAvatarEquipSuiteReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)


@dataclass
class GetAvatarEquipSuiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    equip_suite_list: List["AvatarEquipSuite"] = betterproto.message_field(3)


@dataclass
class SetAvatarEquipSuiteReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    suite_id: int = betterproto.uint32_field(2)
    suite: "AvatarEquipSuite" = betterproto.message_field(3)


@dataclass
class SetAvatarEquipSuiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    suite_id: int = betterproto.uint32_field(2)


@dataclass
class SelectAvatarEquipSuiteReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    suite_id: int = betterproto.uint32_field(2)


@dataclass
class SelectAvatarEquipSuiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    succ_num: int = betterproto.uint32_field(2)
    suite_id: int = betterproto.uint32_field(3)


@dataclass
class RefreshAndSyncMissionNotify(betterproto.Message):
    pass


@dataclass
class GetCurrencyExchangeInfoReq(betterproto.Message):
    pass


@dataclass
class GetCurrencyExchangeInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    purple_jade_exchanged_num: int = betterproto.uint32_field(2)


@dataclass
class SetLevelLockReq(betterproto.Message):
    level_lock_id: int = betterproto.uint32_field(1)


@dataclass
class SetLevelLockRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    level_lock_id: int = betterproto.uint32_field(2)


@dataclass
class FastPassParaOw(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    finish_challenge_list: List[int] = betterproto.uint32_field(3)


@dataclass
class FastPassParaWeekday(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class FinishFastPassReq(betterproto.Message):
    fast_pass_type: int = betterproto.uint32_field(1)
    fast_pass_para_ow: "FastPassParaOw" = betterproto.message_field(2)
    fast_pass_para_weekday: "FastPassParaWeekday" = betterproto.message_field(3)


@dataclass
class FinishFastPassRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fast_pass_type: int = betterproto.uint32_field(2)
    drop_item_list: List["DropItem"] = betterproto.message_field(3)
    fast_pass_para_ow: "FastPassParaOw" = betterproto.message_field(4)
    fast_pass_para_weekday: "FastPassParaWeekday" = betterproto.message_field(5)
    player_exp_reward: int = betterproto.uint32_field(6)
    scoin_reward: int = betterproto.uint32_field(7)
    exp_convert_scoin: int = betterproto.uint32_field(8)


@dataclass
class SetWarshipAvatarReq(betterproto.Message):
    first_avatar_id: int = betterproto.uint32_field(1)
    second_avatar_id: int = betterproto.uint32_field(2)


@dataclass
class SetWarshipAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class CreateAlipayOrderReq(betterproto.Message):
    product_name: str = betterproto.string_field(1)
    total_fee: str = betterproto.string_field(2)
    notify_url: str = betterproto.string_field(3)
    body: str = betterproto.string_field(4)
    trade_type: "CreateAlipayOrderReqTradeType" = betterproto.enum_field(5)


@dataclass
class CreateAlipayOrderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    qr_code_url: str = betterproto.string_field(2)
    product_name: str = betterproto.string_field(3)
    order_string: str = betterproto.string_field(4)


@dataclass
class Subscription(betterproto.Message):
    subs_id: int = betterproto.uint32_field(1)
    expires_time: int = betterproto.uint32_field(2)


@dataclass
class SubscriptionStatusNotify(betterproto.Message):
    subs_list: List["Subscription"] = betterproto.message_field(1)


@dataclass
class GetChatRedEnvelopeInfoReq(betterproto.Message):
    sender_uid: int = betterproto.uint32_field(1)
    red_envelope_id: int = betterproto.uint32_field(2)


@dataclass
class GetChatRedEnvelopeInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    sender_uid: int = betterproto.uint32_field(2)
    red_envelope_id: int = betterproto.uint32_field(3)
    taken_num: int = betterproto.uint32_field(4)
    expire_time: int = betterproto.uint32_field(5)
    take_red_envelope_list: List["TakeChatRedEnvelopePlayer"] = (
        betterproto.message_field(6)
    )


@dataclass
class WantedMirrorRecoveryReq(betterproto.Message):
    consume_item_list: "EquipmentItemList" = betterproto.message_field(1)


@dataclass
class WantedMirrorRecoveryRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class RecommendMissionPanel(betterproto.Message):
    panel_id: int = betterproto.uint32_field(1)
    is_panel_show: bool = betterproto.bool_field(2)
    mission_begin_time: int = betterproto.uint32_field(3)


@dataclass
class GetRecommendMissionPanelListReq(betterproto.Message):
    pass


@dataclass
class GetRecommendMissionPanelListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    recommend_mission_panel_list: List["RecommendMissionPanel"] = (
        betterproto.message_field(2)
    )


@dataclass
class GetCustomHeadDataReq(betterproto.Message):
    pass


@dataclass
class GetCustomHeadDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)
    custom_head_list: List["CustomHead"] = betterproto.message_field(3)


@dataclass
class SetCustomHeadReq(betterproto.Message):
    id: int = betterproto.uint32_field(1)


@dataclass
class SetCustomHeadRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetStageBuffReq(betterproto.Message):
    stage_id_list: List[int] = betterproto.uint32_field(1)
    activity_buff_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class StageBuff(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    gen_buff_id_list: List[int] = betterproto.uint32_field(2)
    hold_buff_id_list: List[int] = betterproto.uint32_field(3)
    is_new: bool = betterproto.bool_field(4)
    carry_buff_id_list: List[int] = betterproto.uint32_field(5)


@dataclass
class ActivityBuff(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    candidate_buff_id_list: List[int] = betterproto.uint32_field(2)
    buff_list: List["ActivityBuffBuff"] = betterproto.message_field(3)
    charge_value: int = betterproto.uint32_field(4)
    buff_charged_times: int = betterproto.uint32_field(5)


@dataclass
class ActivityBuffBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_num: int = betterproto.uint32_field(2)


@dataclass
class GetStageBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_buff_list: List["StageBuff"] = betterproto.message_field(2)
    activity_buff_list: List["ActivityBuff"] = betterproto.message_field(3)


@dataclass
class ChooseStageBuffReq(betterproto.Message):
    activity_buff_id: int = betterproto.uint32_field(1)
    buff_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class ChooseStageBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_buff_id: int = betterproto.uint32_field(2)


@dataclass
class TriggerRecommendGoodsNotify(betterproto.Message):
    recommend_id: int = betterproto.uint32_field(1)
    shop_goods_schedule_id_list: List[int] = betterproto.uint32_field(2)
    trigger_recommend_goods_time: int = betterproto.uint32_field(3)


@dataclass
class ConfirmRecommendGoodsReq(betterproto.Message):
    recommend_id: int = betterproto.uint32_field(1)


@dataclass
class ConfirmRecommendGoodsRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    recommend_id: int = betterproto.uint32_field(2)


@dataclass
class GetStageRecommendAvatarReq(betterproto.Message):
    id_list: List[str] = betterproto.string_field(1)
    type: "AvatarRecommendType" = betterproto.enum_field(2)


@dataclass
class RecommendAvatar(betterproto.Message):
    lineup_info: "LineupBriefInfo" = betterproto.message_field(1)
    battle_times: int = betterproto.uint32_field(2)
    battle_rate: float = betterproto.float_field(3)
    source: "AvatarRecommendSource" = betterproto.enum_field(4)
    ext_info: str = betterproto.string_field(5)
    recommend_style: int = betterproto.uint32_field(6)
    rank: int = betterproto.uint32_field(7)
    is_has_course_info: bool = betterproto.bool_field(8)


@dataclass
class StageRecommendAvatar(betterproto.Message):
    id: str = betterproto.string_field(1)
    recommend_avatar_list: List["RecommendAvatar"] = betterproto.message_field(2)
    type: "AvatarRecommendType" = betterproto.enum_field(3)


@dataclass
class GetStageRecommendAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_recommend_avatar_list: List["StageRecommendAvatar"] = (
        betterproto.message_field(2)
    )


@dataclass
class SendDanmakuReq(betterproto.Message):
    danmaku_slot: int = betterproto.uint32_field(1)
    content: str = betterproto.string_field(2)


@dataclass
class SendDanmakuRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    danmaku_slot: int = betterproto.uint32_field(2)
    content: "DanmakuContent" = betterproto.message_field(3)
    blacklist_expire_time: int = betterproto.uint32_field(4)


@dataclass
class GetDanmakuListReq(betterproto.Message):
    danmaku_slot: int = betterproto.uint32_field(1)
    start_idx: int = betterproto.uint32_field(2)
    end_idx: int = betterproto.uint32_field(3)


@dataclass
class DanmakuContent(betterproto.Message):
    danmaku_id: str = betterproto.string_field(1)
    sender_uid: int = betterproto.uint32_field(2)
    nickname: str = betterproto.string_field(3)
    send_time: int = betterproto.uint32_field(4)
    content: str = betterproto.string_field(5)
    kingdom_id: int = betterproto.uint32_field(6)


@dataclass
class GetDanmakuListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    danmaku_slot: int = betterproto.uint32_field(2)
    danmaku_slot_status: int = betterproto.uint32_field(3)
    start_idx: int = betterproto.uint32_field(4)
    end_idx: int = betterproto.uint32_field(5)
    danmaku_list: List["DanmakuContent"] = betterproto.message_field(6)


@dataclass
class GetDanmakuBriefInfoReq(betterproto.Message):
    danmaku_slot: int = betterproto.uint32_field(1)


@dataclass
class DanmakuSlotBriefInfo(betterproto.Message):
    danmaku_slot: int = betterproto.uint32_field(1)
    danmaku_slot_status: int = betterproto.uint32_field(2)
    danmaku_num: int = betterproto.uint32_field(3)


@dataclass
class GetDanmakuBriefInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    danmaku_slot: int = betterproto.uint32_field(2)
    brief_info: "DanmakuSlotBriefInfo" = betterproto.message_field(3)


@dataclass
class ImpeachDanmakuReq(betterproto.Message):
    danmaku_slot: int = betterproto.uint32_field(1)
    sender_uid: int = betterproto.uint32_field(2)
    danmaku_id: str = betterproto.string_field(3)


@dataclass
class ImpeachDanmakuRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DanmakuBlacklistNotify(betterproto.Message):
    blacklist_expire_time: int = betterproto.uint32_field(1)


@dataclass
class GetTeamStatusReq(betterproto.Message):
    team_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetTeamStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    team_data_list: List["MpTeamData"] = betterproto.message_field(2)


@dataclass
class GetFastPassDataReq(betterproto.Message):
    fast_pass_type: int = betterproto.uint32_field(1)


@dataclass
class GetFastPassDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    fast_pass_type: int = betterproto.uint32_field(2)
    use_times: int = betterproto.uint32_field(3)


@dataclass
class GetPlayerOnlineStatusReq(betterproto.Message):
    uid_list: List[int] = betterproto.uint32_field(1)


@dataclass
class PlayerOnlineStatusInfo(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    online_status: int = betterproto.uint32_field(2)
    last_login_time: int = betterproto.uint32_field(3)
    last_logout_time: int = betterproto.uint32_field(4)


@dataclass
class GetPlayerOnlineStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    online_status_list: List["PlayerOnlineStatusInfo"] = betterproto.message_field(2)


@dataclass
class MpSyncActionFromPlayerNotify(betterproto.Message):
    action: "MpAction" = betterproto.enum_field(1)


@dataclass
class MpSyncActionFromServerNotify(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    action: "MpAction" = betterproto.enum_field(2)


@dataclass
class VerifySamSungOrderNotify(betterproto.Message):
    purchase_id: str = betterproto.string_field(1)


@dataclass
class ClientData(betterproto.Message):
    type: "ClientDataType" = betterproto.enum_field(1)
    id: int = betterproto.uint32_field(2)
    data: List[bytes] = betterproto.bytes_field(3)


@dataclass
class GetClientDataReq(betterproto.Message):
    type: "ClientDataType" = betterproto.enum_field(1)
    id: int = betterproto.uint32_field(2)


@dataclass
class GetClientDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "ClientDataType" = betterproto.enum_field(2)
    id: int = betterproto.uint32_field(3)
    client_data_list: List["ClientData"] = betterproto.message_field(4)


@dataclass
class SetClientDataReq(betterproto.Message):
    client_data: "ClientData" = betterproto.message_field(1)


@dataclass
class SetClientDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "ClientDataType" = betterproto.enum_field(2)
    id: int = betterproto.uint32_field(3)


@dataclass
class WikiTakeActivitySuitRewardReq(betterproto.Message):
    suit_id: int = betterproto.uint32_field(1)


@dataclass
class WikiTakeActivitySuitRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    suit_id: int = betterproto.uint32_field(2)
    reward: "RewardData" = betterproto.message_field(3)


@dataclass
class GetBlackListReq(betterproto.Message):
    is_only_uid: bool = betterproto.bool_field(1)


@dataclass
class GetBlackListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    black_list: List["PlayerFriendBriefData"] = betterproto.message_field(2)
    is_whole_data: bool = betterproto.bool_field(3)
    is_only_uid: bool = betterproto.bool_field(4)


@dataclass
class AddToBlackListReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class AddToBlackListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)


@dataclass
class DelFromBlackListReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class DelFromBlackListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)


@dataclass
class DebugHotPatchFileNotify(betterproto.Message):
    file_url: str = betterproto.string_field(1)


@dataclass
class WebActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    show_type: int = betterproto.uint32_field(2)


@dataclass
class GetWebActivityInfoReq(betterproto.Message):
    pass


@dataclass
class GetWebActivityInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    web_activity_list: List["WebActivity"] = betterproto.message_field(2)


@dataclass
class GetMiniRankReq(betterproto.Message):
    type: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    activity_id: int = betterproto.uint32_field(3)
    avatar_id: int = betterproto.uint32_field(4)
    rank_id: int = betterproto.uint32_field(5)
    challenge_id: int = betterproto.uint32_field(6)
    entity_id: int = betterproto.uint32_field(7)


@dataclass
class GetMiniRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: int = betterproto.uint32_field(2)
    stage_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    activity_id: int = betterproto.uint32_field(5)
    avatar_id: int = betterproto.uint32_field(6)
    challenge_id: int = betterproto.uint32_field(7)
    entity_id: int = betterproto.uint32_field(8)


@dataclass
class ChargeActivityBuffReq(betterproto.Message):
    activity_buff_id: int = betterproto.uint32_field(1)


@dataclass
class ChargeActivityBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_buff_id: int = betterproto.uint32_field(2)


@dataclass
class LoginWishGetMainDataReq(betterproto.Message):
    pass


@dataclass
class LoginWish(betterproto.Message):
    login_day: int = betterproto.uint32_field(1)
    wish_id: int = betterproto.uint32_field(2)
    choose_reward_id: int = betterproto.uint32_field(3)
    is_reward_taken: bool = betterproto.bool_field(4)


@dataclass
class LoginWishActivity(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    show_begin_time: int = betterproto.uint32_field(2)
    show_end_time: int = betterproto.uint32_field(3)
    begin_time: int = betterproto.uint32_field(4)
    end_time: int = betterproto.uint32_field(5)
    login_days: int = betterproto.uint32_field(6)
    has_take_reward_login_day_list: List[int] = betterproto.uint32_field(7)
    has_take_reward_special_day_list: List[int] = betterproto.uint32_field(8)
    has_made_wish_list: List["LoginWish"] = betterproto.message_field(9)


@dataclass
class LoginWishGetMainDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_list: List["LoginWishActivity"] = betterproto.message_field(2)


@dataclass
class LoginWishTakeLoginRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    login_day: int = betterproto.uint32_field(2)


@dataclass
class LoginWishTakeLoginRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    login_day: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class LoginWishTakeSpecialRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    login_day: int = betterproto.uint32_field(2)


@dataclass
class LoginWishTakeSpecialRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    login_day: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class LoginWishMakeWishReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    login_day: int = betterproto.uint32_field(2)
    choose_reward_id: int = betterproto.uint32_field(3)


@dataclass
class LoginWishMakeWishRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    login_day: int = betterproto.uint32_field(3)
    choose_reward_id: int = betterproto.uint32_field(4)


@dataclass
class LoginWishTakeWishRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class LoginWishTakeWishRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class DevLevelChangeNotify(betterproto.Message):
    dev_level_msg: str = betterproto.string_field(1)


@dataclass
class DelAvatarEquipSuiteReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    suite_id: int = betterproto.uint32_field(2)


@dataclass
class DelAvatarEquipSuiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    suite_id: int = betterproto.uint32_field(3)


@dataclass
class ClientCheckNetworkEnvReq(betterproto.Message):
    token_str: str = betterproto.string_field(1)


@dataclass
class ClientCheckNetworkEnvRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    token_str: str = betterproto.string_field(2)


@dataclass
class GetStageRecommendAvatarCourseInfoReq(betterproto.Message):
    id: str = betterproto.string_field(1)
    type: "AvatarRecommendType" = betterproto.enum_field(2)
    recommend_style: int = betterproto.uint32_field(3)
    rank: int = betterproto.uint32_field(4)


@dataclass
class GetStageRecommendAvatarCourseInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    course_info: str = betterproto.string_field(2)


@dataclass
class GetMissionStepCompensationInfoReq(betterproto.Message):
    pass


@dataclass
class MissionCompensationReward(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    mission_compensation_reward_id: int = betterproto.uint32_field(2)


@dataclass
class MissionStepCompensation(betterproto.Message):
    type_id: int = betterproto.uint32_field(1)
    old_step_id: int = betterproto.uint32_field(2)
    new_step_id: int = betterproto.uint32_field(3)
    old_step_compensation_reward_id: int = betterproto.uint32_field(4)
    old_step_reward_id: int = betterproto.uint32_field(5)
    mission_compensation_list: List["MissionCompensationReward"] = (
        betterproto.message_field(6)
    )
    old_step_compensation_reward_id_list: List[int] = betterproto.uint32_field(7)


@dataclass
class GetMissionStepCompensationInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    challenge_mission_compensation_list: List["MissionStepCompensation"] = (
        betterproto.message_field(2)
    )
    mainline_misssion_compensation: "MissionStepCompensation" = (
        betterproto.message_field(3)
    )
    has_take_reward: bool = betterproto.bool_field(4)


@dataclass
class TakeMissionStepCompensationReq(betterproto.Message):
    pass


@dataclass
class TakeMissionStepCompensationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class GetEliteChapterCompensationInfoReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class EliteChapterStageCompensation(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    is_first_win: bool = betterproto.bool_field(2)
    challenge_reward_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class EliteChapterActCompensation(betterproto.Message):
    act_id: int = betterproto.uint32_field(1)
    difficulty: int = betterproto.uint32_field(2)
    challenge_reward_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class EliteChapterCompensationInfo(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    stage_compensation_list: List["EliteChapterStageCompensation"] = (
        betterproto.message_field(2)
    )
    act_compensation_list: List["EliteChapterActCompensation"] = (
        betterproto.message_field(3)
    )
    has_taken_compensation: bool = betterproto.bool_field(4)


@dataclass
class GetEliteChapterCompensationInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_list: List["EliteChapterCompensationInfo"] = betterproto.message_field(2)


@dataclass
class TakeEliteChapterCompensationReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class TakeEliteChapterCompensationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class UnlockPrivilegeReq(betterproto.Message):
    privilege_id: int = betterproto.uint32_field(1)


@dataclass
class UnlockPrivilegeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MpSetExtraSkillReq(betterproto.Message):
    extra_skill_id: int = betterproto.uint32_field(1)


@dataclass
class MpSetExtraSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetPrivilegeInfoReq(betterproto.Message):
    pass


@dataclass
class PrivilegeRightInfo(betterproto.Message):
    right_id: int = betterproto.uint32_field(1)
    type: int = betterproto.uint32_field(2)
    total_used_times: int = betterproto.uint32_field(3)
    max_use_times: int = betterproto.uint32_field(4)
    use_times: int = betterproto.uint32_field(5)
    next_auto_refresh_time: int = betterproto.uint32_field(6)


@dataclass
class PrivilegeInfo(betterproto.Message):
    privilege_id: int = betterproto.uint32_field(1)
    expire_time: int = betterproto.uint32_field(2)
    right_info_list: List["PrivilegeRightInfo"] = betterproto.message_field(3)


@dataclass
class GetPrivilegeInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    privilege_list: List["PrivilegeInfo"] = betterproto.message_field(2)


@dataclass
class CreateSteamOrderReq(betterproto.Message):
    product_name: str = betterproto.string_field(1)
    product_desc: str = betterproto.string_field(2)
    account_id: str = betterproto.string_field(3)
    order_id: int = betterproto.uint64_field(4)


@dataclass
class CreateSteamOrderRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class VerifySteamOrderNotify(betterproto.Message):
    order_id: str = betterproto.string_field(1)


@dataclass
class UnlockGobackFundReq(betterproto.Message):
    pass


@dataclass
class UnlockGobackFundRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class TakeGobackFundRewardReq(betterproto.Message):
    progress_id: int = betterproto.uint32_field(1)


@dataclass
class TakeGobackFundRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)


@dataclass
class ExBossSweepReq(betterproto.Message):
    boss_id: int = betterproto.uint32_field(1)


@dataclass
class ExBossSweepRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    boss_id: int = betterproto.uint32_field(2)


@dataclass
class ExBossTakeBossScoreRewardNotify(betterproto.Message):
    reward_list: List["RewardData"] = betterproto.message_field(1)


@dataclass
class BindHoyolabAccountReq(betterproto.Message):
    hoyolab_channel_id: int = betterproto.uint32_field(1)
    hoyolab_account_uid: str = betterproto.string_field(2)
    hoyolab_token: str = betterproto.string_field(3)


@dataclass
class BindHoyolabAccountRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    hoyolab_account_uid: str = betterproto.string_field(2)


@dataclass
class ChapterGroupGetDataReq(betterproto.Message):
    chapter_group_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterGroupSite(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    status: "ChapterGroupSiteStatus" = betterproto.enum_field(3)


@dataclass
class ChapterGroup(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    site_list: List["ChapterGroupSite"] = betterproto.message_field(2)


@dataclass
class ChapterGroupGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_group_list: List["ChapterGroup"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(3)
    chapter_group_id: int = betterproto.uint32_field(4)


@dataclass
class WeekDayActivitySweepReq(betterproto.Message):
    stage_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class WeekDayActivitySweepRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data: "RewardData" = betterproto.message_field(2)
    drop_item_list: List["DropItem"] = betterproto.message_field(3)


@dataclass
class GetWeekDayActivityCompensationInfoReq(betterproto.Message):
    pass


@dataclass
class WeekDayActivityStageCompensation(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    is_first_win: bool = betterproto.bool_field(2)
    challenge_reward_list: List[int] = betterproto.uint32_field(3)


@dataclass
class GetWeekDayActivityCompensationInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_compensation_list: List["WeekDayActivityStageCompensation"] = (
        betterproto.message_field(2)
    )
    has_taken_compensation: bool = betterproto.bool_field(3)


@dataclass
class TakeWeekDayActivityCompensationReq(betterproto.Message):
    pass


@dataclass
class TakeWeekDayActivityCompensationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_data_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class RequestLogoffReq(betterproto.Message):
    pass


@dataclass
class RequestLogoffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetChapterCompensationInfoReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class ChapterStageCompensation(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    is_first_win: bool = betterproto.bool_field(2)
    challenge_reward_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ChapterActCompensation(betterproto.Message):
    act_id: int = betterproto.uint32_field(1)
    difficulty: int = betterproto.uint32_field(2)
    challenge_reward_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ChapterCompensationInfo(betterproto.Message):
    compensation_id: int = betterproto.uint32_field(1)
    stage_compensation_list: List["ChapterStageCompensation"] = (
        betterproto.message_field(2)
    )
    act_compensation_list: List["ChapterActCompensation"] = betterproto.message_field(3)
    is_taken_compensation: bool = betterproto.bool_field(4)
    chapter_id: int = betterproto.uint32_field(5)


@dataclass
class GetChapterCompensationInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)
    compensate_list: List["ChapterCompensationInfo"] = betterproto.message_field(3)


@dataclass
class TakeChapterCompensationReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class TakeChapterCompensationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class GetChallengeStepCompensationInfoReq(betterproto.Message):
    pass


@dataclass
class StepMissionCompensation(betterproto.Message):
    mission_id: int = betterproto.uint32_field(1)
    reward_id: int = betterproto.uint32_field(2)


@dataclass
class StepCompensation(betterproto.Message):
    step_id: int = betterproto.uint32_field(1)
    step_reward_id: int = betterproto.uint32_field(2)
    mission_list: List["StepMissionCompensation"] = betterproto.message_field(3)


@dataclass
class ChallengeStepCompensation(betterproto.Message):
    compensation_id: int = betterproto.uint32_field(1)
    is_take_compensation: bool = betterproto.bool_field(2)
    new_challenge_step_compensation_list: List["StepCompensation"] = (
        betterproto.message_field(3)
    )
    old_challenge_step_compensation_list: List["StepCompensation"] = (
        betterproto.message_field(4)
    )
    mainline_step_compensation_list: List["StepCompensation"] = (
        betterproto.message_field(5)
    )


@dataclass
class GetChallengeStepCompensationInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    compensation_list: List["ChallengeStepCompensation"] = betterproto.message_field(2)


@dataclass
class TakeChallengeStepCompensationReq(betterproto.Message):
    compensation_id: int = betterproto.uint32_field(1)


@dataclass
class TakeChallengeStepCompensationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class GetSpecificRankReq(betterproto.Message):
    type: "SpecificRankType" = betterproto.enum_field(1)
    param: int = betterproto.uint32_field(2)


@dataclass
class GetSpecificRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "SpecificRankType" = betterproto.enum_field(2)
    param: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)


@dataclass
class GetInviteActivityInviterDataReq(betterproto.Message):
    pass


@dataclass
class InviterActivity(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    invite_num: int = betterproto.uint32_field(2)
    taken_reward_progress: int = betterproto.uint32_field(3)
    accept_invite_num: int = betterproto.uint32_field(4)


@dataclass
class GetInviteActivityInviterDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    my_invite_code: str = betterproto.string_field(2)
    inviter_activity_info_list: List["InviterActivity"] = betterproto.message_field(3)


@dataclass
class TakeInviteActivityInviterProgressRewardReq(betterproto.Message):
    activity_type: "InviterActivityType" = betterproto.enum_field(1)


@dataclass
class TakeInviteActivityInviterProgressRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_type: "InviterActivityType" = betterproto.enum_field(2)
    taken_reward_progress: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class InviteeActivity(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    activity_type: "InviteeActivityType" = betterproto.enum_field(2)
    taken_invitee_reward_id: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)


@dataclass
class GetInviteActivityInviteeDataReq(betterproto.Message):
    pass


@dataclass
class GetInviteActivityInviteeDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    invitee_activity_info_list: List["InviteeActivity"] = betterproto.message_field(2)


@dataclass
class InviteActivityAcceptInviteReq(betterproto.Message):
    invite_code: str = betterproto.string_field(1)


@dataclass
class InviteActivityAcceptInviteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    invite_uid: int = betterproto.uint32_field(2)
    invite_type: "InviteeActivityType" = betterproto.enum_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class GetMainStoryBlessReq(betterproto.Message):
    pass


@dataclass
class GetMainStoryBlessRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    bless_list: List[str] = betterproto.string_field(2)
    self_bless: str = betterproto.string_field(3)


@dataclass
class GetMainStoryMemoirsDataReq(betterproto.Message):
    pass


@dataclass
class MemoirsSpecialData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    value: int = betterproto.uint32_field(2)
    str_value: str = betterproto.string_field(3)
    type: "MemoirsDataType" = betterproto.enum_field(4)


@dataclass
class GetMainStoryMemoirsDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    data_list: List["MemoirsSpecialData"] = betterproto.message_field(2)
    register_time: int = betterproto.uint32_field(3)


@dataclass
class GetActivityMainDataReq(betterproto.Message):
    pass


@dataclass
class GetActivityMainDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_module_type_list: List[int] = betterproto.uint32_field(2)


@dataclass
class SetRedPointStatusNotify(betterproto.Message):
    content_id: int = betterproto.uint32_field(1)
    red_point_type: int = betterproto.uint32_field(2)
    is_show: bool = betterproto.bool_field(3)


@dataclass
class ManifestInfo(betterproto.Message):
    platform_type: "PlatFormType" = betterproto.enum_field(1)
    name: str = betterproto.string_field(2)


@dataclass
class ManifestData(betterproto.Message):
    type: "ManifestType" = betterproto.enum_field(1)
    revision: int = betterproto.uint32_field(2)
    info_list: List["ManifestInfo"] = betterproto.message_field(3)


@dataclass
class ClientResetNotify(betterproto.Message):
    manifest_list: List["ManifestData"] = betterproto.message_field(1)
    data_version_num: int = betterproto.uint32_field(2)


@dataclass
class AddCustomAvatarTeamReq(betterproto.Message):
    pass


@dataclass
class AddCustomAvatarTeamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class DelCustomAvatarTeamReq(betterproto.Message):
    team_id: int = betterproto.uint32_field(1)


@dataclass
class DelCustomAvatarTeamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetWorldMapRecommendReq(betterproto.Message):
    pass


@dataclass
class WorldMapRecommend(betterproto.Message):
    world_map_id: int = betterproto.uint32_field(1)
    weight: int = betterproto.int32_field(2)
    active_condition_list: List[int] = betterproto.uint32_field(3)


@dataclass
class GetWorldMapRecommendRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_recommend_list: List["WorldMapRecommend"] = betterproto.message_field(2)
    permanent_recommend_list: List["WorldMapRecommend"] = betterproto.message_field(3)


@dataclass
class UnlockCollectionReq(betterproto.Message):
    collection_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class UnlockCollectionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    collection_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetCollectionListReq(betterproto.Message):
    collection_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetCollectionListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    collection_id_list: List[int] = betterproto.uint32_field(2)
    active_collection_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class ActivateCollectionReq(betterproto.Message):
    collection_id: int = betterproto.uint32_field(1)


@dataclass
class ActivateCollectionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    collection_id: int = betterproto.uint32_field(2)


@dataclass
class ExchangeAvatarStigmataReq(betterproto.Message):
    avatar_id_1: int = betterproto.uint32_field(1)
    avatar_id_2: int = betterproto.uint32_field(2)
    slot: "EquipmentSlot" = betterproto.enum_field(3)


@dataclass
class ExchangeAvatarStigmataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_id_1: int = betterproto.uint32_field(2)
    avatar_id_2: int = betterproto.uint32_field(3)
    slot: "EquipmentSlot" = betterproto.enum_field(4)


@dataclass
class ChooseSpecialGobackReq(betterproto.Message):
    special_id: int = betterproto.uint32_field(1)


@dataclass
class ChooseSpecialGobackRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GobackSpecialBpPurchaseReq(betterproto.Message):
    pass


@dataclass
class GobackSpecialBpPurchaseRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GobackSpecialBpTakeRewardReq(betterproto.Message):
    pass


@dataclass
class GobackSpecialBpTakeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class WeaponHomologyReq(betterproto.Message):
    target_unique_id: int = betterproto.uint32_field(1)
    consume_item_list: "EquipmentItemList" = betterproto.message_field(2)
    cur_homology_level: int = betterproto.uint32_field(3)


@dataclass
class WeaponHomologyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_unique_id: int = betterproto.uint32_field(2)


@dataclass
class UpdateMission(betterproto.Message):
    finish_way: "MissionFinishWay" = betterproto.enum_field(1)
    finish_para: int = betterproto.uint32_field(2)
    finish_para_str: str = betterproto.string_field(3)
    progress_add: int = betterproto.uint32_field(4)
    stage_id: int = betterproto.uint32_field(5)


@dataclass
class UpdateMultiMissionProgressReq(betterproto.Message):
    update_mission_list: List["UpdateMission"] = betterproto.message_field(1)


@dataclass
class UpdateMultiMissionProgressRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class WeaponLevelUpUseTicketReq(betterproto.Message):
    weapon_unique_id: int = betterproto.uint32_field(1)


@dataclass
class WeaponLevelUpUseTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    new_weapon_id: int = betterproto.uint32_field(2)


@dataclass
class StigmataLevelUpUseTicketReq(betterproto.Message):
    stigmata_unique_id: int = betterproto.uint32_field(1)


@dataclass
class StigmataLevelUpUseTicketRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    new_stigmata_id: int = betterproto.uint32_field(2)


@dataclass
class TileWaitSelectPath(betterproto.Message):
    candidate_path_cell_id_list: List[int] = betterproto.uint32_field(1)
    left_step_num: int = betterproto.uint32_field(2)


@dataclass
class TileFloor(betterproto.Message):
    floor_id: int = betterproto.uint32_field(1)
    floor_status: "TileFloorStatus" = betterproto.enum_field(2)


@dataclass
class TileMapCell(betterproto.Message):
    cell_id: int = betterproto.uint32_field(1)
    ground: "TileMapCellCellLayer" = betterproto.message_field(2)
    decoration: "TileMapCellCellLayer" = betterproto.message_field(3)
    barrier: int = betterproto.uint32_field(4)
    fog: int = betterproto.uint32_field(5)
    terrain: int = betterproto.uint32_field(6)
    updated_type_list: List["TileMapCellCellDataType"] = betterproto.enum_field(7)
    height: int = betterproto.uint32_field(8)


@dataclass
class TileMapCellCellLayer(betterproto.Message):
    model_id: int = betterproto.uint32_field(1)
    direction: int = betterproto.uint32_field(2)
    updated_type_list: List["TileMapCellCellDataType"] = betterproto.enum_field(3)


@dataclass
class TileTrigger(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    is_active: bool = betterproto.bool_field(2)
    position: int = betterproto.uint32_field(3)


@dataclass
class TileMark(betterproto.Message):
    mark_id: int = betterproto.uint32_field(1)
    mark_value: int = betterproto.uint32_field(2)


@dataclass
class TilePlayerInfo(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    avatar_id: int = betterproto.uint32_field(3)


@dataclass
class TileNpcInfo(betterproto.Message):
    id: int = betterproto.uint32_field(1)


@dataclass
class TileEntity(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    entity_type: int = betterproto.uint32_field(2)
    position: int = betterproto.uint32_field(3)
    direction: int = betterproto.uint32_field(4)
    reset_tag: int = betterproto.uint32_field(5)
    player_info: "TilePlayerInfo" = betterproto.message_field(6)
    npc_info: "TileNpcInfo" = betterproto.message_field(7)


@dataclass
class TileMap(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    width: int = betterproto.uint32_field(2)
    height: int = betterproto.uint32_field(3)
    cell_list: List["TileMapCell"] = betterproto.message_field(4)
    trigger_list: List["TileTrigger"] = betterproto.message_field(5)
    entity_list: List["TileEntity"] = betterproto.message_field(6)
    mark_list: List["TileMark"] = betterproto.message_field(7)
    finished_linear_drama_id_list: List[int] = betterproto.uint32_field(8)


@dataclass
class GetTileMapReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)


@dataclass
class GetTileMapRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)
    floor_id: int = betterproto.uint32_field(3)
    map: "TileMap" = betterproto.message_field(4)
    is_incremental_sync: bool = betterproto.bool_field(5)


@dataclass
class TileUpdateMapOperation(betterproto.Message):
    cell_list: List["TileMapCell"] = betterproto.message_field(1)
    trigger_list: List["TileTrigger"] = betterproto.message_field(2)
    create_entity_list: List["TileEntity"] = betterproto.message_field(3)
    move_entity_list: List["TileUpdateMapOperationMoveEntity"] = (
        betterproto.message_field(4)
    )
    delete_entity_list: List[int] = betterproto.uint32_field(5)
    mark_list: List["TileMark"] = betterproto.message_field(6)
    rpg_content_id_list: List[int] = betterproto.uint32_field(7)


@dataclass
class TileUpdateMapOperationMoveEntity(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    to_position: int = betterproto.uint32_field(2)
    path_cell_id_list: List[int] = betterproto.uint32_field(3)
    direction: int = betterproto.uint32_field(4)
    saved_position: int = betterproto.uint32_field(5)


@dataclass
class TileUpdateMapReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    cell_list: List["TileMapCell"] = betterproto.message_field(3)
    trigger_list: List["TileTrigger"] = betterproto.message_field(4)
    create_entity_list: List["TileEntity"] = betterproto.message_field(5)
    move_entity_list: List["TileUpdateMapReqMoveEntity"] = betterproto.message_field(6)
    delete_entity_list: List[int] = betterproto.uint32_field(7)
    mark_list: List["TileMark"] = betterproto.message_field(8)
    outer_value_list: List["TileUpdateMapReqOuterValue"] = betterproto.message_field(9)
    rpg_content_id_list: List[int] = betterproto.uint32_field(10)
    operation_list: List["TileUpdateMapOperation"] = betterproto.message_field(11)
    linear_drama_id: int = betterproto.uint32_field(12)


@dataclass
class TileUpdateMapReqMoveEntity(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    to_position: int = betterproto.uint32_field(2)
    path_cell_id_list: List[int] = betterproto.uint32_field(3)
    direction: int = betterproto.uint32_field(4)
    saved_position: int = betterproto.uint32_field(5)


@dataclass
class TileUpdateMapReqOuterValue(betterproto.Message):
    type: "TileUpdateMapReqOuterValueType" = betterproto.enum_field(1)
    key: int = betterproto.uint32_field(2)
    value: int = betterproto.uint32_field(3)


@dataclass
class TileUpdateMapRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    created_entity_list: List["TileEntity"] = betterproto.message_field(2)
    failed_content_id_list: List[int] = betterproto.uint32_field(3)
    not_reachable_cell_id: int = betterproto.uint32_field(4)
    linear_drama_id: int = betterproto.uint32_field(5)


@dataclass
class TileGetTowerReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)


@dataclass
class TileGetTowerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_floor_id: int = betterproto.uint32_field(2)
    finished_dialog_id_list: List[int] = betterproto.uint32_field(3)
    settled_event_id_list: List[int] = betterproto.uint32_field(4)
    floor_list: List["TileFloor"] = betterproto.message_field(5)
    tower_id: int = betterproto.uint32_field(6)


@dataclass
class TileEnterReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    is_teleport_player: bool = betterproto.bool_field(3)
    teleport_position: int = betterproto.uint32_field(4)


@dataclass
class TileEnterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class TileSaveProgressReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    finished_dialog_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TileSaveProgressRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    finished_dialog_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TileResetFloorReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TileResetFloorRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)
    floor_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TileEntityOpNotify(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    entity_op_list: List["TileEntityOpNotifyTileEntityOp"] = betterproto.message_field(
        3
    )


@dataclass
class TileEntityOpNotifyStatusOp(betterproto.Message):
    status: int = betterproto.uint32_field(1)


@dataclass
class TileEntityOpNotifyMoveOp(betterproto.Message):
    path_cell_id_list: List[int] = betterproto.uint32_field(1)
    move_type: "TileMoveType" = betterproto.enum_field(2)
    direction: int = betterproto.uint32_field(3)


@dataclass
class TileEntityOpNotifyUpdateCellOp(betterproto.Message):
    cell_list: List["TileMapCell"] = betterproto.message_field(1)
    trigger_list: List["TileTrigger"] = betterproto.message_field(2)


@dataclass
class TileEntityOpNotifyUpdateEntityOp(betterproto.Message):
    create_entity_list: List["TileEntity"] = betterproto.message_field(1)
    delete_entity_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TileEntityOpNotifyTileEntityOp(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    move: "TileEntityOpNotifyMoveOp" = betterproto.message_field(2)
    wait_select_path: "TileWaitSelectPath" = betterproto.message_field(3)
    update_cell: "TileEntityOpNotifyUpdateCellOp" = betterproto.message_field(4)
    update_entity: "TileEntityOpNotifyUpdateEntityOp" = betterproto.message_field(5)
    status: "TileEntityOpNotifyStatusOp" = betterproto.message_field(6)


@dataclass
class TileSelectPathReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    next_path_cell_id: int = betterproto.uint32_field(2)


@dataclass
class TileSelectPathRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)
    next_path_cell_id: int = betterproto.uint32_field(3)


@dataclass
class TileResetRegionReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    reset_tag: int = betterproto.uint32_field(3)
    reset_type: "TileResetRegionType" = betterproto.enum_field(4)


@dataclass
class TileResetRegionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reset_type: "TileResetRegionType" = betterproto.enum_field(2)
    reset_tag: int = betterproto.uint32_field(3)


@dataclass
class TileReportSavedPositionReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    position: int = betterproto.uint32_field(3)


@dataclass
class TileReportSavedPositionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class TileLoadSavedPositionReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    rpg_content_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TileLoadSavedPositionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    position: int = betterproto.uint32_field(2)
    failed_content_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TileMapUpdateNotify(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    cell_list: List["TileMapCell"] = betterproto.message_field(3)
    entity_list: List["TileEntity"] = betterproto.message_field(4)
    deleted_entity_list: List[int] = betterproto.uint32_field(5)


@dataclass
class TileGetPartialMapAsUpdateReq(betterproto.Message):
    tower_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    cell_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TileGetPartialMapAsUpdateRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetTileMiniMapReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    map_id_list: List[int] = betterproto.uint32_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class TileMiniMapCell(betterproto.Message):
    cell_id: int = betterproto.uint32_field(1)
    fog: int = betterproto.uint32_field(2)


@dataclass
class TileMiniMapEntity(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    entity_type: int = betterproto.uint32_field(2)
    position: int = betterproto.uint32_field(3)
    id: int = betterproto.uint32_field(4)


@dataclass
class TileMiniMapMark(betterproto.Message):
    mark_id: int = betterproto.uint32_field(1)
    mark_value: int = betterproto.uint32_field(2)


@dataclass
class TileMiniMap(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    width: int = betterproto.uint32_field(2)
    height: int = betterproto.uint32_field(3)
    cell_list: List["TileMiniMapCell"] = betterproto.message_field(4)
    entity_list: List["TileMiniMapEntity"] = betterproto.message_field(5)
    is_active: bool = betterproto.bool_field(6)
    mark_list: List["TileMiniMapMark"] = betterproto.message_field(7)


@dataclass
class GetTileMiniMapRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    map_id_list: List[int] = betterproto.uint32_field(3)
    tile_map_list: List["TileMiniMap"] = betterproto.message_field(4)
    is_all: bool = betterproto.bool_field(5)


@dataclass
class TiledGameFarmGetDataReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGameFarmFarmland(betterproto.Message):
    cell_id: int = betterproto.uint32_field(1)
    mature_time: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmLivestock(betterproto.Message):
    unique_entity_id: int = betterproto.uint32_field(1)
    domestication: int = betterproto.uint32_field(2)
    last_taming_time: int = betterproto.uint32_field(3)
    last_feed_time: int = betterproto.uint32_field(4)
    holding_product_num: int = betterproto.uint32_field(5)
    product_progress: int = betterproto.uint32_field(6)
    get_time: int = betterproto.uint32_field(7)
    last_refresh_product_time: int = betterproto.uint32_field(8)


@dataclass
class TiledGameFarmLivestockShed(betterproto.Message):
    livestock_id: int = betterproto.uint32_field(1)
    left_food_num: int = betterproto.uint32_field(2)
    livestock_list: List["TiledGameFarmLivestock"] = betterproto.message_field(3)
    level: int = betterproto.uint32_field(4)
    privilege_stored_product_num: int = betterproto.uint32_field(5)


@dataclass
class TiledGameFarmMine(betterproto.Message):
    visited_max_floor: int = betterproto.uint32_field(1)
    cur_floor: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmFishingFailStatus(betterproto.Message):
    fish_id: int = betterproto.uint32_field(1)
    continuous_fail_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmFishingSpot(betterproto.Message):
    spot_cell_id: int = betterproto.uint32_field(1)
    left_fish_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmFishingGround(betterproto.Message):
    cur_fishing_cell_id: int = betterproto.uint32_field(1)
    cur_fish_id: int = betterproto.uint32_field(2)
    fail_status_list: List["TiledGameFarmFishingFailStatus"] = (
        betterproto.message_field(3)
    )
    is_super_fishing_used_today: bool = betterproto.bool_field(4)
    fishing_spot_list: List["TiledGameFarmFishingSpot"] = betterproto.message_field(5)


@dataclass
class TiledGameFarmRestaurant(betterproto.Message):
    level: int = betterproto.uint32_field(1)
    today_use_meal_voucher_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmQuestBoard(betterproto.Message):
    is_quest_chosen_today: bool = betterproto.bool_field(1)
    cur_quest_id: int = betterproto.uint32_field(2)
    finished_extra_quest_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TiledGameFarmCropBuyNum(betterproto.Message):
    crop_id: int = betterproto.uint32_field(1)
    buy_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    activity_stamina: int = betterproto.uint32_field(3)
    farmland_list: List["TiledGameFarmFarmland"] = betterproto.message_field(4)
    livestock_shed_list: List["TiledGameFarmLivestockShed"] = betterproto.message_field(
        5
    )
    farm_mine: "TiledGameFarmMine" = betterproto.message_field(6)
    farm_fishing_ground: "TiledGameFarmFishingGround" = betterproto.message_field(7)
    max_stamina: int = betterproto.uint32_field(8)
    next_recover_stamina_time: int = betterproto.uint32_field(9)
    farm_restaurant: "TiledGameFarmRestaurant" = betterproto.message_field(10)
    cur_tower_id: int = betterproto.uint32_field(11)
    farm_quest_board: "TiledGameFarmQuestBoard" = betterproto.message_field(12)
    scene_finished_avatar_id_list: List[int] = betterproto.uint32_field(13)
    crop_buy_num_list: List["TiledGameFarmCropBuyNum"] = betterproto.message_field(14)
    matured_farmland_id_list: List[int] = betterproto.uint32_field(15)
    last_refresh_time: int = betterproto.uint32_field(16)
    unlock_gallery_id_list: List[int] = betterproto.uint32_field(17)


@dataclass
class TiledGameFarmUseToolReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)
    cell_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TiledGameFarmUseToolRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    item_id: int = betterproto.uint32_field(3)
    failed_cell_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class TiledGameFarmRefreshFarmlandReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    cell_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmRefreshFarmlandRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmEnterMineFloorReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    is_teleport: bool = betterproto.bool_field(3)
    is_teleport_player: bool = betterproto.bool_field(4)
    teleport_position: int = betterproto.uint32_field(5)


@dataclass
class TiledGameFarmEnterMineFloorRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    floor_id: int = betterproto.uint32_field(3)
    tower_id: int = betterproto.uint32_field(4)
    is_teleport_player: bool = betterproto.bool_field(5)
    teleport_position: int = betterproto.uint32_field(6)


@dataclass
class TiledGameFarmSynthesisReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    blueprint_id: int = betterproto.uint32_field(2)
    synthesis_num: int = betterproto.uint32_field(3)


@dataclass
class TiledGameFarmSynthesisRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    product_list: List["TiledGameFarmItemInfo"] = betterproto.message_field(3)


@dataclass
class TiledGameFarmItemInfo(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    item_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmTradeReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    trade_type: "TiledGameFarmTradeReqTradeType" = betterproto.enum_field(2)
    item_list: List["TiledGameFarmItemInfo"] = betterproto.message_field(3)


@dataclass
class TiledGameFarmTradeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmBeginFishingNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    fish_id: int = betterproto.uint32_field(2)
    cell_id: int = betterproto.uint32_field(3)
    continuous_fail_num: int = betterproto.uint32_field(4)


@dataclass
class TiledGameFarmEndFishingReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    is_success: bool = betterproto.bool_field(2)


@dataclass
class TiledGameFarmEndFishingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmGemIdentifyReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)
    item_num: int = betterproto.uint32_field(3)


@dataclass
class TiledGameFarmGemIdentifyResult(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    item_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmGemIdentifyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    result_list: List["TiledGameFarmGemIdentifyResult"] = betterproto.message_field(3)


@dataclass
class TiledGameFarmFillShedFoodReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    shed_livestock_id: int = betterproto.uint32_field(2)
    food_num: int = betterproto.uint32_field(3)


@dataclass
class TiledGameFarmFillShedFoodRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    shed_livestock_id: int = betterproto.uint32_field(3)


@dataclass
class TiledGameFarmUpgradeFacilityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    facility_id: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    facility_type: "TiledGameFarmFacilityType" = betterproto.enum_field(4)


@dataclass
class TiledGameFarmUpgradeFacilityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    facility_id: int = betterproto.uint32_field(3)
    level: int = betterproto.uint32_field(4)
    facility_type: "TiledGameFarmFacilityType" = betterproto.enum_field(5)


@dataclass
class TiledGameFarmRefreshLivestockShedReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    shed_livestock_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmRefreshLivestockShedRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmTameLivestockReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_entity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmTameLivestockRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_entity_id: int = betterproto.uint32_field(3)
    is_add_domestication: bool = betterproto.bool_field(4)


@dataclass
class TiledGameFarmHarvestLivestockReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_entity_id: int = betterproto.uint32_field(2)
    is_special_harvest: bool = betterproto.bool_field(3)


@dataclass
class TiledGameFarmHarvestLivestockRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    unique_entity_id: int = betterproto.uint32_field(3)


@dataclass
class TiledGameFarmPickItemReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_entity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmPickItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmUseMealVoucherReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGameFarmUseMealVoucherRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmBuyLivestockReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    livestock_id: int = betterproto.uint32_field(2)
    buy_num: int = betterproto.uint32_field(3)


@dataclass
class TiledGameFarmBuyLivestockRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmGetSelectQuestReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGameFarmGetSelectQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    quest_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TiledGameFarmChooseQuestReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameFarmChooseQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    quest_id: int = betterproto.uint32_field(3)


@dataclass
class TiledGameFarmFinishQuestReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    commit_item_info_list: List["TiledGameFarmItemInfo"] = betterproto.message_field(3)


@dataclass
class TiledGameFarmFinishQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    quest_id: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class TiledGameFarmSuperFishingReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGameFarmSuperFishingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmGetDataReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGameMonsterFarmFarmland(betterproto.Message):
    cell_id: int = betterproto.uint32_field(1)
    mature_time: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmFarm(betterproto.Message):
    farmland_list: List["TiledGameMonsterFarmFarmland"] = betterproto.message_field(1)
    matured_farmland_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmMine(betterproto.Message):
    visited_max_floor: int = betterproto.uint32_field(1)
    cur_floor: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmFishingFailStatus(betterproto.Message):
    fish_id: int = betterproto.uint32_field(1)
    continuous_fail_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmFishingSpot(betterproto.Message):
    spot_cell_id: int = betterproto.uint32_field(1)
    left_fish_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmFishingGround(betterproto.Message):
    cur_fishing_cell_id: int = betterproto.uint32_field(1)
    cur_fish_id: int = betterproto.uint32_field(2)
    fail_status_list: List["TiledGameMonsterFarmFishingFailStatus"] = (
        betterproto.message_field(3)
    )
    fishing_spot_list: List["TiledGameMonsterFarmFishingSpot"] = (
        betterproto.message_field(4)
    )


@dataclass
class TiledGameMonsterFarmRestaurant(betterproto.Message):
    level: int = betterproto.uint32_field(1)
    today_use_meal_voucher_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmQuestBoard(betterproto.Message):
    is_quest_chosen_today: bool = betterproto.bool_field(1)
    cur_quest_id: int = betterproto.uint32_field(2)
    finished_extra_quest_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TiledGameMonsterFarmItemNum(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    item_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmMonsterAbility(betterproto.Message):
    ability_type: int = betterproto.uint32_field(1)
    ability_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmMonster(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    monster_id: int = betterproto.uint32_field(2)
    mood: int = betterproto.uint32_field(3)
    description_id: int = betterproto.uint32_field(4)
    name_id: int = betterproto.uint32_field(5)
    generation_id: int = betterproto.uint32_field(6)
    work_building_type: int = betterproto.uint32_field(7)
    ability_list: List["TiledGameMonsterFarmMonsterAbility"] = (
        betterproto.message_field(8)
    )
    is_egg: bool = betterproto.bool_field(9)
    is_exceed_limit_monster: bool = betterproto.bool_field(10)
    work_produce_line_id: int = betterproto.uint32_field(11)
    rare_id: int = betterproto.uint32_field(12)
    is_mutated: bool = betterproto.bool_field(13)
    total_work_time: int = betterproto.uint32_field(14)
    is_dropped: bool = betterproto.bool_field(15)
    recover_all_mood_time: int = betterproto.uint32_field(16)
    cost_all_mood_time: int = betterproto.uint32_field(17)
    egg_rare_id: int = betterproto.uint32_field(18)
    left_breeding_times: int = betterproto.uint32_field(19)


@dataclass
class TiledGameMonsterFarmProduceLine(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    recipe_id: int = betterproto.uint32_field(2)
    breeding_effect_item: int = betterproto.uint32_field(3)
    left_produce_num: int = betterproto.uint32_field(4)
    produced_item_list: List["TiledGameMonsterFarmItemNum"] = betterproto.message_field(
        5
    )
    monster_id_list: List[int] = betterproto.uint32_field(6)
    accumulate_work_time: int = betterproto.uint32_field(7)
    breeding_monster: "TiledGameMonsterFarmMonster" = betterproto.message_field(8)


@dataclass
class TiledGameMonsterFarmBuilding(betterproto.Message):
    building_id: int = betterproto.uint32_field(1)
    produce_line_list: List["TiledGameMonsterFarmProduceLine"] = (
        betterproto.message_field(2)
    )


@dataclass
class TiledGameMonsterFarmMonsterRecord(betterproto.Message):
    monster_type: int = betterproto.uint32_field(1)
    max_rare_id: int = betterproto.uint32_field(2)
    max_ability_list: List["TiledGameMonsterFarmMonsterAbility"] = (
        betterproto.message_field(3)
    )


@dataclass
class TiledGameMonsterFarmMonsterMgr(betterproto.Message):
    farm_monster_list: List["TiledGameMonsterFarmMonster"] = betterproto.message_field(
        1
    )
    monster_max_record_list: List["TiledGameMonsterFarmMonsterRecord"] = (
        betterproto.message_field(2)
    )
    monster_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TiledGameMonsterFarmBusinessReport(betterproto.Message):
    acquired_gold_num: int = betterproto.uint32_field(1)
    sold_item_list: List["TiledGameMonsterFarmItemNum"] = betterproto.message_field(2)
    star_monster_uid: int = betterproto.uint32_field(3)
    model_worker_monster_uid: int = betterproto.uint32_field(4)
    accumulate_operating_days: int = betterproto.uint32_field(5)


@dataclass
class TiledGameMonsterFarmGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    activity_stamina: int = betterproto.uint32_field(3)
    farm_farm: "TiledGameMonsterFarmFarm" = betterproto.message_field(4)
    farm_mine: "TiledGameMonsterFarmMine" = betterproto.message_field(5)
    farm_fishing_ground: "TiledGameMonsterFarmFishingGround" = (
        betterproto.message_field(6)
    )
    max_stamina: int = betterproto.uint32_field(7)
    next_recover_stamina_time: int = betterproto.uint32_field(8)
    cur_tower_id: int = betterproto.uint32_field(9)
    farm_quest_board: "TiledGameMonsterFarmQuestBoard" = betterproto.message_field(10)
    item_buy_num_list: List["TiledGameMonsterFarmItemNum"] = betterproto.message_field(
        11
    )
    last_refresh_time: int = betterproto.uint32_field(12)
    farm_building_list: List["TiledGameMonsterFarmBuilding"] = (
        betterproto.message_field(13)
    )
    farm_monster_mgr: "TiledGameMonsterFarmMonsterMgr" = betterproto.message_field(14)
    unlocked_monster_type_list: List[int] = betterproto.uint32_field(15)
    finished_privilege_list: List[int] = betterproto.uint32_field(16)
    get_monster_tool_type_list: List[int] = betterproto.uint32_field(17)
    level: int = betterproto.uint32_field(18)
    unlock_gallery_id_list: List[int] = betterproto.uint32_field(19)


@dataclass
class TiledGameMonsterFarmUseToolReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)
    cell_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TiledGameMonsterFarmPretenderMineCell(betterproto.Message):
    cell_id: int = betterproto.uint32_field(1)
    decoration_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmUseToolRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    item_id: int = betterproto.uint32_field(3)
    failed_cell_id_list: List[int] = betterproto.uint32_field(4)
    pretender_mine_cell_list: List["TiledGameMonsterFarmPretenderMineCell"] = (
        betterproto.message_field(5)
    )


@dataclass
class TiledGameMonsterFarmRefreshFarmlandReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    cell_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmRefreshFarmlandRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmEnterMineFloorReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    floor_id: int = betterproto.uint32_field(2)
    is_teleport: bool = betterproto.bool_field(3)
    is_teleport_player: bool = betterproto.bool_field(4)
    teleport_position: int = betterproto.uint32_field(5)


@dataclass
class TiledGameMonsterFarmEnterMineFloorRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    floor_id: int = betterproto.uint32_field(3)
    tower_id: int = betterproto.uint32_field(4)
    is_teleport_player: bool = betterproto.bool_field(5)
    teleport_position: int = betterproto.uint32_field(6)


@dataclass
class TiledGameMonsterFarmItemInfo(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    item_num: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmTradeReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    trade_type: "TiledGameMonsterFarmTradeReqTradeType" = betterproto.enum_field(2)
    item_list: List["TiledGameMonsterFarmItemInfo"] = betterproto.message_field(3)


@dataclass
class TiledGameMonsterFarmTradeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmBeginFishingNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    fish_id: int = betterproto.uint32_field(2)
    cell_id: int = betterproto.uint32_field(3)
    continuous_fail_num: int = betterproto.uint32_field(4)


@dataclass
class TiledGameMonsterFarmEndFishingReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    is_success: bool = betterproto.bool_field(2)


@dataclass
class TiledGameMonsterFarmEndFishingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmGetQuestReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGameMonsterFarmGetQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    quest_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TiledGameMonsterFarmChooseQuestReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmChooseQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    quest_id: int = betterproto.uint32_field(3)


@dataclass
class TiledGameMonsterFarmFinishQuestReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    quest_id: int = betterproto.uint32_field(2)
    commit_item_info_list: List["TiledGameMonsterFarmItemInfo"] = (
        betterproto.message_field(3)
    )


@dataclass
class TiledGameMonsterFarmFinishQuestRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    quest_id: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class TiledGameMonsterFarmUseMealVoucherReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGameMonsterFarmUseMealVoucherRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmPickItemReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    unique_entity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmPickItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmLevelUpReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGameMonsterFarmLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmUpgradeBuildingReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    building_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmUpgradeBuildingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    old_building_id: int = betterproto.uint32_field(3)
    new_building_id: int = betterproto.uint32_field(4)


@dataclass
class TiledGameMonsterFarmManipulateMonsterReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    monster_id_list: List[int] = betterproto.uint32_field(2)
    building_id: int = betterproto.uint32_field(3)
    produce_line_id: int = betterproto.uint32_field(4)
    breeding_effect_item: int = betterproto.uint32_field(5)


@dataclass
class TiledGameMonsterFarmManipulateMonsterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmRefreshBuildingReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    building_id: int = betterproto.uint32_field(2)
    produce_line_id: int = betterproto.uint32_field(3)


@dataclass
class TiledGameMonsterFarmRefreshBuildingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmIncubateReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    monster_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmIncubateRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    monster: "TiledGameMonsterFarmMonster" = betterproto.message_field(3)


@dataclass
class TiledGameMonsterFarmSetProduceLineReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    building_id: int = betterproto.uint32_field(2)
    produce_line_id: int = betterproto.uint32_field(3)
    recipe_id: int = betterproto.uint32_field(4)
    target_num: int = betterproto.uint32_field(5)


@dataclass
class TiledGameMonsterFarmSetProduceLineRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmDropMonsterReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    monster_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmDropMonsterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    drop_monster_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TiledGameMonsterFarmTakeBuildingData(betterproto.Message):
    building_id: int = betterproto.uint32_field(1)
    produce_line_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmTakeBuildingProductReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    take_building_list: List["TiledGameMonsterFarmTakeBuildingData"] = (
        betterproto.message_field(2)
    )


@dataclass
class TiledGameMonsterFarmTakeBuildingProductRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    taken_monster_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TiledGameMonsterFarmSetBuildingProduceTargetReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    building_id: int = betterproto.uint32_field(2)
    produce_line_id: int = betterproto.uint32_field(3)
    recipe_id: int = betterproto.uint32_field(4)
    num: int = betterproto.uint32_field(5)


@dataclass
class TiledGameMonsterFarmSetBuildingProduceTargetRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmGetBusinessReportReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGameMonsterFarmGetBusinessReportRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    business_report: "TiledGameMonsterFarmBusinessReport" = betterproto.message_field(3)


@dataclass
class TiledGameMonsterFarmGetRankReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    rank_type: int = betterproto.uint32_field(2)


@dataclass
class TiledGameMonsterFarmGetRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    rank_type: int = betterproto.uint32_field(3)
    rank: int = betterproto.uint32_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank_data: "RankShowData" = betterproto.message_field(6)


@dataclass
class TiledGamePrpgCard(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)


@dataclass
class TiledGamePrpgDeck(betterproto.Message):
    deck_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    exp: int = betterproto.uint32_field(3)


@dataclass
class TiledGamePrpgBattleMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    card_back: int = betterproto.uint32_field(3)
    card_list: List["TiledGamePrpgCard"] = betterproto.message_field(4)
    rank_score: int = betterproto.uint32_field(5)
    hidden_score: int = betterproto.uint32_field(6)


@dataclass
class TiledGamePrpgHands(betterproto.Message):
    type: "TiledGamePrpgHandType" = betterproto.enum_field(1)
    hands_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TiledGamePrpgBattleSettleInfo(betterproto.Message):
    win_rounds: int = betterproto.uint32_field(1)
    lose_rounds: int = betterproto.uint32_field(2)
    is_abandon: bool = betterproto.bool_field(3)
    max_round_score: int = betterproto.uint32_field(4)
    best_hands: "TiledGamePrpgHands" = betterproto.message_field(5)
    situation: "TiledGamePrpgPvpSettleSituationType" = betterproto.enum_field(6)


@dataclass
class TiledGamePrpgBattleMemberSettleInfo(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    nickname: str = betterproto.string_field(2)
    cur_rank_score: int = betterproto.uint32_field(3)
    is_abandoned: bool = betterproto.bool_field(4)
    settle_info: "TiledGamePrpgBattleSettleInfo" = betterproto.message_field(5)


@dataclass
class TiledGamePrpgGetDataReq(betterproto.Message):
    pass


@dataclass
class TiledGamePrpgGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    rank_score: int = betterproto.uint32_field(3)
    pvp_card_back: int = betterproto.uint32_field(4)
    explore_level: int = betterproto.uint32_field(5)
    explore_exp: int = betterproto.uint32_field(6)
    unlock_skill_list: List[int] = betterproto.uint32_field(7)
    card_list: List["TiledGamePrpgCard"] = betterproto.message_field(8)
    deck_list: List["TiledGamePrpgDeck"] = betterproto.message_field(9)
    passed_room_id_list: List[int] = betterproto.uint32_field(10)


@dataclass
class TiledGamePrpgPvpBattleBeginNotify(betterproto.Message):
    lobby_id: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)
    fightserver_ip_v4: str = betterproto.string_field(3)
    fightserver_ip_v6: str = betterproto.string_field(4)
    fightserver_port: int = betterproto.uint32_field(5)
    activity_id: int = betterproto.uint32_field(6)
    is_reconnect: bool = betterproto.bool_field(7)


@dataclass
class TiledGamePrpgPvpBattleSettleNotify(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    lobby_id: int = betterproto.uint32_field(2)
    settle_info: "TiledGamePrpgBattleMemberSettleInfo" = betterproto.message_field(3)
    rank_score_before: int = betterproto.uint32_field(4)
    rank_score_after: int = betterproto.uint32_field(5)


@dataclass
class TiledGamePrpgPvpEnterBattleReq(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGamePrpgPvpEnterBattleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)
    member_list: List["TiledGamePrpgBattleMember"] = betterproto.message_field(3)


@dataclass
class TiledGamePrpgPvpAbandonBattleReq(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGamePrpgPvpAbandonBattleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGamePrpgPvpGetBattleInfoReq(betterproto.Message):
    pass


@dataclass
class TiledGamePrpgPvpBattleFieldPlayerInfo(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    card_list: List[int] = betterproto.uint32_field(2)
    hand_type: "TiledGamePrpgHandType" = betterproto.enum_field(3)
    type_score: int = betterproto.uint32_field(4)
    point_score: int = betterproto.uint32_field(5)
    field_score: int = betterproto.uint32_field(6)


@dataclass
class TiledGamePrpgPvpBattleField(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    public_card_list: List[int] = betterproto.uint32_field(2)
    player_card_list: List["TiledGamePrpgPvpBattleFieldPlayerInfo"] = (
        betterproto.message_field(3)
    )


@dataclass
class TiledGamePrpgPvpBattle(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    cur_round: int = betterproto.uint32_field(2)
    member_list: List["TiledGamePrpgBattleMember"] = betterproto.message_field(3)
    field_list: List["TiledGamePrpgPvpBattleField"] = betterproto.message_field(4)
    remain_exchange_times: int = betterproto.uint32_field(5)
    remain_put_card_times: int = betterproto.uint32_field(6)
    hand_card_list: List[int] = betterproto.uint32_field(7)


@dataclass
class TiledGamePrpgPvpGetBattleInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_info: "TiledGamePrpgPvpBattle" = betterproto.message_field(2)


@dataclass
class TiledGamePrpgPvpMoveCardReq(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    card_id: int = betterproto.uint32_field(2)
    move_type: "TiledGamePrpgPvpMoveCardReqMoveType" = betterproto.enum_field(3)
    from_id: int = betterproto.uint32_field(4)
    target_id: int = betterproto.uint32_field(5)


@dataclass
class TiledGamePrpgPvpMoveCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGamePrpgPvpExchangeCardReq(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    card_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGamePrpgPvpExchangeCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)
    new_card_id: int = betterproto.uint32_field(3)


@dataclass
class TiledGamePrpgPvpEndRoundReq(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    cur_round: int = betterproto.uint32_field(2)


@dataclass
class TiledGamePrpgPvpEndRoundRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGamePrpgPvpSyncRoundNotify(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    cur_round: int = betterproto.uint32_field(2)
    cur_time: int = betterproto.uint32_field(3)
    cur_round_end_time: int = betterproto.uint32_field(4)


@dataclass
class TiledGamePrpgPvpBattleEndNotify(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)


@dataclass
class TiledGamePrpgPvpSetCardBackReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    card_back_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGamePrpgPvpSetCardBackRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    card_back_id: int = betterproto.uint32_field(3)


@dataclass
class TiledGamePrpgUnlockSkillReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGamePrpgUnlockSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    skill_id: int = betterproto.uint32_field(3)


@dataclass
class TiledGamePrpgLevelUpCardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    card_id: int = betterproto.uint32_field(2)
    target_level: int = betterproto.uint32_field(3)


@dataclass
class TiledGamePrpgLevelUpCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    new_card: "TiledGamePrpgCard" = betterproto.message_field(3)


@dataclass
class TiledGamePrpgBattleBeginReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)


@dataclass
class TiledGamePrpgBattleBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)
    dynamic_level: int = betterproto.uint32_field(4)


@dataclass
class TiledGamePrpgBattleEndReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)
    end_reason: "TiledGamePrpgBattleEndReqReason" = betterproto.enum_field(3)
    score: int = betterproto.uint32_field(4)


@dataclass
class TiledGamePrpgBattleEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    room_id: int = betterproto.uint32_field(3)


@dataclass
class TownActivityGetDataReq(betterproto.Message):
    town_id: int = betterproto.uint32_field(1)


@dataclass
class TownActivity(betterproto.Message):
    town_id: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)
    game_round: int = betterproto.uint32_field(3)
    avatar_list: List["TownAvatar"] = betterproto.message_field(4)
    brick_id_list: List[int] = betterproto.uint32_field(5)
    next_brick_round: int = betterproto.uint32_field(6)
    building_list: List["TownBuilding"] = betterproto.message_field(7)
    valid_building_id_list: List[int] = betterproto.uint32_field(8)
    monster_list: List["TownMonster"] = betterproto.message_field(9)
    event_list: List["TownEvent"] = betterproto.message_field(10)
    boss: "TownBoss" = betterproto.message_field(11)
    buff_list: List["TownBuff"] = betterproto.message_field(12)
    trigger_list: List["TownPassByTrigger"] = betterproto.message_field(13)
    challenge_list: List["TownChallenge"] = betterproto.message_field(14)
    finished_tower_id_list: List[int] = betterproto.uint32_field(15)
    is_game_end: bool = betterproto.bool_field(16)
    path_list: List["TownPath"] = betterproto.message_field(17)
    transaction_str: str = betterproto.string_field(18)


@dataclass
class TownBuff(betterproto.Message):
    buff_id: int = betterproto.uint32_field(1)
    buff_num: int = betterproto.uint32_field(2)
    left_duration_num: int = betterproto.uint32_field(3)


@dataclass
class TownAvatar(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    tile_unique_id: int = betterproto.uint32_field(2)
    left_step: int = betterproto.uint32_field(3)
    tile_position: int = betterproto.uint32_field(4)
    left_hp_ratio: int = betterproto.uint32_field(5)
    status: "TownAvatarStatus" = betterproto.enum_field(6)
    status_begin_round: int = betterproto.uint32_field(7)
    check_in_building_unique_id: int = betterproto.uint32_field(8)
    buff_list: List["TownBuff"] = betterproto.message_field(9)
    speed_up_heal_times: int = betterproto.uint32_field(10)


@dataclass
class TownPassByTrigger(betterproto.Message):
    position: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)
    building_unique_id: int = betterproto.uint32_field(3)


@dataclass
class TownBuilding(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    building_id: int = betterproto.uint32_field(2)
    position: int = betterproto.uint32_field(3)
    occupy_position_list: List[int] = betterproto.uint32_field(4)
    skill_trigger_times_list: List["TownBuildingSkillTriggerTimes"] = (
        betterproto.message_field(5)
    )
    left_hp: int = betterproto.uint32_field(6)
    activated_duration_skill_id_list: List[int] = betterproto.uint32_field(7)
    waiting_avatar_id_list: List[int] = betterproto.uint32_field(8)
    next_interval_skill_round: int = betterproto.uint32_field(9)


@dataclass
class TownBuildingSkillTriggerTimes(betterproto.Message):
    skill_id: int = betterproto.uint32_field(1)
    trigger_times: int = betterproto.uint32_field(2)


@dataclass
class TownMonster(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)
    monster_id: int = betterproto.uint32_field(2)
    position: int = betterproto.uint32_field(3)
    strength: int = betterproto.uint32_field(4)
    left_hp_ratio: int = betterproto.uint32_field(5)


@dataclass
class TownBoss(betterproto.Message):
    monster_id: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    strength: int = betterproto.uint32_field(3)
    left_hp_ratio: int = betterproto.uint32_field(4)
    born_round: int = betterproto.uint32_field(5)
    next_boss_born_round: int = betterproto.uint32_field(6)
    next_boss_monster_id: int = betterproto.uint32_field(7)


@dataclass
class TownEvent(betterproto.Message):
    position: int = betterproto.uint32_field(1)
    event_id: int = betterproto.uint32_field(2)


@dataclass
class TownPath(betterproto.Message):
    position: int = betterproto.uint32_field(1)
    next_position: int = betterproto.uint32_field(2)


@dataclass
class TownActivityGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    town: "TownActivity" = betterproto.message_field(2)


@dataclass
class TownCommonHead(betterproto.Message):
    town_id: int = betterproto.uint32_field(1)
    tower_id: int = betterproto.uint32_field(2)
    game_round: int = betterproto.uint32_field(3)


@dataclass
class TownActivitySaveReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)


@dataclass
class TownActivitySaveRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)


@dataclass
class TownActivityBuildReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    use_brick_index: int = betterproto.uint32_field(2)
    use_brick_position: int = betterproto.uint32_field(3)
    target_building_id: int = betterproto.uint32_field(4)
    target_building_position: int = betterproto.uint32_field(5)
    direction: int = betterproto.uint32_field(6)
    consume_building_unique_id_list: List[int] = betterproto.uint32_field(7)


@dataclass
class TownActivityBuildRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)


@dataclass
class TownActivityBattleReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    end_status: "TownActivityBattleReqBattleEndStatus" = betterproto.enum_field(2)
    avatar_result_list: List["TownActivityBattleReqAvatarBattleResult"] = (
        betterproto.message_field(3)
    )
    monster_result: "TownActivityBattleReqMonsterBattleResult" = (
        betterproto.message_field(4)
    )


@dataclass
class TownActivityBattleReqAvatarBattleResult(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    left_hp_ratio: int = betterproto.uint32_field(2)


@dataclass
class TownActivityBattleReqMonsterBattleResult(betterproto.Message):
    monster_unique_id: int = betterproto.uint32_field(1)
    left_hp_ratio: int = betterproto.uint32_field(2)


@dataclass
class TownActivityBattleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)
    drop_item_list: List["DropItem"] = betterproto.message_field(3)


@dataclass
class TownActivitySellBuildingReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    sell_building_unique_id: int = betterproto.uint32_field(2)


@dataclass
class TownActivitySellBuildingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)
    return_material_list: List["Material"] = betterproto.message_field(3)


@dataclass
class TownActivityHealAvatarReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    avatar_id: int = betterproto.uint32_field(2)


@dataclass
class TownActivityHealAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)


@dataclass
class TownActivitySellBrickReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    sell_brick_index: int = betterproto.uint32_field(2)


@dataclass
class TownActivitySellBrickRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)
    return_material_list: List["Material"] = betterproto.message_field(3)


@dataclass
class TownChallenge(betterproto.Message):
    challenge_id: int = betterproto.uint32_field(1)
    status: "TownChallengeStatus" = betterproto.enum_field(2)
    value: int = betterproto.uint32_field(3)
    tower_id: int = betterproto.uint32_field(4)


@dataclass
class TownActivityEndNotify(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    status: "TownActivityEndNotifyStatus" = betterproto.enum_field(2)
    challenge_list: List["TownChallenge"] = betterproto.message_field(3)
    challenge_reward_data: "RewardData" = betterproto.message_field(4)
    talent_point_item: "GenericItemNum" = betterproto.message_field(5)


@dataclass
class TownActivityBossAttackNotify(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    attacked_position_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TownActivityGetShopReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    building_unique_id: int = betterproto.uint32_field(2)


@dataclass
class TownActivityGetShopRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)
    building_unique_id: int = betterproto.uint32_field(3)
    goods_list: List["TownActivityGetShopRspShopGoods"] = betterproto.message_field(4)


@dataclass
class TownActivityGetShopRspShopGoods(betterproto.Message):
    goods_id: int = betterproto.uint32_field(1)
    material_id: int = betterproto.uint32_field(2)
    left_buy_times: int = betterproto.uint32_field(3)
    cost_material_id: int = betterproto.uint32_field(4)
    cost_num: int = betterproto.uint32_field(5)
    limit_type: int = betterproto.uint32_field(6)


@dataclass
class TownActivityShopBuyReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    shop_building_unique_id: int = betterproto.uint32_field(2)
    goods_id: int = betterproto.uint32_field(3)


@dataclass
class TownActivityShopBuyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)
    goods_id: int = betterproto.uint32_field(3)
    left_buy_times: int = betterproto.uint32_field(4)


@dataclass
class TownActivityMaterialUseReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    material_id: int = betterproto.uint32_field(2)
    target_param: int = betterproto.uint32_field(3)


@dataclass
class TownActivityMaterialUseRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)
    material_id: int = betterproto.uint32_field(3)


@dataclass
class TownActivitySpeedUpHealReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    avatar_id: int = betterproto.uint32_field(2)


@dataclass
class TownActivitySpeedUpHealRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)


@dataclass
class TownActivityCheckInOptionalReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    building_unique_id: int = betterproto.uint32_field(2)
    avatar_id: int = betterproto.uint32_field(3)


@dataclass
class TownActivityCheckInOptionalRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)


@dataclass
class TownActivityResetReq(betterproto.Message):
    town_id: int = betterproto.uint32_field(1)


@dataclass
class TownActivityResetRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    town_id: int = betterproto.uint32_field(2)


@dataclass
class TownActivityAlterPathReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    position: int = betterproto.uint32_field(2)


@dataclass
class TownActivityAlterPathRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)
    position: int = betterproto.uint32_field(3)
    next_position: int = betterproto.uint32_field(4)


@dataclass
class TownActivityAttackEnemyBuffNotify(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)
    attack_list: List["TownActivityAttackEnemyBuffNotifyAttack"] = (
        betterproto.message_field(2)
    )
    drop_item_list: List["DropItem"] = betterproto.message_field(3)


@dataclass
class TownActivityAttackEnemyBuffNotifyAttack(betterproto.Message):
    building_unique_id: int = betterproto.uint32_field(1)
    skill_id: int = betterproto.uint32_field(2)
    attacked_unique_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TownActivityRefreshBrickReq(betterproto.Message):
    head: "TownCommonHead" = betterproto.message_field(1)


@dataclass
class TownActivityRefreshBrickRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    head: "TownCommonHead" = betterproto.message_field(2)


@dataclass
class TvtActivity(betterproto.Message):
    cur_schedule_id: int = betterproto.uint32_field(1)
    open_time: int = betterproto.uint32_field(2)
    close_time: int = betterproto.uint32_field(3)
    tvt_division: int = betterproto.uint32_field(4)
    tvt_star: int = betterproto.uint32_field(5)
    win_streak: int = betterproto.uint32_field(6)
    has_take_division_up_reward_list: List[int] = betterproto.uint32_field(7)
    total_battle_num: int = betterproto.uint32_field(8)
    total_win: int = betterproto.uint32_field(9)
    max_win_streak: int = betterproto.uint32_field(10)
    mvp_num: int = betterproto.uint32_field(11)
    has_take_mission_group_reward_list: List[int] = betterproto.uint32_field(12)
    open_time_period_list: List["TvtActivityOpenTimePeriod"] = (
        betterproto.message_field(13)
    )
    type: int = betterproto.uint32_field(14)


@dataclass
class TvtActivityOpenTimePeriod(betterproto.Message):
    open_day_time: int = betterproto.uint32_field(1)
    close_day_time: int = betterproto.uint32_field(2)


@dataclass
class TvtCard(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)
    card_level: int = betterproto.uint32_field(2)


@dataclass
class TvtCardSuite(betterproto.Message):
    card_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class TvtMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    region_name: str = betterproto.string_field(2)
    nickname: str = betterproto.string_field(3)
    level: int = betterproto.uint32_field(4)
    head_avatar_id: int = betterproto.uint32_field(5)
    frame_id: int = betterproto.uint32_field(6)
    dress_id: int = betterproto.uint32_field(7)
    division: int = betterproto.uint32_field(8)
    division_star: int = betterproto.uint32_field(9)
    win_streak: int = betterproto.uint32_field(10)
    elo_score: float = betterproto.double_field(11)
    elo_score_para: float = betterproto.double_field(12)
    battle_combat: int = betterproto.uint32_field(13)
    custom_head_id: int = betterproto.uint32_field(14)
    win_add_star: int = betterproto.uint32_field(15)
    lose_del_star: int = betterproto.uint32_field(16)
    card_list: List["TvtCard"] = betterproto.message_field(17)
    lineup_info: "LineupBriefInfo" = betterproto.message_field(18)
    is_robot: bool = betterproto.bool_field(19)
    robot_match_prob: int = betterproto.uint32_field(20)
    voice_id: int = betterproto.uint32_field(21)
    lane_order: int = betterproto.uint32_field(22)
    last_lane_order: int = betterproto.uint32_field(23)


@dataclass
class TvtMemberStat(betterproto.Message):
    member: "TvtMember" = betterproto.message_field(1)
    total_score: int = betterproto.uint32_field(2)
    is_mvp: bool = betterproto.bool_field(3)
    old_division: int = betterproto.uint32_field(4)
    old_division_star: int = betterproto.uint32_field(5)
    battle_points_in_stage: float = betterproto.double_field(6)
    stage_scoin_num: int = betterproto.uint32_field(7)
    is_team_match: bool = betterproto.bool_field(8)


@dataclass
class TvtBattleResult(betterproto.Message):
    battle_stage_id: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    battle_status: "TvtBattleResultBattleStatus" = betterproto.enum_field(3)
    lhs_member_stat_list: List["TvtMemberStat"] = betterproto.message_field(4)
    rhs_member_stat_list: List["TvtMemberStat"] = betterproto.message_field(5)
    battle_type: int = betterproto.uint32_field(6)
    is_robot_match: bool = betterproto.bool_field(7)
    end_time: int = betterproto.uint32_field(8)


@dataclass
class TvtBattleHistory(betterproto.Message):
    battle_result: "TvtBattleResult" = betterproto.message_field(1)


@dataclass
class GetTvtActivityReq(betterproto.Message):
    pass


@dataclass
class GetTvtActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    tvt_activity_list: List["TvtActivity"] = betterproto.message_field(2)
    cur_season_id: int = betterproto.uint32_field(3)
    season_begin_time: int = betterproto.uint32_field(4)
    season_end_time: int = betterproto.uint32_field(5)
    punish_end_time: int = betterproto.uint32_field(6)


@dataclass
class GetTvtBattleHistoryReq(betterproto.Message):
    pass


@dataclass
class GetTvtBattleHistoryRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    battle_history_list: List["TvtBattleHistory"] = betterproto.message_field(2)


@dataclass
class SyncTvtMemberInRoomNotify(betterproto.Message):
    member_list: List["TvtMember"] = betterproto.message_field(1)


@dataclass
class TvtTakeMissionGroupRewardReq(betterproto.Message):
    mission_group_id: int = betterproto.uint32_field(1)


@dataclass
class TvtTakeMissionGroupRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class TvtGetStageScheduleReq(betterproto.Message):
    type: int = betterproto.uint32_field(1)


@dataclass
class TvtStageSchedule(betterproto.Message):
    day_begin_time: int = betterproto.uint32_field(1)
    day_end_time: int = betterproto.uint32_field(2)
    stage_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class TvtGetStageScheduleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: int = betterproto.uint32_field(2)
    schedule_list: List["TvtStageSchedule"] = betterproto.message_field(3)


@dataclass
class TvtCardGetDataReq(betterproto.Message):
    pass


@dataclass
class TvtCardGetDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    card_list: List["TvtCard"] = betterproto.message_field(2)
    suite_list: List["TvtCardSuite"] = betterproto.message_field(3)
    selected_suite_idx: int = betterproto.uint32_field(4)
    is_take_season_return: bool = betterproto.bool_field(5)


@dataclass
class TvtCardLevelUpReq(betterproto.Message):
    card_id: int = betterproto.uint32_field(1)


@dataclass
class TvtCardLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class TvtCardUpdateSuiteReq(betterproto.Message):
    suite_list: List["TvtCardSuite"] = betterproto.message_field(1)
    selected_suite_idx: int = betterproto.uint32_field(2)


@dataclass
class TvtCardUpdateSuiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class TvtCardTakeSeasonReturnReq(betterproto.Message):
    pass


@dataclass
class TvtCardTakeSeasonReturnRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    return_item_list: List["RewardItemData"] = betterproto.message_field(2)


@dataclass
class TvtCardTransformMaterialReq(betterproto.Message):
    material_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class TvtCardTransformMaterialRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    transformed_material_list: List["Material"] = betterproto.message_field(2)
    item_list: List["GenericItemNum"] = betterproto.message_field(3)


@dataclass
class TvtBattleMember(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    region_name: str = betterproto.string_field(2)
    is_prepared: bool = betterproto.bool_field(3)
    member_status: "TvtBattleMemberStatus" = betterproto.enum_field(4)
    is_confirmed: bool = betterproto.bool_field(5)


@dataclass
class TvtBattleInfo(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    battle_stage_id: int = betterproto.uint32_field(2)
    phase: "TvtBattleInfoBattlePhase" = betterproto.enum_field(3)
    phase_begin_time: int = betterproto.uint32_field(4)
    phase_end_time: int = betterproto.uint32_field(5)
    lhs_member_list: List["TvtBattleMember"] = betterproto.message_field(6)
    rhs_member_list: List["TvtBattleMember"] = betterproto.message_field(7)
    is_robot_match: bool = betterproto.bool_field(8)
    battle_type: int = betterproto.uint32_field(9)
    battle_hard_level_group: int = betterproto.uint32_field(10)
    battle_hard_level: int = betterproto.uint32_field(11)


@dataclass
class SyncTvtBattleInfoNotify(betterproto.Message):
    battle_info: "TvtBattleInfo" = betterproto.message_field(1)


@dataclass
class TvtBattleMemberPrepareNotify(betterproto.Message):
    is_cancel_prepare: bool = betterproto.bool_field(1)


@dataclass
class TvtBattleBeginNotify(betterproto.Message):
    battle_id: int = betterproto.uint32_field(1)
    battle_stage_id: int = betterproto.uint32_field(2)
    transaction_str: str = betterproto.string_field(3)
    battle_info: "TvtBattleInfo" = betterproto.message_field(4)
    lhs_member_list: List["TvtMember"] = betterproto.message_field(5)
    rhs_member_list: List["TvtMember"] = betterproto.message_field(6)
    is_robot_match: bool = betterproto.bool_field(7)


@dataclass
class TvtBattleEndNotify(betterproto.Message):
    pass


@dataclass
class TvtBattleSettleNotify(betterproto.Message):
    transaction_str: str = betterproto.string_field(1)
    battle_id: int = betterproto.uint32_field(2)
    battle_result: "TvtBattleResult" = betterproto.message_field(3)


@dataclass
class TvtBattleStageMessage(betterproto.Message):
    message_id: int = betterproto.uint32_field(1)
    from_uid: int = betterproto.uint32_field(2)
    item_msg: "TvtBattleStageMessageItemMessage" = betterproto.message_field(3)
    avatar_hp_msg: "TvtBattleStageMessageAvatarHpMesssage" = betterproto.message_field(
        4
    )
    player_msg: "TvtBattleStageMessagePlayerMessage" = betterproto.message_field(5)
    boss_damage_msg: "TvtBattleStageMessageBossDamageMessage" = (
        betterproto.message_field(6)
    )
    stage_scoin_msg: "TvtBattleStageMessageStageScoinMessage" = (
        betterproto.message_field(7)
    )
    client_define_msg: "TvtBattleStageMessageClientDefineMessage" = (
        betterproto.message_field(8)
    )
    round_score_msg: "TvtBattleStageMessageRoundScoreMessage" = (
        betterproto.message_field(9)
    )


@dataclass
class TvtBattleStageMessageItemMessage(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    target_uid_list: List[int] = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)


@dataclass
class TvtBattleStageMessageAvatarHpMesssage(betterproto.Message):
    avatar_hp_list: List[int] = betterproto.uint32_field(1)
    avatar_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TvtBattleStageMessagePlayerMessage(betterproto.Message):
    player_value: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)


@dataclass
class TvtBattleStageMessageBossDamageMessage(betterproto.Message):
    client_add_damage: int = betterproto.uint32_field(1)
    client_total_damage: int = betterproto.uint32_field(2)
    client_set_left_hp: int = betterproto.uint32_field(3)
    server_set_lhs_boss_hp: int = betterproto.uint32_field(4)
    server_set_rhs_boss_hp: int = betterproto.uint32_field(5)
    lhs_final_kill_player_uid: int = betterproto.uint32_field(6)
    rhs_final_kill_player_uid: int = betterproto.uint32_field(7)


@dataclass
class TvtBattleStageMessageStageScoinMessage(betterproto.Message):
    client_add_scoin: int = betterproto.uint32_field(1)
    client_total_scoin: int = betterproto.uint32_field(2)


@dataclass
class TvtBattleStageMessageClientDefineMessage(betterproto.Message):
    type: int = betterproto.uint32_field(1)
    para_uint_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TvtBattleStageMessageRoundScoreMessage(betterproto.Message):
    client_add_score: int = betterproto.uint32_field(1)
    left_total_score: int = betterproto.uint32_field(2)
    right_total_score: int = betterproto.uint32_field(3)
    left_win_times: int = betterproto.uint32_field(4)
    right_win_times: int = betterproto.uint32_field(5)
    round: int = betterproto.uint32_field(6)


@dataclass
class ReportTvtBattleStageMessageNotify(betterproto.Message):
    message_list: List["TvtBattleStageMessage"] = betterproto.message_field(1)


@dataclass
class SyncTvtBattleStageMessageNotify(betterproto.Message):
    message_list: List["TvtBattleStageMessage"] = betterproto.message_field(1)


@dataclass
class ExitTvtBattleNotify(betterproto.Message):
    pass


@dataclass
class TvtBattleClientReportNotify(betterproto.Message):
    report_type: str = betterproto.string_field(1)
    report_value: str = betterproto.string_field(2)


@dataclass
class TvtEnterShopReq(betterproto.Message):
    pass


@dataclass
class TvtEnterShopRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    enter_shop_order: int = betterproto.uint32_field(2)


@dataclass
class TvtBattleConfirmNotify(betterproto.Message):
    pass


@dataclass
class TvtUpdateLineupInfoNotify(betterproto.Message):
    avatar_id_list: List[int] = betterproto.uint32_field(1)
    elf_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TvtBattleRobotSettleNotify(betterproto.Message):
    battle_result: "TvtBattleResult" = betterproto.message_field(1)


@dataclass
class GetBuffEffectReq(betterproto.Message):
    effect_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetBuffEffectRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    effect_list: List["BuffEffect"] = betterproto.message_field(2)
    aura_effect_list: List[int] = betterproto.uint32_field(3)


@dataclass
class GetGrandKeyReq(betterproto.Message):
    key_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetGrandKeyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    key_list: List["GrandKey"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class GetMedalDataReq(betterproto.Message):
    medal_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetMedalDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    medal_list: List["Medal"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class MedalOpReq(betterproto.Message):
    op: "MedalOpType" = betterproto.enum_field(1)
    on_id: int = betterproto.uint32_field(2)
    off_id: int = betterproto.uint32_field(3)


@dataclass
class MedalOpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    op: "MedalOpType" = betterproto.enum_field(2)
    on_id: int = betterproto.uint32_field(3)
    off_id: int = betterproto.uint32_field(4)


@dataclass
class GetStageActDifficultyReq(betterproto.Message):
    pass


@dataclass
class GetStageActDifficultyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    act_difficulty_list: List["StageActDifficultyInfo"] = betterproto.message_field(2)


@dataclass
class TakeStageActChallengeRewardReq(betterproto.Message):
    act_id: int = betterproto.uint32_field(1)
    difficulty: int = betterproto.uint32_field(2)
    challenge_num_index: int = betterproto.uint32_field(3)
    challenge_num_index_list: List[int] = betterproto.uint32_field(4)


@dataclass
class TakeStageActChallengeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    act_id: int = betterproto.uint32_field(2)
    difficulty: int = betterproto.uint32_field(3)
    challenge_num_index: int = betterproto.uint32_field(4)
    reward_list: List["RewardData"] = betterproto.message_field(5)
    succ_challenge_num_index_list: List[int] = betterproto.uint32_field(6)
    fail_challenge_num_index_list: List[int] = betterproto.uint32_field(7)


@dataclass
class StageChapterBoss(betterproto.Message):
    boss_stage_id: int = betterproto.uint32_field(1)
    left_hp: int = betterproto.uint32_field(2)


@dataclass
class StageChapterExclusive(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)


@dataclass
class StageChapterInfo(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    has_take_challenge: int = betterproto.uint64_field(2)
    enter_player_level: int = betterproto.uint32_field(3)
    boss_list: List["StageChapterBoss"] = betterproto.message_field(4)
    exclusive_stage_list: List["StageChapterExclusive"] = betterproto.message_field(5)


@dataclass
class GetStageChapterReq(betterproto.Message):
    pass


@dataclass
class GetStageChapterRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_list: List["StageChapterInfo"] = betterproto.message_field(2)


@dataclass
class TakeChapterChallengeRewardReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    challenge_num_index: int = betterproto.uint32_field(2)


@dataclass
class TakeChapterChallengeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    challenge_num_index: int = betterproto.uint32_field(3)
    reward_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class TakeActivityChallengeRewardReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    challenge_num_index: int = betterproto.uint32_field(2)


@dataclass
class TakeActivityChallengeRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    challenge_num_index: int = betterproto.uint32_field(3)
    reward_list: List["RewardData"] = betterproto.message_field(4)


@dataclass
class GetPediaReq(betterproto.Message):
    pass


@dataclass
class GetPediaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    black_list: List[int] = betterproto.uint32_field(2)


@dataclass
class MpGetMatchInfoReq(betterproto.Message):
    pass


@dataclass
class MpGetMatchInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    match_info_list: List["MpMatchInfo"] = betterproto.message_field(2)
    battle_begin_time: int = betterproto.uint32_field(3)
    lobby_idx: int = betterproto.uint32_field(4)


@dataclass
class MpCancelMatchReq(betterproto.Message):
    pass


@dataclass
class MpCancelMatchRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class MpGetLobbyRecommendReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)


@dataclass
class MpGetLobbyRecommendRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_id: int = betterproto.uint32_field(2)
    recommend_type: "MpGetLobbyRecommendRspRecommendType" = betterproto.enum_field(3)


@dataclass
class EquipSynthesisReq(betterproto.Message):
    material: "Material" = betterproto.message_field(1)
    equip_item: "EquipmentItem" = betterproto.message_field(2)


@dataclass
class EquipSynthesisRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    equip_list: "EquipmentItemList" = betterproto.message_field(2)


@dataclass
class GetPlayerCardReq(betterproto.Message):
    type: "PlayerCardType" = betterproto.enum_field(1)


@dataclass
class GetPlayerCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "PlayerCardType" = betterproto.enum_field(2)
    avatar_id_list: List[int] = betterproto.uint32_field(3)
    medal_id_list: List[int] = betterproto.uint32_field(4)
    msg_config: int = betterproto.uint32_field(5)
    msg_data: "PlayerCardMsgData" = betterproto.message_field(6)
    last_read_msg_index: int = betterproto.uint32_field(7)
    mp_like_num: int = betterproto.uint32_field(8)
    island_like_num: int = betterproto.uint32_field(9)
    elf_id_list: List[int] = betterproto.uint32_field(10)
    campaign_like_num: int = betterproto.uint32_field(11)
    medal_list: List["Medal"] = betterproto.message_field(12)


@dataclass
class ChangePlayerCardReq(betterproto.Message):
    type: "PlayerCardType" = betterproto.enum_field(1)
    slot_list: List["PlayerCardSlot"] = betterproto.message_field(2)
    msg_config: "PlayerCardMsgConfig" = betterproto.enum_field(3)


@dataclass
class ChangePlayerCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "PlayerCardType" = betterproto.enum_field(2)
    slot_list: List["PlayerCardSlot"] = betterproto.message_field(3)
    msg_config: "PlayerCardMsgConfig" = betterproto.enum_field(4)


@dataclass
class DelPlayerCardMsgReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    index_list: List[int] = betterproto.uint32_field(2)


@dataclass
class PlayerCardDataChangeNotify(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    msg_config: int = betterproto.uint32_field(2)
    medal: "PlayerCardMedalData" = betterproto.message_field(3)
    avatar: "PlayerCardAvatarData" = betterproto.message_field(4)


@dataclass
class SendPlayerCardMsgReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    msg: str = betterproto.string_field(2)
    chat_msg: "ChatMsg" = betterproto.message_field(3)
    msg_num_limit: int = betterproto.uint32_field(4)
    is_friend: bool = betterproto.bool_field(5)


@dataclass
class SendPlayerCardMsgRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    msg_index: int = betterproto.uint32_field(3)
    forbidden_time: int = betterproto.uint32_field(4)
    chat_msg: "ChatMsg" = betterproto.message_field(5)


@dataclass
class GetOtherPlayerCardDataReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class GetOtherPlayerCardDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    card_data: "PlayerCardData" = betterproto.message_field(3)
    player_data: "PlayerDetailData" = betterproto.message_field(4)


@dataclass
class RecvPlayerCardMsgNotify(betterproto.Message):
    msg_list: List["PlayerCardMsg"] = betterproto.message_field(1)
    target_uid: int = betterproto.uint32_field(2)


@dataclass
class MapQuestSettleData(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)
    old_level: int = betterproto.uint32_field(2)
    old_star: int = betterproto.uint32_field(3)
    cur_level: int = betterproto.uint32_field(4)
    cur_star: int = betterproto.uint32_field(5)
    sub_star: int = betterproto.uint32_field(6)


@dataclass
class GetBossRushActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class BossRushBuff(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    buff_id: int = betterproto.uint32_field(2)


@dataclass
class GetBossRushActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    phase_id: int = betterproto.uint32_field(3)
    buff_list: List["BossRushBuff"] = betterproto.message_field(4)


@dataclass
class ChooseBossRushBuffReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)
    pool_id: int = betterproto.uint32_field(2)
    buff_id: int = betterproto.uint32_field(3)


@dataclass
class ChooseBossRushBuffRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    activity_id: int = betterproto.uint32_field(2)
    pool_id: int = betterproto.uint32_field(3)
    buff_id: int = betterproto.uint32_field(4)


@dataclass
class GetDeleteMaterialReq(betterproto.Message):
    pass


@dataclass
class GetDeleteMaterialRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    materials: List["Material"] = betterproto.message_field(2)
    return_item_list: List["GenericItemNum"] = betterproto.message_field(3)


@dataclass
class GetExtraStoryChallengeModeDataReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)


@dataclass
class GetExtraStoryChallengeModeDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    choose_difficulty: int = betterproto.uint32_field(2)
    is_can_reset: bool = betterproto.bool_field(3)
    challenge_area_list: List["ChallengeModeArea"] = betterproto.message_field(4)
    chapter_id: int = betterproto.uint32_field(5)


@dataclass
class ResetExtraStoryChallengeModeReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    difficulty: int = betterproto.uint32_field(2)


@dataclass
class ResetExtraStoryChallengeModeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)
    difficulty: int = betterproto.uint32_field(3)


@dataclass
class GetExBossScheduleReq(betterproto.Message):
    pass


@dataclass
class GetExBossScheduleRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    end_time: int = betterproto.uint32_field(3)
    min_level: int = betterproto.uint32_field(4)
    image_path: str = betterproto.string_field(5)
    schedule_id: int = betterproto.uint32_field(6)
    rank_id: int = betterproto.uint32_field(7)


@dataclass
class ExBossIdInfo(betterproto.Message):
    boss_id: int = betterproto.uint32_field(1)
    avatar_id_list: List[int] = betterproto.uint32_field(2)
    weapon_id_list: List[int] = betterproto.uint32_field(3)
    stigmata_id_list: List[int] = betterproto.uint32_field(4)
    score: int = betterproto.uint32_field(5)
    last_avatar_id_list: List[int] = betterproto.uint32_field(6)
    boss_times_score: int = betterproto.uint32_field(7)


@dataclass
class ExBossSingleBossScoreReward(betterproto.Message):
    boss_id: int = betterproto.uint32_field(1)
    max_settle_score: int = betterproto.uint32_field(2)


@dataclass
class ExBossInfo(betterproto.Message):
    enter_times: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    rank_id: int = betterproto.uint32_field(3)
    boss_id_list: List["ExBossIdInfo"] = betterproto.message_field(4)
    now_schedule_id: int = betterproto.uint32_field(5)
    ex_boss_list: List["ExBossIdInfo"] = betterproto.message_field(6)
    max_sweep_level: int = betterproto.uint32_field(7)
    single_boss_score_reward_list: List["ExBossSingleBossScoreReward"] = (
        betterproto.message_field(8)
    )
    cur_max_enter_times: int = betterproto.uint32_field(9)


@dataclass
class GetExBossInfoReq(betterproto.Message):
    pass


@dataclass
class GetExBossInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    boss_info: "ExBossInfo" = betterproto.message_field(2)


@dataclass
class TakeExBossRankRewardNotify(betterproto.Message):
    reward_list: List["RewardData"] = betterproto.message_field(1)
    rank: int = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)


@dataclass
class GetNewConsignedOrderDataReq(betterproto.Message):
    pass


@dataclass
class GetNewConsignedOrderDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    progress: int = betterproto.uint32_field(2)
    order_list: List["ConsignedOrder"] = betterproto.message_field(3)
    cd_finish_time: int = betterproto.uint32_field(4)
    finish_order_times: int = betterproto.uint32_field(5)
    total_order_times: int = betterproto.uint32_field(6)


@dataclass
class GetConsignedRewardReq(betterproto.Message):
    pass


@dataclass
class GetConsignedRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    required_reward_list: List["RewardData"] = betterproto.message_field(2)
    optional_reward_list: List["RewardData"] = betterproto.message_field(3)
    my_credit: int = betterproto.uint32_field(4)
    total_credit: int = betterproto.uint32_field(5)
    my_optional_reward_list: List[int] = betterproto.uint32_field(6)


@dataclass
class ChooseConsignedRewardReq(betterproto.Message):
    optional_reward_list: List[int] = betterproto.uint32_field(1)


@dataclass
class ChooseConsignedRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    optional_reward_list: List[int] = betterproto.uint32_field(2)


@dataclass
class TakeConsignedRewardReq(betterproto.Message):
    reliable_id: int = betterproto.uint32_field(1)


@dataclass
class TakeConsignedRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    reliable_id: int = betterproto.uint32_field(3)


@dataclass
class ConsignedRewardLog(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    credit: int = betterproto.uint32_field(3)


@dataclass
class GetConsignedRewardLogReq(betterproto.Message):
    pass


@dataclass
class GetConsignedRewardLogRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_log_list: List["ConsignedRewardLog"] = betterproto.message_field(2)


@dataclass
class GetExBossRankReq(betterproto.Message):
    rank_id: int = betterproto.uint32_field(1)
    boss_id: int = betterproto.uint32_field(2)


@dataclass
class GetExBossRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rank_data: "RankShowData" = betterproto.message_field(2)
    rank_id: int = betterproto.uint32_field(3)
    is_filtered: bool = betterproto.bool_field(4)
    boss_id: int = betterproto.uint32_field(5)


@dataclass
class ExBossStageBeginReq(betterproto.Message):
    avatar_id_list: List[int] = betterproto.uint32_field(1)
    boss_id: int = betterproto.uint32_field(2)
    is_training: bool = betterproto.bool_field(3)
    elf_id_list: List[int] = betterproto.uint32_field(4)
    is_turbo: bool = betterproto.bool_field(5)


@dataclass
class ExBossStageBeginRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stage_transaction_str: str = betterproto.string_field(2)


@dataclass
class ExBossStageEndReq(betterproto.Message):
    end_status: "StageEndStatus" = betterproto.enum_field(1)
    cheat_data_list: List["StageCheatData"] = betterproto.message_field(2)
    boss_id: int = betterproto.uint32_field(3)
    score: int = betterproto.uint32_field(4)


@dataclass
class ExBossStageEndRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    end_status: "StageEndStatus" = betterproto.enum_field(2)
    boss_id: int = betterproto.uint32_field(3)


@dataclass
class TakeExBossScoreRewardNotify(betterproto.Message):
    reward_list: List["RewardData"] = betterproto.message_field(1)


@dataclass
class OpenWeekDayActivityReq(betterproto.Message):
    activity_id: int = betterproto.uint32_field(1)


@dataclass
class OpenWeekDayActivityRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetChallengeStepRewardReq(betterproto.Message):
    step_id: int = betterproto.uint32_field(1)


@dataclass
class GetChallengeStepRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class AddTechExpReq(betterproto.Message):
    material_id: int = betterproto.uint32_field(1)
    material_num: int = betterproto.uint32_field(2)
    map_id: int = betterproto.uint32_field(3)


@dataclass
class AddTechExpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class TakeTechCollectRewardReq(betterproto.Message):
    map_id: int = betterproto.uint32_field(1)


@dataclass
class TakeTechCollectRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    map_id: int = betterproto.uint32_field(3)


@dataclass
class MaterialDeleteReturnReq(betterproto.Message):
    pass


@dataclass
class TakeDailyCompensationRewardReq(betterproto.Message):
    pass


@dataclass
class TakeDailyCompensationRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class AsMasterPupilCardReq(betterproto.Message):
    card: "MasterPupilCard" = betterproto.message_field(1)


@dataclass
class AsMasterPupilCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cd_end_time: int = betterproto.uint32_field(2)


@dataclass
class GetMasterPupilDataReq(betterproto.Message):
    type: int = betterproto.uint32_field(1)
    time: int = betterproto.uint32_field(2)


@dataclass
class GetMasterPupilDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: int = betterproto.uint32_field(2)
    data_list: List["MasterPupilData"] = betterproto.message_field(3)
    dismissed_graduated_pupil_num: int = betterproto.uint32_field(4)


@dataclass
class AskForMasterOrPupilReq(betterproto.Message):
    type: "MasterPupilType" = betterproto.enum_field(1)
    ask_uid: int = betterproto.uint32_field(2)
    time: int = betterproto.uint32_field(3)


@dataclass
class AskForMasterOrPupilRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "MasterPupilType" = betterproto.enum_field(2)
    ask_uid: int = betterproto.uint32_field(3)


@dataclass
class DealMasterPupilReq(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    op: "MasterPupilOpType" = betterproto.enum_field(2)
    type: "MasterPupilType" = betterproto.enum_field(3)
    time: int = betterproto.uint32_field(4)
    nickname: str = betterproto.string_field(5)


@dataclass
class DealMasterPupilRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    uid: int = betterproto.uint32_field(2)
    op: "MasterPupilOpType" = betterproto.enum_field(3)
    type: "MasterPupilType" = betterproto.enum_field(4)


@dataclass
class MasterPupilEvalReq(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    star: int = betterproto.uint32_field(2)
    step_id: int = betterproto.uint32_field(3)
    comment: str = betterproto.string_field(4)
    level: int = betterproto.uint32_field(5)
    nickname: str = betterproto.string_field(6)
    pool_reward: "MasterPoolData" = betterproto.message_field(7)


@dataclass
class MasterPupilEvalRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    uid: int = betterproto.uint32_field(2)
    star: int = betterproto.uint32_field(3)
    step_id: int = betterproto.uint32_field(4)
    comment: str = betterproto.string_field(5)
    pool_reward: "MasterPoolData" = betterproto.message_field(6)
    master_score: int = betterproto.uint32_field(7)


@dataclass
class GetMasterFameRewardReq(betterproto.Message):
    level: int = betterproto.uint32_field(1)


@dataclass
class GetMasterFameRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    reward_list: List["RewardData"] = betterproto.message_field(3)


@dataclass
class MasterPupilCardReportReq(betterproto.Message):
    card: "MasterPupilCard" = betterproto.message_field(1)


@dataclass
class ActivateTrialAvatarReq(betterproto.Message):
    sample_id: int = betterproto.uint32_field(1)


@dataclass
class ActivateTrialAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar: "TrialAvatar" = betterproto.message_field(2)


@dataclass
class GetTrialAvatarReq(betterproto.Message):
    pass


@dataclass
class GetTrialAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_list: List["TrialAvatar"] = betterproto.message_field(2)
    is_all_update: bool = betterproto.bool_field(3)


@dataclass
class GetMasterPupilCardReq(betterproto.Message):
    pass


@dataclass
class GetMasterPupilCardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    card: "MasterPupilCard" = betterproto.message_field(2)


@dataclass
class MasterPupilMsgNotify(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    event: "MasterPupilEventType" = betterproto.enum_field(2)
    data: "MasterPupilEventData" = betterproto.message_field(3)


@dataclass
class GetFrameDataReq(betterproto.Message):
    pass


@dataclass
class FrameData(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    expire_time: int = betterproto.uint32_field(2)


@dataclass
class GetFrameDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    frame_list: List["FrameData"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class SetFrameUseReq(betterproto.Message):
    frame_id: int = betterproto.uint32_field(1)


@dataclass
class SetFrameUseRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    frame_id: int = betterproto.uint32_field(2)


@dataclass
class GetDormDataReq(betterproto.Message):
    data_type: "DormDataType" = betterproto.enum_field(1)


@dataclass
class GetDormDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    data_type: "DormDataType" = betterproto.enum_field(2)
    house_list: List["DormHouse"] = betterproto.message_field(3)
    finish_talk_plot_id_list: List[int] = betterproto.uint32_field(4)
    depot_furniture_list: List["DepotFurniture"] = betterproto.message_field(5)
    level_up_house_id: int = betterproto.uint32_field(6)
    level_up_end_time: int = betterproto.uint32_field(7)
    level_up_end_house_id: int = betterproto.uint32_field(8)
    facility_data: "DormFacilityData" = betterproto.message_field(9)
    event_list: List["DormEvent"] = betterproto.message_field(10)
    show_house: int = betterproto.uint32_field(11)
    show_room: int = betterproto.uint32_field(12)
    visit_avatar: int = betterproto.uint32_field(13)
    is_allow_visit: bool = betterproto.bool_field(14)
    last_take_dorm_daily_stamina_time: int = betterproto.uint32_field(15)
    unlock_avatar_list: List[int] = betterproto.uint32_field(16)


@dataclass
class GetDormHouseReq(betterproto.Message):
    house_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetDormHouseRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    house_list: List["DormHouse"] = betterproto.message_field(2)


@dataclass
class EditDormRoomReq(betterproto.Message):
    house_id: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)
    furniture_list: List["Furniture"] = betterproto.message_field(3)


@dataclass
class EditDormRoomRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetDepotFurnitureReq(betterproto.Message):
    furniture_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetDepotFurnitureRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    depot_furniture_list: List["DepotFurniture"] = betterproto.message_field(2)


@dataclass
class UnlockDormHouseReq(betterproto.Message):
    house_id: int = betterproto.uint32_field(1)


@dataclass
class UnlockDormHouseRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    house: "DormHouse" = betterproto.message_field(2)


@dataclass
class SetDormAvatarReq(betterproto.Message):
    house_id: int = betterproto.uint32_field(1)
    room_avatar_list: List["DormRoomAvatar"] = betterproto.message_field(2)


@dataclass
class SetDormAvatarRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class LevelUpDormReq(betterproto.Message):
    house_id: int = betterproto.uint32_field(1)
    target_level: int = betterproto.uint32_field(2)


@dataclass
class LevelUpDormRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    level_up_house_id: int = betterproto.uint32_field(2)
    level_up_end_time: int = betterproto.uint32_field(3)


@dataclass
class SetDormNameReq(betterproto.Message):
    house_id: int = betterproto.uint32_field(1)
    room_id: int = betterproto.uint32_field(2)
    name: str = betterproto.string_field(3)


@dataclass
class SetDormNameRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cd_end_time: int = betterproto.uint32_field(2)


@dataclass
class FinishDormEventReq(betterproto.Message):
    event_id: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)


@dataclass
class FinishDormEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    drop_item_list: List["DropItem"] = betterproto.message_field(3)


@dataclass
class GetHasGotFurnitureIdListReq(betterproto.Message):
    pass


@dataclass
class GetHasGotFurnitureIdListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    furniture_id_list: List[int] = betterproto.uint32_field(2)
    has_unlock_furniture_id_list: List[int] = betterproto.uint32_field(3)


@dataclass
class BuyFurnitureReq(betterproto.Message):
    furniture_list: List["DepotFurniture"] = betterproto.message_field(1)


@dataclass
class BuyFurnitureRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetOtherDormDataReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    visit_avatar: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)
    name: str = betterproto.string_field(4)


@dataclass
class GetOtherDormDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    house: "DormHouse" = betterproto.message_field(3)
    show_room: int = betterproto.uint32_field(4)
    visit_avatar: int = betterproto.uint32_field(5)
    be_liked_num: int = betterproto.uint32_field(6)
    record_list: List["DormVisitRecord"] = betterproto.message_field(7)
    be_visit_num: int = betterproto.uint32_field(8)
    is_receive_like_limit: bool = betterproto.bool_field(9)
    is_has_liked: bool = betterproto.bool_field(10)
    is_send_like_limit: bool = betterproto.bool_field(11)
    facility_list: List["DormFacility"] = betterproto.message_field(12)
    comfort_value: int = betterproto.uint32_field(13)


@dataclass
class SetDormSnsInfoReq(betterproto.Message):
    show_house: int = betterproto.uint32_field(1)
    show_room: int = betterproto.uint32_field(2)
    visit_avatar: int = betterproto.uint32_field(3)
    is_allow_visit: bool = betterproto.bool_field(4)


@dataclass
class SetDormSnsInfoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GetDormSnsDataReq(betterproto.Message):
    pass


@dataclass
class GetDormSnsDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    be_liked_num: int = betterproto.uint32_field(2)
    record_list: List["DormVisitRecord"] = betterproto.message_field(3)
    be_visit_num: int = betterproto.uint32_field(4)


@dataclass
class LikeDormReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class LikeDormRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    target_uid: int = betterproto.uint32_field(2)
    friends_point: int = betterproto.uint32_field(3)


@dataclass
class FinishDormTalkReq(betterproto.Message):
    plot_id: int = betterproto.uint32_field(1)
    avatar_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class FinishDormTalkRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)
    drop_item_list: List["DropItem"] = betterproto.message_field(3)


@dataclass
class GetAvatarRollDataReq(betterproto.Message):
    avatar_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetAvatarRollDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    roll_list: List["AvatarRoll"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class TakeRollRewardReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    reward_group_id: int = betterproto.uint32_field(2)


@dataclass
class TakeRollRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    reward_list: List["RewardData"] = betterproto.message_field(2)


@dataclass
class ClaimStaminaReq(betterproto.Message):
    stamina: int = betterproto.uint32_field(1)


@dataclass
class ClaimStaminaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    stamina: int = betterproto.uint32_field(2)


@dataclass
class GetPupilMissionReq(betterproto.Message):
    uid: int = betterproto.uint32_field(1)


@dataclass
class GetPupilMissionRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    uid: int = betterproto.uint32_field(2)
    step_id: int = betterproto.uint32_field(3)
    mission_list: List["Mission"] = betterproto.message_field(4)
    pool_reward: "MasterPoolData" = betterproto.message_field(5)
    time: int = betterproto.uint32_field(6)


@dataclass
class GetMasterPupilApplyReq(betterproto.Message):
    type: "MasterPupilType" = betterproto.enum_field(1)
    time: int = betterproto.uint32_field(2)


@dataclass
class GetMasterPupilApplyRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "MasterPupilType" = betterproto.enum_field(2)
    msg_list: List["MasterPupilApplyMsg"] = betterproto.message_field(3)
    send_msg_list: List["MasterPupilApplyMsg"] = betterproto.message_field(4)


@dataclass
class GetRecommendMasterPupilReq(betterproto.Message):
    type: "MasterPupilType" = betterproto.enum_field(1)
    card: "MasterPupilCard" = betterproto.message_field(2)


@dataclass
class GetRecommendMasterPupilRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "MasterPupilType" = betterproto.enum_field(2)
    msg_list: List["MasterPupilApplyMsg"] = betterproto.message_field(3)


@dataclass
class GetMasterPupilMainDataReq(betterproto.Message):
    type: "MasterPupilType" = betterproto.enum_field(1)


@dataclass
class GetMasterPupilMainDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    type: "MasterPupilType" = betterproto.enum_field(2)
    master: "MasterMainData" = betterproto.message_field(3)
    pupil: "PupilMainData" = betterproto.message_field(4)


@dataclass
class GetPupilEvalDataReq(betterproto.Message):
    pass


@dataclass
class GetPupilEvalDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    eval_msg: "MasterPupilEvalMsg" = betterproto.message_field(2)


@dataclass
class GetMasterRankReq(betterproto.Message):
    pass


@dataclass
class GetMasterRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    rank_data: "RankShowData" = betterproto.message_field(2)
    refresh_time: int = betterproto.uint32_field(3)


@dataclass
class GetOtherMasterPupilReq(betterproto.Message):
    uid_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetOtherMasterPupilRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    uid_list: List[int] = betterproto.uint32_field(2)
    master_pupil_list: List["MasterPupilDetailData"] = betterproto.message_field(3)


@dataclass
class UnlockFurnitureReq(betterproto.Message):
    furniture_id: int = betterproto.uint32_field(1)


@dataclass
class UnlockFurnitureRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GrandKeyLevelUpReq(betterproto.Message):
    key_id: int = betterproto.uint32_field(1)


@dataclass
class GrandKeyLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    key_id: int = betterproto.uint32_field(2)
    level: int = betterproto.uint32_field(3)


@dataclass
class GrandKeyResetReq(betterproto.Message):
    key_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GrandKeyResetRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    key_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GrandKeyBreachReq(betterproto.Message):
    key_id: int = betterproto.uint32_field(1)


@dataclass
class GrandKeyBreachRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    key_id: int = betterproto.uint32_field(2)
    breach_level: int = betterproto.uint32_field(3)


@dataclass
class GrandKeyActivateSkillReq(betterproto.Message):
    key_list: List["GrandKeySkill"] = betterproto.message_field(1)


@dataclass
class GrandKeyActivateSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GrandKeyContrastReq(betterproto.Message):
    unique_id: int = betterproto.uint32_field(1)


@dataclass
class GrandKeyContrastRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    unique_id: int = betterproto.uint32_field(2)
    unique_id_after: int = betterproto.uint32_field(3)


@dataclass
class GrandKeySetSkillReq(betterproto.Message):
    key_list: List["GrandKeySkill"] = betterproto.message_field(1)


@dataclass
class GrandKeySetSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class GrandKeyUnlockSkillReq(betterproto.Message):
    skill_list: List["GrandKeySkill"] = betterproto.message_field(1)


@dataclass
class GrandKeyUnlockSkillRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class PushClientMsgNotify(betterproto.Message):
    platform_list: List[str] = betterproto.string_field(1)
    uid_list: List[str] = betterproto.string_field(2)
    tag_list: List[str] = betterproto.string_field(3)
    tag_and_list: List[str] = betterproto.string_field(4)
    tag_not_list: List[str] = betterproto.string_field(5)
    content: str = betterproto.string_field(6)


@dataclass
class SetPlayerTagNotify(betterproto.Message):
    uid: str = betterproto.string_field(1)
    tag_list: List[str] = betterproto.string_field(2)


@dataclass
class SyncTimeReq(betterproto.Message):
    seq: int = betterproto.uint32_field(1)


@dataclass
class SyncTimeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    cur_time: int = betterproto.uint32_field(2)
    seq: int = betterproto.uint32_field(3)


@dataclass
class TakeExtraStoryChallengeModeChapterRewardReq(betterproto.Message):
    chapter_id: int = betterproto.uint32_field(1)
    difficulty: int = betterproto.uint32_field(2)


@dataclass
class TakeExtraStoryChallengeModeChapterRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    chapter_reward: "RewardData" = betterproto.message_field(2)


@dataclass
class GetAvatarBindEquipInChallengeModeReq(betterproto.Message):
    avatar_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class AvatarBindEquipData(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    weapon_uid: int = betterproto.uint32_field(2)
    stigmata_uid_list: List[int] = betterproto.uint32_field(3)


@dataclass
class GetAvatarBindEquipInChallengeModeRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_equip_list: List["AvatarBindEquipData"] = betterproto.message_field(2)


@dataclass
class GetGalInteractTriggerEventReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    event_id_list: List[int] = betterproto.uint32_field(2)


@dataclass
class GetGalInteractTriggerEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    event_id: int = betterproto.uint32_field(2)
    avatar_id: int = betterproto.uint32_field(3)


@dataclass
class TakeGalInteractTriggerEventReq(betterproto.Message):
    avatar_id: int = betterproto.uint32_field(1)
    event_id: int = betterproto.uint32_field(2)


@dataclass
class TakeGalInteractTriggerEventRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    avatar_id: int = betterproto.uint32_field(2)
    event_id: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)
    drop_item: "DropItem" = betterproto.message_field(5)


@dataclass
class AvatarFragmentTransformReq(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    num: int = betterproto.uint32_field(2)
    fragment_list: List["GenericItemNum"] = betterproto.message_field(3)


@dataclass
class AvatarFragmentTransformRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    return_id: int = betterproto.uint32_field(2)
    return_num: int = betterproto.uint32_field(3)
    return_list: List["GenericItemNum"] = betterproto.message_field(4)


@dataclass
class StageBattleSaveClientDataReq(betterproto.Message):
    stage_id: int = betterproto.uint32_field(1)
    act_id: int = betterproto.uint32_field(2)
    client_data: str = betterproto.string_field(3)


@dataclass
class StageBattleSaveClientDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class TakeExtraStoryLineStoryFinishRewardReq(betterproto.Message):
    line_id: int = betterproto.uint32_field(1)


@dataclass
class TakeExtraStoryLineStoryFinishRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    line_id: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class UnbindAccountReq(betterproto.Message):
    account_type: int = betterproto.uint32_field(1)
    account_uid: str = betterproto.string_field(2)
    account_token: str = betterproto.string_field(3)
    token: str = betterproto.string_field(4)


@dataclass
class UnbindAccountRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SyncDutyNotify(betterproto.Message):
    daily_duty_point: int = betterproto.uint32_field(1)
    has_take_daily_duty_id_list: List[int] = betterproto.uint32_field(2)
    weekly_duty_point: int = betterproto.uint32_field(3)
    has_take_weekly_duty_id_list: List[int] = betterproto.uint32_field(4)


@dataclass
class RecallMasterPupilApplicationReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)
    self_nickname: str = betterproto.string_field(2)


@dataclass
class RecallMasterPupilApplicationRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SetFriendRemarkReq(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    new_remark: str = betterproto.string_field(2)
    old_remark: str = betterproto.string_field(3)


@dataclass
class SetFriendRemarkRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    uid: int = betterproto.uint32_field(2)
    remark: str = betterproto.string_field(3)
    set_friend_remark_cd_end_time: int = betterproto.uint32_field(4)


@dataclass
class GetFriendRemarkListReq(betterproto.Message):
    pass


@dataclass
class FriendRemark(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    remark: str = betterproto.string_field(2)


@dataclass
class GetFriendRemarkListRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    friend_remark_list: List["FriendRemark"] = betterproto.message_field(2)


@dataclass
class PlayerLevelUpNotify(betterproto.Message):
    old_level: int = betterproto.uint32_field(1)
    new_level: int = betterproto.uint32_field(2)
    reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class UltraEndlessGetTopRankReq(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)


@dataclass
class UltraEndlessGetTopRankRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    rank_data: "RankShowData" = betterproto.message_field(3)


@dataclass
class UltraEndlessGetMainDataReq(betterproto.Message):
    player_level: int = betterproto.uint32_field(1)
    cur_schedule_id: int = betterproto.uint32_field(2)
    max_stage_score: int = betterproto.uint32_field(3)
    lineup_info: "LineupBriefInfo" = betterproto.message_field(4)


@dataclass
class UltraEndlessPlayer(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    group_level: int = betterproto.uint32_field(2)
    cup_num: int = betterproto.uint32_field(3)
    max_stage_score: int = betterproto.uint32_field(4)
    score_update_time: int = betterproto.uint32_field(5)
    lineup_info: "LineupBriefInfo" = betterproto.message_field(6)


@dataclass
class UltraEndlessFloor(betterproto.Message):
    floor: int = betterproto.uint32_field(1)
    max_score: int = betterproto.uint32_field(2)


@dataclass
class UltraEndlessSite(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    floor_list: List["UltraEndlessFloor"] = betterproto.message_field(2)
    max_score_cost_time: int = betterproto.uint32_field(3)


@dataclass
class OldEndlessPlayerSettle(betterproto.Message):
    uid: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    endless_type: int = betterproto.uint32_field(3)
    group_level: int = betterproto.uint32_field(4)


@dataclass
class UltraEndlessSettleInfo(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    group_level: int = betterproto.uint32_field(2)
    max_stage_score: int = betterproto.uint32_field(3)
    group_member_num: int = betterproto.uint32_field(4)
    rank: int = betterproto.uint32_field(5)
    cup_num_before: int = betterproto.uint32_field(6)
    cup_num_after_schedule_settle: int = betterproto.uint32_field(7)
    cup_num_after_season_settle: int = betterproto.uint32_field(8)
    cup_num_before_season_settle: int = betterproto.uint32_field(9)
    cup_num: int = betterproto.uint32_field(10)
    old_endless_settle_list: List["OldEndlessPlayerSettle"] = betterproto.message_field(
        11
    )
    mmr_score: int = betterproto.uint32_field(12)
    buffer_cup_before_schedule_settle: int = betterproto.uint32_field(13)
    buffer_cup: int = betterproto.uint32_field(15)


@dataclass
class UltraEndlessMainData(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    effect_time: int = betterproto.uint32_field(2)
    begin_time: int = betterproto.uint32_field(3)
    end_time: int = betterproto.uint32_field(4)
    close_time: int = betterproto.uint32_field(5)
    last_schedule_id: int = betterproto.uint32_field(6)
    site_list: List["UltraEndlessSite"] = betterproto.message_field(8)
    last_settle_top_rank_schedule_id: int = betterproto.uint32_field(10)
    cur_season_id: int = betterproto.uint32_field(11)
    last_settle_season_id: int = betterproto.uint32_field(12)


@dataclass
class UltraEndlessGetMainDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    group_level: int = betterproto.uint32_field(3)
    top_group_level: int = betterproto.uint32_field(4)
    cup_num: int = betterproto.uint32_field(5)
    main_data: "UltraEndlessMainData" = betterproto.message_field(6)
    last_settle_info: "UltraEndlessSettleInfo" = betterproto.message_field(7)
    is_just_join: bool = betterproto.bool_field(8)
    dynamic_hard_level: int = betterproto.uint32_field(9)
    endless_player_list: List["UltraEndlessPlayer"] = betterproto.message_field(10)
    brief_data_list: List["PlayerFriendBriefData"] = betterproto.message_field(11)


@dataclass
class UltraEndlessLastSettleRewardNotify(betterproto.Message):
    settle_info: "UltraEndlessSettleInfo" = betterproto.message_field(1)
    settle_reward_data: "RewardData" = betterproto.message_field(2)
    group_level_reward_data: "RewardData" = betterproto.message_field(3)


@dataclass
class UltraEndlessReportSiteFloorReq(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)
    floor: int = betterproto.uint32_field(2)
    score: int = betterproto.uint32_field(3)
    cost_time: int = betterproto.uint32_field(4)
    total_cost_time: int = betterproto.uint32_field(5)
    avatar_id_list: List[int] = betterproto.uint32_field(6)
    elf_id_list: List[int] = betterproto.uint32_field(7)
    is_up_floor: bool = betterproto.bool_field(8)


@dataclass
class UltraEndlessReportSiteFloorRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)
    floor: int = betterproto.uint32_field(3)
    is_up_floor: bool = betterproto.bool_field(4)


@dataclass
class UltraEndlessBriefDataNotify(betterproto.Message):
    main_data: "UltraEndlessMainData" = betterproto.message_field(1)


@dataclass
class UltraEndlessEnterSiteReq(betterproto.Message):
    site_id: int = betterproto.uint32_field(1)


@dataclass
class UltraEndlessEnterSiteRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    site_id: int = betterproto.uint32_field(2)


@dataclass
class UltraEndlessTopRankRewardReq(betterproto.Message):
    pass


@dataclass
class UltraEndlessTopRankRewardRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    rank: int = betterproto.uint32_field(3)
    reward_data: "RewardData" = betterproto.message_field(4)


@dataclass
class UltraEndlessClientReportNotify(betterproto.Message):
    client_report_type: "UltraEndlessClientReportNotifyClientReportType" = (
        betterproto.enum_field(1)
    )
    client_transaction_str: str = betterproto.string_field(2)
    report_msg: str = betterproto.string_field(3)


@dataclass
class UltraEndlessFirstJoinRewardNotify(betterproto.Message):
    medal_reward: "RewardData" = betterproto.message_field(1)
    promote_reward: "RewardData" = betterproto.message_field(2)


@dataclass
class UltraEndlessCommonNotify(betterproto.Message):
    event_type: "UltraEndlessCommonNotifyEventType" = betterproto.enum_field(1)


@dataclass
class VirtualTrainCommon(betterproto.Message):
    pass


@dataclass
class VirtualTrainCustom(betterproto.Message):
    custom_id: int = betterproto.uint32_field(1)
    level: int = betterproto.uint32_field(2)
    choosed_index: int = betterproto.uint32_field(3)
    max_index: int = betterproto.uint32_field(4)


@dataclass
class VirtualTrainRole(betterproto.Message):
    virtual_role_id: int = betterproto.uint32_field(1)
    custom_list: List["VirtualTrainCustom"] = betterproto.message_field(2)


@dataclass
class VirtualAvatarGroup(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    virtual_avatar_list: List["VirtualAvatar"] = betterproto.message_field(2)
    virtual_weapon_id_list: List[int] = betterproto.uint32_field(3)
    virtual_stigmata_id_list: List[int] = betterproto.uint32_field(4)
    virtual_avatar_team_list: List[int] = betterproto.uint32_field(5)
    virtual_role_list: List["VirtualTrainRole"] = betterproto.message_field(6)
    is_locked: bool = betterproto.bool_field(7)


@dataclass
class VirtualAvatarGroupBriefData(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    chapter_id: int = betterproto.uint32_field(2)


@dataclass
class GetVirtualAvatarGroupDetailReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)


@dataclass
class GetVirtualAvatarGroupDetailRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    virtual_avatar_group: "VirtualAvatarGroup" = betterproto.message_field(2)


@dataclass
class SetVirtualAvatarTeamReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    avatar_team_list: List[int] = betterproto.uint32_field(2)


@dataclass
class SetVirtualAvatarTeamRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    avatar_team_list: List[int] = betterproto.uint32_field(3)


@dataclass
class DressVirtualEquipmentReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    virtual_avatar_id: int = betterproto.uint32_field(2)
    equip_type: int = betterproto.uint32_field(3)
    slot: int = betterproto.uint32_field(4)
    virtual_equip_id: int = betterproto.uint32_field(5)


@dataclass
class DressVirtualEquipmentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    virtual_avatar: "VirtualAvatar" = betterproto.message_field(3)


@dataclass
class VirtualGachaPool(betterproto.Message):
    pool_id: int = betterproto.uint32_field(1)
    gacha_times: int = betterproto.uint32_field(2)
    total_times: int = betterproto.uint32_field(3)


@dataclass
class VirtualGacha(betterproto.Message):
    box_id: int = betterproto.uint32_field(1)
    status: "VirtualGachaStatus" = betterproto.enum_field(2)
    pool_list: List["VirtualGachaPool"] = betterproto.message_field(3)


@dataclass
class VirtualGachaReq(betterproto.Message):
    box_id: int = betterproto.uint32_field(1)
    gacha_type: "VirtualGachaType" = betterproto.enum_field(2)


@dataclass
class VirtualGachaRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)
    candidate_item_id_list: List[int] = betterproto.uint32_field(3)
    gacha_status: "VirtualGacha" = betterproto.message_field(4)
    item_list: List[int] = betterproto.uint32_field(5)


@dataclass
class GetVirtualGachaStatusReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)


@dataclass
class GetVirtualGachaStatusRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    gacha_list: List["VirtualGacha"] = betterproto.message_field(2)
    group_id: int = betterproto.uint32_field(3)
    candidate_gacha_box_id: int = betterproto.uint32_field(4)
    candidate_item_id_list: List[int] = betterproto.uint32_field(5)
    candidate_gacha_pool_id: int = betterproto.uint32_field(6)


@dataclass
class VirtualAvatarGroupChangeNotify(betterproto.Message):
    virtual_avatar_group: "VirtualAvatarGroup" = betterproto.message_field(1)


@dataclass
class VirtualTrainDirectGachaNotify(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)


@dataclass
class ChooseVirtualTrainGachaItemReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    item_id: int = betterproto.uint32_field(2)


@dataclass
class ChooseVirtualTrainGachaItemRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    item_id: int = betterproto.uint32_field(3)


@dataclass
class ChooseVirtualDefaultAvatarNotify(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    candidate_avatar_list: List[int] = betterproto.uint32_field(2)


@dataclass
class SyncVirtualGachaStatusNotify(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    gacha: "VirtualGacha" = betterproto.message_field(2)


@dataclass
class VirtualTrainRoleCustomLevelUpReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    virtual_role_id: int = betterproto.uint32_field(2)
    custom_id: int = betterproto.uint32_field(3)


@dataclass
class VirtualTrainRoleCustomLevelUpRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    virtual_role_id: int = betterproto.uint32_field(3)
    custom_id: int = betterproto.uint32_field(4)
    level: int = betterproto.uint32_field(5)


@dataclass
class VirtualTrainRoleCustomChooseReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    virtual_role_id: int = betterproto.uint32_field(2)
    custom_id: int = betterproto.uint32_field(3)
    index: int = betterproto.uint32_field(4)


@dataclass
class VirtualTrainRoleCustomChooseRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class VirtualTrainEvoReq(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    evo_avatar_id: int = betterproto.uint32_field(2)
    is_quick_evo: bool = betterproto.bool_field(3)


@dataclass
class VirtualTrainEvoRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)
    evo_avatar_id: int = betterproto.uint32_field(3)


@dataclass
class VirtualTrainItemDrop(betterproto.Message):
    item_id: int = betterproto.uint32_field(1)
    item_num: int = betterproto.uint32_field(2)
    split_material_list: List["Material"] = betterproto.message_field(3)


@dataclass
class VirtualTrainItemDropNotify(betterproto.Message):
    group_id: int = betterproto.uint32_field(1)
    drop_src_type: "VirtualTrainItemDropNotifyDropSrcType" = betterproto.enum_field(2)
    item_drop_list: List["VirtualTrainItemDrop"] = betterproto.message_field(3)
    stage_id: int = betterproto.uint32_field(4)


@dataclass
class TrialWarship(betterproto.Message):
    sample_id: int = betterproto.uint32_field(1)
    end_time: int = betterproto.uint32_field(2)


@dataclass
class GetWarshipItemDataReq(betterproto.Message):
    warship_item_id_list: List[int] = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)


@dataclass
class GetWarshipItemDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    warship_item_id_list: List[int] = betterproto.uint32_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class GetWarshipTrialDataReq(betterproto.Message):
    sample_id_list: List[int] = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)


@dataclass
class GetWarshipTrialDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    trial_warship_list: List["TrialWarship"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class GetWarshipDataReq(betterproto.Message):
    warship_id_list: List[int] = betterproto.uint32_field(1)
    is_all: bool = betterproto.bool_field(2)


@dataclass
class GetWarshipDataRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    warship_list: List["WarshipThemeData"] = betterproto.message_field(2)
    is_all: bool = betterproto.bool_field(3)


@dataclass
class SetWarshipReq(betterproto.Message):
    warship_id: int = betterproto.uint32_field(1)


@dataclass
class SetWarshipRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SetWarshipComponentReq(betterproto.Message):
    warship_id: int = betterproto.uint32_field(1)
    component_list: List["WarshipComponent"] = betterproto.message_field(2)


@dataclass
class SetWarshipComponentRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class SetWarshipSettingReq(betterproto.Message):
    warship_id: int = betterproto.uint32_field(1)
    setting_type: "WarshipSettingType" = betterproto.enum_field(2)
    bgm_play_mode: "WarshipBgmPlayMode" = betterproto.enum_field(3)
    is_weather_fixed: bool = betterproto.bool_field(4)
    weather_idx: int = betterproto.uint32_field(5)


@dataclass
class SetWarshipSettingRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)


@dataclass
class WarshipItemReturnMaterialNotify(betterproto.Message):
    warship_item_id: int = betterproto.uint32_field(1)
    convert_num: int = betterproto.uint32_field(2)
    return_material_id: int = betterproto.uint32_field(3)
    return_material_num: int = betterproto.uint32_field(4)


@dataclass
class AddWarshipItemNotify(betterproto.Message):
    warship_item_id_list: List[int] = betterproto.uint32_field(1)


@dataclass
class GetWeeklyReportReq(betterproto.Message):
    target_uid: int = betterproto.uint32_field(1)


@dataclass
class WeeklyReportExBossGroup(betterproto.Message):
    boss_group_id: int = betterproto.uint32_field(1)
    finished_boss_info: "FinishedExBossInfo" = betterproto.message_field(2)


@dataclass
class WeeklyReportExBoss(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    rank_id: int = betterproto.uint32_field(2)
    times_score: int = betterproto.uint32_field(3)
    boss_group_list: List["WeeklyReportExBossGroup"] = betterproto.message_field(4)
    rank_percent: int = betterproto.uint32_field(5)
    rank: int = betterproto.uint32_field(6)
    begin_time: int = betterproto.uint32_field(7)
    end_time: int = betterproto.uint32_field(8)
    reward_id_list: List[int] = betterproto.uint32_field(9)


@dataclass
class WeeklyReportEndless(betterproto.Message):
    endless_type: "EndlessType" = betterproto.enum_field(1)
    begin_time: int = betterproto.uint32_field(2)
    group_level: int = betterproto.uint32_field(3)
    final_boss_id: int = betterproto.uint32_field(4)
    score: int = betterproto.uint32_field(5)
    lineup_info: "LineupBriefInfo" = betterproto.message_field(6)
    reward_progress: int = betterproto.uint32_field(7)
    reward_type: "EndlessRewardType" = betterproto.enum_field(8)
    single_mode_score: int = betterproto.uint32_field(9)
    battle_config_id: int = betterproto.uint32_field(10)
    single_mode_activity_id: int = betterproto.uint32_field(11)
    end_time: int = betterproto.uint32_field(12)
    greedy_reward_data: "RewardData" = betterproto.message_field(13)
    greedy_max_finish_floor: int = betterproto.uint32_field(14)


@dataclass
class WeeklyReportUltraEndless(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    group_level: int = betterproto.uint32_field(2)
    max_stage_score: int = betterproto.uint32_field(3)
    group_member_num: int = betterproto.uint32_field(4)
    rank: int = betterproto.uint32_field(5)
    cup_num_before_schedule_begin: int = betterproto.uint32_field(6)
    cup_num_after_schedule_settle: int = betterproto.uint32_field(7)
    top_rank: int = betterproto.uint32_field(8)
    top_rank_reward_id: int = betterproto.uint32_field(9)
    group_level_reward_id: int = betterproto.uint32_field(10)
    lineup_info: "LineupBriefInfo" = betterproto.message_field(11)
    max_mission_num: int = betterproto.uint32_field(12)
    finished_mission_num: int = betterproto.uint32_field(13)
    mission_reward_list: List[int] = betterproto.uint32_field(14)
    begin_time: int = betterproto.uint32_field(15)
    end_time: int = betterproto.uint32_field(16)
    battle_config_id: int = betterproto.uint32_field(17)


@dataclass
class GetWeeklyReportRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    ex_boss_data_list: List["WeeklyReportExBoss"] = betterproto.message_field(2)
    endless_data_list: List["WeeklyReportEndless"] = betterproto.message_field(3)
    ultra_endless_list: List["WeeklyReportUltraEndless"] = betterproto.message_field(4)
    target_uid: int = betterproto.uint32_field(5)


@dataclass
class GetWeeklyReportEndlessRecommendPlayerReq(betterproto.Message):
    begin_time: int = betterproto.uint32_field(1)
    group_level: int = betterproto.uint32_field(2)


@dataclass
class GetWeeklyReportEndlessRecommendPlayerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    begin_time: int = betterproto.uint32_field(2)
    group_level: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
    endless_type: "EndlessType" = betterproto.enum_field(5)


@dataclass
class GetWeeklyReportExBossRecommendPlayerReq(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    rank_reward_id: int = betterproto.uint32_field(2)


@dataclass
class GetWeeklyReportExBossRecommendPlayerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    rank_reward_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)


@dataclass
class GetWeeklyReportUltraEndlessRecommendPlayerReq(betterproto.Message):
    schedule_id: int = betterproto.uint32_field(1)
    group_id: int = betterproto.uint32_field(2)


@dataclass
class GetWeeklyReportUltraEndlessRecommendPlayerRsp(betterproto.Message):
    retcode: int = betterproto.uint32_field(1)
    schedule_id: int = betterproto.uint32_field(2)
    group_id: int = betterproto.uint32_field(3)
    rank_data: "RankShowData" = betterproto.message_field(4)
