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