local Attr = require("role.Proto").Attr
local ItemData = require("bag.Proto").ItemData
local RoleBase = require("role.Proto").RoleBase 
-- 技能信息
BuffNet = {
    {"id",1,"int"},         -- buffID
    {"name",1,"string"},    -- buff名字
    {"desc",1,"string"},    -- 效果描述
}

SkillNet = {
	{"id",		1,		"int"},     --id
	{"icon",    1,      "string"},  --图标
	{"name",    1,      "string"},  --名字
	{"type",    1,      "byte"},    --类型
	{"desc",    1,      "string"},  --描述
	{"need",    1,      "byte"},    --条件：品阶xx后获得
	{"lv",      1,      "int"},    --等级
    {"cd",      2,      "byte"},    -- 1为释放回合   2为冷却回合数
    {"buff",    5,      BuffNet},   -- buff
    {"lvUpDesc",1,      "string"},  -- 升级描述
}

-- 英雄通用信息
HeroGeneral = {
    {"cm",1,"int"},             -- 身高
    {"age",1,"int"},            -- 年龄
    {"character",1,"string"},   -- 性格
    {"kg",1,"int"},             -- 体重
    {"cup",1,"string"},            -- CUP
    {"interest",1,"string"},    -- 兴趣
    {"desc",1,"string"},        -- 人物简介
}


-- 英雄基础信息
HeroInfo = {
	{"id",		1,		"int"},
	{"icon",	1,		"int"},
	{"lv",		1,		"int"},
	{"camp",	1,		"byte"},
	{"star",	1,		"byte"},
	{"label",	1,		"string"},
}

-- 升阶后数据预览
HeroUpgadeData = {
	{"id",			  1,	  "int"},	   --id
	{"maxLv",         1,      "short"},	   --下阶的最高等级
	{"zhandouli",     1,      "double"},   --战斗力
	{"attr",          5,      Attr},      --攻击,血量,护甲
	{"needJinbi",	  1,      "int"},      --升到下阶所需金币
	{"needItemCnt",	  1,      "int"},      --升到下阶所需英雄进阶石
}

-- 英雄简略信息
HeroSimple = {
	{"id",			1,		"int"},	 	 --id
	{"index",       1,		"short"},    --位置
    {"uuid",        1,      "string"},   --唯一标识
	{"icon",        1,      "int"},   	 --头像
	{"lv",          1,      "short"},	 --等级：初始为1
	{"camp",        1,      "byte"},	 --阵营
	{"job",         1,      "byte"},     --职业
	{"zhandouli",   1,      "double"},   --战斗力
	{"star",        1,      "byte"},     --星级
	{"quality",     1,      "byte"},	 --品阶:初始为0
	{"isget",       1,      "byte"},     --是否拥有图鉴英雄 0否 1是
	{"isLock",      1,      "byte"},     --是否锁定 0否 1是
    {"hp",          1,      "int"},      --血量
	{"hpMax",       1,      "int"},      --最大血量
	{"up",          1,      "byte"},     --能否觉醒
	{"gl",          1,      "byte"},     --是否有攻略  0 无攻略 1 有攻略  2 有攻略且有红点
	{"body",        1,      "int"},   	 --模型
	{"cnt",			1,		"int"},		 --数量，客户端需求暂时加这里。。迟点看看怎么改
    {"weightLv",	1,	  	"byte"},        -- 英雄权重
    {"name",		1,		"string"},	    -- 英雄名
    {"grade",       1,       "byte"},     -- 评分 
    {"jobDesc",     1,       "string"}, -- 职业描述
    {"label",       1,       "string"}, -- 标签
    {"order",       1,       "byte"},   -- 排序用
    {"isGongMing",  1,       "byte"},   -- 是否共鸣 
    {"general",     2,      HeroGeneral},   -- 通用信息 
}



-- 英雄详细信息：静态
HeroStatic = {
	{"id",			  1,	  "int"},	    --id
	{"name",		  1,	  "string"},    --名字
	{"body",          1,      "int"},       --模型
	{"job",           1,      "byte"},	    --职业
	{"normalAtkID",   1,      "int"},       --普攻
	{"skillList",     2,      SkillNet},    --主动技能：2个
	{"beSkill",       3,      SkillNet},    --被动技能：最多3个
    {"weightLv",	  1,	  "byte"},
    {"skin",		  1,	  "byte"},	    --0 没皮肤，1 有皮肤
}

HeroSkin = {
	{"name",		  1,	  "string"},   --名字
	{"body",          1,      "int"},   --模型
	{"normalAtkID",   1,      "int"},      --普攻
	{"skillList",     2,      SkillNet},   --主动技能：2个
	{"beSkill",       3,      SkillNet},   --被动技能：最多3个	
}


-- 英雄详细信息：动态
HeroDynamic = {
	{"id",			1,		"int"},	 	 --id
    {"uuid",        1,      "string"},   --唯一编号
	{"lv",          1,      "short"},    --等级
	{"head",        1,      "int"},      --头像   
	{"maxLv",       1,      "short"},	 --最高等级
	{"zhandouli",   1,      "double"},   --战斗力
	{"quality",     1,      "byte"},	 --品阶
    {"star",        1,      "byte"},     --星级
	-- lv<maxLv表示升级状态 否则表示进阶状态
	{"upLv",		1,		"byte"},	 --升x级，1-5
	{"upLvJinbi",   1,      "int"},      --升x级需要的金币/进阶需要的金币 0表示满级
	{"upLvSoul",    1,      "int"},      --升x级需要的英魂/进阶需要的进阶石
	{"attrs",       40,     Attr},       --属性
	{"skin",		2,		HeroSkin},
	{"techLv",      1,      "int"},      -- 公会科技等级
    {"maxQuality",  1,      "byte"},	 --最高品阶
    {"skillList",   2,      SkillNet},    --主动技能：2个
	{"beSkill",     3,      SkillNet},    --被动技能：最多3个
}


HeroNiceNet = {
	{"heroSimple",	2,		HeroSimple},
	{"heroStatic",	2,		HeroStatic},		
    {"itemData",	2,		ItemData},
	{"body",		1,      "int"},   	 --模型大于0就是特殊武将
    {"weightLv",	1,	  	"byte"},
    {"isNew",		1,		"byte"},
    {"attrs",		4,		Attr}, 		 --初始属性
    {"attrsMax",	4,		Attr}, 		 --最大属性
    {"bubble",	    1,		"string"},   --气泡
}

-- 符文信息
FuwenMsg = {
    {"pos",1,"byte"},
    {"fuwen",1,ItemData},
}

-- 能力值
HeroStats = {
    {"power",5,"byte"},                         -- 能力值
	{"totalPoint",	1,	"short"},				-- 总分
	{"dingwei",		1,	"string"},				-- 定位
}

HeroManito = {
	{"heroInfo",	1,		HeroInfo},          -- 英雄信息
	{"player",		1,		RoleBase},          -- 玩家名
	{"heroIndex",	1,		"int"},             -- 英雄索引
    {"svrName",		1,		"string"},          -- 服务器名
    {"zhandouli",	1,		"int"},             -- 战斗力
}

SimpleMsg = {
    {"icon",1,"int"},
    {"weightLv",1,"byte"},
    {"name",1,"string"},
}


-- 下发英雄基础头像信息列表
GC_HERO_BAG_LIST = {
	{"list",	30,		HeroSimple},
}

-- 请求英雄详细信息:静态
CG_HERO_BAG_STATIC = {
	{"id",			1,		"int"},
    {"tuJian",		1,		"byte"},
}

GC_HERO_BAG_STATIC = {
	{"heroStatic",      1,     HeroStatic},
}

-- 请求英雄详细信息:动态
CG_HERO_BAG_DYNAMIC = {
	{"id",			1,		"int"},
	{"index",       1,		"short"},
}

GC_HERO_BAG_DYNAMIC = {
	{"index",       1,		"short"},
	{"heroDynamic", 1,      HeroDynamic},	
    {"canLv",       1,      "byte"},
    {"canUp",       1,      "byte"},
    {"canEquip",    1,      "byte"},
    {"canFuwen",    1,      "byte"},
    {"canJueXing",  1,      "byte"},
	{"canBingShu",  1,      "byte"},
}

-- 获取配置英雄属性
CG_HERO_BAG_DYNAMIC_BY_ID = {
	{"heroID",       1,		"int"},
	{"star",       1,		"byte"},
}

-- 获取配置英雄属性
GC_HERO_BAG_DYNAMIC_BY_ID = {
    {"heroDynamic",  1,      HeroDynamic},
}

-- 英雄删除
GC_HERO_BAG_DELETE = {
	{"index",		1,		"short"},
}

-- 英雄增加
GC_HERO_BAG_ADD = {
    {"data",	1,		HeroSimple},
}

-- 英雄锁定
CG_HERO_BAG_LOCK = {
	{"type",           1,        "byte"},   -- 0不锁  1锁定
	{"heroID",         1,        "int"},
	{"heroIndex",      1,        "int"},
}

GC_HERO_BAG_LOCK = {
	{"type",           1,        "byte"},  -- 0不锁  1锁定
	{"heroID",         1,        "int"},
	{"heroIndex",      1,        "int"},
}

-- 英雄升级
CG_HERO_LEVEL_UP = {
	{"id",			1,		"int"},
	{"index",		1,		"short"},
}

-- 英雄升级成功
GC_HERO_LEVEL_UP = {
	{"id",			1,		"int"},
	{"index",		1,		"short"},
}

-- 英雄升阶查询
CG_HERO_UPGRADE_QUERY = {
	{"id",			1,		"int"},
	{"index",		1,		"short"},
}

GC_HERO_UPGRADE_QUERY = { 
	{"id",			1,		"int"},
	{"index",		1,		"short"},
	{"data",        1,      HeroUpgadeData},
} 

-- 英雄升阶
CG_HERO_UPGRADE_DO = {
	{"id",			1,		"int"},
	{"index",		1,		"short"},
}

-- 英雄升阶成功
GC_HERO_UPGRADE_DO = {
	{"id",			1,		"int"},
	{"index",		1,		"short"},
}

-- 查询背包容量
GC_HERO_CAP_QUERY = {
	{"cap",			1,    "short"}, --当前容量
	{"buyZuanshi",  1,    "int"},   --购买格子需要钻石数量 0表示最大次数 无法继续购买了
}

-- 购买容量
CG_HERO_CAP_BUY = {}

-- 升星条件
UpStarCond = {
	{"type",			  1,	  "byte"},   -- 条件1:英雄id，数量；条件2：阵营，星级，数量
	{"id",                1,      "int"},    -- 英雄id
	{"name",			  1,	  "string"}, --英雄名
	{"icon",              1,      "int"}, -- 头像
	{"camp",              1,      "byte"},   -- 阵营
	{"star",              1,      "byte"},   -- 星级
    {"grade",             1,      "byte"},   -- 品阶
	{"cnt",               1,      "byte"},   -- 数量
}


-- 请求查看觉醒信息
CG_HERO_JUEXING_QUERY = {
	{"id",			1,		"int"},
	{"index",		1,		"short"},
}
HeroJueXingNet = {
	{"id",			1,		"int"},
	{"index",		1,		"short"},

	{"star",		1,		"byte"},
	{"nextStar",    1,      "byte"},     		-- 下一级星数
	{"maxLv",       1,      "short"},    
	{"nextMaxLv",	1,		"short"},			-- 下一级等级上限
	{"isAllSkillUp",1,		"byte"},			-- 是否所有技能+1
	{"skillUp",		4,		SkillNet},			-- 技能变化 [0]是原有技能信息 [1]是新技能信息 长度0表示没变化
	{"speedUp",		1,		"byte"},			-- 速度提升
	{"atkUpRate",	1,		"byte"},			-- 攻击提升%
	{"hpUpRate",	1,		"byte"},			-- 血量提升%

	{"needItemCnt", 1,      "int"}, 			-- 消耗进阶石数量
	{"needHeros",   4,      UpStarCond}, 		-- 消耗武将材料
	{"needItems",	2,		ItemData},			-- 额外消耗道具	
}
GC_HERO_JUEXING_QUERY = {
	{"data",		1,		HeroJueXingNet},
}

GC_HERO_JUEXING_QUERY_MAX = {
	{"id",			1,		"int"},
	{"index",		1,		"short"},
}

-- 请求觉醒 升星 合成
CG_HERO_JUEXING_DO = {
	{"id",				1,		"int"},   -- 英雄id
	{"index",			1,		"short"}, -- 
	{"inputIDList",		12,		"int"},   -- 觉醒耗费的英雄ID
	{"inputIndexList",	12,		"short"}, -- 觉醒耗费的英雄index
}
-- 觉醒成功
HeroJueXingHeroNet = {
	{"dynamicData",		1,		HeroDynamic},
	{"simpleData",		1,		HeroSimple},
	{"zhandouli",		1,		"double"},
	{"atk",				1,		"double"},
	{"hp",				1,		"double"},
	{"def",				1,		"double"},
	{"speed",			1,		"double"},
}
GC_HERO_JUEXING_DO = {
	{"id",				1,		"int"},   			-- 英雄id
	{"index",			1,		"short"}, 
	{"oldData",         1,      HeroJueXingHeroNet},
	{"newData",         1,      HeroJueXingHeroNet},
	{"isAllSkillUp",	1,		"byte"},			-- 是否所有技能+1
	{"skillUp",			4,		SkillNet},			-- 技能变化 [0]是原有技能信息 [1]是新技能信息 长度0表示没变化
	{"itemList", 		10, 	ItemData},			-- 额外返还道具列表
    {"upStarNeedLv",	1,		"short"},           -- 升级所需角色等级
    {"upStarNeedWorldLv", 1,	"short"},           -- 升级所需世界等级
}

HeroBookMsg = {
	{"heros",			1,		HeroSimple},
	{"isDot",			1,		"byte"}, --0,1
}

CG_HERO_BOOK_QUERY_CS = {    --长沙这边特珠需求
	{"camp",			1,		"byte"}, -- 阵营
}
HeroBookOtherMsg = {
    {"id",			1,		"int"},	 	 --id
    {"rewardState",		1,		"byte"}, --0,不可领取 1,可领取 2,已领取
    {"nextStar",		1,		"byte"}, --下一阶段星级
}
GC_HERO_BOOK_QUERY_CS = {    --长沙这边特珠需求 同一father只取一个
	{"camp",			1,		"byte"}, -- 阵营
    {"list",			30,		HeroBookMsg}, 
    {"dot",			    10,		"byte"}, 
}

-- 图鉴英雄列传
CG_HERO_BOOK_LIEZHUAN_QUERY = {
	{"id",				1,		"int"},   -- 英雄id
}
GC_HERO_BOOK_LIEZHUAN_QUERY = {
	{"id",				1,		"int"},   -- 英雄id
	{"data",			1,      HeroDynamic},
	{"lieZhuanDesc",	1,		"string"}, --列传描述
	{"lieZhuanReward",	1,		ItemData}, --列传奖励
	{"rewardState",		1,		"byte"}, --0,不可领取 1,可领取 2,已领取
    {"curStar",		    1,		"byte"}, --当前阶段星级
    {"nextStar",		1,		"byte"}, --下一阶段星级
}

-- 图鉴英雄列传 领取奖励
CG_HERO_BOOK_LIEZHUAN_GET = {
	{"id",				1,		"int"},   -- 英雄id
}

-- 根据单个英雄星级，查询图鉴信息
CG_HERO_BOOK_SINGLE_QUERY = {
    {"heroID",1,"int"},             -- 英雄id
    {"star",1,"byte"},              -- 英雄星级
}

GC_HERO_BOOK_SINGLE_QUERY = {
	{"hero",			1,		HeroSimple},
}
-- 请求英雄装备信息
CG_HERO_EQUIP_QUERY = {
	{"id",				1,		"int"},   -- 英雄id
	{"index",			1,		"short"}, -- 英雄index
}

GC_HERO_EQUIP_QUERY = {
	{"id",				1,		"int"},   -- 英雄id
	{"index",			1,		"short"}, -- 英雄index
	{"equips",			6,		ItemData},
    {"equipDot",		6,		"int"},  
	{"fuwens",			2,		FuwenMsg},
    {"fuwenDot",		6,		"byte"},   
	{"fuwenGrid",		2,		"byte"},
}

-- 穿装备
CG_HERO_EQUIP_PUTON = {
	{"heroID",			1,		"int"},   -- 英雄id
	{"heroIndex",		1,		"short"}, -- 英雄index
	{"bagIndex",	    1,		"int"},   -- 背包中的装备索引
}

GC_HERO_EQUIP_PUTON = {
	{"heroID",			1,		"int"},   -- 英雄id
	{"heroIndex",		1,		"short"}, -- 英雄index
	{"equip",			1,		ItemData}, 
}

-- 装备PUT穿戴
CG_HERO_EQUIP_PUTON_ON_PUT = {
	{"heroID",			1,		"int"},   -- 英雄id
	{"heroIndex",		1,		"short"}, -- 英雄index
    {"putHeroID",		1,		"int"},   -- 目标英雄id
	{"putHeroIndex",	1,		"short"}, -- 目标英雄背包索引
    {"putHeroPos",	    1,		"short"}, -- 目标英雄部位
}

-- 脱装备
CG_HERO_EQUIP_PUTOFF = {
	{"heroID",			1,		"int"},   -- 英雄id
	{"heroIndex",		1,		"short"}, -- 英雄index
	{"pos",				1,		"byte"},  -- 装备部位
}

GC_HERO_EQUIP_PUTOFF = {
	{"heroID",			1,		"int"},   -- 英雄id
	{"heroIndex",		1,		"short"}, -- 英雄index
	{"pos",				1,		"byte"}, 
}

-- 一键穿装
CG_HERO_EQUIP_PUTON_QUICK = {
	{"heroID",			1,		"int"},   -- 英雄id
	{"heroIndex",		1,		"short"}, -- 英雄index
	{"equipID1",		1,		"int"}, -- 部位1   
	{"equipID2",		1,		"int"}, -- 部位2
	{"equipID3",		1,		"int"}, -- 部位3  
	{"equipID4",		1,		"int"}, -- 部位4
	{"equipID6",		1,		"int"}, -- 部位6神器
}

-- 一键脱装
CG_HERO_EQUIP_PUTOFF_QUICK = {
	{"heroID",			1,		"int"},   -- 英雄id
	{"heroIndex",		1,		"short"}, -- 英雄index
}

-- 水晶激活
CG_SHUIJING_JIHUO = {
	{"heroID",			1,		"int"},   -- 英雄id
    {"heroIndex",		1,		"short"}, -- 英雄index
}

-- 水晶转换查询
CG_SHUIJING_TRANS_QUERY = {
	{"heroID",       1,    "int"},
	{"heroIndex",    1,    "short"},
}

GC_SHUIJING_TRANS_QUERY = {
	{"heroID",        1,      "int"},
	{"heroIndex",     1,      "short"},
	{"needJinbi",	  1,      "int"},      --消耗金币
	{"needItemCnt",	  1,      "int"},      --消耗魔法之尘
}

-- 水晶转换请求
CG_SHUIJING_TRANS_DO = {
	{"heroID",        1,      "int"},
	{"heroIndex",     1,      "short"},
}

GC_SHUIJING_TRANS_DO = {
	{"heroID",        1,      "int"},
	{"heroIndex",     1,      "short"},
	{"equip",		  1,      ItemData},   --新的水晶信息
}

-- 水晶转换保存
CG_SHUIJING_TRANS_SAVE = {
	{"heroID",        1,      "int"},
	{"heroIndex",     1,      "short"},
}

GC_SHUIJING_TRANS_SAVE = {}


-- 水晶升级的信息查询
CG_SHUIJING_UPLV_QUERY = {
    {"type",         1,    "byte"},   --1升级到未知水晶  2锁定为原有水晶
	{"heroID",       1,    "int"},
	{"heroIndex",    1,    "short"},
}

GC_SHUIJING_UPLV_QUERY = {
	{"heroID",        1,      "int"},
	{"heroIndex",     1,      "short"},
	{"needJinbi",	  1,      "int"},      --消耗金币
	{"needItemCnt",	  1,      "int"},      --消耗魔法之尘
	{"equip",		  2,      ItemData},   --新的水晶信息
	{"needZuanshi",   1,      "int"},      --锁定属性需要的钻石
}

-- 水晶升级请求
CG_SHUIJING_UPLV_DO = {
	{"type",          1,      "byte"},      -- 1升级到未知水晶   2锁定到原有水晶
	{"heroID",        1,      "int"},
	{"heroIndex",     1,      "short"},
}

GC_SHUIJING_UPLV_DO = {
	{"heroID",        1,      "int"},
	{"heroIndex",     1,      "short"},
	{"equip",		  1,      ItemData},   --新的水晶信息
}

-- 神器升级查询
CG_SHENQI_UPLV_QUERY = {
	{"heroID",        1,      "int"},
	{"heroIndex",     1,      "short"},
}

GC_SHENQI_UPLV_QUERY = {
	{"heroID",        1,      "int"},
	{"heroIndex",     1,      "short"},
	{"needExp",       1,      "int"},
	{"equip",         1,      ItemData},
}

-- 神器升级
CG_SHENQI_UPLV_DO = {
	{"heroID",            1,      "int"},
	{"heroIndex",         1,      "short"},
	{"equipIDList",       4,      "int"},
	{"equipCntList",      4,      "int"},
}

GC_SHENQI_UPLV_DO = {
	{"heroID",        1,      "int"},
	{"heroIndex",     1,      "short"},
	{"equip",         2,      ItemData},
}


-- 查看分享英雄信息
CG_HERO_SHARE_DATA = {
	{"uuid",           1,         "string"},
	{"heroIndex",      1,         "int"},
}
HeroShareData = {
	{"uuid",           		1,      "string"},
	{"heroIndex",      		1,      "int"},
	{"heroSimple",         1,       HeroSimple},
	{"heroStatic",         1,      	HeroStatic},
	{"heroDynamic",        1,       HeroDynamic},
	{"equips",			   6,		ItemData},
    {"fuWens",			   2,		FuwenMsg},  	
}
GC_HERO_SHARE_DATA = {
	{"data",				1,		HeroShareData},
}


-- 请求查看重生信息
CG_HERO_CHONGSHENG_QUERY = {
	{"id",				1,		"int"},		-- 英雄id
	{"index",			1,		"short"},	-- 英雄index
}

GC_HERO_CHONGSHENG_QUERY = {
	{"id",				1,		"int"},		-- 英雄id
	{"index",			1,		"short"},	-- 英雄index
    {"needItemCnt",		1,		"int"},		-- 消耗道具数量
	{"bentiSuipian",	1,      ItemData},	-- 返回本体碎片
	{"otherSuipian",	1,		ItemData},	-- 随机英雄碎片
}

-- 请求重生
CG_HERO_CHONGSHENG_DO = {
	{"id",				1,		"int"},   -- 英雄id
	{"index",			1,		"short"}, -- 英雄index
}
-- 重生成功
GC_HERO_CHONGSHENG_DO = {
	{"list",            20, 	ItemData},  -- 
}


-- 英雄回退
CG_HERO_HUITUI_QUERY = {
	{"heroID",		1,		"int"}, -- 英雄id
	{"heroIndex",	1,		"int"},	-- 英雄index
}
GC_HERO_HUITUI_QUERY = {
	{"heroID",		1,		"int"},-- 英雄id
	{"heroIndex",	1,		"int"},-- 英雄index
	{"oldSimple",	1,		HeroSimple},	-- 原有英雄信息
	{"newSimple",	1,		HeroSimple},	-- 新英雄信息
	{"needItem",	1,		ItemData},		-- 消耗道具
	{"returnItems",	10,		ItemData},		-- 返还道具列表
	{"returnHeros",	20,		HeroSimple},	-- 返还英雄列表
}

CG_HERO_HUITUI = {
	{"heroID",		1,		"int"},-- 英雄id
	{"heroIndex",	1,		"int"},-- 英雄index		
}
GC_HERO_HUITUI = {
	{"heroID",		1,		"int"},-- 英雄id
	{"heroIndex",	1,		"int"},-- 英雄index	
	{"newSimple",	1,		HeroSimple},	-- 新英雄信息
	{"returnItems",	10,		ItemData},		-- 返还道具列表
	{"returnHeros",	20,		HeroSimple},	-- 返还英雄列表
}

-- 英雄点赞
CG_HERO_LIKE = {
}

-- 英雄攻略系统
CG_HERO_STRATEGY_QUERY = {
	{"heroID",1,"int"},									-- 英雄ID
}

GC_HERO_STRATEGY_QUERY = {
    {"simpleMsg",		1,			SimpleMsg},
	{"stats",			1,			HeroStats},			-- 英雄雷达图
	{"manito",			3,			HeroManito},        -- 大神推荐
    {"strategy",		1,			"string"},          -- 详细攻略
    {"last",			1,			"int"},             -- 上一页英雄fatherID
    {"next",			1,			"int"},             -- 下一页英雄fatherID
    {"heroSimple",		1,			HeroSimple},   	    -- 英雄信息
    {"heroDynamic",		1,			HeroDynamic},       -- 英雄信息
    {"heroStatic",		1,			HeroStatic},        -- 英雄信息
}

-- 获取英雄信息
CG_HERO_DETAIL_MSG_QUERY = {
    {"heroID",1,"int"},
    {"heroIndex",1,"int"},
    {"uuid",1,"string"},
    {"type",1,"byte"},
}

-- 英雄攻略红点查询
CG_HERO_GL_DOT_QUERY = {
}

GC_HERO_GL_DOT_QUERY = {
    {"isDot",1,"byte"},                      -- 是否有红点
}

-- 背包红点 只返回远征出战英雄的红点信息
HeroBagDotNet = {
	{"bagIndex",	1,		"int"},			 -- 英雄背包索引
	{"isDot",		1,		"byte"}, 		 -- 是否显示红点
}
CG_HERO_BAG_DOTS = {}
GC_HERO_BAG_DOTS = {
	{"list",		6,		HeroBagDotNet},
    {"bookDot",		1,		"byte"},
}

-- 英雄重置
CG_HERO_RESET_QUERY = {
	{"heroID",		1,		"int"},
	{"heroIndex",	1,		"int"},
}
GC_HERO_RESET_QUERY = {
	{"heroID",		1,		"int"},
	{"heroIndex",	1,		"int"},	
	{"needZuanshi",	1,		"int"},		-- 需要元宝
	{"maxFreeCnt",	1,		"byte"},	-- 每日重置次数
	{"leftFreeCnt",	1,		"byte"},	-- 剩余重置次数
	{"items",		20,		ItemData},	-- 返还材料预览
}
CG_HERO_RESET = {
	{"heroID",		1,		"int"},
	{"heroIndex",	1,		"int"},	
}
GC_HERO_RESET = {
	{"heroID",		1,		"int"},
	{"heroIndex",	1,		"int"},		
	{"items",		20,		ItemData},	-- 返还材料
}

-- 十星英雄置换 神将置换
CG_HERO_TEN_ZHIHUAN_QUERY = {}
GC_HERO_TEN_ZHIHUAN_QUERY = {
	{"needItem",        	1, 		ItemData}, 		-- 道具材料
	{"canHeroId",       	100,	"int"},			-- 背包中可作为材料2的id列表
	{"material1Star",		1,		"byte"},		-- 材料1需要x星以上（包含x星）
	{"material2Star",		1,		"byte"},		-- 材料2仅需要x星
	{"needItemCnts",		5,		"byte"},		-- 10~13星对应需要的道具材料数量
	{"needMaterial2Cnts",	5,		"byte"},		-- 10~13星对应需要的材料2数量
}

CG_HERO_TEN_ZHIHUAN = {
	{"fiveId",              1, "int"},
	{"heroIndexList",       20,  "int"},           --用来合成的英雄下标
}
GC_HERO_TEN_ZHIHUAN = {
	{"heroSimple",         1, HeroSimple},    
}






