英雄优化

This commit is contained in:
meixiongfeng 2023-02-10 19:25:55 +08:00
parent c9869d646c
commit ffcfdea877
6 changed files with 30 additions and 41 deletions

View File

@ -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())
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
}

View File

@ -17,20 +17,9 @@ 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 heroRecord, err := this.module.modelRecord.GetHeroRecord(session.GetUserId()); err == nil {
if !utils.IsToday(heroRecord.Mtime) {
update := map[string]interface{}{}
update["onebuy"] = 0
@ -42,5 +31,7 @@ func (this *apiComp) List(session comm.IUserSession, req *pb.HeroListReq) (code
this.module.Errorf("ChangeHeroRecord error: %v", err)
}
}
}
session.SendMsg(string(this.module.GetType()), HeroSubTypeList, rsp)
return
}

View File

@ -102,7 +102,6 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt
_heroMap := map[string]interface{}{
"normalSkill": _hero.NormalSkill,
"horoscopeProperty": _hero.HoroscopeProperty,
}
err1 := this.module.modelHero.ChangeList(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
if err1 != nil {

View File

@ -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})

View File

@ -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)

View File

@ -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)