From badb33e936757ae07d7aa5568dcd0741fce1a63b Mon Sep 17 00:00:00 2001 From: gaojie Date: Wed, 24 Apr 2019 15:01:46 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=8E=A9=E5=AE=B6=E5=8D=87=E7=BA=A7=20?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E9=80=9A=E5=85=B3=E5=85=B3=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/globals/GlobalGm.java | 4 ++ .../handler/GameGM/GMRequestHandler.java | 47 +++++++++++++++++-- 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java index b974f5902..8028dde4b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java @@ -7,4 +7,8 @@ public interface GlobalGm { int HERO_STAR = 4;// 添加指定星级英雄 int OPEN_MAP = 5; // 开启到指定关卡 int ONE_KEY_ITEM_OR_HERO = 6; + int USER_UP_LEVE = 7; // 玩家升级 + int ADOPT_ALL_DIFFICULTY = 8; // 通过所有关卡 + int ADOPT_FIGHT_BY_LEVE = 9; // 根据等级开启对应的关卡 + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java index 64c8760c0..a6311f8f0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java @@ -11,10 +11,8 @@ import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.handler.map.MapManager; import com.ljsd.jieling.handler.map.MapMission; import com.ljsd.jieling.handler.mission.Mission; -import com.ljsd.jieling.logic.dao.Hero; -import com.ljsd.jieling.logic.dao.Mail; +import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; @@ -96,6 +94,29 @@ public class GMRequestHandler extends BaseHandler{ case GlobalGm.OPEN_MAP: MapLogic.getInstance().gmCrossFight(uid, prarm1); break; + case GlobalGm.USER_UP_LEVE: + int exp = 0; + Map sPlayerLevelConfigMap = SPlayerLevelConfig.getsPlayerLevelConfigMap(); + for (Map.Entry entry :sPlayerLevelConfigMap.entrySet()){ + int leve = entry.getKey(); + SPlayerLevelConfig value = entry.getValue(); + if (prarm1 > leve){ + exp += value.getExp(); + } + } + MapLogic.getInstance().userLevelUp(cUser,exp); + break; + case GlobalGm.ADOPT_ALL_DIFFICULTY: + sPlayerLevelConfigMap = SPlayerLevelConfig.getsPlayerLevelConfigMap(); + LevelDifficultyManager levelDifficultyManager = cUser.getLevelDifficultyManager(); + openFightids(levelDifficultyManager,sPlayerLevelConfigMap.size()); + adoptAllFight(levelDifficultyManager); + break; + case GlobalGm.ADOPT_FIGHT_BY_LEVE: + levelDifficultyManager = cUser.getLevelDifficultyManager(); + openFightids(levelDifficultyManager,prarm1); + adoptAllFight(levelDifficultyManager); + break; case GlobalGm.ONE_KEY_ITEM_OR_HERO:{ //道具 Map sItemMap = SItem.getsItemMap(); @@ -137,6 +158,26 @@ public class GMRequestHandler extends BaseHandler{ } } + private void adoptAllFight(LevelDifficultyManager levelDifficultyManager) { + Map levelDifficultyInfosMap = levelDifficultyManager.getLevelDifficultyInfosMap(); + for (Map.Entry entry :levelDifficultyInfosMap.entrySet()){ + entry.getValue().setState(Global.FIGHT_CLEARANCE); + } + } + + //开启所有关卡 + private void openFightids(LevelDifficultyManager levelDifficultyManager,int level) { + Map levelDifficultyMap = SLevelDifficultyConfig.getLevelDifficultyMap(); + for (Map.Entry entry :levelDifficultyMap.entrySet()){ + LevelDifficulty levelDifficulty = entry.getValue(); + SLevelDifficultyConfig sLevelDifficultyConfig = SLevelDifficultyConfig.getsLevelDifficultyConfigMap().get(entry.getKey()); + if (sLevelDifficultyConfig.getLevelLimit() > level){ + continue; + } + levelDifficultyManager.newLevelDifficulty(levelDifficulty.getFightId(),levelDifficulty.getType(),levelDifficulty.getAreaId()); + } + } + private void giveHero(User cUser, int cardId, int cardNum) throws Exception { CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder(); Map cardMap = new ConcurrentHashMap<>(); From b0fe7b66e256dc3311e4c89b40163e755f00b61f Mon Sep 17 00:00:00 2001 From: wangyuan Date: Thu, 25 Apr 2019 15:15:35 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8C=82=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/logic/fight/CombatLogic.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 a48d9fe04..f662e898d 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 @@ -50,6 +50,10 @@ public class CombatLogic { if(hasAdventure){ offLineTime = (int)((System.currentTimeMillis() -playerInfoManager.getOffLineTime())/1000); } + if(offLineTime == 0){ + MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_ADVENTURE_INFO_RESPONSE_VALUE,null,true); + return; + } FightInfoProto.GetAdventureStateInfoResponse response = FightInfoProto.GetAdventureStateInfoResponse.newBuilder().addAllAdventureStateInfoList(result).setDrop(dropBuilder.build()).setOutTime(offLineTime). build(); MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_ADVENTURE_INFO_RESPONSE_VALUE,response,true); @@ -141,7 +145,7 @@ public class CombatLogic { Map adventureStateInfoMap = adventureManager.getAdventureStateInfoMap(); int now = (int)(System.currentTimeMillis()/1000); int adventureRefresh = SGameSetting.getGameSetting().getAdventureRefresh(); - int offLineTime = (int)(user.getPlayerInfoManager().getOffLineTime()); + int offLineTime = (int)(user.getPlayerInfoManager().getOffLineTime()/1000); for(AdventureStateInfo adventureStateInfoTmp:adventureStateInfoMap.values()){ int positionTmp = adventureStateInfoTmp.getPosition(); if(position!=0 && positionTmp!=position){