神魔 卸下魂宝灵宝
parent
cc668d9147
commit
ce712afeac
|
@ -17,7 +17,9 @@ import org.springframework.stereotype.Component;
|
|||
import rpc.protocols.HeroInfoProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
//神魔阵营英雄转职协议
|
||||
|
@ -35,7 +37,7 @@ public class GodDevilHeroSelectPropRequestHandler extends BaseHandler<HeroInfoPr
|
|||
int propId = proto.getPropId();//属性id
|
||||
int uid = session.getUid();
|
||||
if (propId < 0 || propId > 4) {
|
||||
LOGGER.error("uid:{} heroDid:{} propId:{} 要转换的职业不存在", uid, heroId, propId);
|
||||
LOGGER.error("GOD_DEVIL_HERO_SELECT_PROP_REQUEST uid:{} heroDid:{} propId:{} 要转换的职业不存在", uid, heroId, propId);
|
||||
throw new ErrorCodeException(ErrorCode.HANDLE_FAILED);
|
||||
}
|
||||
User user = UserManager.getUser(uid);
|
||||
|
@ -43,12 +45,12 @@ public class GodDevilHeroSelectPropRequestHandler extends BaseHandler<HeroInfoPr
|
|||
Hero hero = heroManager.getHero(heroId);
|
||||
|
||||
if (hero == null) {
|
||||
LOGGER.error("uid:{} heroDid:{}该英雄不存在 ", uid, heroId);
|
||||
LOGGER.error("GOD_DEVIL_HERO_SELECT_PROP_REQUEST uid:{} heroDid:{}该英雄不存在 ", uid, heroId);
|
||||
throw new ErrorCodeException(ErrorCode.HANDLE_FAILED);
|
||||
}
|
||||
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
|
||||
if (scHero.getPropertyName() < 4) {
|
||||
LOGGER.error("uid:{} heroTid:{} heroDid:{} 该英雄不能转职", uid, scHero.getId(), hero.getId());
|
||||
LOGGER.error("GOD_DEVIL_HERO_SELECT_PROP_REQUEST uid:{} heroTid:{} heroDid:{} 该英雄不能转职", uid, scHero.getId(), hero.getId());
|
||||
throw new ErrorCodeException(ErrorCode.HANDLE_FAILED);
|
||||
}
|
||||
if (hero.getPropertyId() <= 4) {
|
||||
|
@ -62,6 +64,7 @@ public class GodDevilHeroSelectPropRequestHandler extends BaseHandler<HeroInfoPr
|
|||
// 卸下魂宝灵宝
|
||||
if (!hero.getJewelInfo().isEmpty()) {
|
||||
Map<String, PropertyItem> equipMap = user.getEquipManager().getEquipMap();
|
||||
Set<String> needRemove = new HashSet<>(hero.getJewelInfo());
|
||||
for (String equipId : hero.getJewelInfo()) {
|
||||
if (!hero.getJewelInfo().contains(equipId)) {
|
||||
throw new ErrorCodeException(ErrorCode.HANDLE_FAILED);
|
||||
|
@ -69,7 +72,9 @@ public class GodDevilHeroSelectPropRequestHandler extends BaseHandler<HeroInfoPr
|
|||
if (equipMap.get(equipId) != null) {
|
||||
equipMap.get(equipId).setHeroId("");
|
||||
}
|
||||
hero.removeJewel(equipId);
|
||||
}
|
||||
for (String s : needRemove) {
|
||||
hero.removeJewel(s);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue