Proto.lua 11 KB

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