league.proto 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478
  1. // message结构的属性名请使用 驼峰小写字母开始
  2. syntax = "proto3";
  3. option go_package = "/pb";
  4. package pb;
  5. import "base_type.proto";
  6. import "item.proto";
  7. // 联盟推荐/搜索列表
  8. message LeagueList {
  9. // 总数
  10. int32 total = 1;
  11. // 联盟列表
  12. repeated LeagueSearch list = 2;
  13. }
  14. // 联盟搜索信息
  15. message LeagueSearch {
  16. // 联盟ID
  17. int64 leagueID = 1;
  18. // 联盟名称
  19. string leagueName = 2;
  20. // 联盟简称
  21. string leagueAbbName = 3;
  22. // 联盟等级
  23. int32 level = 4;
  24. // 联盟当前成员数量
  25. int32 memberCount = 5;
  26. // 所属地坐标
  27. Point location = 6;
  28. // 是否需要审批
  29. bool needApprove = 7;
  30. // 霸业积分
  31. int32 gloryScore = 8;
  32. // 是否已发送入盟申请
  33. bool apply = 9;
  34. // 加入联盟所需主城等级
  35. int32 joinNeedLevel = 10;
  36. // 创建时间戳 单位秒
  37. int64 createTime = 11;
  38. }
  39. // 联盟信息推送
  40. message LeaguePush {
  41. // 联盟ID
  42. int64 leagueID = 1;
  43. // 联盟名称
  44. string leagueName = 2;
  45. // 联盟简称
  46. string leagueAbbName = 3;
  47. // 联盟是否有红点
  48. bool redPoint = 4;
  49. }
  50. // 联盟基础信息
  51. message LeagueBase {
  52. // 联盟ID
  53. int64 leagueID = 1;
  54. // 联盟名称
  55. string leagueName = 2;
  56. // 联盟简称
  57. string leagueAbbName = 3;
  58. // 联盟盟主ID
  59. int64 leaderID = 4;
  60. // 联盟盟主名称
  61. string leaderName = 5;
  62. // 联盟等级
  63. int32 level = 6;
  64. // 联盟经验
  65. int32 exp = 7;
  66. // 联盟当前成员数量
  67. int32 memberCount = 8;
  68. // 旗帜背景
  69. int32 flagBg = 9;
  70. // 旗帜图标
  71. int32 flagIcon = 10;
  72. // 所属地坐标
  73. Point location = 11;
  74. // 申请所需领主等级
  75. int32 lordLevelLimit = 12;
  76. // 是否需要审批
  77. bool needApprove = 13;
  78. // 霸业积分
  79. int32 gloryScore = 14;
  80. // 联盟公告
  81. string leagueNotice = 15;
  82. // 创建时间戳 单位秒
  83. int64 createTime = 16;
  84. // 属性
  85. Attrs attrs = 17;
  86. }
  87. // 联盟详细信息
  88. message League {
  89. // 联盟基础信息
  90. LeagueBase leagueBase = 1;
  91. // 联盟声望
  92. int32 leaguePrestige = 2;
  93. // 联盟城池数
  94. int32 leagueCityCount = 3;
  95. // 联盟外交
  96. LeagueDiplomacy diplomacy = 4;
  97. }
  98. // 联盟成员列表
  99. message LeagueMembers {
  100. // 联盟成员列表
  101. repeated LeagueMember list = 1;
  102. // 转让信息 为空不存在
  103. LeagueTransfer transfer = 2;
  104. }
  105. // 联盟成员信息
  106. message LeagueMember {
  107. // 联盟成员ID
  108. int64 playerID = 1;
  109. // 联盟成员名称
  110. string playerName = 2;
  111. // 成员职位
  112. int32 job = 3;
  113. // 成员等级
  114. int32 level = 4;
  115. // 成员声望
  116. int32 prestige = 5;
  117. // 成员功勋
  118. int32 glory = 6;
  119. // 成员累计功勋
  120. int32 totalGlory = 7;
  121. // 成员贡献
  122. int32 contribution = 8;
  123. // 成员累计贡献
  124. int32 totalContribution = 9;
  125. // 成员坐标
  126. Point point = 10;
  127. // 当前状态 0无 1离线超过x天 2玩家x天内入盟 3玩家当前处于整顿状态
  128. int32 status = 11;
  129. // 成员加入时间
  130. int64 joinTime = 12;
  131. // 本周分配的F币
  132. int64 weeklyFund = 13;
  133. }
  134. // 联盟职位设置
  135. message LeagueJobRequest {
  136. // 联盟成员列表 Key职位ID value联盟成员玩家ID
  137. repeated I32I64 jobs = 1;
  138. }
  139. // 科技列表
  140. message LeagueTechList {
  141. // 科技列表 Key科技ID value科技等级
  142. repeated I32I32 techs = 1;
  143. }
  144. // 联盟设施列表
  145. message LeagueBuildList {
  146. repeated LeagueBuild list = 1;
  147. }
  148. // 联盟设施
  149. message LeagueBuild {
  150. // 设施对象ID
  151. int64 objectID = 1;
  152. // 设施配置ID
  153. int32 configID = 2;
  154. // 坐标
  155. Point point = 3;
  156. // 是否建造中
  157. bool isOperating = 4;
  158. // 建造完成时间(毫秒)
  159. int64 buildEndTime = 5;
  160. // 放弃截止时间(毫秒)
  161. int64 discardTime = 6;
  162. // 升级完成时间(毫秒)
  163. int64 upgradeEndTime = 7;
  164. }
  165. // 联盟城池列表
  166. message LeagueCastleList {
  167. repeated LeagueCastle list = 1;
  168. }
  169. // 联盟城池
  170. message LeagueCastle {
  171. // 城池对象ID
  172. int64 objectID = 1;
  173. // 城池配置ID
  174. int32 configID = 2;
  175. // 城池位置
  176. Point point = 3;
  177. // 占领时间(毫秒)
  178. int64 occupyTime = 4;
  179. // 城主ID 0表示没有任命城主
  180. int64 ownerID = 5;
  181. }
  182. // 联盟职位权限设置
  183. message LeaguePermissionRequest {
  184. // 变更的联盟职位权限列表
  185. repeated LeaguePermission jobs = 1;
  186. }
  187. // 联盟职位权限
  188. message LeaguePermission {
  189. // 职位ID L-联盟-职位表职位ID
  190. int32 job = 1;
  191. // 权限ID L-联盟-权限表权限ID
  192. repeated int32 permissions = 2;
  193. }
  194. // 创建联盟
  195. message LeagueCreateRequest {
  196. // 联盟名称
  197. string leagueName = 1;
  198. // 联盟简称
  199. string leagueAbbName = 2;
  200. // 旗帜背景ID L-联盟-旗帜表旗帜ID
  201. int32 flagBg = 3;
  202. // 旗帜图标ID L-联盟-旗帜表旗帜ID
  203. int32 flagIcon = 4;
  204. }
  205. // 联盟日志列表
  206. message LeagueLogList {
  207. // 联盟日志列表
  208. repeated LeagueLog list = 1;
  209. }
  210. // 联盟日志
  211. message LeagueLog {
  212. // 联盟日志ID L-联盟-日志表日志类型ID
  213. int32 logID = 1;
  214. // 联盟日志参数
  215. repeated string params = 2;
  216. // 日志时间戳 单位秒
  217. int64 logTime = 3;
  218. }
  219. // 盟主转让
  220. message LeagueTransfer {
  221. // 转让玩家ID
  222. int64 playerID = 1;
  223. // 转让玩家名称
  224. string playerName = 2;
  225. // 转让结束时间 单位秒
  226. int64 transferEndTime = 3;
  227. }
  228. // 职位列表
  229. message LeagueJobList {
  230. repeated LeagueJobInfo list = 1;
  231. }
  232. // 职位信息
  233. message LeagueJobInfo {
  234. // 职位ID L-联盟-职位表职位ID
  235. int32 jobID = 1;
  236. // 当前职位玩家ID 0为无玩家担任当前职位
  237. int64 playerID = 2;
  238. // 玩家名称
  239. string playerName = 3;
  240. // 权限列表
  241. repeated int32 permissions = 4;
  242. }
  243. // 联盟申请列表
  244. message LeagueApplyList {
  245. repeated LeagueApply list = 1;
  246. }
  247. // 联盟申请
  248. message LeagueApply {
  249. // 申请玩家ID
  250. int64 playerID = 1;
  251. // 申请玩家名称
  252. string playerName = 2;
  253. // 玩家领主等级
  254. int32 level = 3;
  255. // 玩家声望
  256. int32 prestige = 4;
  257. // 玩家主城位置
  258. Point location = 5;
  259. // 申请时间戳 单位秒
  260. int64 applyTime = 6;
  261. }
  262. // 联盟入盟审批&等级&公告设置
  263. message LeagueBaseSetting {
  264. // 入盟是否需要审批
  265. bool needApprove = 1;
  266. // 入盟所需主城等级
  267. int32 levelLimit = 2;
  268. // 联盟公告
  269. string leagueNotice = 3;
  270. }
  271. // 弹劾信息
  272. message LeagueImpeachInfo {
  273. // 发起弹劾玩家ID
  274. int64 playerID = 1;
  275. // 发起弹劾玩家名称
  276. string playerName = 2;
  277. // 同意人数
  278. int32 agreeCount = 3;
  279. // 反对人数
  280. int32 rejectCount = 4;
  281. // 我的投票结果 0-未投票 1-同意 2-反对
  282. int32 myVote = 5;
  283. // 弹劾结束时间 单位秒
  284. int64 endTime = 6;
  285. }
  286. // 职位信息
  287. message LeagueJob {
  288. // 当前职位 0表示已没有任何职位
  289. int32 job = 1;
  290. // 权限列表
  291. repeated int32 permissions = 2;
  292. }
  293. // 联盟驻地列表
  294. message LeagueResidenceList {
  295. repeated LeagueResidence list = 1;
  296. }
  297. // 入住联盟驻地玩家基础信息
  298. message LeagueResidence {
  299. // 玩家ID
  300. int64 playerID = 1;
  301. // 玩家名称
  302. string playerName = 2;
  303. // 驻地下标索引 从0开始
  304. int32 index = 3;
  305. }
  306. // 联盟成员战绩信息
  307. message LeagueMemberRecordInfo {
  308. // 玩家ID
  309. int64 playerID = 1;
  310. // 玩家名称
  311. string playerName = 2;
  312. // 领主等级
  313. int32 lordLevel = 3;
  314. // 头像
  315. int32 iconID = 4;
  316. // 头像框ID
  317. int32 frameID = 5;
  318. // 职位
  319. int32 job = 6;
  320. // 玩家战绩列表 0本周 1上周 2上上周 空则无战绩
  321. map<int32, LeagueMemberRecord> records = 7;
  322. }
  323. // 联盟成员战绩
  324. message LeagueMemberRecord {
  325. // 玩家战绩 key 战绩枚举类型 value 对应值
  326. map<int32, int32> weekDatas = 1;
  327. }
  328. // 联盟仓库
  329. message LeagueStorage {
  330. // 仓库货币列表
  331. map<int32, Currency> currencies = 1;
  332. // 货币税率
  333. map<int32, StorageRatio> ratios = 2;
  334. // F币分配剩余次数(每日重置)
  335. int32 fBonusRemainCount = 3;
  336. }
  337. // 联盟资源税率
  338. message StorageRatio {
  339. // 货币ID
  340. int32 id = 1;
  341. // 税率 百分比
  342. int32 ratio = 2;
  343. // 剩余调整次数(每日重置)
  344. int32 remainCount = 3;
  345. }
  346. // F币分红
  347. message LeagueFundBonus {
  348. // 总分红F币数量
  349. int64 totalFund = 1;
  350. // 成员ID列表
  351. repeated int64 memberIDList = 2;
  352. }
  353. // 联盟职位
  354. message LeaguePlayerJob {
  355. // 联盟ID 没加入为0
  356. int64 leagueID = 7;
  357. // 联盟名称
  358. string leagueName = 8;
  359. // 联盟简称
  360. string leagueAbbName = 9;
  361. // 所在联盟职位ID L-联盟-职位表职位ID
  362. int32 jobID = 10;
  363. }
  364. // 联盟外交列表
  365. message LeagueDiplomacyInfos {
  366. repeated LeagueDiplomacyInfo list = 1;
  367. }
  368. // 联盟外交信息
  369. message LeagueDiplomacyInfo {
  370. // 联盟ID
  371. int64 leagueID = 1;
  372. // 联盟名称
  373. string leagueName = 2;
  374. // 联盟简称
  375. string leagueAbbName = 3;
  376. // 联盟等级
  377. int32 level = 4;
  378. // 声望
  379. int32 prestige = 5;
  380. // 联盟当前成员数量
  381. int32 memberCount = 6;
  382. // 旗帜背景
  383. int32 flagBg = 7;
  384. // 旗帜图标
  385. int32 flagIcon = 8;
  386. // 所属地坐标
  387. Point location = 9;
  388. // 联盟创建时间戳 单位秒
  389. int64 createTime = 10;
  390. // 联邦ID
  391. int64 uninID = 21;
  392. // 友盟联盟ID列表
  393. repeated int64 umengs = 22;
  394. }
  395. // 联盟外交
  396. message LeagueDiplomacy {
  397. // 联邦信息
  398. LeagueUnion union = 1;
  399. // 友盟联盟列表 key联盟ID value解除时间戳 0为未解除 单位秒
  400. map<int64, int64> umengs = 2;
  401. // 联盟外交接收申请列表
  402. repeated LeagueDiplomacyApply applys = 3;
  403. // 联盟外交发送申请列表 key联盟ID value申请类型 1友盟 2联邦
  404. repeated I64I32 sendApplys = 4;
  405. }
  406. // 联盟外交申请变更通知
  407. message LeagueDiplomacyApplyChange {
  408. // 变更类型 1添加 2删除
  409. int32 changeType = 1;
  410. // 联盟外交申请
  411. LeagueDiplomacyApply apply = 2;
  412. }
  413. // 联盟外交申请
  414. message LeagueDiplomacyApply {
  415. // 联盟ID
  416. int64 leagueID = 1;
  417. // 联盟名称
  418. string leagueName = 2;
  419. // 申请类型 1友盟 2联邦
  420. int32 applyType = 3;
  421. }
  422. // 友盟关系变化
  423. message LeagueUmengChange {
  424. // 是否添加 true添加 false删除
  425. bool add = 1;
  426. // 增加/删除的联盟ID
  427. repeated int64 leagueIDList = 2;
  428. }
  429. message LeagueUnion {
  430. // 联邦ID
  431. int64 unionID = 1;
  432. // 联邦对方联盟ID
  433. int64 unionLeagueID = 2;
  434. // 联邦解除时间戳 0未解除 单位秒
  435. int64 unionRelieveTime = 3;
  436. }