syntax = "proto3";
option go_package = ".;pb";
import "arena/arena_db.proto";
import "battle/battle_msg.proto";
import "errorcode.proto";

//竞技场信息 请求
message ArenaInfoReq {}
//竞技场信息 回应
message ArenaInfoResp { DBArenaUser info = 1; }
//竞技场信息 请求 别人的
message ArenaOtherInfoReq { string otherId = 1; }
//竞技场信息 回应
message ArenaOtherInfoResp { DBArenaUser info = 1; }

//设置进攻阵型
message ArenaSetAttFormtReq {
  int32 leadpos = 1;         //队长位置
  repeated string formt = 2; //进攻阵型
}
//设置进攻阵型
message ArenaSetAttFormtResp { bool issucc = 1; }
//设置防守阵型
message ArenaSetDefFormtReq {
  int32 leadpos = 1;         //队长位置
  repeated string formt = 2; //防守阵型
}
//设置防守阵型
message ArenaSetDefFormtResp { bool issucc = 1; }

//竞技场匹配 请求
message ArenaMatcheReq {}
//竞技场匹配 回应
message ArenaMatcheResp { repeated ArenaPlayer players = 1; }

//竞技场挑战 请求
message ArenaChallengeReq {
  string playerid = 1;
  bool isai = 2;              //是否是ai
  int32 mformatId = 3;        // AIId
  BattleFormation battle = 4; //战斗类型
}
//竞技场挑战 回应
message ArenaChallengeResp {
  ErrorCode code = 1; //是否成功
  BattleInfo info = 2;
}
//领取战斗奖励
message ArenaChallengeRewardReq {
  bool iswin = 1;          //是否胜利
  bool isai = 2;           //对手是否是ai
  int32 aiintegral = 3;    // ai 积分
  string ainame = 4;       // ai名称
  BattleReport report = 5; //战报
  string revengeid = 6;    //复仇id
}
message ArenaChallengeRewardResp { bool issucc = 1;int32 integral = 2;int32 dan = 3;}

//竞技场排行榜 请求
message ArenaRankReq {}
//竞技场排行榜 回应
message ArenaRankResp { repeated ArenaPlayer players = 1;DBArenaUser info = 2; }

//购买票据
message ArenaBuyReq { int32 buyNum = 1; }
message ArenaBuyResp {
  bool issucc = 1;  //是否成功
  int32 ticket = 2; //当前挑战次数
}

//删除战斗记录
message ArenaDelRewardReq {
  string bid = 1; //战斗id
}
message ArenaDelRewardResp {
  bool issucc = 1; //是否成功
  string bid = 2;  //战斗id
}

//剧情战斗 请求
message ArenaPlotReq {
  int32 pid = 1;              //剧情id
  BattleFormation battle = 2; //战斗类型
}

message ArenaPlotResp {
  ErrorCode code = 1; //是否成功
  int32 pid = 2;      //剧情id
  BattleInfo info = 3;
}
//剧情战斗奖励领取 请求
message ArenaPlotRewardReq {
  int32 pid = 1;           //剧情id
  BattleReport report = 2; //战报
}

message ArenaPlotRewardResp {
  bool issucc = 1;
  map<int32, DBNpc> npc = 2; // npc Cd
}
