syntax = "proto2";
package vip.metadev.module.battle.protobuf;

option java_outer_classname = "BattleProgressRequestProto";
option java_multiple_files = false;

// 导入消息类型枚举
import "ws_message_types.proto";
// 导入公共消息定义
import "ws_common_request.proto";

import "ws_common_response.proto";

// 开始战斗请求
message BattleProgressRequest {
  optional WsMessageType message_id = 1 [default = BATTLE_PROGRESS_UPDATE];  // 消息类型
  repeated MonsterVo monsters = 2 ; // 怪物数组
  optional bool battle_over = 3 [default = false];       // 是否结束战斗 true 结束
  optional int32 map_id = 7 [default = 1001];            // 地图id 场地类型 1：普通场 2：中级场 3：高级场
  repeated CommonRequest envelope = 8;                   // 公共必传参数集
}

message MonsterVo{
  optional int32 monsterId = 1; // 怪物id
  optional int32 type = 2;        //怪物类型 1：普通 2：精英 3：boss
  optional bool isKill = 3 [default = false]; // 是否击杀
  optional bool is_fish_scheme = 4 [default = false];    // 是否鱼阵 true 是
  optional int32 fish_group_id = 5 [default = 1];        // 鱼阵方案组id
  optional bool is_violent = 6 [default = false];        // 是否狂暴模式 true 是
}


message BattleResponse{//对应CommonRequest的data
  optional int32 new_balance = 1 [default = 0]; // 更新后新的余额
}


// 战斗进度响应消息
message BattleProgressResponse {
  optional int64 gold_balance = 1 [default = 0];                    // 摩币余额
  optional int64 unclaimed_magic_guide_stone_balance = 2 [default = 0]; // 未领取的魔晶石余额
  optional int64 magic_guide_stone_balance = 3 [default = 0];       // 魔晶石余额
  optional int64 magic_guide_balance = 4 [default = 0];             // 魔法石
  optional int64 magic_array_id = 5 [default = 1001];               // 魔法阵id
  optional string map_id = 6 [default = "1001"];                    // 地图id
  optional int64 total_award_magic_guide_stone_balance = 7 [default = 0]; // 总获得奖励的魔晶石
  optional int64 current_boss_treasure_chest_reward = 8 [default = 0];    // 每次打完boss获得宝箱奖励的魔晶石
}

