| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670 |
- package msg
- import (
- "rocommon"
- "rocommon/util"
- "roserver/baseserver/model"
- model2 "roserver/game/model"
- "roserver/serverproto"
- "unicode/utf8"
- )
- func init() {
- //创建工会
- serverproto.Handle_GAME_CSBuildGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSBuildGuildReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSBuildGuildReq msg=%v", role.GetUUid(), msg)
- nameLen := utf8.RuneCountInString(msg.GuildName)
- if int32(nameLen) < model.GlobalGuildMinNameStringLen || int32(nameLen) > model.GlobalGuildMaxNameStringLen {
- ackMsg := &serverproto.SCBuildGuildAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_GUILD_NAME_LEN)
- role.ReplayGate(ackMsg, true)
- return
- }
- bRet := role.(model2.RoleLogicOuter).CheckBuildGuild(msg.GuildName, msg.GuildBadge)
- if bRet == serverproto.ErrorCode_ERROR_OK {
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- }
- })
- //解散工会
- serverproto.Handle_GAME_CSDisbandGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSDisbandGuildReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSDisbandGuildReq msg=%v", role.GetUUid(), msg)
- guildId := role.(model2.RoleLogicOuter).GetRoleGuildId()
- if guildId != 0 { //有工会才能解散
- msg.GuildId = guildId
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCDisbandGuildAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_GUILD_NOT_IN_GUILD)
- role.ReplayGate(ackMsg, true)
- }
- })
- //申请加入工会
- serverproto.Handle_GAME_CSApplyGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSApplyGuildReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSApplyGuildReq msg=%v", role.GetUUid(), msg)
- bRet := role.(model2.RoleLogicOuter).CheckApplyGuild(msg.GuildId)
- if bRet {
- msg.Uid = role.GetUUid()
- msg.Level = role.(*model2.Role).GetRoleLevel()
- role.(*model2.Role).SendGuild(msg)
- }
- })
- //退出公会
- serverproto.Handle_GAME_CSQuitGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSQuitGuildReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSQuitGuildReq msg=%v", role.GetUUid(), msg)
- guildId := role.(model2.RoleLogicOuter).GetRoleGuildId()
- if guildId != 0 {
- msg.GuildId = guildId
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCQuitGuildAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_GUILD_NOT_IN_GUILD)
- role.ReplayGate(ackMsg, true)
- }
- })
- //踢出公会成员
- serverproto.Handle_GAME_CSKickGuildMemberReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSKickGuildMemberReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSKickGuildMemberReq msg=%v", role.GetUUid(), msg)
- guildId := role.(model2.RoleLogicOuter).GetRoleGuildId()
- if guildId != 0 {
- msg.PreUid = role.GetUUid()
- msg.GuildId = guildId
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCKickGuildMemberAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_GUILD_NOT_IN_GUILD)
- ackMsg.Uid = msg.Uid
- role.(*model2.Role).ReplayGate(ackMsg, true)
- }
- })
- //提降官职
- serverproto.Handle_GAME_CSChangeMemberTitleReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSChangeMemberTitleReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSChangeMemberTitleReq msg=%v", role.GetUUid(), msg)
- guildId := role.(model2.RoleLogicOuter).GetRoleGuildId()
- if guildId != 0 && msg.Uid != role.GetUUid() { //有公会,不能对自己操作
- msg.GuildId = guildId
- msg.PreUid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCChangeMemberTitleAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- }
- if guildId == 0 {
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_GUILD_NOT_IN_GUILD)
- }
- role.(*model2.Role).ReplayGate(ackMsg, true)
- }
- })
- //公会申请处理
- serverproto.Handle_GAME_CSApplyInfoHandleReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSApplyInfoHandleReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSApplyInfoHandleReq msg=%v", role.GetUUid(), msg)
- bRet := role.(model2.RoleLogicOuter).CheckApplyInfo(msg)
- if bRet == serverproto.ErrorCode_ERROR_OK {
- msg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- }
- })
- //公会信息请求
- serverproto.Handle_GAME_CSGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildInfoReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildInfoReq msg=%v", role.GetUUid(), msg)
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- })
- //自己公会信息请求
- serverproto.Handle_GAME_CSGetSelfGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGetSelfGuildInfoReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGetSelfGuildInfoReq msg=%v", role.GetUUid(), msg)
- guildId := role.(model2.RoleLogicOuter).GetRoleGuildId()
- if guildId != 0 {
- msg.GuildId = guildId
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCGetSelfGuildInfoAck{
- Error: int32(serverproto.ErrorCode_ERROR_GUILD_NOT_IN_GUILD),
- }
- role.(*model2.Role).ReplayGate(ackMsg, true)
- }
- })
- //修改公户名称
- serverproto.Handle_GAME_CSGuildRenameReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildRenameReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildRenameReq msg=%v", role.GetUUid(), msg)
- bRet := role.(model2.RoleLogicOuter).CheckGuildRename(msg.GuildName)
- if bRet != serverproto.ErrorCode_ERROR_OK {
- ackMsg := &serverproto.SCGuildRenameAck{
- Error: int32(bRet),
- }
- role.(*model2.Role).ReplayGate(ackMsg, true)
- return
- }
- msg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- })
- //修改公户公告
- serverproto.Handle_GAME_CSGuildReNoticeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildReNoticeReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildReNoticeReq msg=%v", role.GetUUid(), msg)
- bRet := role.(model2.RoleLogicOuter).CheckGuildRenotice(msg.GuildNotice)
- if bRet == serverproto.ErrorCode_ERROR_OK {
- msg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCGuildReNoticeAck{
- Error: int32(bRet),
- GuildNotice: msg.GuildNotice,
- }
- role.(*model2.Role).ReplayGate(ackMsg, true)
- }
- })
- //修改工会招募信息
- serverproto.Handle_GAME_CSSetGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSSetGuildInfoReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSSetGuildInfoReq msg=%v", msg)
- bRet := role.(model2.RoleLogicOuter).CheckGuildModifyInfo(msg)
- if bRet != serverproto.ErrorCode_ERROR_OK {
- ackMsg := &serverproto.SCSetGuildInfoAck{}
- ackMsg.Error = int32(bRet)
- ackMsg.JoinLevel = msg.JoinLevel
- ackMsg.JoinType = msg.JoinType
- ackMsg.GuildBadge = msg.GuildBadge
- role.(*model2.Role).ReplayGate(ackMsg, true)
- return
- }
- msg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- })
- serverproto.Handle_GAME_CSGuildMemberInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildMemberInfoReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildMemberInfoReq msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).SendGuild(msg)
- })
- //推荐公会请求
- serverproto.Handle_GAME_CSRecommendGuildInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSRecommendGuildInfoReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSRecommendGuildInfoReq msg=%v", role.GetUUid(), msg)
- msg.Uid = role.GetUUid()
- msg.ReqCount = role.(*model2.Role).GetRoleGuild().GetRecommendCount()
- role.(*model2.Role).SendGuild(msg)
- })
- //玩家上线,一定要请求公会信息的。
- serverproto.Handle_GAME_CSOnlinePlayerGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSOnlinePlayerGuildReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSOnlinePlayerGuildReq msg=%v", role.GetUUid(), msg)
- reqMsg := &serverproto.SSOnlineGuildInfoReq{}
- reqMsg.Uid = role.(*model2.Role).GetUUid()
- reqMsg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- reqMsg.IsRelogin = false
- reqMsg.DemonFightTime = role.(*model2.Role).GetRoleGuild().GetDemonFightTime()
- role.(*model2.Role).SendGuild(reqMsg)
- })
- //查找公会
- serverproto.Handle_GAME_CSSearchGuildReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSSearchGuildReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSSearchGuildReq msg=%v", role.GetUUid(), msg)
- nameLen := utf8.RuneCountInString(msg.SearchString)
- if int32(nameLen) < model.GlobalGuildMinSearchStringLen || int32(nameLen) > model.GlobalGuildMaxSearchStringLen {
- ackMsg := &serverproto.SCSearchGuildAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_GUILD_NAME_LEN)
- ackMsg.SearchString = msg.SearchString
- role.ReplayGate(ackMsg, true)
- return
- }
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- })
- //查找公会
- serverproto.Handle_GAME_CSGuildApplyDataReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildApplyDataReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildApplyDataReq msg=%v", role.GetUUid(), msg)
- //todo wangzhaocan 检查是否有公会
- msg.Uid = role.GetUUid()
- msg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- role.(*model2.Role).SendGuild(msg)
- })
- serverproto.Handle_GAME_CSGuildLogInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildLogInfoReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildLogInfoReq msg=%v", role.GetUUid(), msg)
- guildId := role.(model2.RoleLogicOuter).GetRoleGuildId()
- if guildId != 0 {
- msg.GuildId = guildId
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCGuildLogInfoAck{}
- ackMsg.IsEnd = true
- role.ReplayGate(ackMsg, true)
- }
- })
- //请求公会boss
- serverproto.Handle_GAME_CSGuildBossInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBossInfoReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBossInfoReq msg=%v", role.GetUUid(), msg)
- guildId := role.(model2.RoleLogicOuter).GetRoleGuildId()
- if guildId != 0 {
- msg.GuildId = guildId
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCGuildBossInfoAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_GUILD_NOT_IN_GUILD)
- role.ReplayGate(ackMsg, true)
- }
- })
- //公会BOSS日志请求
- serverproto.Handle_GAME_CSGuildBossLogReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBossLogReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBossLogReq msg=%v", role.GetUUid(), msg)
- guildId := role.(model2.RoleLogicOuter).GetRoleGuildId()
- if guildId != 0 {
- msg.GuildId = guildId
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCGuildBossLogAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_GUILD_NOT_IN_GUILD)
- role.ReplayGate(ackMsg, true)
- }
- })
- //公会boss挑战
- serverproto.Handle_GAME_CSGuildBossChallengeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBossChallengeReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBossLogReq msg=%v", role.GetUUid(), msg)
- bRet := role.(model2.RoleLogicOuter).CheckGuildBossChallenge(msg.BossId, msg.Damage, msg.BattleTime)
- if bRet == serverproto.ErrorCode_ERROR_OK {
- msg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCGuildBossChallengeAck{}
- ackMsg.Error = int32(bRet)
- role.ReplayGate(ackMsg, true)
- }
- })
- //公会boss召唤
- serverproto.Handle_GAME_CSGuildBossSummonReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBossSummonReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBossSummonReq msg=%v", role.GetUUid(), msg)
- guildId := role.(model2.RoleLogicOuter).GetRoleGuildId()
- if guildId != 0 {
- msg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- msg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCGuildBossSummonAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_GUILD_NOT_IN_GUILD)
- role.ReplayGate(ackMsg, true)
- }
- })
- //大师奖励
- serverproto.Handle_GAME_CSGuildBossExtraRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBossExtraRewardReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBossExtraRewardReq msg=%v", role.GetUUid(), msg)
- guildId := role.(model2.RoleLogicOuter).GetRoleGuildId()
- if guildId != 0 {
- msg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- role.(*model2.Role).SendGuild(msg)
- } else {
- ackMsg := &serverproto.SCGuildBossExtraRewardAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_GUILD_NOT_IN_GUILD)
- role.ReplayGate(ackMsg, true)
- }
- })
- //======================================================= 从guildserver过来的消息 =======================================================
- serverproto.Handle_GAME_SCBuildGuildAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCBuildGuildAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCBuildGuildAck msg=%v", role.GetUUid(), msg)
- if msg.Error == int32(serverproto.ErrorCode_ERROR_OK) {
- role.(*model2.Role).GetRoleGuild().BuildGuildSuccess(msg.GuildBrief)
- }
- role.ReplayGate(msg, true)
- })
- //解散公会
- serverproto.Handle_GAME_SCDisbandGuildAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCDisbandGuildAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCDisbandGuildAck msg=%v", role.GetUUid(), msg)
- if msg.Error == int32(serverproto.ErrorCode_ERROR_OK) {
- role.(*model2.Role).GetRoleGuild().DisbandGuild()
- }
- role.ReplayGate(msg, true)
- })
- //申请加入公会返回
- serverproto.Handle_GAME_SCApplyGuildAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCApplyGuildAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCApplyGuildAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //离开公会
- serverproto.Handle_GAME_SCQuitGuildAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCQuitGuildAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCQuitGuildAck msg=%v", role.GetUUid(), msg)
- if msg.Error == int32(serverproto.ErrorCode_ERROR_OK) {
- role.(*model2.Role).GetRoleGuild().QuitGuild()
- }
- role.ReplayGate(msg, true)
- })
- //踢除玩家
- serverproto.Handle_GAME_SCKickGuildMemberAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCKickGuildMemberAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCKickGuildMemberAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //变更玩家官职
- serverproto.Handle_GAME_SCChangeMemberTitleAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCChangeMemberTitleAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCChangeMemberTitleAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //设置公会信息返回包
- serverproto.Handle_GAME_SCSetGuildInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCSetGuildInfoAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCSetGuildInfoAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //Guild返回请求公会消息
- serverproto.Handle_GAME_SCGuildInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildInfoAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildInfoAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //Guild返回请求公会消息
- serverproto.Handle_GAME_SCGetSelfGuildInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGetSelfGuildInfoAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGetSelfGuildInfoAck msg=%v", role.GetUUid(), msg)
- if msg.Error == int32(serverproto.ErrorCode_ERROR_OK) {
- msg.RoleGuild = role.(*model2.Role).GetRoleGuild().GetGuildInfo()
- }
- role.ReplayGate(msg, true)
- })
- //Guild返回请求公会消息
- serverproto.Handle_GAME_SCApplyInfoHandleAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCApplyInfoHandleAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCApplyInfoHandleAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //客户端上线请求公会相关
- serverproto.Handle_GAME_SSOnlineGuildInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSOnlineGuildInfoAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- util.InfoF("uid=%v receive SSOnlineGuildInfoAck role not found")
- return
- }
- util.InfoF("uid=%v receive SSOnlineGuildInfoAck msg=%v", role.GetUUid(), msg)
- if msg.Data != nil && msg.Data.Brief != nil {
- role.(*model2.Role).GetRoleGuild().SetOnlineGuildInfo(msg.Data.Brief.GuildId, msg.Data.Brief.GuildName)
- } else if msg.Data == nil {
- role.(*model2.Role).GetRoleGuild().SetOnlineGuildInfo(0, "")
- }
- ackMsg := &serverproto.SCOnlinePlayerGuildAck{}
- ackMsg.InGuildBattle = msg.InGuildBattle
- ackMsg.Data = msg.Data
- ackMsg.NextJoin = msg.NextJoin
- ackMsg.MsgRec = msg.MsgRec
- // ackMsg.Boss = msg.Boss
- bRet := role.(*model2.Role).GetRoleGuild().HasBattleCount(msg)
- ackMsg.Boss = bRet
- ackMsg.NextJoin = role.(*model2.Role).GetRoleGuild().GetNextJoin()
- role.ReplayGate(ackMsg, true)
- if msg.GuildSys != nil {
- ntfMsg := &serverproto.SCSystemMessageNtf{}
- ntfMsg.SysMsg = append(ntfMsg.SysMsg, msg.GuildSys)
- role.ReplayGate(ntfMsg, true)
- }
- })
- //修改公户名称
- serverproto.Handle_GAME_SCGuildRenameAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildRenameAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildRenameAck msg=%v", role.GetUUid(), msg)
- if msg.Error == int32(serverproto.ErrorCode_ERROR_OK) {
- role.(model2.RoleLogicOuter).OnChangeGuileNameSuccess()
- }
- role.ReplayGate(msg, true)
- })
- //修改公户公告
- serverproto.Handle_GAME_SCGuildReNoticeAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildReNoticeAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildReNoticeAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //公会成员信息返回
- serverproto.Handle_GAME_SCGuildMemberInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildMemberInfoAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildMemberInfoAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //查询工会结果返回
- serverproto.Handle_GAME_SCSearchGuildAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCSearchGuildAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCSearchGuildAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //推荐公会列表返回
- serverproto.Handle_GAME_SCRecommendGuildInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCRecommendGuildInfoAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCRecommendGuildInfoAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //公会信息通知(有玩家直接加入公会,或者会长批准入会)
- serverproto.Handle_GAME_SCApplyInfoHandleNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCApplyInfoHandleNtf)
- role := model2.RoleMag.GetRoleFromUUid(msg.Uid)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCApplyInfoHandleNtf msg=%v", role.GetUUid(), msg)
- if msg.ApplyResult == 1 { //1:Guild_Apply_Accept
- role.(*model2.Role).GetRoleGuild().SetOnlineGuildInfo(msg.GuildId, msg.Data.Brief.GuildName)
- }
- role.ReplayGate(msg, true)
- })
- //公会申请列表返回
- serverproto.Handle_GAME_SCGuildApplyDataAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildApplyDataAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildApplyDataAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //公会日志列表返回
- serverproto.Handle_GAME_SCGuildLogInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildLogInfoAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildLogInfoAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //更改公会成员头衔返回
- serverproto.Handle_GAME_SCChangeMemberTitleNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCChangeMemberTitleNtf)
- role := model2.RoleMag.GetRoleFromUUid(msg.Uid)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCChangeMemberTitleNtf msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //踢出玩家通知(通知到被踢玩家)
- serverproto.Handle_GAME_SCKickGuildMemberNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCKickGuildMemberNtf)
- role := model2.RoleMag.GetRoleFromUUid(msg.Uid)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCKickGuildMemberNtf msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).GetRoleGuild().SetOnlineGuildInfo(0, "")
- role.ReplayGate(msg, true)
- })
- //boss信息
- serverproto.Handle_GAME_SCGuildBossInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBossInfoAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBossInfoAck msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).GetRoleGuild().SetFightCount(msg)
- role.ReplayGate(msg, true)
- })
- //boss日志
- serverproto.Handle_GAME_SCGuildBossLogAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBossLogAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBossLogAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //boss挑战
- serverproto.Handle_GAME_SCGuildBossChallengeAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBossChallengeAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBossChallengeAck msg=%v", role.GetUUid(), msg)
- if msg.Error == int32(serverproto.ErrorCode_ERROR_OK) {
- role.(*model2.Role).GetRoleGuild().GuildBossFightSuccess(msg)
- }
- role.ReplayGate(msg, true)
- })
- //boss召唤
- serverproto.Handle_GAME_SCGuildBossSummonAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBossSummonAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBossSummonAck msg=%v", role.GetUUid(), msg)
- if msg.Error == int32(serverproto.ErrorCode_ERROR_OK) {
- nCount := role.(*model2.Role).GetRoleGuild().GetBossFightCount(msg.BossId)
- msg.FightCount = nCount
- }
- role.ReplayGate(msg, true)
- })
- //公会boss额外奖励
- serverproto.Handle_GAME_SCGuildBossExtraRewardAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBossExtraRewardAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBossExtraRewardAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //公会boss额外奖励
- serverproto.Handle_GAME_SSGuildBossRefreshNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildBossRefreshNtf)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSGuildBossRefreshNtf msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).GetRoleGuild().BossRefreshData(msg)
- })
- //公会名字修改
- serverproto.Handle_GAME_SCGuildNameChangeNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildNameChangeNtf)
- role := model2.RoleMag.GetRoleFromUUid(msg.Uid)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildNameChangeNtf msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).GetRoleGuild().GuildNameChange(msg.GuildId, msg.GuildName)
- role.ReplayGate(msg, true)
- })
- //////公会战
- //公会战贡献点
- serverproto.Handle_GAME_CSGuildBattleCPRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleCPRankReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleCPRankReq msg=%v", role.GetUUid(), msg)
- //请求消息时间拦截(防止频繁请求)
- bRet := role.(*model2.Role).GetRoleGuild().CheckReqTime()
- if !bRet {
- return
- }
- //转发到公会服务器
- reqMsg := &serverproto.SSGuildBattleCPRankReq{}
- reqMsg.Uid = role.GetUUid()
- reqMsg.GuildId = uint64(role.(model2.RoleLogicOuter).GetRoleGuildId())
- role.(*model2.Role).SendGuild(reqMsg)
- })
- serverproto.Handle_GAME_SSGuildBattleCPRankAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildBattleCPRankAck)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSGuildBattleCPRankAck msg=%v", role.GetUUid(), msg)
- //转发到公会服务器
- ackMsg := &serverproto.SCGuildBattleCPRankAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_OK)
- ackMsg.CpList = msg.CpList
- ackMsg.SelfGuildRank = msg.SelfGuildRank
- ackMsg.SelfGuildCp = msg.SelfGuildCp
- role.(*model2.Role).ReplayGate(ackMsg, true)
- })
- //公会战对阵表
- serverproto.Handle_GAME_CSGuildBattleCountPartReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleCountPartReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleCountPartReq msg=%v", role.GetUUid(), msg)
- //请求消息时间拦截(防止频繁请求)
- bRet := role.(*model2.Role).GetRoleGuild().CheckReqTime()
- if !bRet {
- return
- }
- //转发到公会服务器
- reqMsg := &serverproto.SSGuildBattleCountPartReq{}
- reqMsg.Uid = role.GetUUid()
- role.(*model2.Role).SendGuild(reqMsg)
- })
- serverproto.Handle_GAME_SSGuildBattleCountPartAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildBattleCountPartAck)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSGuildBattleCountPartAck msg=%v", role.GetUUid(), msg)
- //转发到公会服务器
- ackMsg := &serverproto.SCGuildBattleCountPartAck{}
- ackMsg.CurStge = msg.CurStge
- ackMsg.Champion = msg.Champion
- if msg.Table != nil {
- ackMsg.Data = append(ackMsg.Data, msg.Table.Data...)
- }
- ackMsg.TournamentPrepare = msg.TournamentPrepare
- ackMsg.TournamentBegin = msg.TournamentBegin
- ackMsg.TournamentEnd = msg.TournamentEnd
- ackMsg.SemifinalsPrepare = msg.SemifinalsPrepare
- ackMsg.SemifinalsBegin = msg.SemifinalsBegin
- ackMsg.SemifinalsEnd = msg.SemifinalsEnd
- ackMsg.FinalsPrepare = msg.FinalsPrepare
- ackMsg.FinalsBegin = msg.FinalsBegin
- ackMsg.FinalsEnd = msg.FinalsEnd
- role.(*model2.Role).ReplayGate(ackMsg, true)
- })
- //公会战查看界面数据请求
- serverproto.Handle_GAME_CSGuildBattleMvpInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleMvpInfoReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleMvpInfoReq msg=%v", role.GetUUid(), msg)
- //转发到公会服务器
- reqMsg := &serverproto.SSGuildBattleMvpInfoReq{}
- role.(*model2.Role).SendGuild(reqMsg)
- })
- serverproto.Handle_GAME_SSGuildBattleMvpInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildBattleMvpInfoAck)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSGuildBattleMvpInfoAck msg=%v", role.GetUUid(), msg)
- //转发到公会服务器
- ackMsg := &serverproto.SCGuildBattleMvpInfoAck{}
- ackMsg.GuildBattleIdx = msg.GuildBattleIdx
- ackMsg.Error = msg.Error
- ackMsg.Detail = msg.Detail
- ackMsg.CountPart = msg.CountPart
- role.(*model2.Role).ReplayGate(ackMsg, true)
- })
- //公会战MVP详情请求
- serverproto.Handle_GAME_CSGuildBattleMvpDetailReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleMvpDetailReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleMvpDetailReq msg=%v", role.GetUUid(), msg)
- //转发到公会服务器
- reqMsg := &serverproto.SSGuildBattleMvpDetailReq{}
- role.(*model2.Role).SendGuild(reqMsg)
- })
- serverproto.Handle_GAME_SSGuildBattleMvpDetailAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildBattleMvpDetailAck)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSGuildBattleMvpDetailAck msg=%v", role.GetUUid(), msg)
- //转发到公会服务器
- ackMsg := &serverproto.SCGuildBattleMvpDetailAck{}
- role.(*model2.Role).ReplayGate(ackMsg, true)
- })
- //获取对阵双方信息(打开界面时的信息)
- serverproto.Handle_GAME_CSGuildBattleInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleInfoReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleInfoReq msg=%v", role.GetUUid(), msg)
- if msg.GuildBattleIdx > 7 || msg.GuildBattleIdx <= 0 {
- ackMsg := &serverproto.SCGuildBattleInfoAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_FAIL)
- role.ReplayGate(ackMsg, true)
- return
- }
- msg.SelfGuildId = uint64(role.(model2.RoleLogicOuter).GetRoleGuildId())
- role.(*model2.Role).SendGuild(msg)
- })
- //from guild
- serverproto.Handle_GAME_SCGuildBattleInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBattleInfoAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBattleInfoAck msg=%v", role.GetUUid(), msg)
- msg.BuyChallengeNum = role.(*model2.Role).GetRoleGuild().GetBuyChallengeNum()
- role.ReplayGate(msg, true)
- })
- //设置自动购买,复活CD(数据变更通过SCGuildBattleInfoNtf)
- serverproto.Handle_GAME_CSGuildBattleSettingReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleSettingReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleSettingReq msg=%v", role.GetUUid(), msg)
- if msg.GuildBattleIdx > 7 || msg.GuildBattleIdx <= 0 {
- ackMsg := &serverproto.SCGuildBattleSettingAck{}
- ackMsg.Error = int32(serverproto.ErrorCode_ERROR_FAIL)
- role.ReplayGate(ackMsg, true)
- return
- }
- msg.SelfGuildId = uint64(role.(model2.RoleLogicOuter).GetRoleGuildId())
- role.(*model2.Role).SendGuild(msg)
- })
- //from guild
- serverproto.Handle_GAME_SCGuildBattleSettingAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBattleSettingAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBattleSettingAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //挑战次数手动购买
- serverproto.Handle_GAME_CSGuildBattleBuyChallengeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleBuyChallengeReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleBuyChallengeReq msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).GetRoleGuild().GuildBattleBuyChallengeNum(msg)
- })
- //from guild
- serverproto.Handle_GAME_SCGuildBattleBuyChallengeAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBattleBuyChallengeAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBattleBuyChallengeAck msg=%v", role.GetUUid(), msg)
- if msg.Error == int32(serverproto.ErrorCode_ERROR_OK) {
- role.(*model2.Role).GetRoleGuild().AddBuyChallengeCount(true)
- msg.BuyChallengeNum = role.(*model2.Role).GetRoleGuild().GetBuyChallengeNum()
- }
- role.ReplayGate(msg, true)
- })
- //手动重置复活CD
- serverproto.Handle_GAME_CSGuildBattleRebornReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleRebornReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleRebornReq msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).GetRoleGuild().GuildBattleResetReborn(msg)
- })
- //from guild
- serverproto.Handle_GAME_SCGuildBattleRebornAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBattleRebornAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleRebornAck msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).GetRoleGuild().OnGuildBattleResetReborn(msg)
- })
- //战斗排行(1积分排行/2击杀排行)
- serverproto.Handle_GAME_CSGuildBattleRankListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleRankListReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleRankListReq msg=%v", role.GetUUid(), msg)
- if msg.PageIdx < 0 || msg.PageIdx > 20 || msg.GuildBattleIdx <= 0 || msg.GuildBattleIdx > 7 {
- ackMsg := &serverproto.SCGuildBattleRankListAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- }
- role.ReplayGate(ackMsg, true)
- return
- }
- role.(*model2.Role).SendGuild(msg)
- })
- //from guild
- serverproto.Handle_GAME_SCGuildBattleRankListAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBattleRankListAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBattleRankListAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //获取位置信息,上限20
- serverproto.Handle_GAME_CSGuildBattlePosIdxListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattlePosIdxListReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattlePosIdxListReq msg=%v", role.GetUUid(), msg)
- if msg.GuildBattleIdx <= 0 || msg.GuildBattleIdx > 7 || len(msg.PosIdxList) > 25 {
- ackMsg := &serverproto.SCGuildBattlePosIdxListAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- }
- role.ReplayGate(ackMsg, true)
- return
- }
- role.(*model2.Role).SendGuild(msg)
- })
- //from guild
- serverproto.Handle_GAME_SCGuildBattlePosIdxListAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBattlePosIdxListAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBattlePosIdxListAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //占领记录
- serverproto.Handle_GAME_CSGuildBattleLogReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleLogReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleLogReq msg=%v", role.GetUUid(), msg)
- if msg.GuildBattleIdx <= 0 || msg.GuildBattleIdx > 7 {
- ackMsg := &serverproto.SCGuildBattleLogAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- }
- role.ReplayGate(ackMsg, true)
- return
- }
- role.(*model2.Role).SendGuild(msg)
- })
- //from guild
- serverproto.Handle_GAME_SCGuildBattleLogAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBattleLogAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBattleLogAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //挑战占位
- serverproto.Handle_GAME_CSGuildBattleChallengeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleChallengeReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleChallengeReq msg=%v", role.GetUUid(), msg)
- if msg.GuildBattleIdx <= 0 || msg.GuildBattleIdx > 7 {
- ackMsg := &serverproto.SCGuildBattleChallengeAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- }
- role.ReplayGate(ackMsg, true)
- return
- }
- ret := role.(*model2.Role).GetRoleGuild().GuildBattleChallengePre(msg.GuildBattleIdx, msg.PosIdx)
- if ret != serverproto.ErrorCode_ERROR_OK {
- ackMsg := &serverproto.SCGuildBattleChallengeAck{
- Error: int32(ret),
- }
- role.ReplayGate(ackMsg, true)
- }
- })
- //from guild
- serverproto.Handle_GAME_SSGuildBattleChallengeAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildBattleChallengeAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSGuildBattleChallengeAck msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).GetRoleGuild().OnGuildBattleChallengePre(msg)
- })
- //战斗结果通知
- serverproto.Handle_GAME_CSGuildBattleChallengeResultReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleChallengeResultReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleChallengeResultReq msg=%v", role.GetUUid(), msg)
- if msg.GuildBattleIdx <= 0 || msg.GuildBattleIdx > 7 {
- ackMsg := &serverproto.SCGuildBattleChallengeResultAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- }
- role.ReplayGate(ackMsg, true)
- return
- }
- role.(*model2.Role).GetRoleGuild().GuildBattleChallengeResult(msg)
- })
- //from guild
- serverproto.Handle_GAME_SCGuildBattleChallengeResultAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBattleChallengeResultAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBattleChallengeResultAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //保持战斗状态消息通知(60s内未收到消息判定为失败)
- serverproto.Handle_GAME_CSGuildBattleChallengePingReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleChallengePingReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleChallengePingReq msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).GetRoleGuild().GuildBattleChallengePint(msg)
- })
- serverproto.Handle_GAME_SCGuildBattleChallengePingAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBattleChallengePingAck)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBattleChallengePingAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //客户端刷新最新pk数据(道场数量/积分数量)
- serverproto.Handle_GAME_CSGuildBattlePKDataReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattlePKDataReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattlePKDataReq msg=%v", role.GetUUid(), msg)
- if msg.GuildBattleIdx <= 0 || msg.GuildBattleIdx > 7 {
- ackMsg := &serverproto.SCGuildBattlePKDataAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- }
- role.ReplayGate(ackMsg, true)
- return
- }
- role.(*model2.Role).SendGuild(msg)
- })
- //客户端购买buff
- serverproto.Handle_GAME_CSGuildBattleBuyBuffReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildBattleBuyBuffReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildBattleBuyBuffReq msg=%v", role.GetUUid(), msg)
- if msg.GuildBattleIdx <= 0 || msg.GuildBattleIdx > 7 {
- ackMsg := &serverproto.SCGuildBattleBuyBuffAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- }
- role.ReplayGate(ackMsg, true)
- return
- }
- reqMsg := &serverproto.SSGuildBattleBuyBuffReq{
- GuildBattleIdx: msg.GuildBattleIdx,
- BuffIdList: msg.BuffIdList,
- Uid: role.GetUUid(),
- GuildId: role.(model2.RoleLogicOuter).GetRoleGuildId(),
- TotalGold: role.(*model2.Role).GetResNum(int32(serverproto.ResType_Res_Rmb)),
- }
- role.(*model2.Role).SendGuild(reqMsg)
- })
- ////客户端购买buff(rank返回)
- serverproto.Handle_GAME_SSGuildBattleBuyBuffAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildBattleBuyBuffAck)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSGuildBattleBuyBuffAck msg=%v", role.GetUUid(), msg)
- if msg.Error == int32(serverproto.ErrorCode_ERROR_OK) {
- //扣除金币
- role.(*model2.Role).GetRoleGuild().RemoveBuyBuffGold(msg.NeedRes)
- }
- ackMsg := &serverproto.SCGuildBattleBuyBuffAck{
- Error: msg.Error,
- SelfData: msg.SelfData,
- GuildBattleIdx: msg.GuildBattleIdx,
- }
- role.(*model2.Role).ReplayGate(ackMsg, true)
- })
- //from guild
- serverproto.Handle_GAME_SCGuildBattlePKDataAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBattlePKDataAck)
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildBattlePKDataAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //from guild(战场中玩家数据变更通知)
- serverproto.Handle_GAME_SCGuildBattleDataChangeNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildBattleDataChangeNtf)
- util.InfoF("uid=%v receive SCGuildBattleDataChangeNtf msg=%v", cliId.SessID, msg)
- targetRole := model2.RoleMag.GetRoleFromUUid(msg.NtfUid)
- if targetRole == nil {
- targetRole = model2.RoleMag.GetRoleFromOffline(msg.NtfUid)
- }
- if targetRole != nil {
- targetRole.ReplayGate(msg, true)
- } else if !msg.FromSocial {
- role := model2.RoleMag.GetRole(cliId)
- if role == nil {
- return
- }
- //通知的是自己
- if role.GetUUid() != msg.NtfUid {
- role.(*model2.Role).SendSocial(msg)
- }
- }
- })
- //
- serverproto.Handle_GAME_SSGuildBattleStageChangeNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildBattleStageChangeNtf)
- util.InfoF("uid=%v receive SSGuildBattleStageChangeNtf msg=%v", cliId.SessID, msg)
- //通知在线玩家活动开始
- model2.RoleMag.GuildBattleBeginNtf(msg.InGuildBattle)
- })
- //发送公会战排名奖励
- serverproto.Handle_GAME_SSGuildBattleRewardNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildBattleRewardNtf)
- util.ErrorF("uid=%v receive SSGuildBattleRewardNtf msg=%v", cliId.SessID, msg)
- if msg.GuildPre != 0 {
- newCliId := &model.ClientID{
- SessID: msg.GuildPre,
- }
- role := model2.RoleMag.GetRole(*newCliId)
- if role != nil {
- round := role.(*model2.Role).GetRoleGuild().GetGuildBattleRewardRound()
- if round < msg.GuildRound {
- //获取奖励列表
- reward, ok := model.GuildBattleRankReward[msg.RewardType]
- if ok {
- role.(model2.RoleLogicOuter).AddMail1(model.GlobalMailGuildBattlePreReward, int32(serverproto.MailType_MailType_GuildBattle_Pre),
- reward.LeaderRewardList, []int32{msg.RewardType}, "", "")
- //todo wangzhaocan 设置领奖标记
- role.(*model2.Role).GetRoleGuild().SetGuildBattleRewardRound(msg.GuildRound)
- }
- }
- }
- }
- reward, ok := model.GuildBattleRankReward[msg.RewardType]
- if ok {
- for _, uid := range msg.UidList {
- newCliId := &model.ClientID{
- SessID: uid,
- }
- role := model2.RoleMag.GetRole(*newCliId)
- if role == nil {
- continue
- }
- round := role.(*model2.Role).GetRoleGuild().GetGuildBattleRewardRound()
- if round < msg.GuildRound {
- role.(model2.RoleLogicOuter).AddMail1(model.GlobalMailGuildBattleMemReward, int32(serverproto.MailType_MailType_GuildBattle_Member),
- reward.MemberRewardList, []int32{msg.RewardType}, "", "")
- //todo wangzhaocan 设置领奖标记
- role.(*model2.Role).GetRoleGuild().SetGuildBattleRewardRound(msg.GuildRound)
- }
- }
- }
- })
- //玩家上线,请求未发送的邮件奖励
- serverproto.Handle_GAME_SSGuildBattleOnlineGetRewardAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildBattleOnlineGetRewardAck)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSGuildBattleOnlineGetRewardAck msg=%v", cliId.SessID, msg)
- for _, data := range msg.RoundReward {
- reward, ok := model.GuildBattleRankReward[data.RewardType]
- if ok {
- if data.IsPre == true {
- role.(model2.RoleLogicOuter).AddMail1(model.GlobalMailGuildBattlePreReward, int32(serverproto.MailType_MailType_GuildBattle_Pre),
- reward.LeaderRewardList, []int32{data.RewardType}, "", "")
- } else {
- role.(model2.RoleLogicOuter).AddMail1(model.GlobalMailGuildBattleMemReward, int32(serverproto.MailType_MailType_GuildBattle_Member),
- reward.MemberRewardList, []int32{data.RewardType}, "", "")
- }
- //设领奖标记
- role.(*model2.Role).GetRoleGuild().SetGuildBattleRewardRound(msg.CurBattleRound)
- }
- }
- //发送积分奖励
- for _, data := range msg.ScoreMvp {
- reward, ok := model.GuildBattleScoreMvpReward[data.RewardType]
- if ok {
- role.(model2.RoleLogicOuter).AddMail1(model.GlobalMailGuildBattleScoreReward, int32(serverproto.MailType_MailType_GuildBattle_Score),
- reward.RewardList, []int32{data.RewardType}, "", "")
- }
- }
- //发送击杀奖励
- for _, data := range msg.KillerMvp {
- reward, ok := model.GuildBattleKillMvpReward[data.RewardType]
- if ok {
- role.(model2.RoleLogicOuter).AddMail1(model.GlobalMailGuildBattleKillerReward, int32(serverproto.MailType_MailType_GuildBattle_Killer),
- reward.RewardList, []int32{data.RewardType}, "", "")
- }
- }
- //todo wangzhaocan 设置MVP领奖标记
- if msg.CurMvpRound != 0 {
- role.(*model2.Role).GetRoleGuild().SetGuildBattleMvpRound(msg.CurMvpRound)
- }
- })
- //赛季结束,发送MVP奖励
- serverproto.Handle_GAME_SSGuildBattleSendMvpRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildBattleSendMvpRewardReq)
- util.InfoF("uid=%v receive SSGuildBattleSendMvpRewardReq msg=%v", cliId.SessID, msg)
- ackMsg := &serverproto.SSGuildBattleSendMvpRewardAck{}
- //发送积分奖励
- uidList := map[uint64]int32{}
- for _, data := range msg.ScoreMvp {
- newCliId := &model.ClientID{
- SessID: data.Uid,
- }
- role := model2.RoleMag.GetRole(*newCliId)
- if role == nil {
- continue
- }
- reward, ok := model.GuildBattleScoreMvpReward[data.RewardType]
- if ok {
- role.(model2.RoleLogicOuter).AddMail1(model.GlobalMailGuildBattleScoreReward, int32(serverproto.MailType_MailType_GuildBattle_Score),
- reward.RewardList, []int32{data.RewardType}, "", "")
- ackMsg.ScoreMvp = append(ackMsg.ScoreMvp, &serverproto.MvpRewardInfo{
- Uid: data.Uid,
- BattleIndex: data.BattleIndex,
- })
- }
- uidList[data.Uid] = 1
- }
- //发送击杀奖励
- for _, data := range msg.KillerMvp {
- newCliId := &model.ClientID{
- SessID: data.Uid,
- }
- role := model2.RoleMag.GetRole(*newCliId)
- if role == nil {
- continue
- }
- reward, ok := model.GuildBattleKillMvpReward[data.RewardType]
- if ok {
- role.(model2.RoleLogicOuter).AddMail1(model.GlobalMailGuildBattleKillerReward, int32(serverproto.MailType_MailType_GuildBattle_Killer),
- reward.RewardList, []int32{data.RewardType}, "", "")
- ackMsg.KillerMvp = append(ackMsg.KillerMvp, &serverproto.MvpRewardInfo{
- Uid: data.Uid,
- BattleIndex: data.BattleIndex,
- })
- }
- uidList[data.Uid] = 1
- }
- if len(ackMsg.KillerMvp) > 0 || len(ackMsg.ScoreMvp) > 0 {
- model2.SendGuild(ackMsg)
- }
- })
- //魔王信息请求
- serverproto.Handle_GAME_CSGuildDemonInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildDemonInfoReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildDemonInfoReq msg=%v", role.GetUUid(), msg)
- msg.Uid = role.GetUUid()
- msg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- model2.SendGuild(msg)
- })
- //战斗结果通知
- serverproto.Handle_GAME_CSGuildDemonFightReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildDemonFightReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildDemonFightReq msg=%v", role.GetUUid(), msg)
- /*
- ackMsg := &serverproto.SCGuildDemonFightAck{
- Error: int32(serverproto.ErrorCode_ERROR_FAIL),
- }
- role.ReplayGate(ackMsg, true)
- return
- */
- //check中直接扣除次数
- bRet := role.(*model2.Role).GetRoleGuild().CheckDemonChallenge()
- if bRet != serverproto.ErrorCode_ERROR_OK {
- ackMsg := &serverproto.SCGuildDemonFightAck{
- Error: int32(bRet),
- }
- role.ReplayGate(ackMsg, true)
- return
- }
- //返回包返回到game再重置次数
- reqMsg := &serverproto.SSGuildDemonFightReq{
- DemonId: msg.DemonId,
- Damage: msg.Damage,
- GuildId: role.(model2.RoleLogicOuter).GetRoleGuildId(),
- Uid: role.GetUUid(),
- }
- model2.SendGuild(reqMsg)
- })
- //魔王公会排名
- serverproto.Handle_GAME_CSGuildDemonGuildRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildDemonGuildRankReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildDemonGuildRankReq msg=%v", role.GetUUid(), msg)
- msg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- msg.Uid = role.GetUUid()
- //返回包返回到game再重置次数
- model2.SendGuild(msg)
- })
- //魔王公会排名
- serverproto.Handle_GAME_CSGuildDemonMVPRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildDemonMVPRankReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildDemonMVPRankReq msg=%v", role.GetUUid(), msg)
- msg.GuildId = role.(model2.RoleLogicOuter).GetRoleGuildId()
- msg.Uid = role.GetUUid()
- //返回包返回到game再重置次数
- model2.SendGuild(msg)
- })
- //购买战斗次数
- serverproto.Handle_GAME_CSGuildDemonBuyFightCountReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.CSGuildDemonBuyFightCountReq)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive CSGuildDemonBuyFightCountReq msg=%v", role.GetUUid(), msg)
- role.(model2.RoleLogicOuter).GuildDemonBuyFightCount(msg.FightCount)
- })
- //=========================== 魔王,公会服务器返回 =================================
- //魔王公会排名
- serverproto.Handle_GAME_SCGuildDemonInfoAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildDemonInfoAck)
- newCliId := &model.ClientID{
- SessID: msg.ReqUid,
- }
- role := model2.RoleMag.GetRole(*newCliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildDemonInfoAck msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).GetRoleGuild().GetGuildDemonInfo(msg)
- //返回包返回到game再重置次数
- role.ReplayGate(msg, true)
- })
- //魔王公会排名
- serverproto.Handle_GAME_SSGuildDemonFightAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildDemonFightAck)
- newCliId := &model.ClientID{
- SessID: msg.ReqUid,
- }
- role := model2.RoleMag.GetRole(*newCliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SSGuildDemonFightAck msg=%v", role.GetUUid(), msg)
- ackMsg := &serverproto.SCGuildDemonFightAck{
- Error: msg.Error,
- DemonId: msg.DemonId,
- FightCount: msg.FightCount,
- TotalDamage: msg.TotalDamage,
- }
- //返回包返回到game再重置次数
- role.(*model2.Role).GetRoleGuild().OnGuildDemonFight(msg.RefreshTime, msg.FreeFightCount, ackMsg)
- role.ReplayGate(ackMsg, true)
- if msg.RewardLevel > 0 {
- role.(*model2.Role).GetRoleGuild().SendGuildDemonBroadCast(msg.DemonId, msg.GuildName, msg.RewardLevel)
- }
- })
- //魔王公会排名
- serverproto.Handle_GAME_SCGuildDemonGuildRankAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildDemonGuildRankAck)
- newCliId := &model.ClientID{
- SessID: msg.Uid,
- }
- role := model2.RoleMag.GetRole(*newCliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildDemonGuildRankAck msg=%v", role.GetUUid(), msg)
- //返回包返回到game再重置次数
- role.ReplayGate(msg, true)
- })
- //魔王公会排名
- serverproto.Handle_GAME_SCGuildDemonMVPRankAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SCGuildDemonMVPRankAck)
- newCliId := &model.ClientID{
- SessID: msg.Uid,
- }
- role := model2.RoleMag.GetRole(*newCliId)
- if role == nil {
- return
- }
- util.InfoF("uid=%v receive SCGuildDemonMVPRankAck msg=%v", role.GetUUid(), msg)
- role.ReplayGate(msg, true)
- })
- //魔王公会上线奖励
- serverproto.Handle_GAME_SSGuildDemonOnlineGetRewardNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildDemonOnlineGetRewardNtf)
- role := model2.RoleMag.GetRoleOrKick(cliId, ev)
- if role == nil {
- return
- }
- // return
- util.InfoF("uid=%v receive SSGuildDemonOnlineGetRewardNtf msg=%v", role.GetUUid(), msg)
- role.(*model2.Role).GetRoleGuild().OnlineAddGuildDemonReward(msg)
- })
- //邮件
- serverproto.Handle_GAME_SSGuildDemonRewardNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
- msg := ev.Msg().(*serverproto.SSGuildDemonRewardNtf)
- util.InfoF("receive SSGuildDemonRewardNtf msg=%v", msg)
- demonData := model.GetDemonDataByConfigId(msg.DemonId)
- if demonData == nil || len(demonData.BaseReward) <= 0 {
- util.ErrorF("get demon config not found : demon:%v", msg.DemonId)
- return
- }
- var rewardData []*serverproto.KeyValueType
- for _, data := range demonData.RewardStage {
- if data.StageMin <= msg.TotalDamage && (msg.TotalDamage <= data.StageMax || data.Level >= int32(len(demonData.RewardStage))) {
- rewardData = data.Reward
- break
- }
- }
- if len(rewardData) <= 0 {
- util.InfoF("reward list empty: demon:%v, damage:%v", msg.DemonId, msg.TotalDamage)
- return
- }
- for _, uid := range msg.UidList {
- role := model2.RoleMag.GetRoleFromUUid(uid)
- if role == nil {
- role = model2.RoleMag.GetRoleFromOffline(uid)
- }
- if role != nil {
- role.(*model2.Role).GetRoleGuild().AddGuildDemonReward(rewardData, msg)
- }
- }
- })
- }
|