From 661e5e70d83be9d70a21b320bc00534978238dc7 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 17 Jan 2024 20:25:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E8=A3=85=E5=A4=87gm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/equipment/modelEquipment.go | 73 ++++++++++++++--------------- modules/gm/module.go | 2 +- 2 files changed, 36 insertions(+), 39 deletions(-) diff --git a/modules/equipment/modelEquipment.go b/modules/equipment/modelEquipment.go index 64b5be02e..8861b12a4 100644 --- a/modules/equipment/modelEquipment.go +++ b/modules/equipment/modelEquipment.go @@ -334,16 +334,6 @@ func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.GameEquipData } } satterNum = conf.Addattrnum[comm.GetRandW(weight)] - // for _, v := range weight { - // total += int64(v) - // } - // result, _ := rand.Int(rand.Reader, big.NewInt(total)) - // for i, v := range weight { - // if int32(result.Int64()) <= v { - // satterNum = conf.Addattrnum[i] - // break - // } - // } if satterNum > int32(len(sattr)) { satterNum = int32(len(sattr)) } @@ -402,11 +392,6 @@ func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.GameEquipData func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equip *cfg.GameEquipData, intensify *cfg.GameEquipIntensifyData) (err error) { equipment.Lv++ equipment.MainEntry.Lv++ - // var mainconfigure *cfg.GameEquipAttrlibrarySData - // if mainconfigure, err = this.module.configure.GetEquipmentAttrlibraryConfigureByKey(equipment.MainEntry.Id); err != nil { - // this.module.Errorf("升级服务错误 读取主词条配置错误!") - // return - // } equipment.MainEntry.Value = equipment.MainEntry.BaseValue + int32(math.Floor(float64(equipment.MainEntry.BaseValue*intensify.Bonus)/1000.0)) if intensify.Activation { //不触发副词条变化 if len(equipment.AdverbEntry) < 4 { //去随机副词条 @@ -595,38 +580,35 @@ func (this *modelEquipmentComp) newCustomizeEquipment(uid string, eid string, lv sattr []*cfg.GameEquipAttrlibrarySData equipatt *cfg.GameEquipAttributeData intensify *cfg.GameEquipIntensifyData + maxindex int satterNum int32 ) - if conf, err = this.module.configure.GetEquipmentConfigureById(eid); err != nil { - err = fmt.Errorf("no found eid%s", eid) - return - } - if intensify, err = this.module.configure.GetEquipmentIntensifyConfigureById(conf.EquipId, conf.Color, lv); err != nil { - this.module.Errorln(err) - return - } equipment = &pb.DB_Equipment{ Id: primitive.NewObjectID().Hex(), CId: eid, - Lv: intensify.Level + 1, + Lv: 1, UId: uid, OverlayNum: 1, IsInitialState: false, } + if conf, err = this.module.configure.GetEquipmentConfigureById(eid); err != nil { + err = fmt.Errorf("no found eid%s", eid) + return + } if mattr, err = this.module.configure.GetEquipmentAttrlibraryConfigureByKey(attribute); err != nil { err = fmt.Errorf("no found mattr%d", attribute) this.module.Errorln(err) return } + equipment.MainEntry = &pb.EquipmentAttributeEntry{ Id: mattr.Key, Libraryid: mattr.Libraryid, - Lv: intensify.Level + 1, + Lv: 1, AttrName: mattr.Attr.A, Value: mattr.Attr.N, BaseValue: mattr.Attr.N, } - equipment.MainEntry.Value = equipment.MainEntry.BaseValue + int32(math.Floor(float64(equipment.MainEntry.BaseValue*intensify.Bonus)/1000.0)) if sattr, err = this.module.configure.GetEquipmentAttrlibraryConfigureById(conf.Addlibrary); err != nil || len(sattr) == 0 { return } @@ -637,31 +619,37 @@ func (this *modelEquipmentComp) newCustomizeEquipment(uid string, eid string, lv break } } - satterNum = int32(len(sattr)) + + maxindex = 0 + for i, v := range conf.Addattrnump { + if v > 0 && i > maxindex { + maxindex = i + } + } + satterNum = conf.Addattrnum[maxindex] + if satterNum > int32(len(sattr)) { + satterNum = int32(len(sattr)) + } + if satterNum > 0 && satterNum <= 4 { equipment.Star = satterNum + if conf.EquipId == 1 { equipment.AdverbEntry = make([]*pb.EquipmentAttributeEntry, 0) - for _, v := range comm.RandShuffle(len(sattr))[:satterNum] { - adverbEntry := &pb.EquipmentAttributeEntry{ + equipment.AdverbEntry = append(equipment.AdverbEntry, &pb.EquipmentAttributeEntry{ Id: sattr[v].Key, Libraryid: sattr[v].Libraryid, - Lv: 5, + Lv: 1, AttrName: sattr[v].Attr.A, Value: sattr[v].Attr.N, BaseValue: sattr[v].Attr.N, - } - value := adverbEntry.BaseValue + int32(float64(sattr[v].Addition[adverbEntry.Lv-1])/1000.0*float64(adverbEntry.BaseValue)) - if adverbEntry.Value < value { - adverbEntry.Value = value - } - equipment.AdverbEntry = append(equipment.AdverbEntry, adverbEntry) + }) } } else { equipment.Adverbskill = make([]*pb.EquipmentSkillEntry, 0) for _, v := range comm.RandShuffle(len(sattr))[:satterNum] { - if equipatt, err = this.module.configure.getEquipAttribute(sattr[v].Skill); err != nil { + if equipatt, err = this.module.configure.getEquipAttribute(sattr[v].Skill); err != nil { // 看 return } if equipatt.SkillId == 0 { @@ -673,10 +661,19 @@ func (this *modelEquipmentComp) newCustomizeEquipment(uid string, eid string, lv Libraryid: sattr[v].Libraryid, AttrName: sattr[v].Attr.A, SkillId: equipatt.SkillId, - Lv: 5, + Lv: 1, }) } } } + for i := int32(0); i < lv; i++ { + if intensify, err = this.module.configure.GetEquipmentIntensifyConfigureById(conf.EquipId, conf.Color, equipment.Lv); err != nil { + this.module.Errorln(err) + return + } + if err = this.upgradeEquipment(equipment, conf, intensify); err != nil { + return + } + } return } diff --git a/modules/gm/module.go b/modules/gm/module.go index 06b89cc82..f79431f49 100644 --- a/modules/gm/module.go +++ b/modules/gm/module.go @@ -431,7 +431,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (errdata *pb.Er } return } - attribute, err := strconv.Atoi(datas[2]) + attribute, err := strconv.Atoi(datas[3]) if err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError,