package msg import ( "rocommon" "rocommon/util" "roserver/baseserver/model" model2 "roserver/battleboss/model" "roserver/serverproto" ) func init() { //玩家下线处理/主动离开boss场景 serverproto.Handle_BATTLEBOSS_SSPlayerOfflineNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSPlayerOfflineNtf) util.InfoF("receive SSPlayerOfflineNtf msg:%v", msg) model2.AoiLineMag.PlayerOffline(msg.Uid) }) //挑战召唤物 serverproto.Handle_BATTLEBOSS_CSPlayerChallengeSummonReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSPlayerChallengeSummonReq) util.InfoF("receive CSPlayerChallengeSummonReq msg:%v", msg) ret := model2.AoiLineMag.PlayerChallengeSummonBoss(msg.Uid, msg.ChallengeBossUid, cliId, msg.FightInfo) ackMsg := &serverproto.SCPlayerChallengeSummonAck{ Error: int32(ret), BossInfo: model2.AoiLineMag.GetWorldBossInfo(msg.ChallengeBossUid), } //删除boss使用 if ret == serverproto.ErrorCode_ERROR_AOI_BOSS_NOT_FOUND { ackMsg.BossInfo = &serverproto.WorldBossContentInfo{ BossId: int32(msg.ChallengeBossUid), } //更新boss信息 } else if ret == serverproto.ErrorCode_ERROR_AOI_BOSS_CHALLENGE_NUM_LIMIT { ackMsg.BossInfo = model2.AoiLineMag.GetWorldBossInfo(msg.ChallengeBossUid) } model.ServiceReplay(ev, ackMsg) }) //血量上报 serverproto.Handle_BATTLEBOSS_CSPlayerChallengeHpReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSPlayerChallengeHpReq) util.InfoF("receive CSPlayerChallengeHpReq msg:%v %v", msg, cliId.SessID) model2.AoiLineMag.DoSummonHp(cliId.SessID, msg.ActionUid, msg.DamageHp) }) //获取WorldBoss列表 serverproto.Handle_BATTLEBOSS_CSPlayerWorldBossListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSPlayerWorldBossListReq) util.DebugF("receive CSPlayerWorldBossListReq msg:%v %v", msg, cliId.SessID) ackMsg := model2.AoiLineMag.GetWorldBossList() model.ServiceReplay(ev, ackMsg) }) }