diff --git a/modules/hero/api_drawCardFloor.go b/modules/hero/api_drawCardFloor.go index 11c439f60..9da1158ed 100644 --- a/modules/hero/api_drawCardFloor.go +++ b/modules/hero/api_drawCardFloor.go @@ -15,11 +15,13 @@ func (this *apiComp) DrawCardFloorCheck(session comm.IUserSession, req *pb.HeroD //抽卡 func (this *apiComp) DrawCardFloor(session comm.IUserSession, req *pb.HeroDrawCardFloorReq) (code pb.ErrorCode, data proto.Message) { rsp := &pb.HeroDrawCardFloorResp{} - heroRecord, _ := this.module.modelRecord.GetHeroRecord(session.GetUserId()) - rsp.Star4 = heroRecord.Star4 - rsp.Star5 = heroRecord.Star5 - rsp.Onebuy = heroRecord.Onebuy - rsp.Tenbuy = heroRecord.Tenbuy + if heroRecord, err := this.module.modelRecord.GetHeroRecord(session.GetUserId()); err == nil { + rsp.Star4 = heroRecord.Star4 + rsp.Star5 = heroRecord.Star5 + rsp.Onebuy = heroRecord.Onebuy + rsp.Tenbuy = heroRecord.Tenbuy + } + session.SendMsg(string(this.module.GetType()), DrawCardFloor, rsp) return } diff --git a/modules/hero/api_list.go b/modules/hero/api_list.go index 74513dd02..eaf6881a2 100644 --- a/modules/hero/api_list.go +++ b/modules/hero/api_list.go @@ -17,30 +17,21 @@ func (this *apiComp) ListCheck(session comm.IUserSession, req *pb.HeroListReq) ( func (this *apiComp) List(session comm.IUserSession, req *pb.HeroListReq) (code pb.ErrorCode, data proto.Message) { rsp := &pb.HeroListResp{} - defer func() { - err := session.SendMsg(string(this.module.GetType()), HeroSubTypeList, rsp) - if err != nil { - code = pb.ErrorCode_SystemError - } - // utils.TraceFunc(session.GetUserId(), string(this.module.GetType()), HeroSubTypeList, req, rsp) - }() - rsp.List = this.module.GetHeroList(session.GetUserId()) // 重置当天抽卡次数 和商店购买次数 - heroRecord, err := this.module.modelRecord.GetHeroRecord(session.GetUserId()) - if err != nil { - code = pb.ErrorCode_SystemError - } - if !utils.IsToday(heroRecord.Mtime) { - update := map[string]interface{}{} - update["onebuy"] = 0 - update["tenbuy"] = 0 - update["daycount"] = 0 - heroRecord.Mtime = configure.Now().Unix() - update["mtime"] = heroRecord.Mtime - if err := this.module.modelRecord.ChangeHeroRecord(session.GetUserId(), update); err != nil { - this.module.Errorf("ChangeHeroRecord error: %v", err) + if heroRecord, err := this.module.modelRecord.GetHeroRecord(session.GetUserId()); err == nil { + if !utils.IsToday(heroRecord.Mtime) { + update := map[string]interface{}{} + update["onebuy"] = 0 + update["tenbuy"] = 0 + update["daycount"] = 0 + heroRecord.Mtime = configure.Now().Unix() + update["mtime"] = heroRecord.Mtime + if err := this.module.modelRecord.ChangeHeroRecord(session.GetUserId(), update); err != nil { + this.module.Errorf("ChangeHeroRecord error: %v", err) + } } } + session.SendMsg(string(this.module.GetType()), HeroSubTypeList, rsp) return } diff --git a/modules/hero/api_strengthenUpSkill.go b/modules/hero/api_strengthenUpSkill.go index bf58b673c..ed7487a06 100644 --- a/modules/hero/api_strengthenUpSkill.go +++ b/modules/hero/api_strengthenUpSkill.go @@ -101,8 +101,7 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt } _heroMap := map[string]interface{}{ - "normalSkill": _hero.NormalSkill, - "horoscopeProperty": _hero.HoroscopeProperty, + "normalSkill": _hero.NormalSkill, } err1 := this.module.modelHero.ChangeList(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息 if err1 != nil { diff --git a/modules/hero/api_strengthenUpStar.go b/modules/hero/api_strengthenUpStar.go index 09530340b..0d4d2d782 100644 --- a/modules/hero/api_strengthenUpStar.go +++ b/modules/hero/api_strengthenUpStar.go @@ -62,7 +62,8 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr this.module.modelHero.PropertyCompute(_hero) // 重新计算属性 _heroMap := map[string]interface{}{ "star": _hero.Star, - "talentProperty": _hero.TalentProperty, + "talentProperty": _hero.Property, + "property": _hero.TalentProperty, "juexProperty": _hero.JuexProperty, "horoscopeProperty": _hero.HoroscopeProperty, } @@ -73,7 +74,6 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr code = pb.ErrorCode_DBError this.module.Errorf("update hero star failed:%v", err) } - this.module.modelHero.ChangeHeroProperty(session, _hero) // 重新计算属性 session.SendMsg(string(this.module.GetType()), StrengthenUpStar, &pb.HeroStrengthenUpStarResp{Hero: _hero}) diff --git a/modules/hero/api_strengthenUplv.go b/modules/hero/api_strengthenUplv.go index f8ed24448..bad4ef3aa 100644 --- a/modules/hero/api_strengthenUplv.go +++ b/modules/hero/api_strengthenUplv.go @@ -70,23 +70,17 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStren code = pb.ErrorCode_HeroMaxLv return } - curLv := _hero.Lv // 执行升级逻辑 _, code = this.module.modelHero.AddCardExp(session, _hero, addExp) // 加经验 if code != pb.ErrorCode_Success { return } - iLvUp := _hero.Lv - curLv // 消耗金币 if code = this.module.ConsumeRes(session, cost, true); code != pb.ErrorCode_Success { //道具扣除 code = pb.ErrorCode_ItemsNoEnough return } - if iLvUp > 0 { - this.module.modelHero.ChangeHeroProperty(session, _hero) // 重新计算属性值 - } - //英雄升级 【玩家名称】已将【英雄名称】培养至60级! if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { this.chat.SendSysChatToWorld(comm.ChatSystem7, nil, _hero.Lv, 0, user.Name, _hero.HeroID) diff --git a/modules/hero/model_hero.go b/modules/hero/model_hero.go index 2f8e2045b..330b416dc 100644 --- a/modules/hero/model_hero.go +++ b/modules/hero/model_hero.go @@ -548,18 +548,21 @@ func (this *ModelHero) AddCardExp(session comm.IUserSession, hero *pb.DBHero, ex this.moduleHero.Debugf("add hero exp :old lv:%d,old exp:%d,new lv:%d,new exp:%d,addexp:%d", hero.Lv, hero.Exp, curLv, curExp, exp) update["lv"] = curLv update["exp"] = curExp - //update["sameCount"] = 1 - update["horoscopeProperty"] = hero.HoroscopeProperty + hero.Lv = curLv hero.Exp = curExp - //hero.SameCount = 1 - + if curLv-preLv > 0 { // 升级了 统计任务 + this.PropertyCompute(hero) + update["property"] = hero.Property + update["horoscopeProperty"] = hero.HoroscopeProperty + update["talentProperty"] = hero.TalentProperty + update["juexProperty"] = hero.JuexProperty + } if err := this.ChangeList(session.GetUserId(), hero.Id, update); err != nil { this.moduleHero.Errorf("add hero exp failed ChangeList %v", err) code = pb.ErrorCode_DBError } if curLv-preLv > 0 { // 升级了 统计任务 - this.ChangeHeroProperty(session, hero) // 重新计算属性值 // 推送 this.moduleHero.ModuleRtask.SendToRtask(session, comm.Rtype147, utils.ToInt32(hero.HeroID), curLv-preLv) this.moduleHero.ModuleRtask.SendToRtask(session, comm.Rtype113, utils.ToInt32(hero.HeroID), curLv-preLv)