上传 装备属性计算不一致bug

This commit is contained in:
liwei 2023-06-29 18:28:08 +08:00
parent 0f0411a5b3
commit 52be8710cb

View File

@ -36,7 +36,7 @@ func (this *ModelHero) Init(service core.IService, module core.IModule, comp cor
return
}
//初始化英雄
// 初始化英雄
func (this *ModelHero) InitHero(uid string, heroCfgId string) *pb.DBHero {
heroCfg, _ := this.module.configure.GetHeroConfig(heroCfgId)
@ -67,7 +67,7 @@ func (this *ModelHero) InitHero(uid string, heroCfgId string) *pb.DBHero {
return newHero
}
//初始化英雄技能
// 初始化英雄技能
func (this *ModelHero) initHeroSkill(hero *pb.DBHero) []*pb.SkillData {
heroCfg, _ := this.module.configure.GetHeroConfig(hero.HeroID)
@ -92,7 +92,7 @@ func (this *ModelHero) initHeroSkill(hero *pb.DBHero) []*pb.SkillData {
return nil
}
//创建一个指定的英雄
// 创建一个指定的英雄
func (this *ModelHero) createSpecialHero(uid string, heroCfgId string) (hero *pb.DBHero, err error) {
list := this.getHeroList(uid)
for _, v := range list {
@ -132,7 +132,7 @@ func (this *ModelHero) CloneNewHero(uid string, hero *pb.DBHero) (newHero *pb.DB
return
}
//初始化可叠加的英雄
// 初始化可叠加的英雄
func (this *ModelHero) initHeroOverlying(uid string, heroCfgId string, count int32) (hero *pb.DBHero, err error) {
var (
model *db.DBModel
@ -158,7 +158,7 @@ func (this *ModelHero) initHeroOverlying(uid string, heroCfgId string, count int
return
}
//获取一个英雄(参数唯一objID)
// 获取一个英雄(参数唯一objID)
func (this *ModelHero) getOneHero(uid, heroId string) *pb.DBHero {
hero := &pb.DBHero{}
err := this.GetListObj(uid, heroId, hero)
@ -168,7 +168,7 @@ func (this *ModelHero) getOneHero(uid, heroId string) *pb.DBHero {
return hero
}
//消耗英雄卡
// 消耗英雄卡
func (this *ModelHero) consumeHeroCard(uid string, hero *pb.DBHero) (err error) {
if hero == nil {
@ -183,7 +183,7 @@ func (this *ModelHero) consumeHeroCard(uid string, hero *pb.DBHero) (err error)
return
}
//获取玩家的英雄列表
// 获取玩家的英雄列表
func (this *ModelHero) getHeroList(uid string) []*pb.DBHero {
heroes := make([]*pb.DBHero, 0)
err := this.GetList(uid, &heroes)
@ -276,11 +276,13 @@ func (this *ModelHero) setEquipProperty(hero *pb.DBHero, equip []*pb.DB_Equipmen
}
for _, v := range hero.Suits {
if configure, err := this.module.configure.GetEquipsuit(v.Suitid); err != nil {
this.module.Errorln(err)
} else {
for k, v := range configure.SetBonuses {
addProperty[k] += v
if v.Effect {
if configure, err := this.module.configure.GetEquipsuit(v.Suitid); err != nil {
this.module.Errorln(err)
} else {
for k, v := range configure.SetBonuses {
addProperty[k] += v
}
}
}
}
@ -300,7 +302,7 @@ func (this *ModelHero) setEquipProperty(hero *pb.DBHero, equip []*pb.DB_Equipmen
this.mergeAddProperty(hero.Uid, hero, addProperty, equipSkill)
}
//设置装备
// 设置装备
func (this *ModelHero) setEquipment(uid string, hero *pb.DBHero) (newHero *pb.DBHero, err error) {
if len(hero.EquipID) == 0 {
return
@ -316,7 +318,7 @@ func (this *ModelHero) setEquipment(uid string, hero *pb.DBHero) (newHero *pb.DB
return
}
//合并属性即属性值累加 (data 额外加的属性)
// 合并属性即属性值累加 (data 额外加的属性)
func (this *ModelHero) mergeMainProperty(uid string, hero *pb.DBHero, data map[string]int32) (err error) {
for k, v := range hero.Property {
if v1, ok := data[k]; ok {
@ -332,7 +334,7 @@ func (this *ModelHero) mergeMainProperty(uid string, hero *pb.DBHero, data map[s
return
}
//合并附加属性
// 合并附加属性
func (this *ModelHero) mergeAddProperty(uid string, hero *pb.DBHero, data map[string]int32, skills []*pb.SkillData) {
hero.AddProperty = data
@ -373,8 +375,8 @@ func (this *ModelHero) StarHpAddition(star int32) (addValue float32) {
return addValue
}
//属性计算 基础属性
//英雄基础属性 + 英雄等级基础属性 * 英雄成长系数 + 英雄星级对应等级属性 * 英雄品质系数
// 属性计算 基础属性
// 英雄基础属性 + 英雄等级基础属性 * 英雄成长系数 + 英雄星级对应等级属性 * 英雄品质系数
func (this *ModelHero) PropertyCompute(hero *pb.DBHero) {
growCfg := this.module.configure.GetHeroLvgrow(hero.HeroID)
heroCfg, _ := this.module.configure.GetHeroConfig(hero.HeroID)
@ -416,7 +418,7 @@ func (this *ModelHero) PropertyCompute(hero *pb.DBHero) {
this.resetJuexingProperty(hero)
}
//重新计算英雄属性
// 重新计算英雄属性
func (this *ModelHero) ChangeHeroProperty(session comm.IUserSession, hero *pb.DBHero) (err error) {
this.PropertyCompute(hero) //重新计算 property 的值
update := map[string]interface{}{
@ -639,7 +641,7 @@ func (this *ModelHero) InitMonsterHero(heroCfgId string, star, lv int32) *pb.DBH
return newHero
}
//设置天赋属性
// 设置天赋属性
func (this *ModelHero) setTalentProperty(hero *pb.DBHero, conf *cfg.GameHeroTalentData) {
if conf == nil || hero == nil {
return