英雄优化
This commit is contained in:
parent
c9869d646c
commit
ffcfdea877
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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})
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user