Proto.lua 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  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. CombatHitNet = {
  210. {"pos", 1, "byte"},
  211. {"flag", 1, "byte"},
  212. {"cmd", 1, "byte"},
  213. {"hpNow", 1, "double"},
  214. {"attrs", 10, Attr},
  215. }
  216. CombatPetNet = {
  217. {"pos", 1, "byte"},
  218. }
  219. CombatSkillData = {
  220. {"attackPos", 1, "byte"},
  221. {"skillID", 1, "int"},
  222. {"hitList", 12, CombatHitNet},
  223. {"extraList", 12, CombatHitNet},
  224. {"helpList", 12, CombatPetNet},
  225. }
  226. CombatBufferNet = {
  227. {"op", 1, "byte"},--1 添加 2 持续 3 删除
  228. {"bufferID", 1, "int"},
  229. {"cnt", 1, "short"},
  230. {"round", 1, "short"},
  231. {"hpNow", 1, "double"},
  232. {"attrs", 10, Attr},
  233. }
  234. CombatBufferData = {
  235. {"pos", 1, "byte"},
  236. {"list", 40, CombatBufferNet},
  237. }
  238. CombatSayData = {
  239. {"pos", 1, "byte"},
  240. {"skillID", 1, "int"},
  241. }
  242. CombatFrameNet = {
  243. {"round", 1, "byte"}, -- 回合,从1开始
  244. {"petCD", 1, "byte"}, -- 魔兽技能cd
  245. {"skillList", 12, CombatSkillData},
  246. {"bufferList", 12, CombatBufferData},
  247. {"sayList", 36, CombatSayData}, --喊话技能列表
  248. }
  249. GC_COMBAT_FRAME = {
  250. {"isLogin", 1, "byte"}, -- 是否登录时下发 客户端需要
  251. {"isEnd", 1, "byte"}, -- 是否最后一帧
  252. {"combatType", 1, "byte"}, -- 战斗类型 reyes test
  253. {"frames", 60, CombatFrameNet}, -- 战斗过程
  254. }
  255. CombatResultNet = {
  256. {"pos", 1, "byte"},
  257. {"hurt", 1, "double"},--输出
  258. {"hp", 1, "double"},--治疗
  259. {"beHurt", 1, "double"},--承受伤害
  260. {"bout", 1, "int"},--出手回合数
  261. {"isDie", 1, "byte"},
  262. {"heroID", 1, "int"},
  263. {"head", 1, "int"},
  264. {"lv", 1, "short"},
  265. {"camp", 1, "byte"},
  266. {"star", 1, "byte"},
  267. {"name", 1, "string"},
  268. {"body", 1, "string"},
  269. {"grade", 1, "byte"}, --评级
  270. }
  271. --
  272. CombatFinishData = {
  273. {"ret", 1, "byte"}, -- 1 胜利 2 失败
  274. {"type", 1, "byte"}, --战斗类型
  275. {"self", 1, RoleBase},
  276. {"target", 1, RoleBase},
  277. {"items", 20, ItemData},
  278. {"result", 22, CombatResultNet},
  279. {"param", 1, "string"},
  280. {"isVideo", 1, "byte"},
  281. {"lookType", 1, "byte"}, --查看途径 0-原始 1-聊天 2-个人记录
  282. {"panelIDs", 5, "short"},
  283. {"isQuick", 1, "byte"},
  284. {"combatTime", 1, "short"},
  285. {"double", 1, "byte"}, -- 是否为福利 双倍
  286. {"oldLv", 1, "short"}, -- 历史等级
  287. {"nBattleType", 1, "short"}, -- 战斗类型,当type 为1主线时有用
  288. {"nextCombatType", 1, "short"}, -- 战斗类型,对应combat配置表中combat分页的id。用于多队伍战斗,为0表示不用继续挑战,非0表示需要继续挑战
  289. }
  290. -- 战斗结果
  291. GC_COMBAT_FINISH = {
  292. {"data", 1, CombatFinishData},
  293. }
  294. -- 战斗结束,返回记录Uuid
  295. GC_COMBAT_RETURN_RECORD = {
  296. {"videoUuid",1,"string"},
  297. {"type",1,"byte"},
  298. }
  299. -- 战斗播放速度 1or2
  300. CG_COMBAT_SPEED = {
  301. {"speed", 1, "byte"},
  302. }
  303. GC_COMBAT_SPEED = {
  304. {"speed", 1, "byte"},
  305. }
  306. -- 个人战斗记录列表
  307. CG_COMBAT_VIDEO_QUERY = {}
  308. CombatVideoData = {
  309. {"videoUuid", 1, "string"},
  310. {"combatTime", 1, "int"},
  311. {"isWin", 1, "int"},
  312. {"type", 1, "int"},
  313. {"atkRoleBase", 1, RoleBase},
  314. {"defRoleBase", 1, RoleBase},
  315. }
  316. GC_COMBAT_VIDEO_QUERY = {
  317. {"list", 50, CombatVideoData}
  318. }
  319. -- 保存
  320. CG_COMBAT_SAVE_VIDEO = {}
  321. -- 删除
  322. CG_COMBAT_DEL_VIDEO = {
  323. {"videoUuid", 1, "string"},
  324. }
  325. -- 战斗记录回放
  326. CG_COMBAT_LOOK_VIDEO = {
  327. {"videoUuid", 1, "string"},
  328. {"lookType", 1, "byte"}, --查看途径 0-原始 1-聊天 2-个人记录
  329. }
  330. -- 客户端播放战斗过程结束 reyes test
  331. CG_COMBAT_CLIENT_FINISH = {
  332. {"type", 1, "byte"}, --战斗类型
  333. }
  334. -- 客户端播放战斗过程的时间设置
  335. CG_COMBAT_CLIENT_PASS_TIME = {
  336. {"type", 1, "byte"}, --战斗类型
  337. {"passTime", 1, "short"}, --服务端时间
  338. }
  339. CG_JIBAN_QUERY = {
  340. {"combatType", 1, "byte"},
  341. {"heroID", 1, "int"},
  342. }
  343. JibanInfoNet = {
  344. {"id", 1, "short"},
  345. {"quality", 1, "byte"},
  346. {"name", 1, "string"},
  347. {"desc", 1, "string"},
  348. {"heroList", 10, HeroSimple},
  349. }
  350. JibanPosNet = {
  351. {"id", 1, "short"},
  352. {"hero", 1, HeroSimple},
  353. {"isOpen", 1, "byte"}, --0 未解锁 1 已解锁
  354. {"tip", 1, "string"}, --提示
  355. {"sort", 1, "byte"}, --提示
  356. }
  357. GC_JIBAN_QUERY = {
  358. {"jibanList", 20, JibanInfoNet},
  359. {"posList", 5, JibanPosNet}
  360. }
  361. GC_JIBAN_QUERY_ALL = {
  362. {"posList", 5, JibanPosNet},
  363. {"type", 1, "byte"}
  364. }
  365. CG_JIBAN_PREVIEW = {}
  366. GC_JIBAN_PREVIEW = {
  367. {"list", 40, JibanInfoNet},
  368. {"isend", 1, "byte"},
  369. }
  370. CG_JIBAN_UPDATE = {
  371. {"combatType", 1, "byte"},
  372. {"jibanList", 1, "string"},--羁绊
  373. }
  374. GC_JIBAN_UPDATE = {
  375. }
  376. CG_HERO_UPDATE_ALL_POS = {
  377. {"uuid", 1, "string"},
  378. }
  379. GC_HERO_UPDATE_ALL_POS = {
  380. }
  381. CG_HERO_UPDATE_ZDL = {
  382. {"uuid", 1, "string"},
  383. }
  384. GC_HERO_UPDATE_ZDL = {
  385. {"list", 10, CombatHeroZdl},
  386. }
  387. -----------------------------精灵布阵------------------------
  388. ELF_POS_INFO = {
  389. {"elfId", 1, "int"}, -- 精灵Id
  390. {"nowSkillDesc", 1, "string"}, -- 当前技能说明
  391. {"nowSkillIcon", 1, "string"}, -- 当前技能Icon
  392. }
  393. -- 查询精灵布阵数据
  394. CG_COMBAT_ELFPOS_QUERY = {
  395. {"combatType", 1, "byte"}, --战斗类型
  396. }
  397. GC_COMBAT_ELFPOS_QUERY = {
  398. {"elfPosArr", 4, ELF_POS_INFO}, --阵容数据
  399. }
  400. -- 精灵布阵
  401. CG_COMBAT_ELFPOS_DO = {
  402. {"combatType", 1, "byte"}, -- 战斗类型
  403. {"elfPosArr", 4, "int"}, -- 数组, key对应位置, value为精灵Id,如果当前位置没有精灵上阵,value为0
  404. }