package mt; message Parameter { optional string param_name = 1; optional string param_value = 2; } message Attr { required int32 attr_id = 1; required string attr_cname = 2; required string attr_ename = 3; } message Map { optional int32 map_id = 1; optional string template_list = 2; optional string map_name = 3; optional float map_width = 4; optional float map_height = 5; optional string airdrops = 6; optional int32 terminator_airdrop = 7; optional int32 player = 8; optional string refresh_robot = 9; optional int32 map_mode = 10; optional string safearea = 11; optional string game_start_buff_list = 12; optional string map_pic = 13; optional string first_safearea_center = 14; optional int32 init_gas_ring = 15; optional string airraids = 16; optional string car_num_limit = 17; optional float scale = 18; optional string map_collider = 19; optional string world_object_file = 20; optional string terrain_file = 21; optional int32 map_type = 22; optional int32 team = 23; optional int32 star_condition = 24; optional int32 is_open = 25; optional string ground_sampling_pos = 26; optional string navmesh_file = 27; optional int32 moba_time = 28; } message MapArea { optional int32 map_id = 1; optional int32 area_type = 2; optional int32 area_subtype = 3; optional string area_center = 4; optional float area_width = 5; optional float area_height = 6; } message MapThing { optional int32 thing_id = 1; //物件id optional int32 thing_type = 16; optional int32 time = 17; optional int32 type = 2; //类型 optional int32 height = 3; //高度 optional int32 width = 4; //宽度 optional int32 hp = 5; //生命 optional float damage = 6; //伤害 optional float damage_dia = 7; //伤害半径 optional string drop = 8; //掉落 optional int32 is_door = 10; //是否门 optional int32 is_house = 11; //是否房间 optional int32 is_tree = 12; //是否树 optional int32 house_id = 13; //房间id optional string buff_list = 14; optional int32 explosion_effect = 15; optional int32 explosion_interval = 18; optional int32 explosion_dmg_delay = 37; optional int32 explosion_times = 19; optional int32 explosion_float = 20; optional string preexplosion_summon = 35; optional string monster_list = 21; optional string special_damage_type = 22; optional string receive_special_damage_type = 23; optional string param1 = 24; optional string param2 = 25; optional int32 interaction_mode = 26; optional int32 view_mode = 27; optional int32 bullet_hit = 28; optional int32 collision_hit = 29; optional int32 explosion_hit = 30; optional string sweep_tags = 31; optional int32 prebattle_hide = 32; optional int32 life_time = 33; optional int32 summon_born_rad = 34; optional string shapes = 36; optional int32 delay_destroy = 38; } message SafeArea { optional int32 id = 1; //id optional int32 level = 2; //安全区登记 optional int32 rad = 3; //半径 optional int32 wait_time = 4; //等待时间 optional int32 shrink_speed = 5; //收缩速度 optional float hurt = 6; //伤害/秒 optional int32 type = 7; optional int32 x1 = 8; optional int32 y1 = 9; optional string boss = 10; optional int32 rebirth = 11; } message SafeAreaSafePoint { optional int32 id = 1; optional int32 type = 2; optional float x = 8; optional float y = 9; optional float z = 10; } message SafeAreaPos { optional int32 id = 1; optional int32 x1 = 2; optional int32 y1 = 3; optional int32 x2 = 4; optional int32 y2 = 5; optional int32 x3 = 6; optional int32 y3 = 7; optional int32 x4 = 8; optional int32 y4 = 9; optional int32 x5 = 10; optional int32 y5 = 11; optional int32 x6 = 12; optional int32 y6 = 13; optional int32 x7 = 14; optional int32 y7 = 15; optional int32 x8 = 16; optional int32 y8 = 17; optional int32 x9 = 18; optional int32 y9 = 19; optional int32 x10 = 20; optional int32 y10 = 21; } message Item { optional int32 id = 1; optional int32 type = 2; optional int32 sub_type = 3; optional int32 quality = 4; optional int32 use = 5; optional int32 skinid = 6; optional int32 isdefaultskin = 7; optional int32 playerid = 8; optional int32 relationship = 9; optional string name = 10; } message Equip { optional int32 id = 1; //装备id optional int32 equip_type = 2; //装备类型 optional int32 equip_subtype = 3; //装备子类型 optional int32 equip_lv = 4; //装备等级 optional int32 fire_mode = 5; //开火模式 optional int32 use_bullet = 6; //使用子弹 optional int32 clip_volume = 7; //弹夹数量 optional int32 reload_time = 8; //装弹时间 optional int32 fire_rate = 9; //武器射速 optional string atk = 10; //攻击力 optional int32 def = 11; //防御力 optional string max_hp = 41; optional int32 explosion_range = 12; //子弹爆炸范围 optional int32 bullet_speed = 13; //子弹速度 optional int32 range = 14; //射程 optional int32 use_time = 15; //使用时间 optional string heal = 16; //瞬间生命恢复 optional int32 time = 17; //时间 optional string volume = 19; //装备容量 optional int32 bullet_rad = 20; //子弹半径 optional int32 group_num = 21; //每组数量 optional int32 is_luck = 22; //是否吉利服 optional string bullet_born_offset = 30; //子弹出生偏移 optional float bullet_angle = 34; //子弹浮动方向 optional string name = 35; //装备名字 optional float rad = 36; //半径 optional float rad2 = 37; optional int32 buffid = 38; optional int32 drop_id = 40; optional int32 explosion_effect = 42; optional string param1 = 43; optional string param2 = 44; optional int32 reloadtype = 46; optional float recoil_force = 47; optional int32 missiles_time = 48; optional int32 heroid = 49; optional string launch_dev = 50; optional string power_time = 51; optional string power_gun = 52; optional string power_buff = 53; optional int32 through_teammate = 54; optional string text_icon = 55; optional string special_damage_type = 56; optional float max_oil = 57; optional float average_oil = 58; optional float atk_mech = 59; optional int32 use_scene = 60; optional int32 ispenetrate = 61; optional int32 is_penetrate_thing = 62; optional int32 reload_delay_time = 63; optional int32 cast_time = 64; optional int32 aiming_cast_time = 80; optional int32 auto_switch_weapon_time = 65; optional int32 quality = 66; optional int32 explosion_damage_delay = 67; optional int32 bullet_consume_type = 68; optional string inventory_slot = 31; optional int32 _inventory_slot = 32; optional float critical = 70; optional float cri_damage = 71; optional int32 shootfire = 73; optional string hit_buff = 75; optional int32 auto_trace = 76; optional int32 trace_range = 77; optional int32 double_gun = 78; } message Hero { optional int32 id = 1; //唯一id optional float radius = 2; //半径 optional float move_speed = 4; //移动速度 optional float jump_speed = 5; //跳伞速度 optional float fall_speed = 6; optional float aim_speed = 8; optional float shoot_speed = 7; optional float reload_speed = 9; optional float medicine_speed = 10; //移动速度4 optional float swim_speed = 49; optional string volume = 12; //初始库存 optional int32 level = 13; optional int32 race = 14; optional string name = 23; optional float hit_offset_x = 42; optional float hit_offset_y = 43; optional float hit_radius = 25; optional string ai_script = 26; optional string init_buffs = 27; optional int32 default_weapon = 28; optional string dead_drop = 29; optional int32 delay_delete = 39; optional int32 ai = 46; optional int32 delay_remove = 47; optional int32 skinlist = 48; optional string pre_appear_effect = 50; optional string pve_score = 51; optional int32 hp = 52; optional int32 damage = 53; optional int32 defence = 54; optional float crit_atk = 55; optional float crit_atk_ratio = 56; optional float miss = 57; optional float miss_damage_ruduce = 58; optional int32 skill1list = 60; optional int32 skill2list = 61; optional int32 skill3list = 62; optional float hp_ratio = 63; optional float damage_ratio = 64; optional float defence_ratio = 65; optional string bt = 70; optional string drop = 71; } message Robot { optional int32 id = 1; optional string name = 2; optional int32 hero_id = 3; optional string skin_id = 10; optional int32 weapon_id = 4; optional int32 weapon_lv = 5; optional int32 sex = 8; optional float dmg_ratio = 20; optional string bullet_offset = 21; } message Skill { required int32 skill_id = 1; required int32 skill_type = 2; required string value_up = 6; required int32 skill_cd = 7; required int32 skill_target = 8; required string buff_list = 9; required float skill_distance = 10; required int32 cold_time_up = 11; required int32 max_times = 12; optional int32 phase1_time_offset = 20; optional int32 phase1_func = 21; optional string phase1_param1 = 22; optional string phase1_param2 = 23; optional string phase1_param3 = 24; optional int32 phase2_time_offset = 30; optional int32 phase2_func = 31; optional string phase2_param1 = 32; optional string phase2_param2 = 33; optional string phase2_param3 = 34; optional int32 phase3_time_offset = 40; optional int32 phase3_func = 41; optional string phase3_param1 = 42; optional string phase3_param2 = 43; optional string phase3_param3 = 44; optional int32 cast_time = 45; optional int32 up_exp = 50; optional int32 nextlv_skill = 51; optional int32 attack_dir_lock_time = 52; } message SkillNumber { required int32 skill_id = 1; optional int32 skill_type = 2; optional float number = 3; optional float damage = 4; optional float damage_addition = 5; optional float damage_change = 6; optional float shield = 7; optional float shield_addition = 8; optional float resume = 9; optional float resume_addition = 10; optional string speed = 11; optional string range = 12; optional string range2 = 13; optional string range3 = 21; optional string time = 14; optional string cd = 15; optional int32 buff_id = 16; optional float buff_time = 17; optional string probability = 18; optional int32 explosion_effect = 19; optional string effect_list = 20; } message NpcStandard { required int32 id = 1; optional int32 quality = 2; optional int32 hp = 3; optional int32 damage = 4; optional int32 defence = 5; optional int32 hero_id = 6; optional int32 level = 7; } message Buff { required int32 buff_id = 1; required string name = 20; required int32 buff_target = 2; required int32 buff_effect = 3; required int32 trigger_type = 4; required string buff_param1 = 6; required string buff_param2 = 7; required string buff_param3 = 8; required string buff_param4 = 9; optional string buff_param5 = 19; optional string buff_param6 = 37; optional string buff_param7 = 38; optional string buff_param8 = 39; required string duration_time = 10; optional float buff_valueup = 11; required string immune_buffeffect_list = 12; optional string post_remove_action = 13; optional int32 only_server = 14; optional int32 only_self = 15; optional int32 depend_effect = 16; optional string child_buff = 17; optional int32 coexist_num = 18; optional int32 dead_valid = 23; optional string buff_interval = 24; optional string tag = 25; optional int32 post_battle_valid = 26; optional string only_spec_race = 27; optional string exclude_spec_race = 28; optional int32 dead_remove = 29; optional int32 no_immune = 30; optional int32 lock_move = 31; optional int32 lock_dir = 34; optional int32 lock_move_dir = 36; optional int32 disable_shot = 32; optional int32 disable_useskill = 33; optional string effect_list = 35; optional string res_scale = 39; optional int32 tenacity = 40; } message Drop { optional int32 drop_id = 1; optional string item_id = 2; optional string num = 3; optional string weight = 4; optional int32 type = 5; } message AirDrop { optional int32 id = 1; optional int32 time = 2; optional int32 appear_time = 3; optional string drop_id = 4; } message AirRaid { optional int32 id = 1; optional int32 time = 2; optional int32 appear_time = 3; optional string bomb_id = 4; optional string raid_wave = 5; optional float rad = 6; optional string bombling_time = 7; optional float damage = 8; } message AirLine { optional int32 id = 1; optional string start_point = 2; optional string end_point = 3; optional float plane_speed = 4; optional int32 weight = 5; optional int32 map_id = 6; } message RankReward { optional int32 rank = 1; optional float parameter = 2; optional int32 drop = 3; } message RankPoint { optional int32 rank = 1; optional int32 parameter = 2; optional int32 parameter2 = 3; optional int32 parameter3 = 4; } message KillReward { optional int32 kill_num = 1; optional float parameter = 2; } message KillPoint { optional int32 kill_num = 1; optional int32 parameter = 2; optional int32 parameter2 = 3; } message AI { optional int32 id = 13; //optional int32 ai_level = 1; optional int32 pursuit_radius = 2; optional int32 attack_interval = 3; optional int32 attack_times = 4; optional int32 attack_type = 5; optional int32 shot_offset_angle = 6; optional string random_move_idle_time = 8; optional string random_move_time = 9; optional int32 attack_range = 10; optional float attack_rate = 11; optional int32 ai_mode = 12; optional int32 ai_kind = 14; optional string param1 = 15; optional string param2 = 16; optional string param3 = 17; optional string param4 = 18; optional string param5 = 19; optional int32 peace_time = 20; } message Text { optional string textid = 1; optional string text = 2; } message GunTalentGrow { optional int32 id = 1; optional int32 talent_id = 2; optional int32 talent_lv = 3; optional int32 addtype = 4; optional string addattr = 5; } message HeroQuality { optional int32 id = 1; optional int32 quality = 2; optional int32 gold_limit = 3; optional int32 lucky = 4; } message GunQuality { optional int32 id = 1; optional int32 quality = 2; optional int32 gold_limit = 3; optional int32 lucky = 4; } message FormulaPvp { optional float top = 1; optional float ranked_topx = 2; optional float kills_topx = 3; optional float hero_topx = 4; optional float weapon_topx = 5; optional float survival_topx = 6; } message PveGemini { optional int32 gemini_id = 1; optional int32 gemini_lv = 2; optional int32 gemini_limit = 3; optional string multiplayer_enemy_hp_mul = 4; optional string born_point = 5; } message PveGeminiContent { optional int32 id = 1; optional int32 mode_id = 2; optional int32 round = 3; optional string spawn_point = 4; optional string enemy_id = 5; } message PveGeminiMode { optional int32 id = 1; optional int32 map_id = 2; optional string mode_time = 3; optional string area = 4; optional string score_reward = 5; optional string round_score = 7; optional string next_door = 6; optional int32 wave_prepare_time = 8; } message RankRoom { optional int32 id = 1; optional int32 elo_min = 2; optional int32 elo_max = 3; optional int32 elo_expansion1 = 4; optional int32 elo_expansion2 = 5; optional int32 expand_time1 = 6; optional int32 expand_time2 = 7; optional int32 player_num_standard = 8; optional int32 final_time = 9; optional int32 final_player_num = 10; } message Grasp { optional int32 grasp_id = 1; optional int32 hero_id = 2; optional int32 hero_lv = 3; optional int32 graspbuff_id1 = 4; optional int32 graspbuff_id1_floor2 = 5; optional int32 graspbuff_id2 = 6; optional int32 weapon_id = 7; optional string add_buff_list = 8; optional string remove_buff_list = 9; } message GraspBuff { optional int32 graspbuff_id = 1; optional int32 graspbuff_floor = 2; optional string graspbuff_trigger = 4; optional int32 graspbuff_target = 5; optional string graspbuff_time = 6; optional int32 attr_id = 7; optional int32 attr_add_pattern = 8; optional int32 attr_add_pattern2 = 9; optional string attr_num = 10; optional string effect_list = 11; } message GuideStep { optional int32 id = 1; optional int32 target = 2; optional string param1 = 3; optional string param2 = 4; optional string param3 = 5; optional string param4 = 6; } message WorldObject { optional int32 object_id= 1; optional int32 object_type = 2; optional float x = 3; optional float y = 4; optional float z = 5; } message MergeItem { optional int32 equip_id = 1; optional int32 skill_id = 2; optional string pickup3 = 3; optional string pickup6 = 4; optional string pickup9 = 5; } message MapThingGroup { optional int32 mtGroupId = 1; optional string rule = 2; optional string mapThings = 3; optional string heroes = 4; }