diff --git a/comm/const.go b/comm/const.go index cf9706701..87a56cf4a 100644 --- a/comm/const.go +++ b/comm/const.go @@ -336,6 +336,7 @@ const ( Reddot28 ReddotType = 10028 //任务----周常活跃奖励红点 Reddot29 ReddotType = 10029 //公会----申请红点 Reddot30 ReddotType = 10030 //邮件-----未读邮件红点 + Reddot31 ReddotType = 10031 //维京远征 有挑战次数 ) type TaskType int32 diff --git a/comm/imodule.go b/comm/imodule.go index 5a6229c19..f135aa9bf 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -240,9 +240,11 @@ type ( } IViking interface { CheckUserBaseVikingInfo(uid string) (data []*pb.DBVikingRank) // 查询玩家最佳通关记录 + IReddot } IHunting interface { CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingRank) // 查询玩家最佳通关记录 + IReddot } // 公会 ISociaty interface { diff --git a/modules/hero/api.go b/modules/hero/api.go index 05c4e9467..8f40595a2 100644 --- a/modules/hero/api.go +++ b/modules/hero/api.go @@ -1,6 +1,7 @@ package hero import ( + "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/modules" ) @@ -10,6 +11,7 @@ type apiComp struct { modules.MCompGate service core.IService module *Hero + chat comm.IChat } const ( //消息回复的头名称 @@ -42,6 +44,10 @@ func (this *apiComp) Init(service core.IService, module core.IModule, comp core. func (this *apiComp) Start() (err error) { err = this.MCompGate.Start() - + var module core.IModule + if module, err = this.service.GetModule(comm.ModuleChat); err != nil { + return + } + this.chat = module.(comm.IChat) return } diff --git a/modules/hero/api_awaken.go b/modules/hero/api_awaken.go index 8750fd3e9..3bcee9c12 100644 --- a/modules/hero/api_awaken.go +++ b/modules/hero/api_awaken.go @@ -104,6 +104,14 @@ func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (c chanegCard = append(chanegCard, _hero) session.SendMsg(string(this.module.GetType()), "change", &pb.HeroChangePush{List: chanegCard}) session.SendMsg(string(this.module.GetType()), Awaken, &pb.HeroAwakenResp{Hero: _hero}) + + //英雄觉醒 【玩家名称】已将【英雄名称】觉醒至满级! + if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { + this.chat.SendSysChatToWorld(comm.ChatSystem11, nil, _hero.JuexingLv, 0, user.Name, _hero.HeroID) + } else { + this.module.Errorf("no found userdata uid:%s", session.GetUserId()) + } + //任务相关 this.module.ModuleRtask.SendToRtask(session, comm.Rtype34, 1, _hero.JuexingLv) this.module.ModuleRtask.SendToRtask(session, comm.Rtype119, _hero.JuexingLv) diff --git a/modules/hero/api_drawCard.go b/modules/hero/api_drawCard.go index 3279500eb..08a5db2c8 100644 --- a/modules/hero/api_drawCard.go +++ b/modules/hero/api_drawCard.go @@ -230,6 +230,14 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq } code = this.module.CreateRepeatHeros(session, _mapAddHero, true) + ///英雄招募 【玩家名称】在招募中获得了【英雄名称】! + for hid := range _mapAddHero { + if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { + this.chat.SendSysChatToWorld(comm.ChatSystem13, nil, 0, 0, user.Name, hid) + } else { + this.module.Errorf("no found userdata uid:%s", session.GetUserId()) + } + } rsp.Heroes = szCards session.SendMsg(string(this.module.GetType()), DrawCard, rsp) diff --git a/modules/hero/api_resonance.go b/modules/hero/api_resonance.go index 1a294aa0a..e2366f73d 100644 --- a/modules/hero/api_resonance.go +++ b/modules/hero/api_resonance.go @@ -149,6 +149,12 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR this.module.DispenseRes(session, resonConfig.Prize, true) session.SendMsg(string(this.module.GetType()), Resonance, &pb.HeroResonanceResp{Hero: _hero}) + //英雄共鸣 【玩家名称】已将【英雄名称】共鸣至满级! + if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { + this.chat.SendSysChatToWorld(comm.ChatSystem10, nil, _hero.ResonateNum, 0, user.Name, _hero.HeroID) + } else { + this.module.Errorf("no found userdata uid:%s", session.GetUserId()) + } // 任务相关 this.module.ModuleRtask.SendToRtask(session, comm.Rtype39, 1) this.module.ModuleRtask.SendToRtask(session, comm.Rtype127, _hero.Star, utils.ToInt32(_hero.HeroID), _hero.ResonateNum) //A星英雄共鸣N级 diff --git a/modules/hero/api_strengthenUpSkill.go b/modules/hero/api_strengthenUpSkill.go index d6f6cb4b6..15301253b 100644 --- a/modules/hero/api_strengthenUpSkill.go +++ b/modules/hero/api_strengthenUpSkill.go @@ -163,7 +163,12 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt ChangeList = append(ChangeList, _hero) session.SendMsg(string(this.module.GetType()), "change", &pb.HeroChangePush{List: ChangeList}) session.SendMsg(string(this.module.GetType()), StrengthenUpSkill, &pb.HeroStrengthenUpSkillResp{Hero: _hero}) - + //英雄技能培养 【玩家名称】已将【英雄名称】技能培养至满级! + if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { + this.chat.SendSysChatToWorld(comm.ChatSystem9, nil, _hero.Lv, 0, user.Name, _hero.HeroID) + } else { + this.module.Errorf("no found userdata uid:%s", session.GetUserId()) + } this.module.ModuleRtask.SendToRtask(session, comm.Rtype52, utils.ToInt32(_hero.HeroID), 1) this.module.ModuleRtask.SendToRtask(session, comm.Rtype53, 1) // 检查是不是满级技能 @@ -175,6 +180,7 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt } } if maxLv { + this.module.ModuleRtask.SendToRtask(session, comm.Rtype54, 1) this.module.ModuleRtask.SendToRtask(session, comm.Rtype57, 1) } diff --git a/modules/hero/api_strengthenUpStar.go b/modules/hero/api_strengthenUpStar.go index 4bf466003..3a340e64d 100644 --- a/modules/hero/api_strengthenUpStar.go +++ b/modules/hero/api_strengthenUpStar.go @@ -169,6 +169,12 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr session.SendMsg(string(this.module.GetType()), "change", &pb.HeroChangePush{List: chanegCard}) session.SendMsg(string(this.module.GetType()), StrengthenUpStar, &pb.HeroStrengthenUpStarResp{Hero: _hero}) + //英雄升星 【玩家名称】已将【英雄名称】培养至6星! + if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { + this.chat.SendSysChatToWorld(comm.ChatSystem8, nil, _hero.Lv, 0, user.Name, _hero.HeroID) + } else { + this.module.Errorf("no found userdata uid:%s", session.GetUserId()) + } this.module.ModuleRtask.SendToRtask(session, comm.Rtype6, utils.ToInt32(_hero.HeroID), _hero.Star) this.module.ModuleRtask.SendToRtask(session, comm.Rtype25, 1, utils.ToInt32(_hero.HeroID), _hero.Star) if _hero.Star == 4 { diff --git a/modules/hero/api_strengthenUplv.go b/modules/hero/api_strengthenUplv.go index d8122d5c3..d618174bf 100644 --- a/modules/hero/api_strengthenUplv.go +++ b/modules/hero/api_strengthenUplv.go @@ -136,6 +136,12 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStren if newhero != nil { _changeHero = append(_changeHero, newhero) // 原来的英雄 只是数量变化了 } + //英雄升级 【玩家名称】已将【英雄名称】培养至60级! + if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { + this.chat.SendSysChatToWorld(comm.ChatSystem7, nil, _hero.Lv, 0, user.Name, _hero.HeroID) + } else { + this.module.Errorf("no found userdata uid:%s", session.GetUserId()) + } session.SendMsg(string(this.module.GetType()), "change", &pb.HeroChangePush{List: _changeHero}) session.SendMsg(string(this.module.GetType()), StrengthenUplv, &pb.HeroStrengthenUplvResp{Hero: _hero}) return diff --git a/modules/hunting/api.go b/modules/hunting/api.go index ebfd15d1d..792c310bd 100644 --- a/modules/hunting/api.go +++ b/modules/hunting/api.go @@ -22,6 +22,7 @@ type apiComp struct { configure *configureComp module *Hunting friend comm.IFriend + chat comm.IChat } //组件初始化接口 @@ -40,5 +41,9 @@ func (this *apiComp) Start() (err error) { return } this.friend = module.(comm.IFriend) + if module, err = this.service.GetModule(comm.ModuleChat); err != nil { + return + } + this.chat = module.(comm.IChat) return } diff --git a/modules/hunting/api_challenge.go b/modules/hunting/api_challenge.go index 2cf19e1a8..86fc9b2d3 100644 --- a/modules/hunting/api_challenge.go +++ b/modules/hunting/api_challenge.go @@ -66,6 +66,10 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.HuntingChallen BossType: req.BossType, Difficulty: req.Difficulty, }) - + if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { + this.chat.SendSysChatToWorld(comm.ChatSystem15, nil, req.BossType, req.Difficulty, user.Name) + } else { + this.module.Errorf("no found userdata uid:%s", session.GetUserId()) + } return } diff --git a/modules/pagoda/api_challengeover.go b/modules/pagoda/api_challengeover.go index 264876d34..62802cd74 100644 --- a/modules/pagoda/api_challengeover.go +++ b/modules/pagoda/api_challengeover.go @@ -147,6 +147,11 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal } } code = this.module.ModifySeasonPagodaData(session.GetUserId(), mapData) + if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { + this.chat.SendSysChatToWorld(comm.ChatSystem6, nil, pagoda.PagodaId, 0, user.Name) + } else { + this.module.Errorf("no found userdata uid:%s", session.GetUserId()) + } session.SendMsg(string(this.module.GetType()), PagodaChallengeOverResp, &pb.PagodaChallengeOverResp{Data: pagoda}) } diff --git a/modules/viking/api.go b/modules/viking/api.go index f109dea1a..58c34b2f7 100644 --- a/modules/viking/api.go +++ b/modules/viking/api.go @@ -22,6 +22,7 @@ type apiComp struct { configure *configureComp module *Viking friend comm.IFriend + chat comm.IChat } //组件初始化接口 @@ -40,5 +41,10 @@ func (this *apiComp) Start() (err error) { return } this.friend = module.(comm.IFriend) + + if module, err = this.service.GetModule(comm.ModuleChat); err != nil { + return + } + this.chat = module.(comm.IChat) return } diff --git a/modules/viking/api_challengeover.go b/modules/viking/api_challengeover.go index 87e535241..18e4a5f0c 100644 --- a/modules/viking/api_challengeover.go +++ b/modules/viking/api_challengeover.go @@ -121,7 +121,11 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal Data: viking, Asset: asset, }) - + if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { + this.chat.SendSysChatToWorld(comm.ChatSystem14, nil, req.BossId, req.Difficulty, user.Name) + } else { + this.module.Errorf("no found userdata uid:%s", session.GetUserId()) + } // 随机任务统计 this.module.ModuleRtask.SendToRtask(session, comm.Rtype73, req.Difficulty, req.BossId, 1) this.module.ModuleRtask.SendToRtask(session, comm.Rtype74, req.Difficulty, req.BossId) diff --git a/modules/viking/model_viking.go b/modules/viking/model_viking.go index f30749b36..a043a8020 100644 --- a/modules/viking/model_viking.go +++ b/modules/viking/model_viking.go @@ -63,3 +63,15 @@ func (this *modelViking) getVikingList(uid string) (result *pb.DBViking, err err func (this *modelViking) modifyVikingDataByObjId(uid string, data map[string]interface{}) error { return this.Change(uid, data) } + +// 红点检测 +func (this *modelViking) checkReddot31(uid string) bool { + list, err := this.module.modelViking.getVikingList(uid) + if err != nil { + return false + } + if list.LeftCount > 0 { + return true + } + return false +} diff --git a/modules/viking/module.go b/modules/viking/module.go index 36941e947..89b2b0418 100644 --- a/modules/viking/module.go +++ b/modules/viking/module.go @@ -144,3 +144,17 @@ func (this *Viking) CheckRank(uid string, boosID int32, difficulty int32, viking this.modulerank.SetRankListData("vikingRank"+strconv.Itoa(int(boosID)), difficulty<<16+costTime, objID) } } + +//红点查询 +func (this *Viking) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) { + reddot = make(map[comm.ReddotType]bool) + for _, v := range rid { + switch v { + case comm.Reddot31: + reddot[comm.Reddot31] = this.modelViking.checkReddot31(session.GetUserId()) + break + + } + } + return +}