diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/EndlessMapInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/EndlessMapInfo.java index 1f88c1212..77f391b9d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/EndlessMapInfo.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/EndlessMapInfo.java @@ -12,6 +12,10 @@ public class EndlessMapInfo { private Map> mapSign; + private int fightCount; + + private int consumeExecution; + public int getCurMapId() { return curMapId; } @@ -48,4 +52,20 @@ public class EndlessMapInfo { this.endlessHeroInfo =new HashMap<>(); this.mapSign = new HashMap<>(); } + + public int getFightCount() { + return fightCount; + } + + public int getConsumeExecution() { + return consumeExecution; + } + + public void setFightCount(int fightCount) { + this.fightCount = fightCount; + } + + public void setConsumeExecution(int consumeExecution) { + this.consumeExecution = consumeExecution; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index abce17012..09deb15c5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -439,6 +439,7 @@ public class MapLogic { int[][] cost = new int[1][]; int costId = SChallengeSetting.getChallengeSetting().getActionPowerId(); int costNum = cells.size(); + mapManager.updateEndlessConsumeExecution(costNum); cost[0]= new int[]{costId,costNum}; boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1); if(!costResult) { @@ -543,7 +544,8 @@ public class MapLogic { if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){ int[][] cost = new int[1][]; int costId = SChallengeSetting.getChallengeSetting().getActionPowerId(); - int costNum = cells.size();; + int costNum = cells.size(); + mapManager.updateEndlessConsumeExecution(costNum); cost[0]= new int[]{costId,costNum}; boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1); if(!costResult){ @@ -926,7 +928,9 @@ public class MapLogic { int costId = SChallengeSetting.getChallengeSetting().getActionPowerId(); int costNum = SEndlessMapConfig.sEndlessMapConfigMap.get(mapId).getTeleportCost(); int costNum2 = SEndlessMapConfig.sEndlessMapConfigMap.get(targetMapId).getTeleportCost(); - cost[0]= new int[]{costId,Math.abs(costNum-costNum2)};//Math.abs(costNum-costNum) + int resultCost = Math.abs(costNum-costNum2); + mapManager.updateEndlessConsumeExecution(resultCost); + cost[0]= new int[]{costId,resultCost};//Math.abs(costNum-costNum) boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1); mapManager.setCurMapId(0); mapManager.setCurXY(0); @@ -1125,7 +1129,11 @@ public class MapLogic { MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), "战斗异常!"); return; } + int teamId = mapManager.getTeamId(); mapManager.setLastFightResult(resultCode); + if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4&&teamId==401){ + mapManager.updateEndlessFightCount(); + } if (resultCode == 0) { // 失败需要等待n秒后复活所有英雄 int dieCount = user.getMapManager().getDieCount(); @@ -1161,7 +1169,6 @@ public class MapLogic { MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse, true); return; } - int teamId = mapManager.getTeamId(); List team = user.getTeamPosManager().getTeamPosForHero().get(teamId); for (TeamPosHeroInfo teamPosHeroInfo : team) { mapManager.updateHeroOneAttribute(teamPosHeroInfo.getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[teamPosHeroInfo.getPosition()+1]); @@ -1341,10 +1348,12 @@ public class MapLogic { mapManager.setLastFightResult(resultCode); if (resultCode == 0) { if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){ + mapManager.updateEndlessFightCount(); //消耗行动力 int [][] cost = new int[1][]; int costId = SChallengeSetting.getChallengeSetting().getActionPowerId(); int costNum = SEndlessMapConfig.sEndlessMapConfigMap.get(mapManager.getCurMapId()).getDeathCost(); + mapManager.updateEndlessConsumeExecution(costNum); int [] cost1 = new int[]{costId,costNum}; cost[0] = cost1; if(ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1)) { @@ -1409,6 +1418,7 @@ public class MapLogic { mapManager.updateHeroOneAttribute(teamPosHeroInfo.getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[teamPosHeroInfo.getPosition()+1]); } if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4&&teamId==401){ + mapManager.updateEndlessFightCount(); for (int i = 0 ; i