From 19f9759e63dd75232f69bbd467cf463baca1e3ad Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Mon, 4 Jul 2022 12:06:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=AD=A6=E5=99=A8=E7=9A=84?= =?UTF-8?q?=E8=A3=85=E9=85=8D=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/equipment/api_equip.go | 9 ++++++++- modules/hero/module.go | 9 ++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/equipment/api_equip.go b/modules/equipment/api_equip.go index 9ed7c0e90..2272d1a53 100644 --- a/modules/equipment/api_equip.go +++ b/modules/equipment/api_equip.go @@ -11,6 +11,9 @@ import ( //参数校验 func (this *apiComp) EquipCheck(session comm.IUserSession, req *pb.EquipmentEquipReq) (code pb.ErrorCode) { + if len(req.EquipmentId) != 6 || req.HeroCardId == "" { + code = pb.ErrorCode_ReqParameterError + } return } @@ -30,6 +33,9 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq) session.SendMsg(string(this.module.GetType()), "equip", &pb.EquipmentEquipResp{Equipments: equipments}) } }() + if code = this.EquipCheck(session, req); code != pb.ErrorCode_Success { + return + } //校验数据 confs = make([]*cfg.Game_equipData, len(req.EquipmentId)) equipments = make([]*pb.DB_Equipment, len(req.EquipmentId)) @@ -83,11 +89,12 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq) subsit := true for i, v := range equipments { //校验装备位置 if v != nil { - if i != int(confs[i].Pos) { + if i+1 != int(confs[i].Pos) { log.Errorf("Equip conf:%v Target:%d Incorrect range!", confs[i], i) code = pb.ErrorCode_SystemError return } + hero.EquipID[i] = v.Id } else { if i < 4 { msuit = false //主套装没有 diff --git a/modules/hero/module.go b/modules/hero/module.go index 040183cf6..b9e08397b 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -78,11 +78,14 @@ func (this *Hero) GetHero(uid, heroId string) (*pb.DBHero, pb.ErrorCode) { //佩戴装备 func (this *Hero) UpdateEquipment(hero *pb.DBHero, equip []*pb.DB_Equipment) (code pb.ErrorCode) { - equipIds := make([]string, 4) + equipIds := make([]string, 6) property := make(map[string]int32) //主属性 addProperty := make(map[string]int32) //副属性 - for _, v := range equip { - equipIds = append(equipIds, v.Id) + for i, v := range equip { + if v == nil { + continue + } + equipIds[i] = v.Id //主属性 property[v.MainEntry.AttrName] = v.MainEntry.Value //附加属性