From ab47c25f0ceeae160b1dc064221dc66f6e243706 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Sun, 1 Sep 2019 14:27:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E4=BC=9A=E4=BF=AE=E6=94=B9=E3=80=81?= =?UTF-8?q?=E6=97=A0=E5=B0=BD=E6=9C=AC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/config/SEndlessMapConfig.java | 6 ++- .../ljsd/jieling/config/SGuildSetting.java | 12 ++++++ .../ljsd/jieling/handler/map/MapLogic.java | 39 ++++++++++++++++++- .../map/mapHandler/EndlessMinMapHandler.java | 21 ++++++++++ .../ljsd/jieling/logic/dao/GuilidManager.java | 4 -- .../jieling/logic/dao/root/GuildInfo.java | 3 ++ .../ljsd/jieling/logic/family/GuildLogic.java | 38 +++++++++++++++--- 7 files changed, 111 insertions(+), 12 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/EndlessMinMapHandler.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessMapConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessMapConfig.java index 6df3e9834..38bea05f0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessMapConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessMapConfig.java @@ -20,6 +20,8 @@ public class SEndlessMapConfig implements BaseConfig { private int[] mapItem; + private int[][] endlessPoint; + public static Map sEndlessMapConfigMap; @Override @@ -48,5 +50,7 @@ public class SEndlessMapConfig implements BaseConfig { return deathCost; } - + public int[][] getEndlessPoint() { + return endlessPoint; + } } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SGuildSetting.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SGuildSetting.java index 1318a1e70..9d155d8d6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SGuildSetting.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SGuildSetting.java @@ -61,6 +61,10 @@ public class SGuildSetting implements BaseConfig { private int[] nameSize; + private int[] totemItem; + + private int recruitCD; + public static SGuildSetting sGuildSetting; @@ -175,4 +179,12 @@ public class SGuildSetting implements BaseConfig { public int[] getNameSize() { return nameSize; } + + public int[] getTotemItem() { + return totemItem; + } + + public int getRecruitCD() { + return recruitCD; + } } \ No newline at end of file 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 94d5a4af8..bb9895520 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 @@ -3055,7 +3055,7 @@ public class MapLogic { if(heroEntry.getValue().getLevel()<20){ continue; } - int calHp = HeroLogic.getInstance().calHeroNotBufferAttribute(user, heroEntry.getValue(), false,401).get(1); + int calHp = HeroLogic.getInstance().calHeroNotBufferAttribute(user, heroEntry.getValue(), true,401).get(1); if(!endlessHeroInfo.containsKey(heroEntry.getKey())){ mapManager.addEndlessHero(heroEntry.getKey(),calHp); } @@ -3242,4 +3242,41 @@ public class MapLogic { public static int getEndlessMapId() { return endlessMapId; } + + /** + * 无尽副本小地图信息 + * @param session + * @param messageType + */ + public void endlessMinMapInfo(ISession session, MessageTypeProto.MessageType messageType) throws Exception { + MapManager mapManager = UserManager.getUser(session.getUid()).getMapManager(); + int[][] endlessMinMapPoint = SEndlessMapConfig.sEndlessMapConfigMap.get(MapLogic.endlessMapId).getEndlessPoint(); + MapInfoProto.EndlessMinMapResponse.Builder response = MapInfoProto.EndlessMinMapResponse.newBuilder(); + Map scMap = SCMap.sCMap.get(MapLogic.endlessMapId); + for(Map.Entry entry:scMap.entrySet()){ + for(int i = 0 ; i (); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index 21480d283..e8aba972e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -190,6 +190,17 @@ public class GuildLogic { MessageUtil.sendErrorResponse(session,0,msgId,"已加入过公会"); return; } + Map applyGuildPersonInfos = GuilidManager.getApplyGuildInfos(session.getUid(), 1); + SGuildSetting guildSetting = SGuildSetting.sGuildSetting; + if(applyGuildPersonInfos.size()>=guildSetting.getApplyLimit()){ + MessageUtil.sendErrorResponse(session,0,msgId,"已达申请上线,无法继续申请"); + return; + } + Map applyGuildFamilyInfos = GuilidManager.getApplyGuildInfos(session.getUid(), 0); + if(applyGuildFamilyInfos.size()>=guildSetting.getBeApplyLimit()){ + MessageUtil.sendErrorResponse(session,0,msgId,"当前公会被申请已达上线,无法继续申请"); + return; + } for(Integer applyGuildId : applyGuilds){ GuildApply guildApply = new GuildApply(uid,applyGuildId); GuilidManager.addApplyGuildInfo(guildApply); @@ -362,28 +373,40 @@ public class GuildLogic { return; } try { + Map applyGuild = GuilidManager.getApplyGuildInfos(guildId, 0); switch (type){ case 1: //全部同意 - GuilidManager.removeApplyGuildInfos(guildId); Map> members = guildInfo.getMembers(); int count = 0; for(Set memberOfType : members.values()){ count+=memberOfType.size(); } - Map applyGuildInfos = GuilidManager.getApplyGuildInfos(guildId, 0); - for(Integer addUid : applyGuildInfos.keySet()){ + for(Integer addUid : applyGuild.keySet()){ if(30-count<=0){ break; } applyToJoin(guildInfo,addUid,true); count++; } + for(Map.Entry entry:applyGuild.entrySet()){ + GuilidManager.removeOneApplyGuildInfos(entry.getValue().getGuildId(),entry.getValue().getId()); + Map applyPersonal = GuilidManager.getApplyGuildInfos(entry.getValue().getId(), 1); + for(Map.Entry personalEntry:applyPersonal.entrySet()) { + GuilidManager.removeOneApplyGuildInfos(personalEntry.getValue().getGuildId(),personalEntry.getValue().getId()); + } + } break; case 2: //全部拒绝 - GuilidManager.removeApplyGuildInfos(guildId); + for(Map.Entry entry:applyGuild.entrySet()){ + GuilidManager.removeOneApplyGuildInfos(entry.getValue().getGuildId(),entry.getValue().getId()); + } break; case 3: //同意一个 applyToJoin(guildInfo,applyId,true); + Map applyPersonal = GuilidManager.getApplyGuildInfos(applyId, 1); + for(Map.Entry personalEntry:applyPersonal.entrySet()) { + GuilidManager.removeOneApplyGuildInfos(personalEntry.getValue().getGuildId(),personalEntry.getValue().getId()); + } break; case 4: //拒绝一个 GuilidManager.removeOneApplyGuildInfos(guildId,applyId); @@ -408,10 +431,13 @@ public class GuildLogic { if(targetUser.getPlayerInfoManager().getGuildId()!=0){ return; } + GuilidManager.removeOneApplyGuildInfos(guildInfo.getId(),applyId); + if(targetUser.getPlayerInfoManager().getGuildId()!=0){ +// MessageUtil.sendErrorResponse(); + return; + } guildInfo.addMembers(GlobalsDef.MEMBER,applyId); targetUser.getPlayerInfoManager().setGuildId(guildInfo.getId()); - GuilidManager.removeMineApplyGuildInfos(guildInfo.getId(),applyId); - GuilidManager.removeOneApplyGuildInfos(guildInfo.getId(),applyId); }catch (Exception e){ LOGGER.error("the exception={}",e); }finally {