diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java index 6967448bc..d0983b402 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java @@ -354,6 +354,8 @@ public interface BIReason { int TAKE_YUHENLONGDAN = 1109;// 山河社稷每日领取玉衡龙魂 + int GOD_DEVIL_CHANGE = 1110;//神魔功能 英雄转职 + int FOUR_CHALLENGE_FIRST = 1201;//四灵试炼首通 int FOUR_CHALLENGE_SWEEP = 1202;//四灵试炼扫荡 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/GodDevilHeroSelectPropRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/GodDevilHeroSelectPropRequestHandler.java index 574b9c820..c372a3626 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/GodDevilHeroSelectPropRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/GodDevilHeroSelectPropRequestHandler.java @@ -31,15 +31,31 @@ public class GodDevilHeroSelectPropRequestHandler extends BaseHandler4){ + LOGGER.error("uid:{} heroDid:{} propId:{} 要转换的职业不存在",uid,heroId,propId); throw new ErrorCodeException(ErrorCode.HANDLE_FAILED); } + User user = UserManager.getUser(uid); + HeroManager heroManager=user.getHeroManager(); Hero hero= heroManager.getHero(heroId); + + if (hero==null) { + LOGGER.error("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()); + throw new ErrorCodeException(ErrorCode.HANDLE_FAILED); + } + if (hero.getPropertyId()<=4){ + int[][]costArr=SSpecialConfig.getTwiceArrayValue(SSpecialConfig.CHANGE_CAMP_COST); + boolean costResult = ItemUtil.itemCost(user,costArr, BIReason.GOD_DEVIL_CHANGE,propId); + if (!costResult){ + LOGGER.error("神魔英雄转职消耗材料不足"); + throw new ErrorCodeException(ErrorCode.HANDLE_FAILED); + } + } hero.setPropertyId(propId); MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GOD_DEVIL_HERO_SELECT_PROP_RESPONSE_VALUE, null,true); }