神魔 卸下魂宝灵宝
parent
6b81fc069a
commit
cc668d9147
|
@ -6,6 +6,7 @@ import com.ljsd.jieling.globals.BIReason;
|
|||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.HeroManager;
|
||||
import com.ljsd.jieling.logic.dao.PropertyItem;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
@ -16,6 +17,8 @@ import org.springframework.stereotype.Component;
|
|||
import rpc.protocols.HeroInfoProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
//神魔阵营英雄转职协议
|
||||
@Component
|
||||
|
@ -28,35 +31,49 @@ public class GodDevilHeroSelectPropRequestHandler extends BaseHandler<HeroInfoPr
|
|||
|
||||
@Override
|
||||
public void processWithProto(ISession session, HeroInfoProto.GodDevilHeroSelectPropRequest proto) throws Exception {
|
||||
String heroId=proto.getHeroId();//英雄动态id
|
||||
int propId=proto.getPropId();//属性id
|
||||
String heroId = proto.getHeroId();//英雄动态id
|
||||
int propId = proto.getPropId();//属性id
|
||||
int uid = session.getUid();
|
||||
if (propId<0||propId>4){
|
||||
LOGGER.error("uid:{} heroDid:{} propId:{} 要转换的职业不存在",uid,heroId,propId);
|
||||
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);
|
||||
HeroManager heroManager = user.getHeroManager();
|
||||
Hero hero = heroManager.getHero(heroId);
|
||||
|
||||
if (hero==null) {
|
||||
LOGGER.error("uid:{} heroDid:{}该英雄不存在 ",uid,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());
|
||||
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){
|
||||
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);
|
||||
}
|
||||
}
|
||||
// 卸下魂宝灵宝
|
||||
if (!hero.getJewelInfo().isEmpty()) {
|
||||
Map<String, PropertyItem> equipMap = user.getEquipManager().getEquipMap();
|
||||
for (String equipId : hero.getJewelInfo()) {
|
||||
if (!hero.getJewelInfo().contains(equipId)) {
|
||||
throw new ErrorCodeException(ErrorCode.HANDLE_FAILED);
|
||||
}
|
||||
if (equipMap.get(equipId) != null) {
|
||||
equipMap.get(equipId).setHeroId("");
|
||||
}
|
||||
hero.removeJewel(equipId);
|
||||
}
|
||||
}
|
||||
|
||||
hero.setPropertyId(propId);
|
||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GOD_DEVIL_HERO_SELECT_PROP_RESPONSE_VALUE, null,true);
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.GOD_DEVIL_HERO_SELECT_PROP_RESPONSE_VALUE, null, true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,11 +2,9 @@ package com.ljsd.jieling.logic.player;
|
|||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.gson.Gson;
|
||||
import com.ljsd.CoreService;
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
|
||||
import com.ljsd.jieling.config.clazzStaticCfg.TaskStaticConfig;
|
||||
import com.ljsd.jieling.config.json.CoreSettings;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||
import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType;
|
||||
|
@ -30,11 +28,11 @@ import com.ljsd.jieling.logic.activity.event.Poster;
|
|||
import com.ljsd.jieling.logic.activity.event.UserForceChangeEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent;
|
||||
import com.ljsd.jieling.logic.activity.eventhandler.UserForceUpEventHandler;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.Pokemon;
|
||||
import com.ljsd.jieling.logic.dao.PropertyItem;
|
||||
import com.ljsd.jieling.logic.dao.PurpleMansionSeal;
|
||||
import com.ljsd.jieling.logic.dao.TeamPosHeroInfo;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.cross.CSPlayer;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildCache;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
@ -57,7 +55,6 @@ import com.ljsd.jieling.thrift.pool.ClientAdapterPo;
|
|||
import com.ljsd.jieling.util.*;
|
||||
import config.*;
|
||||
import manager.STableManager;
|
||||
import org.luaj.vm2.ast.Str;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import rpc.protocols.CommonProto;
|
||||
|
|
Loading…
Reference in New Issue