From 97b5d3f9f6e66190dd375d326b0665c0172d7840 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Fri, 19 Jan 2024 17:28:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BB=B6=E8=B6=85?= =?UTF-8?q?=E7=A5=9E=E8=A3=85=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/const.go | 1 + modules/equipment/modelEquipment.go | 93 +++-------------------------- modules/expedition/module.go | 26 ++++++++ 3 files changed, 36 insertions(+), 84 deletions(-) create mode 100644 modules/expedition/module.go diff --git a/comm/const.go b/comm/const.go index 8d7fe420a..831a13d74 100644 --- a/comm/const.go +++ b/comm/const.go @@ -129,6 +129,7 @@ const ( ModuleIntegral core.M_Modules = "integral" // 积分boss ModulePlunder core.M_Modules = "plunder" //掠夺 ModuleMergeGroup core.M_Modules = "mergegroup" //合区模块 + ModuleExpedition core.M_Modules = "expedition" //合区模块 ) // 数据表名定义处 diff --git a/modules/equipment/modelEquipment.go b/modules/equipment/modelEquipment.go index 62bc33adf..14900bf6a 100644 --- a/modules/equipment/modelEquipment.go +++ b/modules/equipment/modelEquipment.go @@ -476,100 +476,25 @@ func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equ // 创建满级装备数据 func (this *modelEquipmentComp) newMaxEquipment(uid string, conf *cfg.GameEquipData) (equipment *pb.DB_Equipment, err error) { + var ( - mattr []*cfg.GameEquipAttrlibrarySData - sattr []*cfg.GameEquipAttrlibrarySData - weight []int32 - index int32 - equipatt *cfg.GameEquipAttributeData intensify *cfg.GameEquipIntensifyData - satterNum int32 ) - if intensify, err = this.module.configure.GetEquipmentMaxIntensifyConfigureById(conf.EquipId, conf.Color); err != nil { - this.module.Errorln(err) + if equipment, err = this.newEquipment(uid, conf, nil, false); err != nil { return } - - equipment = &pb.DB_Equipment{ - Id: primitive.NewObjectID().Hex(), - CId: conf.Id, - Lv: intensify.Level + 1, - UId: uid, - OverlayNum: 1, - IsInitialState: false, - } - - if mattr, err = this.module.configure.GetEquipmentAttrlibraryConfigureById(conf.Leadlibrary); err != nil || len(mattr) == 0 { - err = fmt.Errorf("no found mattr%d", conf.Leadlibrary) - this.module.Errorln(err) - return - } - weight = make([]int32, len(mattr)) - for i, v := range mattr { - weight[i] = v.Probability - } - index = comm.GetRandW(weight) - equipment.MainEntry = &pb.EquipmentAttributeEntry{ - Id: mattr[index].Key, - Libraryid: mattr[index].Libraryid, - Lv: intensify.Level + 1, - AttrName: mattr[index].Attr.A, - Value: mattr[index].Attr.N, - BaseValue: mattr[index].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 - } - - for i, v := range sattr { //移除主属性 - if v.Attr.A == equipment.MainEntry.AttrName { - sattr = append(sattr[0:i], sattr[i+1:]...) - break + for { + if intensify, err = this.module.configure.GetEquipmentIntensifyConfigureById(conf.EquipId, conf.Color, equipment.Lv); err != nil { + return } - } - 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{ - Id: sattr[v].Key, - Libraryid: sattr[v].Libraryid, - Lv: 5, - 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) + if len(intensify.Need) > 0 { + if err = this.upgradeEquipment(equipment, conf, intensify); err != nil { + return } } 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 { - return - } - if equipatt.SkillId == 0 { - err = fmt.Errorf("equipatt:%d skill is 0", sattr[v].Attr.A) - return - } - equipment.Adverbskill = append(equipment.Adverbskill, &pb.EquipmentSkillEntry{ - Id: sattr[v].Key, - Libraryid: sattr[v].Libraryid, - AttrName: sattr[v].Attr.A, - SkillId: equipatt.SkillId, - Lv: 5, - }) - } + return } } - return } // 自定义装备 diff --git a/modules/expedition/module.go b/modules/expedition/module.go new file mode 100644 index 000000000..36421496e --- /dev/null +++ b/modules/expedition/module.go @@ -0,0 +1,26 @@ +package expedition + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" +) + +/* +模块名:论坛 +描述:处理跨服社交论坛相关业务 +开发:李伟 +*/ +func NewModule() core.IModule { + m := new(Expedition) + return m +} + +type Expedition struct { + modules.ModuleBase +} + +//模块名 +func (this *Expedition) GetType() core.M_Modules { + return comm.ModuleExpedition +}