Proto.lua 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479
  1. local Attr = require("role.Proto").Attr
  2. local RoleBase = require("role.Proto").RoleBase
  3. local ItemData = require("bag.Proto").ItemData
  4. local HeroSimple = require("hero.Proto").HeroSimple
  5. local MoshouSkill = require("moshou.Proto").MoshouSkill
  6. CG_COMBAT_POS_QUERY = {
  7. {"type", 1, "byte"},--阵容类型
  8. {"groupID", 1, "byte"},--0 查询某个战斗类型,type为阵容类型 ,不等于0,查询某个组
  9. {"param", 1, "string"},--0 查询参数
  10. }
  11. --上阵英雄战力
  12. CombatHeroZdl={
  13. {"uuid", 1, "string"},
  14. {"zdl", 1, "int"},
  15. }
  16. --上阵英雄结构体
  17. CombatPosNet = {
  18. {"pos" , 1, "byte"},--坑位序号
  19. {"bagIndex" , 1, "int"},--英雄背包索引
  20. {"uuid" , 1, "string"},--英雄标识
  21. }
  22. --辅助结构体(援兵,魔兽,神女,神龙)
  23. CombatPosHelpNet = {
  24. {"type" , 1, "byte"},--辅助类型
  25. {"id" , 1, "byte"},--辅助id
  26. {"icon" , 1, "byte"},--辅助图标
  27. }
  28. CombatTypeNet = {
  29. {"type", 1, "byte"},--战斗类型
  30. {"name", 1, "string"},--战斗类型名字
  31. {"needLv", 1, "int"}, -- 布阵所需要等级
  32. {"isQuickTime", 1, "string"}, --跳过设置
  33. }
  34. GC_COMBAT_POS_QUERY = {
  35. {"list", 20, CombatTypeNet},
  36. {"formation", 1, "short"}, --阵法
  37. {"heroList", 6, CombatPosNet}, --上阵英雄列表
  38. {"helpList", 6, CombatPosHelpNet},--辅助对象列表
  39. {"type", 1, "byte"}, --战斗类型
  40. {"mapID", 1, "short"}, --布阵地图
  41. {"backUpLock", 1, "byte"}, --援军是否已解锁
  42. {"jibanLv", 1, "short"}, --羁绊所需等级
  43. {"flag", 1, "byte"}, --请求标志
  44. {"teamType", 1, "byte"}, --阵容共享
  45. {"moshouLock", 1, "byte"}, --魔兽开启
  46. {"moshouSkill", 1, "string"}, --魔兽开启
  47. {"totalZdl", 1, "int"}, --战斗力
  48. {"elfSystemState", 1, "byte"}, -- 精灵系统状态, 0 - 未解锁, 1 - 已解锁
  49. }
  50. POS_ATTR_DATA = {
  51. {"posAttr", 2, Attr}, --战斗力
  52. }
  53. CG_COMBAT_FORMATION_QUERY = {}
  54. CombatFormationNet = {
  55. {"id", 1, "byte"}, -- 阵法id
  56. {"name", 1, "string"}, -- 阵法名字
  57. {"icon", 1, "int"}, -- 阵法图标
  58. {"lv", 1, "int"}, -- 阵法解锁等级
  59. {"list", 9, "byte"}, -- 阵法可用位置
  60. {"posAttrLit", 9, POS_ATTR_DATA}, --阵法位置属性加成列表
  61. }
  62. GC_COMBAT_FORMATION_QUERY = {
  63. {"list", 10, CombatFormationNet},
  64. {"lv", 1, "int"}, -- 玩家等级
  65. }
  66. CG_COMBAT_POS_UPDATE = {
  67. {"type", 1, "byte"},--阵容类型
  68. {"formation", 1, "short"},--阵法
  69. {"heroList" , 1, "string"},--上阵英雄
  70. {"helpList" , 1, "string"},--辅助对象
  71. }
  72. GC_COMBAT_POS_UPDATE = {
  73. {"type", 1, "byte"},--阵容类型
  74. {"teamType", 1, "byte"},--阵容类型
  75. }
  76. CG_COMBAT_POS_ATTR_QUERY = {
  77. }
  78. CombatPosAttrSubNet = {
  79. {"cnt", 1, "byte"},
  80. {"attrs", 4, Attr},
  81. }
  82. CombatPosAttrNet = {
  83. {"camp", 1, "byte"},
  84. {"name", 1, "string"}, -- 阵营光环名字
  85. {"list", 5, CombatPosAttrSubNet},
  86. }
  87. GC_COMBAT_POS_ATTR_QUERY = {
  88. {"list", 6, CombatPosAttrNet},--阵营光环属性
  89. {"attrs", 4, Attr},--克制属性
  90. }
  91. -- 设置战斗跳过
  92. CG_COMBAT_SET_QUICK = {
  93. {"combatType", 1, "byte"},
  94. {"isQuick", 1, "byte"},
  95. }
  96. -- 战斗开始
  97. CG_COMBAT_BEGIN = {
  98. {"param", 1, "string"},
  99. {"combatType", 1, "byte"},
  100. {"nServerIndex",1, "int"}
  101. }
  102. CombatSkillConf = {
  103. {"skillID", 1, "int"},
  104. {"fireType", 1, "short"},
  105. {"readyAction", 1, "string"},
  106. {"attackPart", 1, "string"},
  107. {"attackAction", 1, "string"},
  108. {"readyEffect", 1, "string"},
  109. {"attackEffect", 1, "string"},
  110. {"hitEffect", 1, "string"},
  111. {"flyEffect", 1, "string"},
  112. {"flyCoords", 1, "string"},
  113. {"quake", 1, "string"},
  114. {"hitBack", 1, "int"},
  115. {"effectTime", 1, "short"},
  116. {"contentType", 1, "byte"},
  117. {"content", 1, "string"},
  118. {"fireSound", 1, "int"},
  119. {"movieEffect", 1, "byte"},
  120. {"flySound", 1, "int"},
  121. {"hitSound", 1, "string"},
  122. {"cvSound", 1, "int"},
  123. {"screenMask", 1, "string"},
  124. {"screenCam", 1, "string"},
  125. {"largeEffect", 1, "string"},
  126. {"lie", 1, "string"},
  127. {"cuoZhen", 1, "short"},
  128. {"skillDelay", 1, "short"},
  129. {"isFraming", 1, "byte"},
  130. }
  131. CombatCmdConf = {
  132. {"cmd", 1, "int"},
  133. {"hitEffect", 1, "string"},
  134. {"hitSound", 1, "int"},
  135. }
  136. CombatBufferConf = {
  137. {"bufferID", 1, "int"},
  138. {"name", 1, "string"},
  139. {"desc", 1, "string"},
  140. {"icon", 1, "string"},
  141. {"keepEffect", 1, "string"},
  142. {"hitEffect", 1, "string"},
  143. {"validateEffect", 1, "string"},
  144. {"dieEffect", 1, "string"},
  145. {"cmd", 1, "string"},
  146. {"hitSound", 1, "int"},
  147. {"holdOnDie", 1, "byte"},--死亡是否保留
  148. {"effectOffset", 1, "string"},--特效偏移
  149. {"canAppend", 1, "byte"},--
  150. {"appendCnt", 1, "byte"},--
  151. }
  152. CombatHeroNet = {
  153. {"pos", 1, "byte"}, -- 需要跟客户端商定一下,暂定1-6己方 7-12敌方
  154. {"heroID", 1, "int"}, -- 英雄id
  155. {"icon", 1, "int"},
  156. {"width" , 1, "short"},
  157. {"height" , 1, "short"},
  158. {"star" , 1, "short"},
  159. {"lv" , 1, "short"}, -- 等级
  160. {"camp", 1, "byte"}, -- 阵营
  161. {"name", 1, "string"},
  162. {"body", 1, "int"}, -- 形象
  163. {"hpMax", 1, "double"}, -- 最大血量
  164. {"hpNow", 1, "double"}, -- 当前血量
  165. {"size", 1, "int"},
  166. {"posX", 1, "short"},
  167. {"posY", 1, "short"},
  168. {"isBoss", 1, "byte"}, -- 会加光效,但是代码没实现,迟点看情况加
  169. {"isGongMing", 1, "byte"}, -- 是否共鸣
  170. {"grade", 1, "byte"}, -- 确定是否是ssr 用于特殊表现
  171. {"sayList", 20, "int"},
  172. }
  173. CombatHelpNet = {
  174. {"pos", 1, "byte"},
  175. {"id", 1, "int"},
  176. {"head", 1, "int"},
  177. {"body", 1, "int"},
  178. {"args", 10, "int"}, -- 其他参数
  179. {"skill", 2, MoshouSkill}, --
  180. }
  181. GC_COMBAT_BEGIN = {
  182. {"isLogin", 1, "byte"}, -- 是否登录时下发 客户端需要
  183. {"combatType", 1, "byte"}, -- 战斗类型
  184. {"keepTime", 1, "short"},-- 服务端经过了多少时间
  185. {"heros", 12, CombatHeroNet}, -- 对战英雄信息(站位)
  186. {"helps", 10, CombatHelpNet}, -- 对战辅助对象信息(站位), 精灵数据也放这里, 目前两方辅助之和最多2个,两方精灵之和最多8个
  187. {"mapID", 1, "int"}, -- 战斗场景
  188. {"skillList", 60, CombatSkillConf}, -- 战斗中使用过的技能
  189. {"cmdList", 16, CombatCmdConf}, -- 战斗中使用过的作用
  190. {"bufferList", 60, CombatBufferConf}, -- 战斗中使用过的技能
  191. {"speed", 1, "byte"},
  192. -- {"attrsAtk", 10, Attr},
  193. -- {"attrsDef", 10, Attr},
  194. {"atkName", 1, "string"},
  195. {"defName", 1, "string"},
  196. {"atkUuid", 1, "string"},
  197. {"defUuid", 1, "string"},
  198. {"maxRound", 1, "short"},
  199. {"isVideo", 1, "byte"},
  200. -- {"petCD", 1, "short"},
  201. -- {"atkJibanDesc", 1, "string"},
  202. -- {"defJibanDesc", 1, "string"},
  203. {"atkFormation", 1, "short"},
  204. {"defFormation", 1, "short"},
  205. {"isQuick", 1, "byte"},
  206. -- {"backup", 2, "byte"}, --第一个是攻方援军的站位,第二个是守方援军的站位。0值表示援军还没上
  207. --{"isBoss", 1, "byte"}, -- 敌方是否是boss
  208. }
  209. GC_COMBAT_JiBan_DESC = {
  210. {"atkJibanDesc", 1, "string"},
  211. {"defJibanDesc", 1, "string"},
  212. }
  213. CombatHitNet = {
  214. {"pos", 1, "byte"},
  215. {"flag", 1, "byte"},
  216. {"cmd", 1, "byte"},
  217. {"hpNow", 1, "double"},
  218. {"attrs", 10, Attr},
  219. }
  220. CombatPetNet = {
  221. {"pos", 1, "byte"},
  222. }
  223. CombatSkillData = {
  224. {"attackPos", 1, "byte"},
  225. {"skillID", 1, "int"},
  226. {"hitList", 12, CombatHitNet},
  227. {"extraList", 12, CombatHitNet},
  228. {"helpList", 12, CombatPetNet},
  229. }
  230. CombatBufferNet = {
  231. {"op", 1, "byte"},--1 添加 2 持续 3 删除
  232. {"bufferID", 1, "int"},
  233. {"cnt", 1, "short"},
  234. {"round", 1, "short"},
  235. {"hpNow", 1, "double"},
  236. {"attrs", 10, Attr},
  237. }
  238. CombatBufferData = {
  239. {"pos", 1, "byte"},
  240. {"list", 40, CombatBufferNet},
  241. }
  242. CombatSayData = {
  243. {"pos", 1, "byte"},
  244. {"skillID", 1, "int"},
  245. }
  246. CombatFrameNet = {
  247. {"round", 1, "byte"}, -- 回合,从1开始
  248. {"petCD", 1, "byte"}, -- 魔兽技能cd
  249. {"skillList", 12, CombatSkillData},
  250. {"bufferList", 12, CombatBufferData},
  251. {"sayList", 36, CombatSayData}, --喊话技能列表
  252. }
  253. GC_COMBAT_FRAME = {
  254. {"isLogin", 1, "byte"}, -- 是否登录时下发 客户端需要
  255. {"isEnd", 1, "byte"}, -- 是否最后一帧
  256. {"combatType", 1, "byte"}, -- 战斗类型 reyes test
  257. {"frames", 60, CombatFrameNet}, -- 战斗过程
  258. }
  259. CombatResultNet = {
  260. {"pos", 1, "byte"},
  261. {"hurt", 1, "double"},--输出
  262. {"hp", 1, "double"},--治疗
  263. {"beHurt", 1, "double"},--承受伤害
  264. {"bout", 1, "int"},--出手回合数
  265. {"isDie", 1, "byte"},
  266. {"heroID", 1, "int"},
  267. {"head", 1, "int"},
  268. {"lv", 1, "short"},
  269. {"camp", 1, "byte"},
  270. {"star", 1, "byte"},
  271. {"name", 1, "string"},
  272. {"body", 1, "string"},
  273. {"grade", 1, "byte"}, --评级
  274. }
  275. --
  276. CombatFinishData = {
  277. {"ret", 1, "byte"}, -- 1 胜利 2 失败
  278. {"type", 1, "byte"}, --战斗类型
  279. {"self", 1, RoleBase},
  280. {"target", 1, RoleBase},
  281. {"items", 20, ItemData},
  282. {"result", 22, CombatResultNet},
  283. {"param", 1, "string"},
  284. {"isVideo", 1, "byte"},
  285. {"lookType", 1, "byte"}, --查看途径 0-原始 1-聊天 2-个人记录
  286. {"panelIDs", 5, "short"},
  287. {"isQuick", 1, "byte"},
  288. {"combatTime", 1, "short"},
  289. {"double", 1, "byte"}, -- 是否为福利 双倍
  290. {"oldLv", 1, "short"}, -- 历史等级
  291. {"nBattleType", 1, "short"}, -- 战斗类型,当type 为1主线时有用
  292. {"nextCombatType", 1, "short"}, -- 战斗类型,对应combat配置表中combat分页的id。用于多队伍战斗,为0表示不用继续挑战,非0表示需要继续挑战
  293. }
  294. -- 战斗结果
  295. GC_COMBAT_FINISH = {
  296. {"data", 1, CombatFinishData},
  297. }
  298. -- 战斗结束,返回记录Uuid
  299. GC_COMBAT_RETURN_RECORD = {
  300. {"videoUuid",1,"string"},
  301. {"type",1,"byte"},
  302. }
  303. -- 战斗播放速度 1or2
  304. CG_COMBAT_SPEED = {
  305. {"speed", 1, "byte"},
  306. }
  307. GC_COMBAT_SPEED = {
  308. {"speed", 1, "byte"},
  309. }
  310. -- 个人战斗记录列表
  311. CG_COMBAT_VIDEO_QUERY = {}
  312. CombatVideoData = {
  313. {"videoUuid", 1, "string"},
  314. {"combatTime", 1, "int"},
  315. {"isWin", 1, "int"},
  316. {"type", 1, "int"},
  317. {"atkRoleBase", 1, RoleBase},
  318. {"defRoleBase", 1, RoleBase},
  319. }
  320. GC_COMBAT_VIDEO_QUERY = {
  321. {"list", 50, CombatVideoData}
  322. }
  323. -- 保存
  324. CG_COMBAT_SAVE_VIDEO = {}
  325. -- 删除
  326. CG_COMBAT_DEL_VIDEO = {
  327. {"videoUuid", 1, "string"},
  328. }
  329. -- 战斗记录回放
  330. CG_COMBAT_LOOK_VIDEO = {
  331. {"videoUuid", 1, "string"},
  332. {"lookType", 1, "byte"}, --查看途径 0-原始 1-聊天 2-个人记录
  333. }
  334. -- 客户端播放战斗过程结束 reyes test
  335. CG_COMBAT_CLIENT_FINISH = {
  336. {"type", 1, "byte"}, --战斗类型
  337. }
  338. -- 客户端播放战斗过程的时间设置
  339. CG_COMBAT_CLIENT_PASS_TIME = {
  340. {"type", 1, "byte"}, --战斗类型
  341. {"passTime", 1, "short"}, --服务端时间
  342. }
  343. CG_JIBAN_QUERY = {
  344. {"combatType", 1, "byte"},
  345. {"heroID", 1, "int"},
  346. }
  347. JibanInfoNet = {
  348. {"id", 1, "short"},
  349. {"quality", 1, "byte"},
  350. {"name", 1, "string"},
  351. {"desc", 1, "string"},
  352. {"heroList", 10, HeroSimple},
  353. }
  354. JibanPosNet = {
  355. {"id", 1, "short"},
  356. {"hero", 1, HeroSimple},
  357. {"isOpen", 1, "byte"}, --0 未解锁 1 已解锁
  358. {"tip", 1, "string"}, --提示
  359. {"sort", 1, "byte"}, --提示
  360. }
  361. GC_JIBAN_QUERY = {
  362. {"jibanList", 20, JibanInfoNet},
  363. {"posList", 5, JibanPosNet}
  364. }
  365. GC_JIBAN_QUERY_ALL = {
  366. {"posList", 5, JibanPosNet},
  367. {"type", 1, "byte"}
  368. }
  369. CG_JIBAN_PREVIEW = {}
  370. GC_JIBAN_PREVIEW = {
  371. {"list", 40, JibanInfoNet},
  372. {"isend", 1, "byte"},
  373. }
  374. CG_JIBAN_UPDATE = {
  375. {"combatType", 1, "byte"},
  376. {"jibanList", 1, "string"},--羁绊英雄uuid, 如果某个位置没有英雄, 则该位置的英雄唯一Id为"", heroId 为0
  377. {"heroIdArr", 1, "string"} --羁绊英雄Id数组
  378. }
  379. GC_JIBAN_UPDATE = {
  380. }
  381. CG_HERO_UPDATE_ALL_POS = {
  382. {"uuid", 1, "string"},
  383. }
  384. GC_HERO_UPDATE_ALL_POS = {
  385. }
  386. CG_HERO_UPDATE_ZDL = {
  387. {"uuid", 1, "string"},
  388. }
  389. GC_HERO_UPDATE_ZDL = {
  390. {"list", 10, CombatHeroZdl},
  391. }
  392. -----------------------------精灵布阵------------------------
  393. ELF_POS_INFO = {
  394. {"elfId", 1, "int"}, -- 精灵Id
  395. {"nowSkillDesc", 1, "string"}, -- 当前技能说明
  396. {"nowSkillIcon", 1, "string"}, -- 当前技能Icon
  397. }
  398. -- 查询精灵布阵数据
  399. CG_COMBAT_ELFPOS_QUERY = {
  400. {"combatType", 1, "byte"}, --战斗类型
  401. }
  402. GC_COMBAT_ELFPOS_QUERY = {
  403. {"elfPosArr", 4, ELF_POS_INFO}, --阵容数据
  404. }
  405. -- 精灵布阵
  406. CG_COMBAT_ELFPOS_DO = {
  407. {"combatType", 1, "byte"}, -- 战斗类型
  408. {"elfPosArr", 4, "int"}, -- 数组, key对应位置, value为精灵Id,如果当前位置没有精灵上阵,value为0
  409. }