local ItemData = require("bag.Proto").ItemData
local RoleBase = require("role.Proto").RoleBase
local HeroSimple = require("hero.Proto").HeroSimple


-- 竞技场基础数据查询
JJC_NEW_LADDER_MEMBER = {
	{"rank",         1,       "int"},		-- 排名
	{"jifen",        1,       "int"},		-- 积分
	{"worshipCnt",   1,       "int"},		-- 膜拜次数
	{"worshipState",   1,     "byte"},		-- 膜拜状态，0已膜拜  1 未膜拜
    {"roleBase",     1,       RoleBase},      --
}

-- 竞技场对战显示基础数据
JJC_NEW_LADDER_BASE_ENEMY = 
{
    {"head",        1,          "int"},     -- 头像
    {"headFrame",   1,          "int"},     -- 头像框
    {"nPower",      1,          "int"},     -- 战斗力
    {"name",        1,          "string"},  -- 姓名
    {"nPoint",      1,          "int"},     -- 积分
    {"uuid",        1,          "string"},  -- 对应UUid
    {"szServerName",1,          "string"},  -- 服务器名
    {"nRank",       1,          "int"},     -- 排名
}

-- 竞技场排行榜显示基础数据
JJC_NEW_LADDER_RANK_BASE_INFO = 
{
    {"nRank",        1,          "int"},    -- 排名
    {"head",        1,          "int"},     -- 头像
    {"headFrame",   1,          "int"},     -- 头像框
    {"nPower",      1,          "int"},     -- 战斗力
    {"name",        1,          "string"},  -- 姓名
    {"szServerName",1,          "string"},  -- 服务器名
    {"uuid",        1,          "string"},  --
}

-- 模板人物信息
JJC_NEW_LADDER_LAST_RANK_INFO = {
    {"head",        1,          "int"},     -- 头像
    {"headFrame",   1,          "int"},     -- 头像框
    {"name",        1,          "string"},  -- 姓名
    {"szServerName",1,          "string"},  -- 服务器名
    {"uuid",        1,          "string"},  --
    {"worshipCnt",   1,         "int"},		-- 膜拜次数
	{"worshipState",   1,       "byte"},	-- 膜拜状态，0已膜拜  1 未膜拜
}

-- 排行榜奖励信息
JJC_NEW_LADDER_RANK_PRIZE = 
{
    {"nMinRank",    1,      "int"},         -- 最小排名
    {"nMaxRank",    1,      "int"},         -- 最大排名
    {"tList",       5,      ItemData}       -- 奖励
}

-- 人物信息
JJC_PLAYER_INFO = 
{
    {"roleBase",		1,		RoleBase},
	{"defenceList",		6,		HeroSimple}, -- 防守阵容
    {"svrName",			1,		"string"},	 -- 服务器名字
	{"yjUuid",     		1,      "string"},   -- 援军uuid 
}

-- 请求天梯赛信息
CG_JJC_NEW_LADDER_QUERY = {
}

GC_JJC_NEW_LADDER_QUERY = {
	{"ownRank",             1,      "int"},		    -- 排名
	{"ownJifen",            1,      "int"},		    -- 积分
	{"atkZDL",              1,      "int"},		    -- 战斗力
	{"leftSec",             1,      "int"},		    -- 剩余时间
    {"dotList",             3,      "byte"},        -- 红点列表 1挑战  2排行榜  3战斗记录
    {"challengeCnt",        1,      "int"},         -- 挑战次数
    {"challengeCostItem",   1,      ItemData},      -- 挑战花费道具
    {"isQuick",             1,      "byte"},        -- 是否跳过战斗
    {"tEnemy",              5,      JJC_NEW_LADDER_BASE_ENEMY}, -- 敌方基础数据 
}

-- 天梯赛对战记录查询
CG_JJC_NEW_LADDER_RECORD_QUERY = {}

JJC_NEW_RECORD = {
    {"identity",        1,      "string"},	-- 这里只是名字叫identity 其实是每次战斗记录里面自己的_id
    {"roleBase",        1,      RoleBase},  -- 进攻角色信息
	{"result",          1,      "byte"},    -- 战果 
	{"jifenChange",     1,      "int"},		-- 积分改变  
	{"time",            1,      "int"},		-- 战斗时间
}

GC_JJC_NEW_LADDER_RECORD_QUERY = {
	{"recordList",      10,      JJC_NEW_RECORD},  -- 对战记录
}


-- 竞技场对手查询
CG_JJC_NEW_LADDER_TARGET_FIND = {
    {"type",1,"byte"},                  -- 1 主动 0 被动
}

GC_JJC_NEW_LADDER_TARGET_FIND = {
	{"targetList",      6,      JJC_NEW_LADDER_BASE_ENEMY},
	{"leftFreeCnt",		1,		"byte"},    -- 今日剩余免费次数
}

-- 天梯赛战斗后数据
GC_JJC_NEW_LADDER_AFTER_FIGHT = {
	{"result",			1,		"byte"},        -- 胜负结果  1胜2负
	{"atkPoint",		1,		"short"},       -- 进攻方分数
	{"atkPointChange",	1,		"short"},       -- 进攻方分数变化
	{"atkRole",		    1,		JJC_NEW_LADDER_BASE_ENEMY},      -- 进攻方rolebase
	{"defRole",	        1,		JJC_NEW_LADDER_BASE_ENEMY},      -- 进攻方rolebase
	{"defPoint",		1,		"short"},       -- 防守方分数
	{"defPointChange",	1,		"short"},       -- 防守方分数变化
	{"items",			3,		ItemData},      -- 奖励道具
}	


-- 膜拜
CG_JJC_NEW_LADDER_CHAMPION_WORSHIP = {
    {"uuid",		1,			"string"},            -- 被膜拜的玩家UUid
}

-- 膜拜成功
GC_JJC_NEW_LADDER_CHAMPION_WORSHIP = {
    {"worshipCnt",1,"int"},         -- 被膜拜总次数
    {"dot",1,"byte"},               -- 是否还有膜拜红点  0  无 1 有
}

-- 排行榜查询
CG_JJC_NEW_LADDER_RANK_QUERY = {
}

GC_JJC_NEW_LADDER_RANK_QUERY = {
    {"topList",     50,    JJC_NEW_LADDER_RANK_BASE_INFO},        -- 排行榜前50名
    {"ownRank",     1,     JJC_NEW_LADDER_RANK_BASE_INFO},        -- 自己的数据
}

-- -- 被挑战
-- GC_JJC_CHAMPION_BE_CHALLENGE = {}

-- 请求一键挑战 -- 直接获取奖励
CG_JJC_NEW_LADDER_ONECLICK_CHANGE = {}

-- 请求天梯赛上一轮排名前三
CG_JJC_NEW_LADDER_QUERY_LAST_RANK = {}

-- 回复天梯赛上一轮排名前三
GC_JJC_NEW_LADDER_QUERY_LAST_RANK = {
	{"tList",	4,		JJC_NEW_LADDER_LAST_RANK_INFO}
}

-- 请求对战角色详细信息 
CG_JJC_NEW_LADDER_QUERY_ALLINFO = {
    {"uuid",        1,      "string"},
    {"nType",       1,      "byte"},        -- 1 对战列表人物 2 排行榜上人物
}

-- 回复对战角色详细信息
GC_JJC_NEW_LADDER_QUERT_ALLINFO = 
{
    {"nType",       1,       "byte"},
    {"data",	    1,		  JJC_PLAYER_INFO},
}

-- 请求排行榜奖励信息
CG_JJC_NEW_LADDER_QUERY_RANKPRIZE = {}

-- 请求排行榜奖励信息 回包
GC_JJC_NEW_LADDER_QUERY_RANKPRIZE = 
{
    {"tRankPrize",      15,     JJC_NEW_LADDER_RANK_PRIZE},
    {"nOwnRank",        1,      "int"},         -- 个人名次
    {"tOwnPrize",       5,      ItemData}       -- 个人名次奖励
}
