local Attr = require("role.Proto").Attr local RoleBase = require("role.Proto").RoleBase local ItemData = require("bag.Proto").ItemData local HeroSimple = require("hero.Proto").HeroSimple local MoshouSkill = require("moshou.Proto").MoshouSkill CG_COMBAT_POS_QUERY = { {"type", 1, "byte"},--阵容类型 {"groupID", 1, "byte"},--0 查询某个战斗类型,type为阵容类型 ,不等于0,查询某个组 {"param", 1, "string"},--0 查询参数 } --上阵英雄战力 CombatHeroZdl={ {"uuid", 1, "string"}, {"zdl", 1, "int"}, } --上阵英雄结构体 CombatPosNet = { {"pos" , 1, "byte"},--坑位序号 {"bagIndex" , 1, "int"},--英雄背包索引 {"uuid" , 1, "string"},--英雄标识 } --辅助结构体(援兵,魔兽,神女,神龙) CombatPosHelpNet = { {"type" , 1, "byte"},--辅助类型 {"id" , 1, "byte"},--辅助id {"icon" , 1, "byte"},--辅助图标 } CombatTypeNet = { {"type", 1, "byte"},--战斗类型 {"name", 1, "string"},--战斗类型名字 {"needLv", 1, "int"}, -- 布阵所需要等级 {"isQuickTime", 1, "string"}, --跳过设置 } GC_COMBAT_POS_QUERY = { {"list", 20, CombatTypeNet}, {"formation", 1, "short"}, --阵法 {"heroList", 6, CombatPosNet}, --上阵英雄列表 {"helpList", 6, CombatPosHelpNet},--辅助对象列表 {"type", 1, "byte"}, --战斗类型 {"mapID", 1, "short"}, --布阵地图 {"backUpLock", 1, "byte"}, --援军是否已解锁 {"jibanLv", 1, "short"}, --羁绊所需等级 {"flag", 1, "byte"}, --请求标志 {"teamType", 1, "byte"}, --阵容共享 {"moshouLock", 1, "byte"}, --魔兽开启 {"moshouSkill", 1, "string"}, --魔兽开启 {"totalZdl", 1, "int"}, --战斗力 } POS_ATTR_DATA = { {"posAttr", 2, Attr}, --战斗力 } CG_COMBAT_FORMATION_QUERY = {} CombatFormationNet = { {"id", 1, "byte"}, -- 阵法id {"name", 1, "string"}, -- 阵法名字 {"icon", 1, "int"}, -- 阵法图标 {"lv", 1, "int"}, -- 阵法解锁等级 {"list", 9, "byte"}, -- 阵法可用位置 {"posAttrLit", 9, POS_ATTR_DATA}, --阵法位置属性加成列表 } GC_COMBAT_FORMATION_QUERY = { {"list", 10, CombatFormationNet}, {"lv", 1, "int"}, -- 玩家等级 } CG_COMBAT_POS_UPDATE = { {"type", 1, "byte"},--阵容类型 {"formation", 1, "short"},--阵法 {"heroList" , 1, "string"},--上阵英雄 {"helpList" , 1, "string"},--辅助对象 } GC_COMBAT_POS_UPDATE = { {"type", 1, "byte"},--阵容类型 {"teamType", 1, "byte"},--阵容类型 } CG_COMBAT_POS_ATTR_QUERY = { } CombatPosAttrSubNet = { {"cnt", 1, "byte"}, {"attrs", 4, Attr}, } CombatPosAttrNet = { {"camp", 1, "byte"}, {"name", 1, "string"}, -- 阵营光环名字 {"list", 5, CombatPosAttrSubNet}, } GC_COMBAT_POS_ATTR_QUERY = { {"list", 6, CombatPosAttrNet},--阵营光环属性 {"attrs", 4, Attr},--克制属性 } -- 设置战斗跳过 CG_COMBAT_SET_QUICK = { {"combatType", 1, "byte"}, {"isQuick", 1, "byte"}, } -- 战斗开始 CG_COMBAT_BEGIN = { {"param", 1, "string"}, {"combatType", 1, "byte"}, {"nServerIndex",1, "int"} } CombatSkillConf = { {"skillID", 1, "int"}, {"fireType", 1, "short"}, {"readyAction", 1, "string"}, {"attackPart", 1, "string"}, {"attackAction", 1, "string"}, {"readyEffect", 1, "string"}, {"attackEffect", 1, "string"}, {"hitEffect", 1, "string"}, {"flyEffect", 1, "string"}, {"flyCoords", 1, "string"}, {"quake", 1, "string"}, {"hitBack", 1, "int"}, {"effectTime", 1, "short"}, {"contentType", 1, "byte"}, {"content", 1, "string"}, {"fireSound", 1, "int"}, {"movieEffect", 1, "byte"}, {"flySound", 1, "int"}, {"hitSound", 1, "string"}, {"cvSound", 1, "int"}, {"screenMask", 1, "string"}, {"screenCam", 1, "string"}, {"largeEffect", 1, "string"}, {"lie", 1, "string"}, {"cuoZhen", 1, "short"}, {"skillDelay", 1, "short"}, {"isFraming", 1, "byte"}, } CombatCmdConf = { {"cmd", 1, "int"}, {"hitEffect", 1, "string"}, {"hitSound", 1, "int"}, } CombatBufferConf = { {"bufferID", 1, "int"}, {"name", 1, "string"}, {"desc", 1, "string"}, {"icon", 1, "string"}, {"keepEffect", 1, "string"}, {"hitEffect", 1, "string"}, {"validateEffect", 1, "string"}, {"dieEffect", 1, "string"}, {"cmd", 1, "string"}, {"hitSound", 1, "int"}, {"holdOnDie", 1, "byte"},--死亡是否保留 {"effectOffset", 1, "string"},--特效偏移 {"canAppend", 1, "byte"},-- {"appendCnt", 1, "byte"},-- } CombatHeroNet = { {"pos", 1, "byte"}, -- 需要跟客户端商定一下,暂定1-6己方 7-12敌方 {"heroID", 1, "int"}, -- 英雄id {"icon", 1, "int"}, {"width" , 1, "short"}, {"height" , 1, "short"}, {"star" , 1, "short"}, {"lv" , 1, "short"}, -- 等级 {"camp", 1, "byte"}, -- 阵营 {"name", 1, "string"}, {"body", 1, "int"}, -- 形象 {"hpMax", 1, "double"}, -- 最大血量 {"hpNow", 1, "double"}, -- 当前血量 {"size", 1, "int"}, {"posX", 1, "short"}, {"posY", 1, "short"}, {"isBoss", 1, "byte"}, -- 会加光效,但是代码没实现,迟点看情况加 {"isGongMing", 1, "byte"}, -- 是否共鸣 {"grade", 1, "byte"}, -- 确定是否是ssr 用于特殊表现 {"sayList", 20, "int"}, } CombatHelpNet = { {"pos", 1, "byte"}, {"id", 1, "int"}, {"head", 1, "int"}, {"body", 1, "int"}, {"args", 10, "int"}, -- 其他参数 {"skill", 2, MoshouSkill}, -- } GC_COMBAT_BEGIN = { {"isLogin", 1, "byte"}, -- 是否登录时下发 客户端需要 {"combatType", 1, "byte"}, -- 战斗类型 {"keepTime", 1, "short"},-- 服务端经过了多少时间 {"heros", 12, CombatHeroNet}, -- 对战英雄信息(站位) {"helps", 10, CombatHelpNet}, -- 对战辅助对象信息(站位), 精灵数据也放这里, 目前两方辅助之和最多2个,两方精灵之和最多8个 {"mapID", 1, "int"}, -- 战斗场景 {"skillList", 60, CombatSkillConf}, -- 战斗中使用过的技能 {"cmdList", 16, CombatCmdConf}, -- 战斗中使用过的作用 {"bufferList", 60, CombatBufferConf}, -- 战斗中使用过的技能 {"speed", 1, "byte"}, {"attrsAtk", 10, Attr}, {"attrsDef", 10, Attr}, {"atkName", 1, "string"}, {"defName", 1, "string"}, {"atkUuid", 1, "string"}, {"defUuid", 1, "string"}, {"maxRound", 1, "short"}, {"isVideo", 1, "byte"}, {"petCD", 1, "short"}, {"atkJibanDesc", 1, "string"}, {"defJibanDesc", 1, "string"}, {"atkFormation", 1, "short"}, {"defFormation", 1, "short"}, {"isQuick", 1, "byte"}, {"backup", 2, "byte"}, --第一个是攻方援军的站位,第二个是守方援军的站位。0值表示援军还没上 --{"isBoss", 1, "byte"}, -- 敌方是否是boss } CombatHitNet = { {"pos", 1, "byte"}, {"flag", 1, "byte"}, {"cmd", 1, "byte"}, {"hpNow", 1, "double"}, {"attrs", 10, Attr}, } CombatPetNet = { {"pos", 1, "byte"}, } CombatSkillData = { {"attackPos", 1, "byte"}, {"skillID", 1, "int"}, {"hitList", 12, CombatHitNet}, {"extraList", 12, CombatHitNet}, {"helpList", 12, CombatPetNet}, } CombatBufferNet = { {"op", 1, "byte"},--1 添加 2 持续 3 删除 {"bufferID", 1, "int"}, {"cnt", 1, "short"}, {"round", 1, "short"}, {"hpNow", 1, "double"}, {"attrs", 10, Attr}, } CombatBufferData = { {"pos", 1, "byte"}, {"list", 40, CombatBufferNet}, } CombatSayData = { {"pos", 1, "byte"}, {"skillID", 1, "int"}, } CombatFrameNet = { {"round", 1, "byte"}, -- 回合,从1开始 {"petCD", 1, "byte"}, -- 魔兽技能cd {"skillList", 12, CombatSkillData}, {"bufferList", 12, CombatBufferData}, {"sayList", 36, CombatSayData}, --喊话技能列表 } GC_COMBAT_FRAME = { {"isLogin", 1, "byte"}, -- 是否登录时下发 客户端需要 {"isEnd", 1, "byte"}, -- 是否最后一帧 {"combatType", 1, "byte"}, -- 战斗类型 reyes test {"frames", 60, CombatFrameNet}, -- 战斗过程 } CombatResultNet = { {"pos", 1, "byte"}, {"hurt", 1, "double"},--输出 {"hp", 1, "double"},--治疗 {"beHurt", 1, "double"},--承受伤害 {"bout", 1, "int"},--出手回合数 {"isDie", 1, "byte"}, {"heroID", 1, "int"}, {"head", 1, "int"}, {"lv", 1, "short"}, {"camp", 1, "byte"}, {"star", 1, "byte"}, {"name", 1, "string"}, {"body", 1, "string"}, {"grade", 1, "byte"}, --评级 } -- CombatFinishData = { {"ret", 1, "byte"}, -- 1 胜利 2 失败 {"type", 1, "byte"}, --战斗类型 {"self", 1, RoleBase}, {"target", 1, RoleBase}, {"items", 20, ItemData}, {"result", 22, CombatResultNet}, {"param", 1, "string"}, {"isVideo", 1, "byte"}, {"lookType", 1, "byte"}, --查看途径 0-原始 1-聊天 2-个人记录 {"panelIDs", 5, "short"}, {"isQuick", 1, "byte"}, {"combatTime", 1, "short"}, {"double", 1, "byte"}, -- 是否为福利 双倍 {"oldLv", 1, "short"}, -- 历史等级 {"nBattleType", 1, "short"}, -- 战斗类型,当type 为1主线时有用 {"nextCombatType", 1, "short"}, -- 战斗类型,对应combat配置表中combat分页的id。用于多队伍战斗,为0表示不用继续挑战,非0表示需要继续挑战 } -- 战斗结果 GC_COMBAT_FINISH = { {"data", 1, CombatFinishData}, } -- 战斗结束,返回记录Uuid GC_COMBAT_RETURN_RECORD = { {"videoUuid",1,"string"}, {"type",1,"byte"}, } -- 战斗播放速度 1or2 CG_COMBAT_SPEED = { {"speed", 1, "byte"}, } GC_COMBAT_SPEED = { {"speed", 1, "byte"}, } -- 个人战斗记录列表 CG_COMBAT_VIDEO_QUERY = {} CombatVideoData = { {"videoUuid", 1, "string"}, {"combatTime", 1, "int"}, {"isWin", 1, "int"}, {"type", 1, "int"}, {"atkRoleBase", 1, RoleBase}, {"defRoleBase", 1, RoleBase}, } GC_COMBAT_VIDEO_QUERY = { {"list", 50, CombatVideoData} } -- 保存 CG_COMBAT_SAVE_VIDEO = {} -- 删除 CG_COMBAT_DEL_VIDEO = { {"videoUuid", 1, "string"}, } -- 战斗记录回放 CG_COMBAT_LOOK_VIDEO = { {"videoUuid", 1, "string"}, {"lookType", 1, "byte"}, --查看途径 0-原始 1-聊天 2-个人记录 } -- 客户端播放战斗过程结束 reyes test CG_COMBAT_CLIENT_FINISH = { {"type", 1, "byte"}, --战斗类型 } -- 客户端播放战斗过程的时间设置 CG_COMBAT_CLIENT_PASS_TIME = { {"type", 1, "byte"}, --战斗类型 {"passTime", 1, "short"}, --服务端时间 } CG_JIBAN_QUERY = { {"combatType", 1, "byte"}, {"heroID", 1, "int"}, } JibanInfoNet = { {"id", 1, "short"}, {"quality", 1, "byte"}, {"name", 1, "string"}, {"desc", 1, "string"}, {"heroList", 10, HeroSimple}, } JibanPosNet = { {"id", 1, "short"}, {"hero", 1, HeroSimple}, {"isOpen", 1, "byte"}, --0 未解锁 1 已解锁 {"tip", 1, "string"}, --提示 {"sort", 1, "byte"}, --提示 } GC_JIBAN_QUERY = { {"jibanList", 20, JibanInfoNet}, {"posList", 5, JibanPosNet} } GC_JIBAN_QUERY_ALL = { {"posList", 5, JibanPosNet}, {"type", 1, "byte"} } CG_JIBAN_PREVIEW = {} GC_JIBAN_PREVIEW = { {"list", 40, JibanInfoNet}, {"isend", 1, "byte"}, } CG_JIBAN_UPDATE = { {"combatType", 1, "byte"}, {"jibanList", 1, "string"},--羁绊 } GC_JIBAN_UPDATE = { } CG_HERO_UPDATE_ALL_POS = { {"uuid", 1, "string"}, } GC_HERO_UPDATE_ALL_POS = { } CG_HERO_UPDATE_ZDL = { {"uuid", 1, "string"}, } GC_HERO_UPDATE_ZDL = { {"list", 10, CombatHeroZdl}, } -----------------------------精灵布阵------------------------ ELF_POS_INFO = { {"elfId", 1, "int"}, -- 精灵Id {"nowSkillDesc", 1, "string"}, -- 当前技能说明 {"nowSkillIcon", 1, "string"}, -- 当前技能Icon } -- 查询精灵布阵数据 CG_COMBAT_ELFPOS_QUERY = { {"combatType", 1, "byte"}, --战斗类型 } GC_COMBAT_ELFPOS_QUERY = { {"elfPosArr", 4, ELF_POS_INFO}, --阵容数据 } -- 精灵布阵 CG_COMBAT_ELFPOS_DO = { {"combatType", 1, "byte"}, -- 战斗类型 {"elfPosArr", 4, "int"}, -- 数组, key对应位置, value为精灵Id,如果当前位置没有精灵上阵,value为0 }