装备附加属性计算

This commit is contained in:
meixiongfeng 2022-09-15 15:26:21 +08:00
parent fcdda133c6
commit 2a7506ce34

View File

@ -92,35 +92,27 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt
} }
for i := 0; i < int(lvUpCount); i++ { // 升级技能 for i := 0; i < int(lvUpCount); i++ { // 升级技能
szIndex := make([]int32, 0)
sz := make([]int32, 0) sz := make([]int32, 0)
for _, skill := range _hero.NormalSkill { for index, skill := range _hero.NormalSkill {
skillMaxLv := this.module.configure.GetHeroSkillMaxLvConfig(uint32(skill.SkillID)) skillMaxLv := this.module.configure.GetHeroSkillMaxLvConfig(uint32(skill.SkillID))
if skill.SkillLv < skillMaxLv { // 找到没有满级的技能id if skill.SkillLv < skillMaxLv { // 找到没有满级的技能id
skillData := this.module.configure.GetHeroSkillUpConfig(skill.SkillID) skillData := this.module.configure.GetHeroSkillUpConfig(skill.SkillID)
if skillData == nil { if skillData == nil {
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_ConfigNoFound
return return
} }
sz = append(sz, skillData.Probability[skill.SkillLv]) sz = append(sz, skillData.Probability[skill.SkillLv])
szIndex = append(szIndex, int32(index))
} }
} }
if len(sz) == 0 { if len(sz) == 0 {
code = pb.ErrorCode_HeroMaxSkillLv code = pb.ErrorCode_HeroMaxSkillLv
this.module.Errorf("技能升级失败:uid:%s,oid:%s", session.GetUserId(), _hero.Id)
return return
} }
upSkillPos = comm.GetRandW(sz) upSkillPos = comm.GetRandW(sz)
if upSkillPos > 0 { _hero.NormalSkill[szIndex[upSkillPos]].SkillLv += 1
for index, skill := range _hero.NormalSkill {
if int32(index) == upSkillPos { // 找到指定位置技能并升级
skill.SkillLv += 1
break
}
}
} else {
this.module.Errorf("技能升级失败:uid:%s,oid:%s", session.GetUserId(), _hero.Id)
}
} }
code = this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, -costGold, true) code = this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, -costGold, true)