神魔阵营转职功能bug修改

back_recharge
yuanshuai 2022-03-31 17:16:57 +08:00
parent 38de0cae30
commit 434366cdd3
2 changed files with 24 additions and 6 deletions

View File

@ -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;//四灵试炼扫荡

View File

@ -31,15 +31,31 @@ public class GodDevilHeroSelectPropRequestHandler extends BaseHandler<HeroInfoPr
String heroId=proto.getHeroId();//英雄动态id
int propId=proto.getPropId();//属性id
int uid = session.getUid();
User user = UserManager.getUser(uid);
HeroManager heroManager=user.getHeroManager();
int[][]costArr=SSpecialConfig.getTwiceArrayValue(SSpecialConfig.CHANGE_CAMP_COST);
boolean costResult = ItemUtil.itemCost(user,costArr, BIReason.SIXIANG_UP_COST,propId);
if (!costResult){
LOGGER.error("神魔英雄转职消耗材料不足");
if (propId<0||propId>4){
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);
}