From 2a2f210466ec47003e5dc3fe12dddf8762bb9354 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 2 Nov 2022 17:05:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E8=A3=85=E5=A4=87=E9=99=84?= =?UTF-8?q?=E9=AD=94=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/equipment/api_ench.go | 33 +++++++++++++++++++++++++---- modules/equipment/modelEquipment.go | 5 ++++- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/modules/equipment/api_ench.go b/modules/equipment/api_ench.go index 3cb59e466..c4c80ec12 100644 --- a/modules/equipment/api_ench.go +++ b/modules/equipment/api_ench.go @@ -21,10 +21,12 @@ func (this *apiComp) EnchCheck(session comm.IUserSession, req *pb.EquipmentEnchR //附魔 func (this *apiComp) Ench(session comm.IUserSession, req *pb.EquipmentEnchReq) (code pb.ErrorCode, data proto.Message) { var ( - equip *pb.DB_Equipment - conf *cfg.GameEquipEnchantingData - AttrValue int32 - err error + equip *pb.DB_Equipment + conf *cfg.GameEquipEnchantingData + hero *pb.DBHero + equipments []*pb.DB_Equipment + AttrValue int32 + err error ) if code = this.EnchCheck(session, req); code != pb.ErrorCode_Success { return @@ -54,6 +56,29 @@ func (this *apiComp) Ench(session comm.IUserSession, req *pb.EquipmentEnchReq) ( code = pb.ErrorCode_SystemError return } + if equip.HeroId != "" { + if hero, code = this.module.ModuleHero.GetHeroByObjID(session.GetUserId(), equip.HeroId); code != pb.ErrorCode_Success { + this.module.Errorf("Upgrade code:%d", code) + return + } + for i, v := range hero.EquipID { + if v != "" { + if v != equip.Id { + if equipments[i], err = this.module.modelEquipment.QueryUserEquipmentsById(session.GetUserId(), v); err != nil { + log.Errorf("Upgrade err:%v", err) + code = pb.ErrorCode_EquipmentOnFoundEquipment + return + } + } else { + equipments[i] = equip + } + } + } + if code = this.module.ModuleHero.UpdateEquipment(session, hero, equipments); code != pb.ErrorCode_Success { + return + } + } + session.SendMsg(string(this.module.GetType()), "ench", &pb.EquipmentEnchResp{Issucc: true, Equipment: equip}) return } diff --git a/modules/equipment/modelEquipment.go b/modules/equipment/modelEquipment.go index 493b63a40..700589173 100644 --- a/modules/equipment/modelEquipment.go +++ b/modules/equipment/modelEquipment.go @@ -339,7 +339,10 @@ func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equ if attrlibrary, err = this.module.configure.GetEquipmentAttrlibraryConfigureByKey(equipment.AdverbEntry[index].Id); err != nil { return } - equipment.AdverbEntry[index].Value = equipment.AdverbEntry[index].BaseValue + int32(float64(attrlibrary.Addition[equipment.AdverbEntry[index].Lv-1])/1000.0*float64(equipment.AdverbEntry[index].BaseValue)) + value := equipment.AdverbEntry[index].BaseValue + int32(float64(attrlibrary.Addition[equipment.AdverbEntry[index].Lv-1])/1000.0*float64(equipment.AdverbEntry[index].BaseValue)) + if equipment.AdverbEntry[index].Value < value { + equipment.AdverbEntry[index].Value = value + } equipment.AdverbEntry[index].Lv++ } else { r := rand.New(rand.NewSource(time.Now().Unix()))