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