From 5e817c87fff9079cfe8d6835689bcff875ebe153 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 23 Dec 2019 18:04:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=A6=96=E4=B8=8A=E9=98=B5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/hero/HeroLogic.java | 23 +++++++++++++- .../jieling/logic/mission/MissionLoigc.java | 30 +++++++++++-------- .../src/main/java/config/SGameSetting.java | 5 ++++ 3 files changed, 45 insertions(+), 13 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 534682da9..b1c118a60 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -23,6 +23,7 @@ import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.fight.CombatLogic; import com.ljsd.jieling.logic.item.ItemLogic; import com.ljsd.jieling.logic.mission.GameEvent; +import com.ljsd.jieling.logic.mission.MissionLoigc; import com.ljsd.jieling.network.server.ProtocolsManager; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; @@ -551,13 +552,33 @@ public class HeroLogic{ } } int size = pokemonoIds.size(); - boolean allowed = user.getPlayerInfoManager().check(VipPrivilegeType.POKEMON_NUM, size); +// boolean allowed = user.getPlayerInfoManager().check(VipPrivilegeType.POKEMON_NUM, size); + boolean allowed =checkPokeManPos(user,size); if(!allowed){ return "now allowd"; } return ""; } + private boolean checkPokeManPos(User user ,int size){ + int[][] differLocation = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getDifferLocation(); + for(int i=0;i crossInfoGenMap = user.getMapManager().getCrossInfoMap(); @@ -718,7 +707,24 @@ public class MissionLoigc { user.getUserMissionManager().updateString("missingRoomMissionType",missingRoomMissionType); MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true); } + public static boolean checkMainLevel(User user,int levelId){ + if(!SMainLevelConfig.config.containsKey(levelId)){ + return false; + } + int vid = SMainLevelConfig.config.get(levelId).getVirtureId(); + int fightId = user.getMainLevelManager().getFightId(); + SMainLevelConfig mineMainLevelConfig = SMainLevelConfig.fightPreMap.get(fightId); + if(user.getMainLevelManager().getState() == 2 ){ + mineMainLevelConfig = SMainLevelConfig.config.get(user.getMainLevelManager().getFightId()); + } + if(mineMainLevelConfig!=null){ + return vid <= mineMainLevelConfig.getVirtureId(); + }else{ + return false; + } + } + } diff --git a/tablemanager/src/main/java/config/SGameSetting.java b/tablemanager/src/main/java/config/SGameSetting.java index c0c89bf03..b9d462697 100644 --- a/tablemanager/src/main/java/config/SGameSetting.java +++ b/tablemanager/src/main/java/config/SGameSetting.java @@ -111,6 +111,7 @@ public class SGameSetting implements BaseConfig { private int defaultHead; + private int[][] differLocation; @@ -318,4 +319,8 @@ public class SGameSetting implements BaseConfig { public int getDefaultHead() { return defaultHead; } + + public int[][] getDifferLocation() { + return differLocation; + } } \ No newline at end of file