local ItemData = require("bag.Proto").ItemData
local BuyItem = require("topup.Proto").BuyItem
local HeroSimple = require("hero.Proto").HeroSimple
--local RechargeBackNet = require("present.Proto").RechargeBackNet
local RoleBase = require("role.Proto").RoleBase
local GOODS = require("shop.Proto").GOODS

-- 超值礼包
PremiumGift = {
    {"id",		    1, "int" },      -- 礼包ID
    {"item",	    5, ItemData },    -- 礼包包含物品
    {"cnt",		    1, "byte" },      -- 已购买次数
    {"maxCnt",      1, "byte"},       -- 最大购买次数
    {"buyMsg",	    2, BuyItem},      -- buyID
    {"needItem",	2, ItemData },    -- 礼包含物品
    {"icon",	    1, "int" },       -- 图标
    {"name",	    1, "string" },       -- 图标
}

AbsMangHeMr = {
    {"id",		    1, "byte" },      -- 礼包ID
    {"desc",	    1, "string"},     -- 描述
    {"item",		1, ItemData},     -- 奖励
    {"status",      1, "byte"},       -- 状态
    {"cur",         1, "byte"},       -- 状态
    {"max",         1, "byte"},       -- 状态
}

-- 通用查询协议 
CG_ABS_ACT_DETAIL_QUERY = {
    {"id",			1,"int"},                -- 活动ID
}

-- 超值礼包信息查询
GC_ABS_ACT_PREMIUM_GIFT_QUERY = {
    {"premiumGiftMsg",  10, PremiumGift},    
    {"startTime",       1,  "int"},     -- 开启时间
    {"endTime",         1,  "int"},     -- 结束时间
	{"templateId",      1,  "int"},     -- 面板ID
	{"absActId",        1,  "short"},
	{"status",          1,  "byte"},
    {"ad",              1,  "int"},
}

-- 超值礼包信息查询
CG_ABS_ACT_PREMIUM_GIFT_BUY = {
    {"id",              1,  "int"},
    {"giftid",          1,  "int"},
}

-- 盲盒 活动查询
GC_ABS_ACT_MANGHE_QUERY = {
    {"startTime",       1,  "int"},     -- 开启时间
    {"endTime",         1,  "int"},     -- 结束时间
    {"templateId",      1,  "int"},     -- 面板ID
    {"cjNow",           1,  "int"},     -- 抽奖次数
    {"cjMax",           1,  "int"},     -- 当前成就 所需要的抽奖次数
    {"cjGet",           1,  "byte"},    -- 已经领到几号成就
    {"cjItemID",        1,  "byte"},    -- 当前展示几号成就 
    {"cjItem",          1, ItemData},    -- 成就 展示物品
    {"oneNeed",         1, ItemData},   -- 单抽所需要的道具
    {"tenNeed",         1, ItemData},   -- 十抽所需要的道具
    {"gift",            1, PremiumGift},  -- 礼包
    {"mrReward",        3, AbsMangHeMr},  -- 每日奖励
    {"qiPao",           1,  "byte"},    -- 是否显示气泡
	{"bdCnt",           1,  "byte"},    -- 保底抽次数
}

-- 盲盒成就 查询
CG_ABS_ACT_MANGHE_CJ_QUERY = {}
MangHeCjNet = {
    {"id",            1,   "int"},    --id 
    {"need",          1,   "int"},    --所需抽奖次数
    {"item",          1,   ItemData}, -- 奖励
}
GC_ABS_ACT_MANGHE_CJ_QUERY = {
    {"now",          1,    "int"},   -- 现在多少抽
    {"cjMax",        1,    "int"},   -- 总共多少抽
    {"list",        30,   MangHeCjNet},
}

-- 盲盒 概率查询
CG_ABS_ACT_MANGHE_RARE_QUERY = {}

MangHeItemRareNet = {
    {"id",          1,   "int"},
    {"rare",        1,   "int"},   -- 概率 万分比
    {"item",        1,  ItemData},
}

GC_ABS_ACT_MANGHE_RARE_QUERY = {
    {"isStart",     1,  "byte"},
    {"isEnd",       1,   "byte"},
    {"list",       100,  MangHeItemRareNet},
}

-- 盲盒 抽奖
CG_ABS_ACT_MANGHE_DO = {
    {"cnt",         1,    "int"},
}

GC_ABS_ACT_MANGHE_DO = {
    {"list",      10,  ItemData},
}
-- 盲盒 成就领奖
CG_ABS_ACT_MANGHE_CJ_GET = {}

-- 领取每日奖励
CG_ABS_ACT_MANGHE_MR_GET = {
    {"id",         1,    "byte"},
}

-- 心仪英雄活动
GC_ABS_ACT_PERPLE_HERO_QUERY = {
    {"perpleHero",2,"int"},                 -- 心仪英雄 数组原因：没有设置心仪英雄时，只需将长度设为0即可
    {"heroList",3,HeroSimple},              -- 可供选择的英雄列表
    {"leftCnt",1,"byte"},                   -- 必得剩余次数
    {"aItem",1,ItemData},                   -- 单抽需要的道具
    {"bItem",1,ItemData},                   -- 高级抽需要的道具
}

-- 设置心仪英雄
CG_ABS_ACT_PERPLE_HERO_SET = {
    {"perpleHero",1,"int"},                 -- 英雄id
    {"id",1,"int"},                         -- 活动id
}

CG_ABS_ACT_PERPLE_HERO_COMBAT = {
    {"heroID",1,"int"},                     -- 英雄id
}

-- 英雄日志
HeroLogTask = {
    {"id",1,"int"},                 -- id
    {"nowCnt",1,"int"},             -- 当前完成次数
    {"maxCnt",1,"int"},             -- 最大次数
    {"state",1,"byte"},             -- 任务状态
    {"desc",1,"string"},            -- 任务描述
    {"panelID",1,"int"},            -- 跳转页面
    {"item",2,ItemData},            -- 任务奖励
}

HeroLogBox = {
    {"id", 1, "byte"},          -- 宝箱id
    {"state", 1, "byte"},          -- 宝箱状态
    {"item",5,ItemData},        -- 奖励
}

GC_ABS_ACT_HERO_LOG_QUERY = {
    {"taskList",10,HeroLogTask},        -- 任务列表
    {"box",10,HeroLogBox},                  -- 宝箱列表
}

CG_ABS_ACT_GET_HERO_LOG_BOX = {
    {"index",1,"int"},
    {"id",1,"int"},
}

CG_ABS_ACT_GET_HERO_LOG_TASK = {
    {"index",1,"int"},
    {"id",1,"int"},
}


-- 掉落兑换
GC_ABS_ACT_DROP_QUERY = {
    {"drop",       1,     ItemData}
}

CG_ABS_ACT_DROP_SHOP_QUERY = {}

AbsDropShopNet = {
    {"id",         1,     "int"},
    {"need",       1,     "int"},
    {"buyCnt",     1,     "int"},
    {"maxBuy",     1,    "int"},
    {"item",       1,    ItemData}
}
GC_ABS_ACT_DROP_SHOP_QUERY = {
    {"need",         1,  ItemData},
    {"list",        20,  AbsDropShopNet},
    {"templateId",   1,  "int"},     -- 面板ID
}

-- 掉落商店购买
CG_ABS_ACT_DROP_SHOP_BUY =  {
    {"id",         1,    "int"},
    {"buyCnt",     1,    "int"},
}

GC_ABS_ACT_DROP_SHOP_BUY = {
    {"id",         1,     "int"},
    {"item",       1,    ItemData}
}


--
-- 积分召唤
AbsJiFenDraw = {
   {"id",    1,     "byte"},       -- 英雄信息
   {"hero",  1,     HeroSimple},   -- 英雄信息
   {"cur",   1,     "byte"},       -- 当前兑换次数
   {"max",   1,     "byte"},       -- 最大兑换次数
   {"cost",  1,     "short"},      -- 花费
}

-- 积分召唤回馈
GC_ABS_ACT_JIFEN_DRAW_QUERY = {
    {"list",       10,    AbsJiFenDraw},
    {"randomCost", 1,    "short"},
    {"curJifen",   1,    "int"},
}

-- 积分召唤
CG_ABS_ACT_JIFEN_DRAW_BUY = {
    {"id",    1,     "byte"},       -- 英雄信息
    {"actID", 1,    "short"}
}

-- 英灵传说
GC_ABS_ACT_HERO_LOGIN_PICK_QUERY = {
    {"get",         7,     "int"},     -- 每日登陆 已领奖列表
    {"itemGet",     1,    "byte"},     -- 总奖励 是否已经领取
    {"heroSimple",  5,    HeroSimple},   -- 可选择英雄
    {"items",    5,    ItemData},     -- 可选择英雄的 道具模型展示
    {"login",        7,   ItemData},    -- 登陆奖励展示
    {"openDay",     1,    "int"},
}

CG__ABS_ACT_HERO_LOGIN_PICK = {
    {"type",        1,     "byte"},    -- 0 每日登陆领取  1 英雄领取
    {"id",          1,     "int"},
    {"param",       1,     "int"},     -- 领取目标 
}

----------ABS占卜轮---------
-- ABS占卜轮盘数据发送
GC_ABS_ZHAN_BU_LUA_PAN_QUERY = {
   {"needItem",        1,    ItemData},     -- 抽奖需要的道具 
   {"list",        14,   ItemData},         -- 奖池道具列表
   {"orderList",   14,    "int"},           -- 奖池道具抽取顺序
   {"composeItems",       3,    ItemData},  -- 活动期间每次合成得到的道具
   {"resershItem",        1,    ItemData},  -- 活动期间每次刷新得到的道具
   {"recoveryItem",        1,    ItemData}, -- 活动结束后回收抽奖道具获得新道具
   {"recoveryProb",        1,    "string"}, -- 活动结束后回收抽奖道具获得新道具比例
   {"times",       1,      "int"},          -- 当前抽奖了多少次
   {"itemCnt",     1,      "int"},          -- 下次抽奖需要道具数量
}
-- ABS占卜轮盘抽奖
CG_ABS_ZHAN_BU_LUA_PAN_GET = {
    {"id",          1,      "int"},         -- 活动id
}
-- ABS占卜轮盘抽奖返回
GC_ABS_ZHAN_BU_LUA_PAN_GET = {
   {"times",       1,      "int"},          -- 当前抽奖了多少次
   {"itemCnt",     1,      "int"},          -- 下次抽奖需要道具数量
}
----------ABS占卜轮---------



------- ABS 充值返利 --------
AbsRechargeBackNet = {
    {"id",      1,  "int"},
    {"need",    1,  "int"},
    {"state",   1,  "byte"},
    {"reward",  8, ItemData},
}
GC_ABS_RECHARGE_BACK_QUERY = {
    {"list",     10,  AbsRechargeBackNet},
    {"recharge",  1,  "int"},
    {"maxCnt",    1,  "byte"},
    {"isEnd",    1,  "byte"},
    {"startTime",  1,  "int"},
    {"endTime",    1,  "int"},
    {"panelID",    1,  "int"},
}

CG_ABS_RECHARGE_BACK_GET = { 
    {"panelID",    1,  "int"},
    {"id",     1,  "int"},
}
-------  ABS 充值返利 --------


-- 打工
-- 英雄崛起
HeroGrowUpTaskNet = {
    {"id",              1,          "int"},         -- 任务id
    {"taskName",        1,          "string"},      -- 任务名
    {"taskDesc",        1,          "string"},      -- 任务描述
    {"nowValue",        1,          "int"},         -- 当前进度
    {"maxValue",        1,          "int"},         -- 最大进度
    {"item",            1,          ItemData},      -- 奖励
    {"panelID",         1,          "int"},         -- 面板ID
    {"state",           1,          "byte"},        -- 任务状态 0-不可领 1-可领 2-已领
}
HeroGrowUpNet = {
    {"leftTime",        1,          "int"},         -- 剩余时间
    {"lv",              1,          "int"},         -- 等级
    {"jifen",           1,          "int"},         -- 当前积分
    {"maxJifen",        1,          "int"},         -- 最大积分
    {"isBuyKing",       1,          "byte"},        -- 是否解锁了王者
    {"hasTaskRed",      1,          "byte"},        -- 积分任务是否有红点
}
-- 积分任务查询
CG_HERO_GROWUP_TASK_QUERY = {
    {"mainType",        1,          "byte"},        -- 任务分类 1-每日任务 2-每周任务 3-终极任务
}
GC_HERO_GROWUP_TASK_QUERY = {
    {"data",            1,          HeroGrowUpNet},     -- 基础信息
    {"mainType",        1,          "byte"},            -- 任务分类 1-每日任务 2-每周任务 3-终极任务
    {"taskList",        20,         HeroGrowUpTaskNet}, -- 任务列表
    {"taskReds",        3,          "byte"},            -- 任务红点
    {"taskLeftTime",    1,          "int"},             -- 任务剩余时间
    {"startTime",       1,          "int"},             -- 活动开启时间
    {"endTime",         1,          "int"},             -- 活动结束时间
    {"leftTime",        1,          "int"},             -- 活动剩余时间
}

-- 领取积分任务奖励 领取成功返回GC_HERO_GROWUP_TASK_QUERY
CG_HERO_GROWUP_TASK_GET = {
    {"id",              1,          "int"},         -- 任务id   
}

-- 等级提升界面
GC_HERO_GROWUP_LVUP = {
    {"lv",              1,          "int"},         -- 目标等级
    {"items",           10,         ItemData},      -- 获得奖励列表
    {"isBuyKing",       1,          "byte"},        -- 是否解锁了王者
}

-- 解锁王者查看
CG_HERO_GROWUP_KING_QUERY = {}
GC_HERO_GROWUP_KING_QUERY = {
    {"items",           20,         ItemData},      -- 奖励展示
    {"buyItem",         1,          BuyItem},       -- 直购信息
    {"isBuyKing",       1,          "byte"},        -- 是否解锁了王者
}

-- 奖励预览查询
HeroGrowUpRewardNet = {
    {"lv",              1,          "int"},         -- 等级
    {"items",           3,          ItemData},      -- 英雄奖励列表
    {"itemsKing",       3,          ItemData},      -- 王者奖励列表
    {"state",           1,          "byte"},        -- 奖励状态 0-不可领 1-可领 2-已领
    {"stateEx",         1,          "byte"},        -- 奖励状态 0-不可领 1-可领 2-已领
}
HeroGrowUpRewardExNet = {
    {"lv",              1,          "int"},         -- x级后
    {"exLv",            1,          "int"},         -- x级后
    {"needLv",          1,          "int"},         -- 每x级可以获得降级
    {"items",           3,          ItemData},      -- 英雄奖励列表
    {"itemsKing",       3,          ItemData},      -- 王者奖励列表 
    {"state",           1,          "byte"},        -- 奖励状态 0-不可领 1-可领 2-已领
    {"stateEx",         1,          "byte"},        -- 奖励状态 0-不可领 1-可领 2-已领
}
CG_HERO_GROWUP_REWARD_QUERY = {}
GC_HERO_GROWUP_REWARD_QUERY = {
    {"data",            1,          HeroGrowUpNet},         -- 基础信息
    {"rewardList",      50,         HeroGrowUpRewardNet},   -- 奖励列表   
    {"exReward",        1,          HeroGrowUpRewardExNet}, -- 特殊奖励
}

CG_HERO_GROWUP_LV_GET = {
    {"lv",              1,          "int"},         -- 任务id   
}

GC_HERO_GROWUP_TASK_REFRESH = {}

-- 购买成功回调
GC_HERO_GROWUP_BUY_OK = {
    {"data",            1,          HeroGrowUpNet},         -- 基础信息    
}

CG_HERO_GROWUP_BUY_JIFEN = {
    {"itemID",1,"int"},         
    {"cnt",1,"int"}
}

GC_HERO_GROWUP_BUY_JIFEN = {
    {"lv",1,"int"},
    {"jifen",1,"int"},
    {"maxJifen",1,"int"},
}


-- 铂金周卡
AbsWeekLyCard = {
    {"id",     1, "int"},
    {"items",  10, ItemData},   -- 道具奖励
}


GC_ABS_WEEK_LYCARD_QUERY = {
    {"leftTime",   1, "int"},         -- 剩余时间
    {"buyItem",    1, PremiumGift},   -- 礼包
    {"weekLyCard", 7, AbsWeekLyCard}, -- 活动奖励列表
    {"isActive",   1, "byte"},        -- 是否购买
    {"actId",      1, "int"},         -- 活动id
}


-- 365王卡
Abs365Card = {
    {"id",     1, "int"},
    {"items",  10, ItemData},   -- 道具奖励
}


GC_ABS_365CARD_QUERY = {
    {"leftTime",   1, "int"},         -- 剩余时间
    {"buyItem",    1,  PremiumGift},  -- 礼包
    {"items",      20, ItemData},     -- 道具奖励
    {"getItems",   20, ItemData},     -- 可领取道具
    {"actId",      1, "int"},         -- 活动id
    {"leftDay",    1, "short"},       -- 剩余天数
    {"newItem",    2, ItemData},      -- 每天新获取的道具
    {"active",     1, "byte"},        -- 是否激活
    {"draw",       1, "byte"},        -- 是否可以抽奖
}

CG_ABS_365CARD_DRAW = {
    {"actId",      1, "int"},         -- 抽奖
}

CG_ABS_365CARD_GET = {
    {"actId",      1, "int"},         -- 活动id
}
--------------------------新英雄来袭------------------
------------英雄降临------------
-- 发送英雄降临数据
GC_ABS_ACT_HERO_COME_QUERY = {              
    {"perpleHero",2,"int"},                 -- 心仪英雄 数组原因：没有设置心仪英雄时，只需将长度设为0即可
    {"heroList",3,HeroSimple},              -- 可供选择的英雄列表
    {"leftCnt",1,"byte"},                   -- 必得剩余次数
    {"aItem",1,ItemData},                   -- 单抽需要的道具
    {"bItem",1,ItemData},                   -- 高级抽需要的道具
}
-- 设置心仪英雄
CG_ABS_ACT_HERO_COME_SET = {                
    {"perpleHero",1,"int"},                 -- 英雄id
    {"id",1,"int"},                         -- 活动id
}
-- 观看英雄战斗录像
CG_ABS_ACT_HERO_COME_COMBAT = {
    {"heroID",1,"int"},                     -- 英雄id
}
------------英雄降临------------

------------夙愿礼盒------------
WishGift = {
    {"id",		    1, "byte" },            -- 礼包ID
    {"item",	    5, ItemData },    -- 礼包包含物品
    {"cnt",		    1, "byte" },      -- 已购买次数
    {"maxCnt",      1, "byte"},       -- 最大购买次数
    {"buyMsg",	    2, BuyItem},      -- buyID
    {"needItem",	2, ItemData },    -- 礼包含物品
    {"icon",	    1, "int" },       -- 图标
    {"name",	    1, "string" },          -- 图标
}
-- 夙愿礼盒信息发送
GC_ABS_ACT_WISH_GIFT_QUERY = {              
    {"premiumGiftMsg",  10, WishGift},    
    {"startTime",       1,  "int"},         -- 开启时间
    {"endTime",         1,  "int"},         -- 结束时间
	{"templateId",      1,  "int"},         -- 面板ID
	{"absActId",        1,  "short"},
	{"status",          1,  "byte"},
    {"ad",              1,  "int"},
}
-- 夙愿礼盒礼包钻石购买
CG_ABS_ACT_WISH_GIFT_BUY = {                
    {"id",              1,  "int"},
    {"giftid",          1,  "int"},
}
------------夙愿礼盒------------

------------每日祈福------------
GC_ABS_ACT_EVERY_DAY_PRAY_QUERY = {       -- 每日祈福信息发送
    {"get",         7,     "int"},         -- 每日登陆 已领奖列表
    {"itemGet",     1,    "byte"},         -- 总奖励 是否已经领取
    {"heroSimple",  5,    HeroSimple},     -- 可选择英雄
    {"items",    5,    ItemData},          -- 可选择英雄的 道具模型展示
    {"login",        7,   ItemData},       -- 登陆奖励展示
    {"openDay",     1,    "int"},
}

CG_ABS_ACT_EVERY_DAY_PRAY_GET = {          -- 每日祈福领取
    {"type",        1,     "byte"},        -- 0 每日登陆领取  1 英雄领取
    {"id",          1,     "int"},
    {"param",       1,     "int"},         -- 领取目标 
}
------------每日祈福------------

------------惊喜宝箱------------
DAY_SURPRISE_CHEST = {                      -- 每天惊喜宝箱数据
    {"day",         1,      "byte"},        -- 天数
    {"cnt",         1,      "int"},         -- 当前完成次数
    {"state",       1,      "byte"},        -- 当前状态(0未解锁1解锁不能领,2可领,3已领,4可补领,5已补领)
    {"maxCnt",      1,      "int"},         -- 达成所需次数
    {"panelID",     1,      "int"},         -- 跳转ID
    {"yuanbao",     1,      "int"},         -- 补领需要的元宝
    {"items",       5,      ItemData},      -- 道具奖励
    {"desc",        1,      "string"},      -- 任务描述
}
GC_ABS_SURPRISE_CHEST_QUERY = {             -- 惊喜宝箱数据推送
    {"dayChests",   7,  DAY_SURPRISE_CHEST}, -- 每天惊喜宝箱数据
    {"actId",       1,  "int"},             -- 活动ID 
    {"day",         1,      "byte"},        -- 当前解锁天数
}

GC_ABS_SURPRISE_CHEST_UPDATE = {            -- 惊喜宝箱数据变化时推送
    {"day",         1,      "byte"},        -- 天数
    {"cnt",         1,      "int"},         -- 当前完成次数
    {"state",       1,      "byte"},        -- 当前状态(0未解锁,1已解锁(不能领),2可领,3已领取,4可补领,5已补领)
}

CG_ABS_SURPRISE_CHEST_GET = {               -- 领取完成惊喜宝箱任务奖励
    {"day",         1,      "byte"},        -- 天数
    {"actId",       1,      "int"}          -- 活动ID 
}

CG_ABS_SURPRISE_CHEST_BU_GET = {            -- 补领未完成惊喜宝箱任务奖励
    {"day",         1,      "byte"},        -- 天数
    {"actId",       1,      "int"}          -- 活动ID 
}
------------惊喜宝箱------------
------------专属任务------------
ExclusiveTask = {                   -- 专属任务列表
    {"id",1,"int"},                 -- 任务id
    {"nowCnt",1,"int"},             -- 当前完成次数
    {"maxCnt",1,"int"},             -- 最大次数
    {"state",1,"byte"},             -- 任务状态
    {"desc",1,"string"},            -- 任务描述
    {"panelID",1,"int"},            -- 跳转页面
    {"item",5,ItemData},            -- 任务奖励
    {"addScoreCnt", 1, "int"},      -- 完成任务领取后可增加积分数量
}

ExclusiveTaskBox = {                -- 专属任务盒子列表
    {"id", 1, "byte"},              -- 宝箱id
    {"state", 1, "byte"},           -- 宝箱状态
    {"item",5,ItemData},            -- 奖励
    {"needCnt", 1, "int"},          -- 需要积分数量
}

GC_ABS_ACT_EXCLUSIVE_TASK_QUERY = { -- 发送专属任务数据
    {"taskList",20,ExclusiveTask},  -- 任务列表
    {"box",6,ExclusiveTaskBox},    -- 宝箱列表
    {"actId",       1,  "int"},      -- 活动ID 
    {"boxScore", 1, "int"},         -- 宝箱积分
    {"day",1,"byte"},                   -- 当前第几天
    {"buyItem", 1, BuyItem},        -- 购买道具
}

CG_ABS_ACT_GET_EXCLUSIVE_TASK_BOX = {-- 专属任务盒子奖励领取
    {"index",1,"int"},               -- 宝箱id   
    {"id",1,"int"},                  -- 活动id
}

CG_ABS_ACT_GET_EXCLUSIVE_TASK_TASK = {-- 专属任务奖励领取
    {"index",1,"int"},               -- 任务id
    {"id",1,"int"},                  -- 活动id
}
------------专属任务------------
--------------------------新英雄来袭------------------

------------国庆活动四个子活动---------------
--双倍充值活动

-- 七日狂欢活动
NdSevenDayNet = {
    {"day",1,"byte"},           --第几天
    {"item",5,ItemData},        -- 道具
    {"state",1,"byte"},         -- 状态 0 不可领 1 可领 2 已领取  同时代表红点 1 为亮
}

GC_ABS_ND_SEVEN_DAY_QUERY = {
    {"sevenDayList",7,NdSevenDayNet},
    {"day",1,"byte"},
}

CG_ABS_ND_SEVEN_DAY_GET = {
    {"day",         1,      "byte"},        -- 天数
    {"actId",       1,      "int"}               -- 活动ID 
}

-- 举国欢庆
NdTaskNet = {
    {"id",1,"byte"},        --任务id
    {"panelID",1,"int"},        -- 跳转页面
    {"name",1,"string"},        --任务描述
    {"desc",1,"string"},        --任务描述
    {"item",5,ItemData},        --任务奖励
    {"needCnt",1,"int"},       --需要次数
    {"nowCnt",1,"int"},        --当前次数
    {"state",1,"byte"},         --状态 0 未完成 1 已完成 2 已领取
}

NdTaskBoxNet = {
    {"id",1,"byte"},             --任务id
    {"item",5,ItemData},        --任务奖励
    {"needCnt",1,"int"},       --需要次数
    {"state",1,"byte"},         --状态 0 未完成 1 已完成 2 已领取
}

GC_ABS_ND_TASK_QUERY = {
    {"drumList",9,NdTaskNet},           -- 鼓
    {"blastingList",9,NdTaskNet},       -- 炮
    {"boxList",9,NdTaskBoxNet},         -- 宝箱
    {"blastingCnt",1,"int"},           -- 放炮次数
    {"day",1,"byte"},                   -- 当前第几天
    {"buyItem",1,BuyItem},              -- 购买信息 补领
}

CG_ABS_ND_DRUM_GET = {
    {"id",1,"byte"},             -- id
    {"type",1,"byte"},             -- 1 鼓 2炮 3 宝箱
    {"actId",       1,      "int"}               -- 活动ID 
}

-- 私人定制
NdCustomNet = {
    {"id",1,"int"},            -- id
    {"fixed",2,ItemData},       -- 固定道具
    {"buyItem",2,BuyItem},      -- 购买信息  由于需求文档中表示有可购买和免费两种，故用数组，方便不填数据
    {"first",15,ItemData},      -- 道具库1
    {"second",10,ItemData},     -- 道具库2
    {"third",10,ItemData},      -- 道具库3
    {"one",2,ItemData},         -- 道具1
    {"two",2,ItemData},         -- 道具2
    {"three",2,ItemData},       -- 道具3
    {"limitCnt",1,"byte"},      -- 限购次数
    {"nowCnt",1,"byte"},        -- 已购次数
    {"price",1,"int"},          -- 钻石价格
    {"state",1,"byte"},         -- 状态  0 前往自选 1 购买/领取  2 售罄
    {"name",1,"string"},        -- 礼包名字
}

GC_ABS_ND_CUSTOM_QUERY = {
    {"isEnd", 1 , "int"},    --  0表示还有数据，1表示数据已经发送完了
    {"giftList",5,NdCustomNet},
}

CG_ABS_ND_CUSTOM_CHOSE_ITEM = {
    {"id",1,"int"},         -- 活动id
    {"giftId",1,"int"},    -- 礼包id
    {"first",1,"byte"},     -- 道具库索引
    {"second",1,"byte"},    -- 道具库索引
    {"third",1,"byte"}      -- 道具库索引
}

GC_ABS_ND_CUSTOM_SELECT = {
    {"ret",1,"byte"},                           -- 0 选择失败 1 选择成功
}

CG_ABS_ND_CUSTOM_GET = {
    {"id",1,"int"},
    {"args",1,"int"},               -- 活动ID 
}

---------------国庆活动end-------------------

---------------合服活动----------------------
--秒杀礼包
HfSeckillGiftNet = {
    {"id",      1,      "int"},             -- id
    {"item",    12,      ItemData},          -- 道具
    {"buyItem", 1,      BuyItem},           -- 购买信息  
    {"price",   1,      "int"},             -- 原价
    {"state",   1,      "byte"},            -- 状态  1 可买  2 售罄
    {"name",    1,      "string"},          -- 礼包名字
}

GC_ABS_HF_SECKILL_GIFT_QUERY = {
    {"giftList",3,HfSeckillGiftNet},            -- 礼包列表
    {"oneKeyGift",2,HfSeckillGiftNet},          -- 一键购买对应礼包
}

-- 消费返利
HfUseDiamondNet = {
    {"id",      1,      "byte"},            -- id
    {"item",    5,      ItemData},          -- 固定道具
    {"state",   1,      "byte"},            -- 状态  0 千万 1 领取  2 已领取
    {"needUse", 1,      "int"},             -- 需要消耗多少钻石
    {"nowUse",  1,      "int"},             -- 当前消耗多少钻石
    {"desc",    1,      "string"},          -- 描述
}

GC_ABS_HF_USE_DIAMOND_QUERY = {
    {"backReward",      2,      HfUseDiamondNet},       -- 返利大奖
    {"useRewardList",   20,     HfUseDiamondNet},       -- 消费奖励
}

CG_ABS_HF_USE_DIAMOND_GET = {
    {"actId",1,"int"},              -- 活动id
    {"id",1,"byte"},                -- 领取id
}

-- 许愿圣杯
HfWishCupNet = {
    {"id",      1,      "byte"},
    {"item",    5,      ItemData},          -- 固定道具
    {"state",   1,      "byte"},            -- 0 未勾选  1 已勾选     2 未解锁       
    {"desc",    1,      "string"},          -- 文字描述
}

GC_ABS_HF_WISH_CUP_QUERY = {
    {"cupList",6,HfWishCupNet},
    {"state",1,"byte"},                 -- 0 未许愿  1 已许愿
}

-- 选择并许愿
CG_ABS_HF_WISH_CUP_SELECT = {
    {"actId",   1,  "int"},                 -- 活动id
    {"one",     1,  "byte"},                -- 传选择杯子的id
    {"two",     1,  "byte"},                -- 传选择杯子的id
    {"three",   1,  "byte"},                -- 传选择杯子的id
}

GC_ABS_HF_WISH_CUP_SELECT = {
    {"ret",1,"byte"},       --1 提交成功 0提交失败
}

---------------合服活动end-------------------

-------------- 限时活动1 --------------------
-- 达标活动（累计充值金额，累计召唤次数，凡是累计达成某一数值，给某种奖励的活动通用）
AbsDabiaoNet = {
    {"id",1,"int"},         -- id
    {"needCnt",1,"int"},    -- 总计需达到多少数值
    {"state",1,"byte"},     -- 状态 0 不可领 1 可领 2 已领取
    {"desc",1,"string"},    -- 描述
    {"item",5,ItemData},    -- 奖励
}

GC_ABS_XS_REACH_QUERY = {
    {"nowCnt",1,"int"},             -- 当前完成次数
    {"dabiaoList",20,AbsDabiaoNet},    -- 档位列表
}

CG_ABS_XS_REACH_GET = {
    {"actId",1,"int"},          -- 活动id
    {"id",1,"int"},             -- 档位id
}

-- 单次达标活动（单次达到某一数值活动，如单次充值达到多少金额，如单次消耗多少金币，如单次消耗多少钻石等通用）
SingleDabiaoNet = {
    {"id",1,"int"},         -- id
    {"limitCnt",1,"byte"},  -- 限购次数
    {"nowCnt",1,"byte"},    -- 已购次数
    {"desc",1,"string"},    -- 描述
    {"state",1,"byte"},     -- 状态 0 不可领 1 可领 2 已领取
    {"buyID",1,"int"},      -- 指定礼包
    {"item",5,ItemData},    -- 奖励
}

GC_ABS_XS_SINGLE_REACH_QUERY = {
    {"dabiaoList",20,SingleDabiaoNet},    -- 档位列表
}

CG_ABS_XS_SINGLE_REACH_GET = {
    {"actId",1,"int"},          -- 活动id
    {"id",1,"int"},             -- 档位id
}

-- 排行榜
RankListNet = {
    {"rank",1,"int"},           -- 排名
    {"maxRank",1,"int"},        -- 最大排名
    {"minRank",1,"int"},        -- 最小排名
    {"roleBase",2,RoleBase},    -- 个人信息
    {"desc",1,"string"},        -- 描述
    {"item",10,ItemData},       -- 奖励
    {"param",1,"int"},          -- 数值
}

GC_ABS_BILLBOARD_QUERY = {
    {"rankList",10,RankListNet},        -- 排名数据
    {"myRank",1,RankListNet},           -- 我的排名
    {"rewardList",10,RankListNet},      -- 奖励预览
    {"id",1,"int"}
}
---------------限时活动end ------------------

-- abs活动公共排行榜发送  现有:合服充值排行榜
AbsReachRankNet = {                          -- 排名信息
    {"rank",             1,          "int"},    -- 名次(-1未上榜)
    {"rankNeedValue",      1,        "int"},    -- 上榜条件值
    {"items",        5,         ItemData},      -- 排行名次奖励列表    
    {"uid",             1,          "string"},  -- 用户id(未上榜为"")
    {"name",            1,          "string"},  -- 角色名(未上榜为"")
    {"head",            1,          "int"},     -- 头像(未上榜为-1)  
    {"rankValue",        1,          "double"},    -- 当前排名值     
    {"headFrame",        1,          "int"},    -- 头像框(未上榜为-1)        
    {"lv",              1,          "int"},     -- 等级(未上榜为-1)    
}
AbsReachRankOnwerNet = {                        -- 我的信息
    {"rank",             1,          "int"},    -- 名次(-1未上榜)
    {"rankValue",        1,          "double"},    -- 当前排名值
    {"items",           5,         ItemData},   -- 档位奖励列表(未上榜没有奖励) 
}
AbsReachRankTypeNet = {
    {"funcRankType", 1, "byte"},                -- 活动下某个排行类型(1每日排名,2累计排名,3 冰龙)
    {"leftTime",     1, "int"},                 -- 结算剩余时间
    {"list",    10,  AbsReachRankNet},          -- 排名信息
    {"onwerData",1,  AbsReachRankOnwerNet},     -- 我的信息
}
GC_ABS_REACH_RANK_QUERY = {                     -- 发送abs公共排行榜信息                     
    {"actId",   1,  "int"},                     -- 活动id
    {"list",    2,  AbsReachRankTypeNet},       -- 活动类型下多个排名数据
}

CG_ABS_REACH_RANK_REWARD_QUERY = {              -- 请求ABS公共排名活动发送详情
    {"actId",   1,  "int"},                     -- 活动id
    {"funcRankType", 1, "byte"},                -- 活动下某个排行类型(1每日排名,2累计排名)
}
AbsReachRankRewardNet = {                       -- 奖励详情列表
    {"minRank",             1,          "int"}, -- 最小排名
    {"maxRank",             1,          "int"}, -- 最大排名
    {"rankNeedValue",      1,        "int"},    -- 上榜条件值
    {"items",           5,         ItemData},   -- 档位区间奖励列表
} 
GC_ABS_REACH_RANK_REWARD_QUERY = {              -- 发送ABS公共排名活动发送详情
    {"actId",   1,  "int"},                     -- 活动id
    {"funcRankType", 1, "byte"},                -- 活动下某个排行类型(1每日排名,2累计排名)
    {"list", 11, AbsReachRankRewardNet},        -- 奖励详情列表
}

GC_ABS_ICE_DRAGON_RANK_QUERY = {
  --  {"actId",   1,  "int"},                     -- 活动id
    {"list",    2,  AbsReachRankTypeNet},       -- 活动类型下多个排名数据
}
---------------合服活动end-------------------

-----------新增开服活动------------
AbsOpenServerTConsumeList = {
    {"id",              1,          "int"},     -- 档位id
    {"items",           5,          ItemData},  -- 此档位领取奖励列表
    {"needConsume",     1,          "int"},     -- 需要消耗数
    {"state",           1,          "byte"},    -- 此档位领取状态 (0不可领取,1可领,2已领)    
}
GC_ABS_OPEN_SERVER_REACH_QUERY = {       
    {"funcID",           1,          "int"},    -- 活动id
    {"type",            1,          "byte"},    -- 类型 1 钻石消耗   2 招募达标  3战力冲刺 
    {"value", 1, "int"},                        -- 达到的值
    {"list",  9, AbsOpenServerTConsumeList},    -- 档位列表信息  
    {"leftTime",    1,      "int"},             -- 剩余时间      
} 
CG_ABS_OPEN_SERVER_REACH_GET = {                    -- 累计活动档位领取
    {"funcID",           1,          "int"},    -- 活动id
    {"id",              1,          "int"},     -- 档位id
}
-----------新增开服活动------------


---------------感恩节活动-------------------
DailyFixedTaskNet = {
    {"item",5,ItemData},    -- 道具
    {"state",1,"byte"},     -- 状态 0 未完成  1 可领取 2 已领取
    {"needCnt",1,"int"},    -- 需要完成数量
    {"nowCnt",1,"int"},     -- 当前完成数量
    {"desc",1,"string"},    -- 描述
    {"day",1,"byte"},       -- 第几天
    {"giftId",1,"int"},     -- 奖励id
}

GC_ABS_DAILY_FIXED_TASK_QUERY = {
    {"netList",5,DailyFixedTaskNet}
}

CG_ABS_DAILY_FIXED_TASK_GET = {
    {"actId",1,"int"},
    {"giftId",1,"int"}
}

FSDCardItem = {
    {"item",10,ItemData},       -- 每天道具
}

FestvialSevenDayCardNet = {
    {"dayItem",7,FSDCardItem},      -- 道具
    {"buyItem",1,BuyItem},          -- 购买信息
    {"state",1,"byte"},             -- 
}

GC_ABS_FESTVIAL_SEVENDAY_CARD_QUERY = {
    {"netList",5,FestvialSevenDayCardNet}
}

---------------感恩节活动end----------------

-----------元宵节活动Start------------
valentineDayNet = {
    {"id", 1, "int"},               -- 活动id
    {"funcID", 1, "int"},           -- funcId
    {"day", 1, "int"},              -- 第几天
    {"signItems", 5, ItemData},     -- 签到奖励
    {"signStatus", 1, "byte"},      -- 签到奖励领取状态 0未签到，1已签到，2不可签到
    {"giftItems", 10, ItemData},    -- 专属奖励
    {"giftStatus", 1, "byte"},      -- 专属奖励领取状态 0未签到，1已签到，2不可签到
}

GC_ABS_SIGNGIFT_QUERY = {
    {"buyStatus", 1, "int"},        -- 礼包购买状态
    {"list", 3, valentineDayNet},
    {"buyItem", 1,  BuyItem},       --礼包的价格
    {"curDay", 1, "byte"},           --当前第几天
}

CG_ABS_SIGNGIFT_REWARD = {
    {"id",      1,  "int"},     -- 活动id
    {"funcID",  1,  "int"},     --礼包ID
    {"type",    1, "byte"},     --礼包类型 1签到礼包 2专属礼包
}

-----------元宵节活动End------------

-----------新英雄抽卡------------
NewHeroGift = {
    {"id",		    1, "int" },       -- 礼包ID
    {"item",	    5, ItemData},    -- 礼包包含物品
    {"cnt",		    1, "byte"},      -- 已购买次数
    {"maxCnt",      1, "byte"},       -- 最大购买次数
    {"buyMsg",	    2, BuyItem},      -- buyID
}

GC_ABS_NEWHERO = {
    {"id",              1,  "int"},         -- 英雄id
    {"startTime",       1,  "int"},         -- 开启时间
    {"endTime",         1,  "int"},         -- 结束时间
    {"giftlist",        14,  NewHeroGift},   -- 礼包列表
}

CG_ABS_NEWHERO_BUYGIFT = {
    {"id",			1,"int"},                -- 礼包ID
}


-------------------古玉充能-------------------------
COMMON_DATA = {
    {"lottery1cost",              1,  ItemData},         -- 抽奖一次消耗
    {"lottery10cost",             1,  ItemData},         -- 抽奖十次消耗
    {"points",                    1,  "int"},            -- 累积积分
    {"maxPoints",                 1,  "int"},            -- 显示的最大积分
    {"prizePoolData",             20,  ItemData},        --奖池数据
}

SPECIAL_DATA = {
    {"lotteryTimes",              1,  "int"},         -- 可抽奖次数
    {"prizePoolData",             20,  ItemData},     -- 奖池数据
}


--查询返回协议
GC_LOTTERYBYDIAMONDS_QUERY = {
    {"comLotteryData",         1,  COMMON_DATA},         -- 普通抽奖
    {"speLotteryData",         1,  SPECIAL_DATA},        -- 稀有抽奖
}

--抽奖
CG_LOTTERYBYDIAMONDS_LOTTERY = {
    {"type",            1,  "byte"},    --抽奖, 1-普通奖池抽1次，2-普通奖池抽10次，3-特殊奖池抽一次
    {"id",			    1,  "int"},     -- 活动ID
}

--抽奖返回协议
GC_LOTTERYBYDIAMONDS_LOTTERY = {
    {"points",                    1,  "int"},         -- 普通奖池累积积分
    {"lotteryTimes",              1,  "int"},         -- 稀有奖池可抽奖次数
    {"lottery1cost",              1,  ItemData},      -- 普通奖池抽奖一次消耗
}



----------------------------夺宝奇兵--------------------------------------------
AWARD_INFO = {
    {"item",              1,  ItemData},        -- 道具数据
    {"isGet",			  1,  "byte"},          -- 是否已经抽中, 0-未抽中, 1-已抽中
    {"poolType",		  1,  "byte"},          -- 所属奖池，1-奖池1, 2-奖池2... 以此类推
    {"index",		      1,  "byte"},          -- key
}
--查询返回协议
GC_DBQB_QUERY = {
    {"isFreeReset",             1,      "byte"},             -- 是否可以免费重置标识, 0-不可以，1-可以
    {"isStart",                 1,      "byte"},             -- 是否开始游戏, 0-没有，1-已经开始
    {"isTips",                 1,       "byte"},             -- 是否提示, 0-不提示，1-提示
    {"isFree",                 1,       "byte"},             -- 是否免费, 0-不免费，1-免费
    {"lotteryCost",             1,       ItemData},          -- 单抽消耗
    {"resetCost",               1,       ItemData},          -- 重置消耗
    {"awardPoolData",           45,      AWARD_INFO},        -- 奖池数据
}

--抽奖
CG_DBQB_LOTTERY = {
    {"id",			    1,  "int"},     -- 活动ID
    {"pos",            1,  "byte"},    --位置
}

GC_DBQB_LOTTERY = {
    {"isFreeReset",             1,      "byte"},             -- 是否可以免费重置标识, 0-不可以，1-可以
    {"isFree",                 1,       "byte"},             -- 是否可以免费抽奖, 0-不免费，1-免费
    {"posInfo",                 1,      AWARD_INFO},          -- 单个奖励数据
}



--重置奖池
CG_DBQB_RESET = {
    {"id",			    1,      "int"},         -- 活动ID
    {"type",            1,      "byte"},        --重置类型, 1-免费重置, 2-消耗钻石重置
}

GC_DBQB_RESET = {
    {"isFreeReset",             1,      "byte"},             -- 是否可以免费重置标识, 0-不可以，1-可以
    {"isStart",                 1,      "byte"},             -- 是否开始游戏, 0-没有，1-已经开始
    {"awardPoolData",           45,      AWARD_INFO},        -- 奖池数据
}

--点击开始游戏
CG_DBQB_START_GAME = {
    {"id",			    1,      "int"},         -- 活动ID
}

GC_DBQB_START_GAME = {
    {"isStart",         1,      "byte"},        -- 是否开始游戏, 0-没有，1-已经开始
}


--提示
CG_DBQB_TIPS = {
    {"id",			    1,      "int"},         -- 活动ID
}

GC_DBQB_TIPS = {
    {"isTips",                 1,       "byte"},             -- 是否提示, 0-不提示，1-提示
}


-----------------------------------------------------新的商业化活动-----------------------------------------------------

---------------------登录豪礼------------------
DAY_REWARD_INFO = {
    {"day",                             1,       "byte"},              -- 天数
    {"state",                           1,       "byte"},              -- 是否已经领取, 0-不能领取，1-可领取，2-已领取
    {"rewardInfo",                      4,       ItemData},            -- 奖励信息
}

--查询返回协议
GC_LOGINREWARD_QUERY = {
    {"dayRewardData",                   7,       DAY_REWARD_INFO},      --登录豪礼奖励相关数据
}

--请求领奖协议
CG_LOGINREWARD_GET_REWARD = {
    {"id",			                    1,      "int"},                 -- 活动ID
    {"day",                             1,       "byte"},               -- 领取第几天的奖励
}

---------------------特价商店------------------
ITEM_INFO = {
    {"maxBuyCnt",                       1,       "int"},              -- 商品最大购买次数
    {"nowBuyCnt",                       1,       "int"},              -- 商品已经购买次数
    {"item",                            1,       ItemData},           -- 商品信息
    {"currencyInfo",                    1,      ItemData},            -- 购买所需货币信息
    {"idx",			                    1,      "byte"},              -- 商品索引
}

--查询返回协议
GC_DISCOUNTSTORE_QUERY = {
    {"isBuy",			                1,      "byte"},              --发数据时机, 0-正常查询 1-购买后
    {"itemVec",                         25,       ITEM_INFO},         --所有商品数据
}

--购买请求协议
CG_DISCOUNTSTORE_BUY = {
    {"id",			                    1,      "int"},               -- 活动ID
    {"idx",                             1,       "byte"},             -- 商品索引
    {"buyCnt",                          1,       "int"},              --购买的份数
}


---------------------超值豪礼------------------
TASK_INFO = {
    {"award",                           4,       ItemData},           -- 奖励信息
    {"state",                           1,       "byte"},             -- 状态, 0-不可领取， 1-可领取，2-已领取
    {"idx",			                    1,       "byte"},             -- 任务索引
    {"taskDesc",			            1,       "string"},           -- 任务描述
    {"taskMaxProgress",			        1,       "int"},              -- 任务所需进度
    {"taskNowProgress",			        1,       "int"},              -- 任务当前进度
    {"buyMsg",			                1,       BuyItem},            -- 购买项信息
    {"buyState",			            1,       "byte"},             --购买状态
}

--查询请求
CG_EXCELLENTGIFT_QUERY = {
    {"id",			                    1,      "int"},               -- 活动ID
    {"page",                            1,       "byte"},             -- 分页, 1-免费，2-30...
}

--查询返回协议
GC_EXCELLENTGIFT_QUERY = {
    {"taskList",                        10,       TASK_INFO},          --所有任务数据
    {"finishTaskCost",                   1,       ItemData},
    {"redDotList",                       7,       "byte"},
}

--请求领奖协议
CG_EXCELLENTGIFT_GET_REWARD = {
    {"id",			                    1,      "int"},                 -- 活动ID
    {"taskIdx",                         1,       "byte"},               -- 任务索引
    {"page",                            1,       "byte"},             -- 分页, 1-免费，2-30...
}


--请求通过消耗古玉完成任务
CG_EXCELLENTGIFT_FINISH_TASK = {
    {"id",			                    1,      "int"},                 -- 活动ID
    {"taskIdx",                         1,       "byte"},               -- 任务索引
    {"page",                            1,       "byte"},             -- 分页, 1-免费，2-30...
}

---------------------秘境翻牌------------------
REAWARD_INFO = {
    {"item",                            1,       ItemData},            -- 奖励信息
    {"getState",                        1,       "byte"},              -- 获得状态，1-已经获得,0-未获得
    {"idx",			                    1,      "byte"},               -- 奖励索引
}


--查询返回协议
GC_LOTTERYCARD_QUERY = {
    {"normalAwardInfo",                 16,      REAWARD_INFO},          --普通奖励数据
    {"lineAwardInfo",                   4,       REAWARD_INFO},          --横排(上方)大奖数据
    {"rowAwardInfo",                    4,       REAWARD_INFO},          --竖排(右边)大奖数据
    {"freeCnt",                         1,       "byte"},                --当日免费抽取次数，为0时表示没有，为其他表示可以免费抽取一次
    {"lottery1Spend",                   1,       ItemData},              --单抽所需要的道具
    {"lottery10Spend",                  1,       ItemData},              --十连所需要的道具
    {"resetSpend",                      1,       ItemData},              --重置奖励消耗的道具
}

--请求抽奖
CG_LOTTERYCARD_LOTTERY = {
    {"id",			                    1,      "int"},                 -- 活动ID
    {"lotteryCnt",                      1,      "byte"},                -- 抽取次数, 1-为单抽, 10-为十连
}


--抽奖返回协议
GC_LOTTERYCARD_LOTTERY = {
    {"normalAwardInfo",                 10,      REAWARD_INFO},         --普通奖励数据
    {"lineAwardInfo",                   4,       REAWARD_INFO},         --横排(上方)大奖数据
    {"rowAwardInfo",                    4,       REAWARD_INFO},         --竖排(右边)大奖数据
    {"freeCnt",                         1,       "byte"},               --当日免费抽取次数，为0时表示没有，为其他表示可以免费抽取一次
    {"isRepeat",                        1,       "byte"},               --是否抽中重复的牌, 0-没有，1-有
}

--重置
CG_LOTTERYCARD_RESET = {
    {"id",			                    1,      "int"},                 -- 活动ID
}

--重置
GC_LOTTERYCARD_RESET = {
    {"normalAwardInfo",                 16,      REAWARD_INFO},         --普通奖励数据
    {"lineAwardInfo",                   4,       REAWARD_INFO},         --横排(上方)大奖数据
    {"rowAwardInfo",                    4,       REAWARD_INFO},         --竖排(右边)大奖数据
    {"isActive",                        1,       "byte"},               --是否主动重置，1-是，0-否
}

---------------------新商业活动1-每日任务------------------
BUSONEACTTASK = {
    {"nID",                             1,      "int"},     -- 任务ID
    {"szDes",                           1,      "string"},  -- 任务描述
    {"nStatus",                         1,      "byte"},    -- 任务状态
    {"nNowFinishNum",                   1,      "int"},     -- 当前完成次数
    {"nNeedFinishNum",                  1,      "int"},     -- 需要完成次数
    {"tPrize",                          5,      ItemData},  -- 奖励
}

-- 请求任务数据
CG_NEW_BUSONEACT_TASK_QUERY = {}

-- 回复 
GC_NEW_BUSONEACT_TASK_QUERY = {
    {"tTaskList",                       5,      BUSONEACTTASK},
}

-- 请求领取任务奖励
CG_NEW_BUSONEACT_TASK_GET = {}

-- 下发红点
GC_NEW_BUSONEACT_SEND_RED = {
    {"tListRed",                       5,       "byte"},        -- 红点
}

---------------------新商业活动1-超值大礼-------------------
BUSONEACTBUY = {
    {"nID",                             1,      "int"},     -- 任务ID
    {"nStatus",                         1,      "byte"},    -- 状态
    {"tPrize",                          7,      ItemData},  -- 奖励
    {"nNowBuyNum",                      1,      "int"},     -- 当前购买次数
    {"nBuyNum",                         1,      "int"},     -- 可购买次数
    {"nType",                           1,      "byte"},    -- 类型
    {"tBuyItem",                        1,      BuyItem}    -- 购买信息
}

-- 请求购买礼包
CG_NEW_BUSONEACT_BUY_QUERY = {}

--回复购买礼包数据
GC_NEW_BUSONEACT_BUY_QUERY = {
    {"tList",       10,         BUSONEACTBUY}
}

-- 购买钻石礼包
CG_NEW_BUSONEACT_BUY_BUYFREE = {
    {"nID",         1,          "int"}
}

-- 请求领取礼包
CG_NEW_BUSONEACT_BUY_GET = {}

---------------------新商业活动1-远征豪礼-------------------
BUSONEACTYUANZHENG = {
    {"nID",                             1,      "int"},     -- 任务ID
    {"nFreeStatus",                     1,      "byte"},    -- 免费礼包状态
    {"nPayStatus",                      1,      "byte"},    -- 付费礼包状态
    {"nFinishNum",                      1,      "int"},     -- 完成次数
    {"nNeedNum",                        1,      "int"},     -- 需要完成次数
    {"bBuy",                            1,      "byte"},    -- 是否购买 0 未 1 购买
    {"tBuyItem",                        1,      BuyItem},    -- 购买信息
    {"tFreePrize",                      5,      ItemData},  -- 免费奖励
    {"tPayPrize",                       5,      ItemData},  -- 免费奖励
}

-- 请求远征豪礼
CG_NEW_BUSONEACT_YUANZHENG_QUERY = {}


-- 回复远征豪礼
GC_NEW_BUSONEACT_YUANZHENG_QUERY = {
    {"tList",       20,     BUSONEACTYUANZHENG}
}

-- 请求领取远征豪礼
CG_NEW_BUSONEACT_YUANZHENG_GET = {}

---------------------新商业活动1-英雄远征-------------------
-- 层数信息
BUSONEACTHEROCHENGSHU = {
    {"nLayers",     1,      "byte"},    -- 层数
    {"nStatus",     1,      "byte"},    -- 状态
    {"tPrize",      5,      ItemData},  -- 奖励
}

-- 请求英雄远征
CG_NEW_BUSONEACT_HERO_QUERY = {}

-- 回复英雄远征
GC_NEW_BUSONEACT_HERO_QUERY = {
    {"bCanDo",      1,      "byte"},    -- 1 可 0 否
    {"tFenShu",     6,      "int"},     -- 分数
    {"nRound",      1,      "byte"},    -- 当前轮数
    {"nLayers",     1,      "byte"},    -- 当前层数
    {"tLayersInfo", 7,       BUSONEACTHEROCHENGSHU}
}

-- 请求参与
CG_NEW_BUSONEACT_HERO_JOIN = {}

-- 回复参与
GC_NEW_BUSONEACT_HERO_JOIN = {
    {"nFenShu",     1,      "int"},     -- 选择的分数
    {"nLayers",     1,      "byte"},    -- 当前层数
    {"tLayersInfo", 7,       BUSONEACTHEROCHENGSHU}
}

-- 请求抽取
CG_NEW_BUSONEACT_HERO_DO = {
    {"nOperate",    1,      "byte"},    -- 1 正常抽取 2 保护抽取
}

-- 回复抽取
GC_NEW_BUSONEACT_HERO_DO = {
    {"nOperate",    1,      "byte"},    -- 1 正常抽取 2 保护抽取
    {"bCanDo",      1,      "byte"},    -- 1 可 0 否
    {"nFenShu",     1,      "int"},     -- 选择的分数
    {"nRound",      1,      "byte"},    -- 当前轮数
    {"nLayers",     1,      "byte"},    -- 当前层数
    {"tLayersInfo", 7,       BUSONEACTHEROCHENGSHU}
}

-- -- 请求领取奖励
CG_NEW_BUSONEACT_HERO_GET = {
    {"nLayers",     1,      "byte"},    -- 选择的层数
    {"nIndex",      1,      "byte"},    -- 选择的物品ID
}


---------------------------------新商业活动2-7日任务--------------------------------

TASKINFO = {
    {"taskIdx",              1,      "int"},     -- 任务在配置中的索引
    {"taskDesc",             1,      "string"},  -- 任务描述
    {"taskState",            1,      "byte"},    -- 任务状态, 0-未完成, 1-可领取, 2-已领取
    {"taskNowProgress",      1,      "int"},     -- 当前进度
    {"taskCondProgress",     1,      "int"},     -- 任务条件进度
    {"taskRewardList",       3,      ItemData},  -- 奖励
}

EXTRAREWARDINFO = {
    {"condProgress",      1,      "int"},     -- 条件进度
    {"state",             1,      "byte"},    -- 状态, 0-未完成, 1-可领取, 2-已领取
    {"itemInfo",          1,      ItemData},  -- 奖励
}


-- 查询
CG_CYCLESEVENDAYTASK_QUERY = {
    {"dayIdx",      1,      "byte"},    -- 查询第几天的任务
}

GC_CYCLESEVENDAYTASK_QUERY = {
    {"dayIdx",              1,      "byte"},            -- 查询第几天的任务
    {"taskList",            10,      TASKINFO},         -- 任务列表
    {"completeTaskNum",     1,      "int"},             -- 当前已完成任务数量
    {"extraRewardList",     5,      EXTRAREWARDINFO},   -- 额外奖励
    {"redDotArray",         7,      "byte"},            -- 红点数组，索引对应天数, 值为红点标识(1-有红点, 0-没有)
    {"openDay",             1,      "byte"},            -- 活动已经开启多少天
}

--领奖
CG_CYCLESEVENDAYTASK_GET_REWARD = {
    {"idx",             1,      "int"},     -- 当领取任务奖励时, idx为第几天
    {"rewardType",      1,      "byte"},    -- 奖励类型, 1-任务奖励, 2-额外奖励 
}

----------------------------------------------------------------------------------



---------------------------------新商业活动2-英雄赠礼-------------------------------
GIFT_INFO = {
    {"state",             1,      "byte"},    -- 状态, 0-未完成, 1-可领取, 2-已领取， 3-未解锁
    {"buyMsg",			  1,       BuyItem},  -- 购买项信息
    {"itemList",          2,      ItemData},  -- 奖励
}

-- 查询
CG_CYCLHEROSENDGIFT_QUERY = {
    {"actId",                           1,      "int"},              -- 活动ID
}

GC_CYCLHEROSENDGIFT_QUERY = {
    {"gridList",                 30,      GIFT_INFO},
}

-- 领奖
CG_CYCLHEROSENDGIFT_GET_REWARD = {
    {"actId",                           1,      "int"},              -- 活动ID
}

----------------------------------------------------------------------------------




------------------------------------新商业活动2-6元闯关-------------------------------

POSINFO = {
    {"rewardList",      3,      ItemData},  -- 奖励
}

-- 查询
CG_CYCLEBREAKTHROUGH_QUERY = {
    {"actId",                           1,      "int"},              -- 活动ID
}

GC_CYCLEBREAKTHROUGH_QUERY = {
    {"state",                           1,      "byte"},              -- 状态, 0-不可参与, 1-可参与
    {"buyMsg",			                1,       BuyItem},            -- 购买项信息
    {"gridList",			            10,      POSINFO},            -- 格子数据
    {"maxDailyBuyCnt",                  1,      "int"},              -- 每日最大购买次数
    {"nowDailyBuyCnt",                  1,      "int"},              -- 当日已购买次数
}

-- 随机
CG_CYCLEBREAKTHROUGH_RAND = {
    {"actId",                           1,      "int"},              -- 活动ID
}
GC_CYCLEBREAKTHROUGH_RAND = {
    {"state",                           1,      "byte"},            -- 状态, 0-不可参与, 1-可
    {"randVal",                         1,      "byte"},            -- 随机结果
    {"itemArray",                       30,      ItemData},         -- 奖励
}


----------------------------------------------------------------------------------


------------------------------------新商业活动2-烹饪嘉年华-------------------------------

STARFOOD_INFO = {
    {"tagetFoodName",     1,            "string"},
    {"foodArray",         5,            "string"},
}


-- 查询
CG_CYCLMAKEFOOD_QUERY = {
    {"actId",                           1,      "int"},              -- 活动ID
}

GC_CYCLMAKEFOOD_QUERY = {
    {"foodList",          9,            "string"},  -- 材料列表
    {"tagetFoodName",     1,            "string"},
    {"itemInfo",          1,            ItemData},  -- 消耗道具
    {"isTenTimes",        1,            "byte"},    -- 是否选择10倍消耗, 0-没有, 1-选定了
}

-- 烹饪(合成食物)
CG_CYCLMAKEFOOD_MAKEFOOD = {
    {"actId",                       1,      "int"},     -- 活动ID
    {"foodStr",                    1,      "string"},  -- 选择的材料, 格式: "材料编号, 材料编号"
}

GC_CYCLMAKEFOOD_MAKEFOOD = {
    {"stars",                        1,      "byte"},              -- 合成食物星级
    {"itemArray",                    5,      ItemData},            -- 奖励
}

-- 获取制作成的五星级食物列表
CG_CYCLMAKEFOOD_GET_5STARfOODLIST = {
    {"actId",                       1,      "int"},     -- 活动ID
}

GC_CYCLMAKEFOOD_GET_5STARfOODLIST = {
    {"foodList",                    50,      STARFOOD_INFO},     -- 制作成功的五星食物列表
    {"isEnd",                       1,      "byte"},            -- 分段标识，0-没有发完，1-发完
}

-- 选择/取消  10倍消耗
CG_CYCLMAKEFOOD_SELECT_MUL = {
    {"actId",                       1,      "int"},     -- 活动ID
    {"opType",                      1,      "byte"},     -- 操作类型, 0-取消10倍消耗, 1-选择10倍消耗
}

-------------------------------------------------------------------------------------

---------------------新商业活动3-七日挑战-------------------
TaskInfo = {
    {"nID",             1,      "int"},         -- 任务编号
    {"nState",          1,      "byte"},        -- 0 不可领取 1 - 可领取 2- 已领取
    {"nDay",            1,      "byte"},        -- 天数
    {"nValue",          1,      "int"},         -- 任务需要完成次数
    -- {"nPoint",          1,      "byte"},        -- 完成获得积分
    {"Desc",            1,      "string"},      -- 任务描述
    {"nFinish",         1,      "int"},         -- 当前完成次数
    {"item",            5,      ItemData},      -- 奖励信息
}

TaskPointInfo = {
    {"nID",             1,      "int"},         -- 积分奖励ID
    {"nNeedPoint",      1,      "int"},         -- 需要积分
    {"nState",          1,      "byte"},        -- 0 不可领取 1 - 可领取 2- 已领取
    {"item",            5,      ItemData},      -- 奖励信息
}

-- 请求结任务信息
CG_NEW_BUSTHREEACT_TASKQUERY = {
    {"nDay",            1,      "int"},     
}

-- 任务信息回复协议
GC_NEW_BUSTHREEACT_TASKQUERY = 
{
    {"nDay",        1,    "int"},           -- 天数
    {"nNowPoint",   1,    "int"},           -- 当前积分
    {"nNowDay",     1,    "int"},           -- 当前是第几天
    {"list",        15,   TaskInfo},        -- 奖励信息
    {"tRed",        8,     "byte"},         -- 天数红点 0 没有 1有
}

-- 请求领取任务奖励 
CG_NEW_BUSTHREEACT_GETTASKPRIZE = 
{
   {"nDay",         1,     "int"},          -- 天数
}

-- 请求任务积分信息
CG_NEW_BUSTHREEACT_TASKPOINTQUERY = {
}

-- 请求任务积分信息回包
GC_NEW_BUSTHREEACT_TASKPOINTQUERY = 
{
    {"nNowPoint",   1,      "int"},         -- 当前积分
    {"listPoint",   8,    TaskPointInfo}    -- 积分信息
}

-- 领取任务积分奖励
CG_NEW_BUSTHREEACT_GETTASKPOINTPRIZE = {}

---------------------新商业活动3-天选兑换-------------------
-- 查询商品数据
CG_NEW_BUSTHREEACT_DISQUERY = {}

--查询返回协议
GC_NEW_BUSTHREEACT_DISQUERY = {
    {"titemData",                         25,       ITEM_INFO},         --所有商品数据
}

--购买请求协议
CG_NEW_BUSTHREEACT_DISBUY = {
    {"id",			                    1,      "int"},               -- 活动ID
    {"idx",                             1,       "byte"},             -- 商品索引
    {"buyCnt",                          1,       "int"},              --购买的份数
}

---------------------新商业活动3-天选豪礼-------------------
-- 请求天选豪礼
CG_NEW_BUSTHREEACT_GRANDGIFT_QUERY = {}


-- 回复天选豪礼
GC_NEW_BUSTHREEACT_GRANDGIFT_QUERY = {
    {"tList",       20,     BUSONEACTYUANZHENG}
}

-- 请求领取天选豪礼
CG_NEW_BUSTHREEACT_GRANDGIFT_GET = {}

---------------------新商业活动3-天选骰子-------------------
DICEPRIZE = {
    {"tPoint",      1,      "string"},    -- 1|2|3
    {"titemData",   5,      ItemData},  -- 对应的奖励配置
}
-- 抽取
CG_NEW_BUSTHREEACT_DICEDO = {
    {"nNum",        1,      "byte"},    -- 次数
}

-- 奖励回复
GC_NEW_BUSTHREEACT_DICEDO = {
    {"tPrize",      10,     DICEPRIZE},     -- 奖励配置
}

---------------------节日活动 - 个人BOSS -------------------
BOSSPRIZEINFO = {
    {"nID",         1,      "int"},         -- 奖励ID
    {"nHarm",       1,      "double"},      -- 伤害值
    {"nState",      1,      "byte"},        -- 0 不可领取 1 - 可领取 2- 已领取
    {"tPrize",      5,      ItemData},      -- 奖励信息
}

-- 请求个人BOSS主界面数据
CG_ABS_FESTIVAL_BOSS_QUERY = {}

-- 回复个人BOSS主界面数据
GC_ABS_FESTIVAL_BOSS_QUERY = {
    {"nNum",        1,      "byte"},        -- 挑战次数
    {"nMaxNum",     1,      "byte"},        -- 最大挑战次数
    {"bRedPrize",   1,      "byte"},        -- 是否有奖励红点
    {"nHarm",       1,      "double"},      -- 当前伤害
}

-- 请求奖励信息
CG_ABS_FESTIVAL_BOSS_REWARD = {}

-- 回复奖励信息
GC_ABS_FESTIVAL_BOSS_REWARD = {
    {"tPrize",      30,     BOSSPRIZEINFO},      -- 奖励信息
}

-- 领取奖励
CG_ABS_FESTIVAL_BOSS_GET = {}

---------------------节日活动 - 商店 -------------------
-- 请求商店数据
CG_ABS_FESTIVAL_SHOP_QUERY = {}

-- 回复商店数据
GC_ABS_FESTIVAL_SHOP_QUERY = {
    {"tGoodInfo",   70,      GOODS},         -- 物品信息
}

-- 购买物品
CG_ABS_FESTIVAL_SHOP_BUY = {
    {"nID",         1,      "int"},         -- 物品ID
    {"nCnt",        1,      "int"},         -- 购买数量
}

---------------------节日活动 - 限时累充 -------------------
FESTIVALRECHARGEINFO = {
    {"nID",         1,      "int"},         -- 奖励ID
    {"nState",      1,      "byte"},        -- 0 不可领取 1 - 可领取 2- 已领取
    {"nNeedCharge", 1,      "int"},         -- 需要充值金额
    {"tPrize",      5,      ItemData},      -- 奖励信息
}

-- 请求累充数据
CG_ABS_FESTIVAL_RECHARGE_QUERY = {}

-- 回复累充数据
GC_ABS_FESTIVAL_RECHARGE_QUERY = {
    {"nNowCharge",  1,      "int"},         -- 当前充值金额
    {"tPrize",      30,     FESTIVALRECHARGEINFO},      -- 奖励信息
}

-- 领取奖励
CG_ABS_FESTIVAL_RECHARGE_GET = {
    {"nID",         1,      "int"},         -- 奖励ID
}

---------------------节日活动 - 限时寻宝 -------------------
FESTIVALSEVENDAYCARD = {
    {"nID",         1,      "int"},         -- 奖励ID
    {"nRare",       1,      "byte"},        -- 稀有度 0-普通 1-稀有 2-史诗
    {"tPrize",      1,      ItemData},      -- 奖励信息
}

-- 请求限时寻宝数据
CG_ABS_FESTIVAL_SEVENDAY_CARD_QUERY = {}

-- 回复限时寻宝数据
GC_ABS_FESTIVAL_SEVENDAY_CARD_QUERY = {
    {"nFreeNum",   1,      "int"},        -- 当前免费次数
    {"nNowNum",   1,      "int"},         -- 当前抽取次数
    {"nMaxNum",   1,      "int"},         -- 保底次数
    {"tUseItem", 1,      ItemData},      -- 抽取消耗道具
    {"tPrize",    25,     FESTIVALSEVENDAYCARD},      -- 奖励信息
}

-- 抽取
CG_ABS_FESTIVAL_SEVENDAY_CARD_DO = {
    {"nType",       1,      "byte"},        -- 抽取类型 1-单抽 2-十连
}


---------------------节日活动 - 登录豪礼 -------------------

COMONACT_LOGINGIFT_INFO = {
    {"reward",          2,      ItemData},      -- 奖励信息
    {"reallyDays",      1,      "short"},       -- 第几天
    {"rewardState",     1,      "byte"},        -- 奖励状态, 0-不可领, 1-可领, 2-已领
    {"buyMsg",	        1,      BuyItem},       -- buyID
    {"giftType",        1,      "byte"},        -- 礼包类型, 1-登录豪礼, 2-68礼包, 3-128礼包, 4-328礼包, 5-648礼包
}

-- 查询
CG_ABS_COMONACT_LOGINGIFT_QUERY = {}
GC_ABS_COMONACT_LOGINGIFT_QUERY = {
    {"giftDatafree",    5,     COMONACT_LOGINGIFT_INFO},      -- 奖励信息
    {"giftData68",      5,     COMONACT_LOGINGIFT_INFO},      -- 奖励信息
    {"giftData128",     5,     COMONACT_LOGINGIFT_INFO},      -- 奖励信息
    {"giftData328",     5,     COMONACT_LOGINGIFT_INFO},      -- 奖励信息
    {"giftData648",     5,     COMONACT_LOGINGIFT_INFO},      -- 奖励信息
    {"isEnd",           1,      "byte"},                      -- 是否发完数据, 0-否, 1-是
    {"isStart",         1,      "byte"},                      -- 是否是第一段数据, 0-否, 1-是
    {"buyGiftType",     1,      "byte"},                      -- 当前已购买礼包类型, 0-没有购买过,2-68礼包, 3-128礼包, 4-328礼包, 5-648礼包
}

-- 领奖
CG_ABS_COMONACT_LOGINGIFT_GET_REWARD= {
    {"giftType",        1,      "byte"},        -- 礼包类型, 1-登录豪礼, 2-68礼包, 3-128礼包, 4-328礼包, 5-648礼包
}


---------------------节日活动 - 摇钱树 -------------------

-- 查询
CG_ABS_COMONACT_MONEYTREE_QUERY = {}
GC_ABS_COMONACT_MONEYTREE_QUERY = {
    {"rewardBasket",        20,      ItemData},      -- 篮子中道具
    {"weighMax",            1,      "short"},        -- 篮子可承受总重量
    {"weighNow",            1,      "short"},        -- 当前篮子中重量
    {"lotteryTimes",        1,      "short"},        -- 可抽取次数
    {"isStart",             1,      "byte"},         -- 是否是第一段数据, 0-否, 1-是
    {"isEnd",               1,      "byte"},         -- 是否发完数据, 0-否, 1-是
    {"nowStage",            1,      "byte"},         -- 阶段, 0-开始阶段, 1-摇树阶段
}

-- 抽奖
CG_ABS_COMONACT_MONEYTREE_LOTTERY = {}
GC_ABS_COMONACT_MONEYTREE_LOTTERY = {
    {"reward",          1,      ItemData},      -- 获得的道具
}

-- 领奖
CG_ABS_COMONACT_MONEYTREE_GET_REWARD = {}

-- 进入摇树阶段
CG_ABS_COMONACT_MONEYTREE_LOTTERY_STAGE = {}

---------------------周年活动 - 活跃转转乐 & 代金转转乐 -------------------

-- 活跃转转乐 查询
CG_ANNIV_ACTIVE_WHEEL_QUERY = {}
GC_ANNIV_ACTIVE_WHEEL_QUERY = {
    {"lotteryTimes",    1,  "short"},         -- 剩余次数
    {"rewardList",      20, ItemData},        -- 转盘奖励配置表
}

-- 活跃转转乐 单抽 / 十连
CG_ANNIV_ACTIVE_WHEEL_SINGLE = {}
CG_ANNIV_ACTIVE_WHEEL_TEN    = {}
GC_ANNIV_ACTIVE_WHEEL_RESULT = {
    {"count",   1,  "byte"},    -- 本次抽取数量
    {"results", 10, ItemData},  -- 抽奖结果列表（客户端据此播动画）
    {"lotteryTimes",    1,  "short"},           -- 剩余次数
}

-- 代金转转乐 查询
CG_ANNIV_VOUCHER_WHEEL_QUERY = {}
GC_ANNIV_VOUCHER_WHEEL_QUERY = {
    {"lotteryTimes",    1,  "short"},           -- 剩余次数
    {"totalRecharge",   1,  "double"},          -- 活动期间累充金额
    {"rewardList",      20, ItemData},        -- 转盘奖励配置表
}

-- 代金转转乐 单抽 / 十连
CG_ANNIV_VOUCHER_WHEEL_SINGLE = {}
CG_ANNIV_VOUCHER_WHEEL_TEN    = {}
GC_ANNIV_VOUCHER_WHEEL_RESULT = {
    {"count",   1,  "byte"},    -- 本次抽取数量
    {"results", 10, ItemData},  -- 抽奖结果列表（客户端据此播动画）
    {"lotteryTimes",    1,  "short"},           -- 剩余次数
}