From 793be7aeb24b4e25450ef0007fa59308296fb876 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Tue, 25 Aug 2020 15:11:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9D=92=E9=BE=99=E7=A4=BC?= =?UTF-8?q?=E5=8C=85=E5=90=88=E5=85=AC=E4=BC=9A=E5=89=AF=E6=9C=AC=E7=BB=8F?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/family/GuildChallengeLogic.java | 25 ++++++++++++++++--- .../jieling/logic/store/BuyGoodsLogic.java | 3 +++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildChallengeLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildChallengeLogic.java index b3f50fed1..4a5bd6056 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildChallengeLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildChallengeLogic.java @@ -1,5 +1,6 @@ package com.ljsd.jieling.logic.family; +import com.ljsd.GameApplication; import com.ljsd.jieling.config.clazzStaticCfg.RewardStaticConfig; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; @@ -11,6 +12,7 @@ import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.dao.GuildMyInfo; import com.ljsd.jieling.logic.dao.GuilidManager; import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.root.GuildCache; import com.ljsd.jieling.logic.dao.root.GuildInfo; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.fight.FightDispatcher; @@ -32,10 +34,7 @@ import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.util.AyyncWorker; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; -import config.SErrorCodeEerverConfig; -import config.SGuildCheckpointConfig; -import config.SGuildCheckpointRank; -import config.SRaceTowerRewardConfig; +import config.*; import manager.STableManager; import org.springframework.data.redis.core.ZSetOperations; import util.TimeUtils; @@ -175,6 +174,15 @@ public class GuildChallengeLogic { //重置boss血量 guildInfo.setCurrBossId(guildInfo.getCurrBossId() + 1); guildInfo.setBossHpRemain(0); + //加公会经验 + Map levelConfigMap = STableManager.getConfig(SGuildLevelConfig.class); + if (guildInfo.getExp() + config.getLegionExp() >= levelConfigMap.get(guildInfo.getLevel()).getExp()) { + guildInfo.updateExp(guildInfo.getExp() + config.getLegionExp() - levelConfigMap.get(guildInfo.getLevel()).getExp()); + guildInfo.updateLevel(guildInfo.getLevel() + 1); + RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_INFO, "", String.valueOf(guildInfo.getId()), new GuildCache(GameApplication.serverId, guildInfo.getIcon(), guildInfo.getLevel(), guildInfo.getName())); + } else { + guildInfo.updateExp(guildInfo.getExp() + config.getLegionExp()); + } }else if(checkResult[0]==0){ //怪物保持在第四位 guildInfo.setBossHpRemain(checkResult[3]==0?10000:checkResult[3]); @@ -191,6 +199,14 @@ public class GuildChallengeLogic { if(remain>=0){ guildInfo.setBossHpRemain(remain); }else{ + Map levelConfigMap = STableManager.getConfig(SGuildLevelConfig.class); + if (guildInfo.getExp() + config.getLegionExp() >= levelConfigMap.get(guildInfo.getLevel()).getExp()) { + guildInfo.updateExp(guildInfo.getExp() + config.getLegionExp() - levelConfigMap.get(guildInfo.getLevel()).getExp()); + guildInfo.updateLevel(guildInfo.getLevel() + 1); + RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_INFO, "", String.valueOf(guildInfo.getId()), new GuildCache(GameApplication.serverId, guildInfo.getIcon(), guildInfo.getLevel(), guildInfo.getName())); + } else { + guildInfo.updateExp(guildInfo.getExp() + config.getLegionExp()); + } guildInfo.setCurrBossId(guildInfo.getCurrBossId() + 1); guildInfo.setBossHpRemain(0); kill=1; @@ -205,6 +221,7 @@ public class GuildChallengeLogic { throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } if(kill==1){ + GuildLogic.sendFamilyBaseUpdateIndication(guildInfo); Map> members = guildInfo.getMembers(); for(Set items : members.values()){ for(Integer sendUid : items){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java index e5a7ce8c2..895e53c48 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java @@ -494,6 +494,9 @@ public class BuyGoodsLogic { } if(goodsType == GiftGoodsType.SUN_LONG){ user.getPlayerInfoManager().setHadBuyTreasure(1); + user.getPlayerInfoManager().setTreasureLevel(user.getPlayerInfoManager().getTreasureLevel()+15); + PlayerInfoProto.TreasureLevelUpIndication indication = PlayerInfoProto.TreasureLevelUpIndication.newBuilder().setLevel(user.getPlayerInfoManager().getTreasureLevel()).build(); + MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1,MessageTypeProto.MessageType.TREASURE_LEVELUP_INDICATION_VALUE,indication,true); } if (sRechargeCommodityConfig.getId() == GlobalsDef.DAILY_GOODS_FAST_ID) {