前置节点&修改精英怪战斗结束

back_recharge
wangyuan 2019-06-20 16:26:58 +08:00
parent 1046bcfb85
commit ef76a6fff9
2 changed files with 15 additions and 9 deletions

View File

@ -1614,14 +1614,6 @@ public class MapLogic {
public void endSuddlenlyFight(ISession session, String frames ,MessageTypeProto.MessageType messageType) throws Exception {
int uid = session.getUid();
User user = UserManager.getUser(uid);
String fightKey = RedisKey.getKey(RedisKey.SUDDLENLY_FIGHT, String.valueOf(uid), false);
String fightInfos = (String) RedisUtil.getInstence().get(fightKey);
if (fightInfos.isEmpty()){
LOGGER.info("endFight() uid=>{} fightKey={},fightInfos is empty", uid, fightKey);
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
return;
}
String key = RedisKey.getKey(RedisKey.SUDDLENLY_FIGHT, Integer.toString(user.getId()) , false);
Map<Object , Object> valueMap = RedisUtil.getInstence().hmget(key);
RedisUtil.getInstence().del(key);
@ -1641,7 +1633,6 @@ public class MapLogic {
SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getFindSuddenlyBossMapId());
int[] checkResult = CheckFight.getInstance().checkFight(seed,sChallengeConfig.getMostTime(),getFightData, getOptionData);
LevelDifficultyManager levelDifficultyManager = user.getLevelDifficultyManager();
//校验结果码 1胜利
int resultCode = checkResult[0];
if (resultCode == -1){

View File

@ -50,6 +50,21 @@ public class WorkShopLogic {
MessageUtil.sendErrorResponse(iSession,0,msgId,"maxLevel");
return;
}
int[] openRules = sWorkShopTechnology.getOpenRules();
if(openRules!=null){
int preTechId = openRules[0];
int preTechLevel = openRules[1];
SWorkShopTechnology preSWorkShopTechnology = SWorkShopTechnology.getsWorkTechMapByTechIdAndLevel(techId, oldLevl);
int preProfession = preSWorkShopTechnology.getProfession();
int preMineLevl = 0;
if( workShopController.getTechnologyMap().containsKey(preProfession) && workShopController.getTechnologyMap().get(preProfession).containsKey(preTechId)){
preMineLevl = workShopController.getTechnologyMap().get(preProfession).get(preTechId);
}
if(preMineLevl<preTechLevel){
MessageUtil.sendErrorResponse(iSession,0,msgId,"前置节点未完成");
return;
}
}
workShopController.updateTechLevel(profession,techId,oldLevl + 1);
int[][] consume = sWorkShopTechnology.getConsume();
boolean enough = ItemUtil.itemCost(user, consume, BIReason.WORKSHOP_TECHNOLOGY_CONSUME, sWorkShopTechnology.getId());