公会副本boss修改
parent
47d40eae84
commit
46257c701e
|
@ -221,7 +221,9 @@ public class GuildChallengeLogic {
|
|||
}
|
||||
}else if(checkResult[0]==0){
|
||||
//怪物保持在第四位
|
||||
guildInfo.setBossHpRemain(checkResult[3]==0?10000:checkResult[3]);
|
||||
if(guildInfo.getCurrBossId()!=configMap.size()){
|
||||
guildInfo.setBossHpRemain(checkResult[3]==0?10000:checkResult[3]);
|
||||
}
|
||||
}else{
|
||||
error = "战斗异常!";
|
||||
}
|
||||
|
@ -231,25 +233,27 @@ public class GuildChallengeLogic {
|
|||
damage = damageInt;
|
||||
}else{
|
||||
//扫荡
|
||||
int remain = guildInfo.getBossHpRemain() - guildMyInfo.getGuildChallengeDamage();
|
||||
if(remain>=0){
|
||||
guildInfo.setBossHpRemain(remain);
|
||||
}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());
|
||||
}
|
||||
if(guildInfo.getCurrBossId()!=configMap.size()){
|
||||
guildInfo.setCurrBossId(guildInfo.getCurrBossId() + 1);
|
||||
guildInfo.setBossHpRemain(0);
|
||||
if(guildInfo.getBossHpRemain()!=-1){
|
||||
int remain = guildInfo.getBossHpRemain() - guildMyInfo.getGuildChallengeDamage();
|
||||
if(remain>=0){
|
||||
guildInfo.setBossHpRemain(remain);
|
||||
}else{
|
||||
guildInfo.setBossHpRemain(-1);
|
||||
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());
|
||||
}
|
||||
if(guildInfo.getCurrBossId()!=configMap.size()){
|
||||
guildInfo.setCurrBossId(guildInfo.getCurrBossId() + 1);
|
||||
guildInfo.setBossHpRemain(0);
|
||||
}else{
|
||||
guildInfo.setBossHpRemain(-1);
|
||||
}
|
||||
kill=1;
|
||||
}
|
||||
kill=1;
|
||||
}
|
||||
damage = guildMyInfo.getGuildChallengeDamage();
|
||||
}
|
||||
|
@ -258,12 +262,14 @@ public class GuildChallengeLogic {
|
|||
if(!error.isEmpty()){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
AbstractRank rank = RankContext.getRankEnum(RankEnum.GUILD_CHALLENGE_RANK.getType());
|
||||
long score = Double.valueOf(rank.getScoreById(user.getId(), guildId+":"+bossId)).longValue();
|
||||
rank.addRank(uid,guildId+":"+bossId,score==-1?damage:score+damage);
|
||||
if(guildInfo.getBossHpRemain()!=-1){
|
||||
AbstractRank rank = RankContext.getRankEnum(RankEnum.GUILD_CHALLENGE_RANK.getType());
|
||||
long score = Double.valueOf(rank.getScoreById(user.getId(), guildId+":"+bossId)).longValue();
|
||||
rank.addRank(uid,guildId+":"+bossId,score==-1?damage:score+damage);
|
||||
}
|
||||
if(kill==1){
|
||||
//如果不是最后一个boss更特权
|
||||
if(guildInfo.getCurrBossId()!=configMap.size()){
|
||||
if(guildInfo.getCurrBossId()-1!=configMap.size()){
|
||||
GuildLogic.sendFamilyBaseUpdateIndication(guildInfo);
|
||||
Map<Integer, Set<Integer>> members = guildInfo.getMembers();
|
||||
for(Set<Integer> items : members.values()){
|
||||
|
|
Loading…
Reference in New Issue