syntax = "proto3";
option go_package = ".;pb";
import "errorcode.proto";
import "moonfantasy_db.proto";
import "battle_msg.proto";

//获取秘境列表请求
message MoonfantasyGetListReq {}
//获取秘境列表请求 回应
message MoonfantasyGetListResp {
  int32 battleNum = 1;                  //剩余挑战次数
  int32 buyNum = 2;                     //已购买次数
  repeated DBMoonFantasy dfantasys = 3; //秘境列表
}

///推送触发秘境
message MoonfantasyTriggerPush {
  bool issucc = 1;    //是否成功
  string mid = 2;     //唯一id         //挑战时需要传递的数据
  string monster = 3; //怪物id
}

///询问秘境
message MoonfantasyAskReq {
  string mid = 1; //唯一id
}

message MoonfantasyAskResp {
  ErrorCode code = 1;     //是否成功
  DBMoonFantasy info = 2; //秘境信息 可能为空
}

///挑战秘境
message MoonfantasyBattleReq {
  string mid = 1;              //唯一id
  BattleFormation battle = 2;  //战斗类型
}

message MoonfantasyBattleResp {
  ErrorCode code = 1; //是否成功
  string mid = 2;     //怪物id
  BattleInfo info = 3;
}

///领取战斗奖励
message MoonfantasyReceiveReq {
  string bid = 2;          //战斗id 后续需要这个id来领取奖励
  string mid = 3;          //怪物id
  BattleReport report = 4; //战报
}

///领取战斗奖励
message MoonfantasyReceiveResp {
  bool issucc = 1; //是否成功
}

///购买挑战次数
message MoonfantasyBuyReq { int32 BuyNum = 1; }
///购买挑战次数 回应
message MoonfantasyBuyResp {
  bool issucc = 1;     //是否成功
  int32 BattleNum = 2; //当前挑战次数
}