From 3558ad8ec0f550d9d6dcacb1ebfa89f661fde29e Mon Sep 17 00:00:00 2001 From: lvxinran Date: Tue, 6 Aug 2019 10:30:43 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=97=A0=E5=B0=BD=E5=89=AF=E6=9C=AC?= =?UTF-8?q?=E5=87=BA=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/map/EndlessMapInfo.java | 20 ++++++++++++ .../ljsd/jieling/handler/map/MapLogic.java | 32 ++++++++++++++++--- .../ljsd/jieling/handler/map/MapManager.java | 7 ++++ .../EndlessOutMapConsumeHandler.java | 21 ++++++++++++ .../handler/player/GetPlayerOneTeamInfo.java | 25 +++++++++++++++ .../jieling/logic/player/PlayerLogic.java | 19 +++++++++++ 6 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/EndlessOutMapConsumeHandler.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/player/GetPlayerOneTeamInfo.java 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 Date: Tue, 6 Aug 2019 10:36:21 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=AC=AC=E4=B8=80?= =?UTF-8?q?=E7=BC=96=E9=98=9F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/handler/player/GetPlayerOneTeamInfo.java | 2 +- .../main/java/com/ljsd/jieling/logic/player/PlayerLogic.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/player/GetPlayerOneTeamInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/player/GetPlayerOneTeamInfo.java index 41d1bbab2..886b38875 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/player/GetPlayerOneTeamInfo.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/player/GetPlayerOneTeamInfo.java @@ -18,7 +18,7 @@ public class GetPlayerOneTeamInfo extends BaseHandler { @Override public void process(ISession iSession, PacketNetData netData) throws Exception { byte[] bytes = netData.parseClientProtoNetData(); - PlayerInfoProto.GetPlayerOneTeamInfo info = PlayerInfoProto.GetPlayerOneTeamInfo.parseFrom(bytes); + PlayerInfoProto.GetPlayerOneTeamInfoRequest info = PlayerInfoProto.GetPlayerOneTeamInfoRequest.parseFrom(bytes); info.getPlayerId(); PlayerLogic.getInstance().getOneTeamInfo(iSession, info.getPlayerId(), MessageTypeProto.MessageType.GET_PLAYER_ONE_TEAM_INFO_RESPONSE); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index fe79f48ba..8dd9933ed 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -348,7 +348,7 @@ public class PlayerLogic { int templateId = user.getHeroManager().getHero(heroInfo.getHeroId()).getTemplateId(); team.addHeroTid(templateId); } - CommonProto.PlayerTeamInfo.Builder playerTeamInfo = CommonProto.PlayerTeamInfo.newBuilder() + PlayerInfoProto.GetPlayerOneTeamInfoResponse.Builder playerTeamInfo = PlayerInfoProto.GetPlayerOneTeamInfoResponse.newBuilder() .setHead(1) .setHeadFrame(playerManager.getHeadFrame()) .setName(playerManager.getNickName()).setUid(session.getUid()).setTeam(team);