修改青龙礼包合公会副本经验

back_recharge
lvxinran 2020-08-25 15:11:20 +08:00
parent 07595796fa
commit 793be7aeb2
2 changed files with 24 additions and 4 deletions

View File

@ -1,5 +1,6 @@
package com.ljsd.jieling.logic.family; package com.ljsd.jieling.logic.family;
import com.ljsd.GameApplication;
import com.ljsd.jieling.config.clazzStaticCfg.RewardStaticConfig; import com.ljsd.jieling.config.clazzStaticCfg.RewardStaticConfig;
import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil; 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.GuildMyInfo;
import com.ljsd.jieling.logic.dao.GuilidManager; import com.ljsd.jieling.logic.dao.GuilidManager;
import com.ljsd.jieling.logic.dao.UserManager; 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.GuildInfo;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.fight.FightDispatcher; 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.AyyncWorker;
import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil; import com.ljsd.jieling.util.MessageUtil;
import config.SErrorCodeEerverConfig; import config.*;
import config.SGuildCheckpointConfig;
import config.SGuildCheckpointRank;
import config.SRaceTowerRewardConfig;
import manager.STableManager; import manager.STableManager;
import org.springframework.data.redis.core.ZSetOperations; import org.springframework.data.redis.core.ZSetOperations;
import util.TimeUtils; import util.TimeUtils;
@ -175,6 +174,15 @@ public class GuildChallengeLogic {
//重置boss血量 //重置boss血量
guildInfo.setCurrBossId(guildInfo.getCurrBossId() + 1); guildInfo.setCurrBossId(guildInfo.getCurrBossId() + 1);
guildInfo.setBossHpRemain(0); guildInfo.setBossHpRemain(0);
//加公会经验
Map<Integer, SGuildLevelConfig> 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){ }else if(checkResult[0]==0){
//怪物保持在第四位 //怪物保持在第四位
guildInfo.setBossHpRemain(checkResult[3]==0?10000:checkResult[3]); guildInfo.setBossHpRemain(checkResult[3]==0?10000:checkResult[3]);
@ -191,6 +199,14 @@ public class GuildChallengeLogic {
if(remain>=0){ if(remain>=0){
guildInfo.setBossHpRemain(remain); guildInfo.setBossHpRemain(remain);
}else{ }else{
Map<Integer, SGuildLevelConfig> 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.setCurrBossId(guildInfo.getCurrBossId() + 1);
guildInfo.setBossHpRemain(0); guildInfo.setBossHpRemain(0);
kill=1; kill=1;
@ -205,6 +221,7 @@ public class GuildChallengeLogic {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
} }
if(kill==1){ if(kill==1){
GuildLogic.sendFamilyBaseUpdateIndication(guildInfo);
Map<Integer, Set<Integer>> members = guildInfo.getMembers(); Map<Integer, Set<Integer>> members = guildInfo.getMembers();
for(Set<Integer> items : members.values()){ for(Set<Integer> items : members.values()){
for(Integer sendUid : items){ for(Integer sendUid : items){

View File

@ -494,6 +494,9 @@ public class BuyGoodsLogic {
} }
if(goodsType == GiftGoodsType.SUN_LONG){ if(goodsType == GiftGoodsType.SUN_LONG){
user.getPlayerInfoManager().setHadBuyTreasure(1); 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) { if (sRechargeCommodityConfig.getId() == GlobalsDef.DAILY_GOODS_FAST_ID) {