From 3e21db3b92539ac8fe323771a3f4bdfd88e2bfcb Mon Sep 17 00:00:00 2001 From: wangyuan Date: Wed, 20 Mar 2019 14:48:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A9=BB=E6=89=8E=E9=94=99=E8=AF=AF=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/fight/CombatLogic.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java index 12bce5cb9..448e53b1f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java @@ -62,9 +62,18 @@ public class CombatLogic { User user = UserManager.getUser(uid); SAdventureConfig sAdventureConfig = SAdventureConfig.getsAdventureConfigByPosition(position); if(sAdventureConfig.getOpenLevel() > user.getPlayerInfoManager().getLevel()){ + MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_STATION_RESPONSE_VALUE,"等级不够"); return; } if(sAdventureConfig.getMinNum() > heroIds.size()){ + MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_STATION_RESPONSE_VALUE,"英雄数量小于规定数量"); + return; + } + + int pooId = sAdventureConfig.getPooId(); + SAdventureSetting sAdventureSetting = SAdventureSetting.getsAdventureSetting(pooId); + if(hourDuration > sAdventureSetting.getPerMapMaxHour()){ + MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_STATION_RESPONSE_VALUE,"超出时长"); return; } @@ -73,6 +82,7 @@ public class CombatLogic { Map adventureStateInfoMap = adventureManager.getAdventureStateInfoMap(); AdventureStateInfo adventureStateInfo = adventureManager.getAdventureStateInfoMap().get(position); if(adventureStateInfo!=null){ + MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_STATION_RESPONSE_VALUE,"已驻扎"); return; } @@ -81,6 +91,7 @@ public class CombatLogic { for(String useHeroId : heroIds1){ if(heroIds.contains(useHeroId)){ //该英雄已上阵 + MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_STATION_RESPONSE_VALUE,"该英雄已上阵"); return; } } @@ -99,12 +110,14 @@ public class CombatLogic { AdventureManager adventureManager = user.getAdventureManager(); AdventureStateInfo adventureStateInfo = adventureManager.getAdventureStateInfoMap().get(position); if( null == adventureStateInfo ){ + MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_REWARD_RESPONSE_VALUE,""); return; } int startTime = adventureStateInfo.getStartTime(); int hourDuration = adventureStateInfo.getHourDuration(); int now = (int)(System.currentTimeMillis()/1000); if( (now - startTime ) /3600 < hourDuration ){ + MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_REWARD_RESPONSE_VALUE,"驻扎时长不到"); return; } //计算奖励 @@ -165,11 +178,9 @@ public class CombatLogic { public float calRatio(float value,float[][] base){ float result = 0; - int length = base.length; for(int i=0;i< base.length;i++){ float weight = base[i][0]; - value = value - weight; - if(value< weight){ + if(value>= weight){ result = base[i][1]; } }