diff --git a/modules/equipment/api_equip.go b/modules/equipment/api_equip.go index 773bc8a96..e5905b157 100644 --- a/modules/equipment/api_equip.go +++ b/modules/equipment/api_equip.go @@ -35,6 +35,12 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq) //校验数据 confs = make([]*cfg.Game_equipData, len(req.EquipmentId)) equipments = make([]*pb.DB_Equipment, len(req.EquipmentId)) + + //获取英雄数据 + if hero, code = this.module.ModuleHero.GetHero(session.GetUserId(), req.HeroCardId); code != pb.ErrorCode_Success { + return + } + for i, v := range req.EquipmentId { if v != "" { if equipments[i], err = this.module.modelEquipment.QueryUserEquipmentsById(session.GetUserId(), v); err != nil { @@ -42,7 +48,7 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq) code = pb.ErrorCode_EquipmentOnFoundEquipment return } - if equipments[i].HeroId != "" { //装备已经有宿主了 + if equipments[i].HeroId != "" && hero.Id != equipments[i].HeroId { //装备已经有宿主了 code = pb.ErrorCode_ReqParameterError return } @@ -56,10 +62,7 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq) equipments[i] = nil } } - //获取英雄数据 - if hero, code = this.module.ModuleHero.GetHero(session.GetUserId(), req.HeroCardId); code != pb.ErrorCode_Success { - return - } + //读取英雄原装备 for i, v := range hero.EquipID { if v != "" {