From f60bca059ee3acec39b5de4a882ff90c16935276 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 5 Jun 2020 10:13:42 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=8D=81=E7=BB=9D=E9=98=B5=E6=97=B6?= =?UTF-8?q?=E9=97=B4bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/family/DeathPathLogic.java | 57 ++++++++++++------- 1 file changed, 38 insertions(+), 19 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java index eb563a806..6d30e0c6f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java @@ -88,32 +88,51 @@ public class DeathPathLogic { private void doCheck(){ + //初始化字段 + int[] setting = SGuildSetting.sGuildSetting.getGuildWarOpenTime(); + if(guildWarOpenTime==null) { + guildWarOpenTime = new int[8]; + //判断开启类型 + if(setting[0]==2){ + for(int i = 1;i Date: Fri, 5 Jun 2020 10:16:09 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=9B=9E=E6=98=A5=E6=95=A3=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamecommon/src/main/java/util/TimeUtils.java | 6 +++--- .../main/java/com/ljsd/jieling/handler/map/MapLogic.java | 4 +++- .../main/java/com/ljsd/jieling/handler/map/MapManager.java | 4 ++++ .../com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java | 1 + .../java/com/ljsd/jieling/handler/map/mapType/TowerMap.java | 4 +++- .../java/com/ljsd/jieling/logic/activity/ActivityLogic.java | 2 +- .../main/java/com/ljsd/jieling/logic/dao/PlayerManager.java | 2 +- .../java/com/ljsd/jieling/logic/dao/UserMissionManager.java | 2 +- 8 files changed, 17 insertions(+), 8 deletions(-) diff --git a/gamecommon/src/main/java/util/TimeUtils.java b/gamecommon/src/main/java/util/TimeUtils.java index 7f0129062..c18bcc483 100644 --- a/gamecommon/src/main/java/util/TimeUtils.java +++ b/gamecommon/src/main/java/util/TimeUtils.java @@ -1328,17 +1328,17 @@ public class TimeUtils { } /** - *获取传入时间的上个几时或下个几时 + *获取传入时间的上个几时几分或下个几时几分 * @param hour * @param lastOrUnder true为上个,false为下个 * @return */ - public static long getLastOrUnderHour(long time,int hour,boolean lastOrUnder){ + public static long getLastOrUnderHour(long time,int hour,int minute,boolean lastOrUnder){ Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(time); int i = cal.get(Calendar.HOUR_OF_DAY); cal.set(Calendar.HOUR_OF_DAY,hour); - cal.set(Calendar.MINUTE,0); + cal.set(Calendar.MINUTE,minute); cal.set(Calendar.SECOND,0); cal.set(Calendar.MILLISECOND,0); long result = cal.getTimeInMillis(); 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 30a4c4142..8aeca9f40 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 @@ -2589,8 +2589,10 @@ public class MapLogic { }else{ //todo 加血逻辑 int maxHp = propertyMap.get(HeroAttributeEnum.Hp.getPropertyId()); - propertyMap.put(HeroAttributeEnum.CurHP.getPropertyId(),curHp+maxHp*5000/10000); + int resultHp = Math.min(curHp+maxHp*5000/10000,maxHp); + propertyMap.put(HeroAttributeEnum.CurHP.getPropertyId(),resultHp); trialInfo.getHeroInfo().get(heroId).setProperty(propertyMap); + mapManager.updateTrialAddHpCount(1); mapManager.updateTrailHeroInfo(heroInfo); } MessageUtil.sendMessage(session,1,messageType.getNumber(),null); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java index 27bc3d207..95d65affd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java @@ -803,6 +803,10 @@ public class MapManager extends MongoBase { trialInfo.setQuitMapId(mapId); updateString("trialInfo",trialInfo); } + public void updateTrialAddHpCount(int count){ + trialInfo.setAddHpCount(count+trialInfo.getAddHpCount()); + updateString("trialInfo",trialInfo); + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java index 93236a7ac..2626ecbea 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java @@ -282,6 +282,7 @@ public class BehaviorUtil { .setUnitSkillIds(heroSkill.substring(0,heroSkill.length()-1)) .setProperty(property.substring(0, property.length()-1)) .setPosition(teamPosHeroInfo.getPosition()) + .setStar(trailHero.getStar()) .build(); heroFightInfos.add(heroFightInfo); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java index 5886ed251..787732576 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java @@ -93,6 +93,7 @@ public class TowerMap extends AbstractMap { if(!trialInfo.getMapInfo().isEmpty()&&mapManager.getCurMapId()==0){ mapManager.setMapInfo(trialInfo.getMapInfo()); mapManager.setCurMapId(trialInfo.getQuitMapId()); + mapManager.setCurXY(trialInfo.getCurXY()); List cells = new ArrayList<>(trialInfo.getMapInfo().size()); for (Map.Entry entry : trialInfo.getMapInfo().entrySet()) { cellToProto(cells, entry); @@ -134,6 +135,7 @@ public class TowerMap extends AbstractMap { if(teamPosHeroInfos!=null&&teamPosHeroInfos.size()==1){ mapEnterResponse.setCurHero(teamPosHeroInfos.get(0).getHeroId()); } + mapEnterResponse.setAddHpCount(trialInfo.getAddHpCount()); } @Override @@ -384,8 +386,8 @@ public class TowerMap extends AbstractMap { createCell=callChief(user); } remainHp = checkResult[2]; + BehaviorUtil.destoryApointXY(user, destoryXY); } - BehaviorUtil.destoryApointXY(user, destoryXY); //生成传送门,需要在删点之后 if(createCell!=null){ mapManager.addOrUpdateCell(createCell.getCellId(),createCell); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index 662cf732c..dc08161cb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -1285,7 +1285,7 @@ public class ActivityLogic implements IEventHandler{ } public void getTreasureNextRefreshTime(ISession session,MessageTypeProto.MessageType messageType) throws Exception { - int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5, false)/1000); + int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, false)/1000); int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000); PlayerInfoProto.TreasureRefreshTimeResponse response = PlayerInfoProto.TreasureRefreshTimeResponse.newBuilder().setDayTime(dayRefreshTime).setWeekTime(weekRefreshTime).build(); MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java index d843a0213..5f20b6568 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java @@ -367,7 +367,7 @@ public class PlayerManager extends MongoBase { }else { maxTime = TimeUtils.now()/1000+config.getContinueTime()[0]; } - maxTime = (int)(TimeUtils.getLastOrUnderHour(maxTime*1000,5,true)/1000); + maxTime = (int)(TimeUtils.getLastOrUnderHour(maxTime*1000,5,0,true)/1000); newVipInfo.setEffectTime((int)maxTime); } this.vipInfo.put(privilageId,newVipInfo); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java index fee7b1768..0a105781b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java @@ -96,7 +96,7 @@ public class UserMissionManager extends MongoBase { case TREASH_REFRESH: int[] refreshIds =resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData); treasureCumulationData = new CumulationData(); - int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5, false)/1000); + int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5, 0,false)/1000); CommonProto.RefreshTask.Builder task = treasureIndicationBuild(1, refreshIds).setRefreshTime(dayRefreshTime); PlayerInfoProto.TreasureRefreshIndication indication1 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task.build()).build(); MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication1,true);