guild_msg.go 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403
  1. package msg
  2. import (
  3. "rocommon"
  4. "rocommon/util"
  5. "roserver/baseserver/model"
  6. guildMode "roserver/guild/model"
  7. "roserver/serverproto"
  8. )
  9. func init() {
  10. //todo...
  11. // 添加协议
  12. //创建工会
  13. serverproto.Handle_GUILD_CSBuildGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  14. msg := ev.Msg().(*serverproto.CSBuildGuildReq)
  15. util.InfoF("receive CSBuildGuildReq msg=%v", msg)
  16. ackMsg := &serverproto.SCBuildGuildAck{}
  17. bRet, guildBrief := guildMode.GuildMag.BuildGuild(msg.Uid, msg.GuildName, msg.GuildBadge)
  18. ackMsg.Error = int32(bRet)
  19. ackMsg.GuildBrief = guildBrief
  20. model.ServiceReplay(ev, ackMsg)
  21. })
  22. //解散工会
  23. serverproto.Handle_GUILD_CSDisbandGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  24. msg := ev.Msg().(*serverproto.CSDisbandGuildReq)
  25. util.InfoF("receive CSDisbandGuildReq msg=%v", msg)
  26. ackMsg := &serverproto.SCDisbandGuildAck{}
  27. bRet := guildMode.GuildMag.DisbandGuild(msg.Uid, msg.GuildId)
  28. ackMsg.Error = int32(bRet)
  29. model.ServiceReplay(ev, ackMsg)
  30. })
  31. //申请加入公会
  32. serverproto.Handle_GUILD_CSApplyGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  33. msg := ev.Msg().(*serverproto.CSApplyGuildReq)
  34. util.InfoF("receive CSApplyGuildReq msg=%v", msg)
  35. ackMsg := &serverproto.SCApplyGuildAck{}
  36. ackMsg.GuildId = msg.GuildId
  37. ackMsg.OpType = msg.OpType
  38. //todo 返回包漏加数据
  39. if msg.OpType == 1 {
  40. bRet := guildMode.GuildMag.ApplyGuild(msg.Uid, msg.GuildId, msg.Level, ev)
  41. ackMsg.Error = int32(bRet)
  42. } else if msg.OpType == 2 {
  43. bRet := guildMode.GuildMag.QuitApplyGuild(msg.Uid, msg.GuildId)
  44. ackMsg.Error = int32(bRet)
  45. }
  46. model.ServiceReplay(ev, ackMsg)
  47. })
  48. //退出公会
  49. serverproto.Handle_GUILD_CSQuitGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  50. msg := ev.Msg().(*serverproto.CSQuitGuildReq)
  51. util.InfoF("receive CSQuitGuildReq msg=%v", msg)
  52. ackMsg := &serverproto.SCQuitGuildAck{}
  53. bRet := guildMode.GuildMag.QuitGuild(msg.Uid, msg.GuildId)
  54. ackMsg.Error = int32(bRet)
  55. model.ServiceReplay(ev, ackMsg)
  56. })
  57. //踢出公会成员
  58. serverproto.Handle_GUILD_CSKickGuildMemberReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  59. msg := ev.Msg().(*serverproto.CSKickGuildMemberReq)
  60. util.InfoF("receive CSKickGuildMemberReq msg=%v", msg)
  61. ackMsg := &serverproto.SCKickGuildMemberAck{}
  62. ackMsg.Uid = msg.Uid
  63. bRet := guildMode.GuildMag.KickGuildMember(msg.PreUid, msg.Uid, msg.GuildId, true)
  64. ackMsg.Error = int32(bRet)
  65. model.ServiceReplay(ev, ackMsg)
  66. })
  67. //提降官职
  68. serverproto.Handle_GUILD_CSChangeMemberTitleReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  69. msg := ev.Msg().(*serverproto.CSChangeMemberTitleReq)
  70. util.InfoF("receive CSChangeMemberTitleReq msg=%v", msg)
  71. ackMsg := &serverproto.SCChangeMemberTitleAck{}
  72. bRet := guildMode.GuildMag.ChangeMemberTitle(msg.PreUid, msg.Uid, msg.GuildId, msg.Title)
  73. ackMsg.Title = msg.Title
  74. ackMsg.Uid = msg.Uid
  75. ackMsg.Error = int32(bRet)
  76. model.ServiceReplay(ev, ackMsg)
  77. })
  78. //公会信息修改
  79. serverproto.Handle_GUILD_CSSetGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  80. msg := ev.Msg().(*serverproto.CSSetGuildInfoReq)
  81. util.InfoF("receive CSSetGuildInfoReq msg=%v", msg)
  82. ackMsg := &serverproto.SCSetGuildInfoAck{}
  83. bRet := guildMode.GuildMag.SetGuildInfo(msg)
  84. ackMsg.Error = int32(bRet)
  85. if ackMsg.Error == int32(serverproto.ErrorCode_ERROR_OK) {
  86. ackMsg.JoinType = msg.JoinType
  87. ackMsg.JoinLevel = msg.JoinLevel
  88. ackMsg.GuildBadge = msg.GuildBadge
  89. ackMsg.RecruitNotice = msg.RecruitNotice
  90. }
  91. model.ServiceReplay(ev, ackMsg)
  92. })
  93. //公会申请处理
  94. serverproto.Handle_GUILD_CSApplyInfoHandleReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  95. msg := ev.Msg().(*serverproto.CSApplyInfoHandleReq)
  96. util.InfoF("receive CSApplyInfoHandleReq msg=%v", msg)
  97. ackMsg := &serverproto.SCApplyInfoHandleAck{
  98. GuildId:msg.GuildId,
  99. HandleType:msg.HandleType,
  100. }
  101. bRet := guildMode.GuildMag.ApplyInfoHandle(msg, ackMsg)
  102. ackMsg.Error = int32(bRet)
  103. model.ServiceReplay(ev, ackMsg)
  104. })
  105. //公会信息请求
  106. serverproto.Handle_GUILD_CSGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  107. msg := ev.Msg().(*serverproto.CSGuildInfoReq)
  108. util.InfoF("receive CSGuildInfoReq msg=%v", msg)
  109. ackMsg := &serverproto.SCGuildInfoAck{}
  110. bRet,base,member := guildMode.GuildMag.GetGuildInfo(msg.GuildId)
  111. ackMsg.Error = int32(bRet)
  112. ackMsg.Guild_Base = base
  113. ackMsg.MemBrief = member
  114. ackMsg.Apply = guildMode.GuildMag.CheckGuildApply(msg.Uid, msg.GuildId)
  115. model.ServiceReplay(ev, ackMsg)
  116. })
  117. //公会信息请求
  118. serverproto.Handle_GUILD_CSGetSelfGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  119. msg := ev.Msg().(*serverproto.CSGetSelfGuildInfoReq)
  120. util.InfoF("receive CSGetSelfGuildInfoReq msg=%v", msg)
  121. ackMsg := &serverproto.SCGetSelfGuildInfoAck{
  122. Error:int32(serverproto.ErrorCode_ERROR_FAIL),
  123. }
  124. bRet := guildMode.GuildMag.GetSelfGuildData(msg, ackMsg)
  125. ackMsg.Error = int32(bRet)
  126. /*
  127. bRet,base,member := guildMode.GuildMag.GetGuildInfo(msg.GuildId)
  128. ackMsg.Error = int32(bRet)
  129. ackMsg.Guild_Base = base
  130. ackMsg.MemBrief = member
  131. guild := guildMode.GuildMag.GetGuild(msg.GuildId)
  132. ackMsg.TotalActive = guildMode.GuildMag.GetMemberActive(*member)
  133. if guild != nil {
  134. title := guildMode.GuildMag.GetMemberTitle(msg.Uid, guild)
  135. if title == guildMode.Guild_Title_Vice_Pre || title == guildMode.Guild_Title_Pre {
  136. if guild.ApplyList == nil || len(guild.ApplyList.ApplyGuild) <= 0 {
  137. ackMsg.ApplyList = false
  138. } else {
  139. ackMsg.ApplyList = true
  140. }
  141. }
  142. }
  143. */
  144. model.ServiceReplay(ev, ackMsg)
  145. })
  146. serverproto.Handle_GUILD_SSPlayerStateChangeNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  147. msg := ev.Msg().(*serverproto.SSPlayerStateChangeNtf)
  148. util.InfoF("receive SSPlayerStateChangeNtf msg=%v", msg)
  149. guildMode.GuildMag.MemberStateChange(msg.Uid, msg.GuildId, msg.ChangeType, false, msg.DemonFightTime, false, ev)
  150. })
  151. //////////////////////////////////////////// 推荐公会 /////////////////////////////////////////////////
  152. //推荐公会请求
  153. serverproto.Handle_GUILD_CSRecommendGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  154. msg := ev.Msg().(*serverproto.CSRecommendGuildInfoReq)
  155. util.InfoF("receive CSRecommendGuildInfoReq msg=%v", msg)
  156. ackMsg := &serverproto.SCRecommendGuildInfoAck{}
  157. guildMode.GuildMag.PackRecommendGuild(msg.Uid, msg.ReqCount, ackMsg)
  158. model.ServiceReplay(ev, ackMsg)
  159. })
  160. //修改公户名称
  161. serverproto.Handle_GUILD_CSGuildRenameReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  162. msg := ev.Msg().(*serverproto.CSGuildRenameReq)
  163. util.InfoF("receive CSGuildRenameReq msg=%v", msg)
  164. ackMsg := &serverproto.SCGuildRenameAck{}
  165. bRet := guildMode.GuildMag.ChangeGuildName(msg.Uid, msg.GuildId, msg.GuildName, ev)
  166. ackMsg.Error = int32(bRet)
  167. ackMsg.GuildName = msg.GuildName
  168. model.ServiceReplay(ev, ackMsg)
  169. })
  170. //修改公户公告
  171. serverproto.Handle_GUILD_CSGuildReNoticeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  172. msg := ev.Msg().(*serverproto.CSGuildReNoticeReq)
  173. util.InfoF("receive CSGuildReNoticeReq msg=%v", msg)
  174. ackMsg := &serverproto.SCGuildReNoticeAck{}
  175. bRet := guildMode.GuildMag.ChangeGuildNotice(msg.GuildId, msg.GuildNotice, msg.Uid)
  176. ackMsg.Error = int32(bRet)
  177. ackMsg.GuildNotice = msg.GuildNotice
  178. model.ServiceReplay(ev, ackMsg)
  179. })
  180. serverproto.Handle_GUILD_CSGuildMemberInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  181. msg := ev.Msg().(*serverproto.CSGuildMemberInfoReq)
  182. util.InfoF("receive CSGuildMemberInfoReq msg=%v", msg)
  183. ackMsg := &serverproto.SCGuildMemberInfoAck{
  184. GuildId: msg.GuildId,
  185. }
  186. guildMode.GuildMag.GetGuildMemberData(msg, ackMsg)
  187. model.ServiceReplay(ev, ackMsg)
  188. })
  189. //玩家上线,一定要请求公会信息的。
  190. serverproto.Handle_GUILD_SSOnlineGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  191. msg := ev.Msg().(*serverproto.SSOnlineGuildInfoReq)
  192. util.InfoF("receive SSOnlineGuildInfoReq msg=%v", msg)
  193. guildMode.GuildMag.MemberStateChange(msg.Uid, msg.GuildId, 1, msg.IsRelogin, msg.DemonFightTime, true, ev)
  194. })
  195. //玩家上线,一定要请求公会信息的。
  196. serverproto.Handle_GUILD_CSSearchGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  197. msg := ev.Msg().(*serverproto.CSSearchGuildReq)
  198. util.InfoF("receive CSSearchGuildReq msg=%v", msg)
  199. // SCSearchGuildAck
  200. guildMode.GuildMag.SearchGuild(msg.Uid, msg.SearchString, ev)
  201. })
  202. //公会申请列表请求
  203. serverproto.Handle_GUILD_CSGuildApplyDataReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  204. msg := ev.Msg().(*serverproto.CSGuildApplyDataReq)
  205. util.InfoF("receive CSGuildApplyDataReq msg=%v", msg)
  206. //todo wangzhaocan 检查是否有公会
  207. guildMode.GuildMag.GetGuildApplyList(msg.Uid, msg.GuildId, ev)
  208. })
  209. //公会日志
  210. serverproto.Handle_GUILD_CSGuildLogInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  211. msg := ev.Msg().(*serverproto.CSGuildLogInfoReq)
  212. util.InfoF("receive CSGuildLogInfoReq msg=%v", msg)
  213. //todo wangzhaocan 检查是否有公会
  214. guildMode.GuildMag.GetGuildLogs(msg.GuildId, msg.LogTime, ev)
  215. })
  216. //公会日志
  217. serverproto.Handle_GUILD_SSGuildChatMessageNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  218. msg := ev.Msg().(*serverproto.SSGuildChatMessageNtf)
  219. util.InfoF("receive SSGuildChatMessageReq msg=%v", msg)
  220. guildMode.GuildMag.OnGuildChat(msg)
  221. })
  222. //公会boss信息
  223. serverproto.Handle_GUILD_CSGuildBossInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  224. msg := ev.Msg().(*serverproto.CSGuildBossInfoReq)
  225. util.InfoF("receive CSGuildBossInfoReq msg=%v", msg)
  226. guildMode.GuildMag.PackGuildBossInfo(msg.GuildId, ev)
  227. })
  228. //boss日志
  229. serverproto.Handle_GUILD_CSGuildBossLogReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  230. msg := ev.Msg().(*serverproto.CSGuildBossLogReq)
  231. util.InfoF("receive CSGuildBossLogReq msg=%v", msg)
  232. guildMode.GuildMag.GetGuildBossLog(msg.GuildId, msg.BossId, msg.LogTime, ev)
  233. })
  234. serverproto.Handle_GUILD_CSGuildBossChallengeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  235. msg := ev.Msg().(*serverproto.CSGuildBossChallengeReq)
  236. util.InfoF("receive CSGuildBossChallengeReq msg=%v", msg)
  237. ackMsg := &serverproto.SCGuildBossChallengeAck{}
  238. bRet := guildMode.GuildMag.ChallengeGuildBoss(msg,ev)
  239. ackMsg.Error = int32(bRet)
  240. ackMsg.BossId = msg.BossId
  241. ackMsg.Damage = msg.Damage
  242. model.ServiceReplay(ev, ackMsg)
  243. })
  244. serverproto.Handle_GUILD_CSGuildBossSummonReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  245. msg := ev.Msg().(*serverproto.CSGuildBossSummonReq)
  246. util.InfoF("receive CSGuildBossSummonReq msg=%v", msg)
  247. ackMsg := &serverproto.SCGuildBossSummonAck{}
  248. bRet := guildMode.GuildMag.SummonGuildBoss(msg.GuildId, msg.BossId, msg.Uid, ackMsg, ev)
  249. ackMsg.Error = int32(bRet)
  250. model.ServiceReplay(ev, ackMsg)
  251. })
  252. serverproto.Handle_GUILD_CSGuildBossExtraRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  253. msg := ev.Msg().(*serverproto.CSGuildBossExtraRewardReq)
  254. util.InfoF("receive CSGuildBossExtraRewardReq msg=%v", msg)
  255. ackMsg := &serverproto.SCGuildBossExtraRewardAck{}
  256. bRet := guildMode.GuildMag.GetGuildBossExtraReward(msg.GuildId, msg.BossId, ackMsg)
  257. ackMsg.Error = int32(bRet)
  258. model.ServiceReplay(ev, ackMsg)
  259. })
  260. //======================================================== SS协议 ========================================================
  261. //公会申请列表请求
  262. serverproto.Handle_GUILD_SSGuildOnAddActivityNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  263. msg := ev.Msg().(*serverproto.SSGuildOnAddActivityNtf)
  264. util.InfoF("receive SSGuildOnAddActivityNtf msg=%v", msg)
  265. //todo wangzhaocan 检查是否有公会
  266. guildMode.GuildMag.OnRoleActivityChange(msg.Uid, msg.GuildId, msg.Activity)
  267. })
  268. //公会申请列表请求
  269. serverproto.Handle_GUILD_SSGuildMemberOnlineInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  270. msg := ev.Msg().(*serverproto.SSGuildMemberOnlineInfoAck)
  271. util.InfoF("receive SSGuildMemberOnlineInfoAck msg=%v", msg)
  272. //todo wangzhaocan 检查是否有公会
  273. guildMode.GuildMag.OnGuildMemberOnlineAck(msg)
  274. })
  275. serverproto.Handle_GUILD_CSGuildDemonInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  276. msg := ev.Msg().(*serverproto.CSGuildDemonInfoReq)
  277. util.InfoF("receive CSGuildDemonInfoReq msg=%v", msg)
  278. //todo wangzhaocan 检查是否有公会
  279. ackMsg := &serverproto.SCGuildDemonInfoAck{
  280. ReqUid: msg.Uid,
  281. }
  282. guildMode.GuildMag.GetGuildDemonInfo(msg.Uid, msg.GuildId, ackMsg)
  283. model.ServiceReplay(ev, ackMsg)
  284. })
  285. serverproto.Handle_GUILD_SSGuildDemonFightReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  286. msg := ev.Msg().(*serverproto.SSGuildDemonFightReq)
  287. util.InfoF("receive CSGuildDemonFightReq msg=%v", msg)
  288. //todo wangzhaocan 检查是否有公会
  289. ackMsg := &serverproto.SSGuildDemonFightAck{
  290. ReqUid: msg.Uid,
  291. }
  292. guildMode.GuildMag.GuildDemonFight(msg, ackMsg)
  293. model.ServiceReplay(ev, ackMsg)
  294. })
  295. serverproto.Handle_GUILD_CSGuildDemonGuildRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  296. msg := ev.Msg().(*serverproto.CSGuildDemonGuildRankReq)
  297. util.InfoF("receive CSGuildDemonGuildRankReq msg=%v", msg)
  298. //todo wangzhaocan 检查是否有公会
  299. ackMsg := &serverproto.SCGuildDemonGuildRankAck{
  300. Uid: msg.Uid,
  301. }
  302. guildMode.GuildMag.GetDemonGuildRank(msg.Page, msg.GuildId, ackMsg)
  303. model.ServiceReplay(ev, ackMsg)
  304. })
  305. serverproto.Handle_GUILD_CSGuildDemonMVPRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  306. msg := ev.Msg().(*serverproto.CSGuildDemonMVPRankReq)
  307. util.InfoF("receive CSGuildDemonMVPRankReq msg=%v", msg)
  308. //todo wangzhaocan 检查是否有公会
  309. ackMsg := &serverproto.SCGuildDemonMVPRankAck{
  310. Uid: msg.Uid,
  311. }
  312. guildMode.GuildMag.GetGuildDemonMVPReq(msg.Page, msg.GuildId, ackMsg)
  313. model.ServiceReplay(ev, ackMsg)
  314. })
  315. //公会变更会长
  316. serverproto.Handle_GUILD_SSGuildBattleGMChangeLeaderReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  317. msg := ev.Msg().(*serverproto.SSGuildBattleGMChangeLeaderReq)
  318. util.InfoF("receive SSGuildBattleGMChangeLeaderReq msg=%v", msg)
  319. guildMode.GuildMag.GMChangeGuildLeader(msg.GuildId)
  320. })
  321. //公会踢除玩家
  322. serverproto.Handle_GUILD_SSGuildBattleGMKickMemberReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  323. msg := ev.Msg().(*serverproto.SSGuildBattleGMKickMemberReq)
  324. util.InfoF("receive SSGuildBattleGMKickMemberReq msg=%v", msg)
  325. guildMode.GuildMag.GMKickMember(msg.GuildId, msg.Uid)
  326. })
  327. //GM设定公会魔王伤害
  328. serverproto.Handle_GUILD_SSGuildBattleGMDemonDamageReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  329. msg := ev.Msg().(*serverproto.SSGuildBattleGMDemonDamageReq)
  330. util.InfoF("receive SSGuildBattleGMDemonDamageReq msg=%v", msg)
  331. guildMode.GuildMag.GMSetGuildDemonDamage()
  332. })
  333. }