增加怪物是否被击杀
parent
cdaf854d55
commit
03468ddcfc
|
@ -528,6 +528,10 @@ public class CombatLogic {
|
|||
return;
|
||||
}
|
||||
AdventureBoss adventureBoss = RedisUtil.getInstence().getMapEntry(RedisKey.ADVENTRUEN_BOSS_INFO, "", bossId, AdventureBoss.class);
|
||||
if(adventureBoss == null){
|
||||
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ADVENTURE_BOSS_CHALLENGE_RESPONSE_VALUE,"boss had killed");
|
||||
return;
|
||||
}
|
||||
int bossGroupId = adventureBoss.getBossGroupId();
|
||||
Map<Integer,List<Integer>> hps = new HashMap<>(1);
|
||||
hps.put(0,adventureBoss.getRemainHps());
|
||||
|
@ -549,19 +553,27 @@ public class CombatLogic {
|
|||
builder.setFightData(build);
|
||||
}
|
||||
SAdventureConfig sAdventureConfig = SAdventureConfig.getConfig().get(adventureBoss.getArenaId());
|
||||
int[] checkResult = CheckFight.getInstance().checkFight(seed, sAdventureConfig.getInvasionBossTime(), getFightData, getOptionData);
|
||||
adventureManager.setDayChallengeTimes(dayChallengeTimes);
|
||||
int totalHurt = updateBossAndGetHurtForFight(checkResult, adventureBoss);
|
||||
int fightResult = checkResult[0];
|
||||
//发送击杀boss奖励和发现者奖励
|
||||
if(fightResult == 1){
|
||||
sendRewardOfBossKilled(adventureBoss.getFindUserId(),uid,bossGroupId,adventureBoss.getArenaId(),adventureBoss.getArenaLevel());
|
||||
RedisUtil.getInstence().removeMapEntrys(RedisKey.ADVENTRUEN_BOSS_INFO,"",bossId);
|
||||
}else{
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.ADVENTRUEN_BOSS_INFO,"",Integer.toString(uid),adventureBoss);
|
||||
int totalHurt=0;
|
||||
int fightResult=0;
|
||||
int i=0;
|
||||
for(;i<fightTimes;i++){
|
||||
int[] checkResult = CheckFight.getInstance().checkFight(seed, sAdventureConfig.getInvasionBossTime(), getFightData, getOptionData);
|
||||
totalHurt+= updateBossAndGetHurtForFight(checkResult, adventureBoss);
|
||||
fightResult = checkResult[0];
|
||||
//发送击杀boss奖励和发现者奖励
|
||||
if(fightResult == 1){
|
||||
sendRewardOfBossKilled(adventureBoss.getFindUserId(),uid,bossGroupId,adventureBoss.getArenaId(),adventureBoss.getArenaLevel());
|
||||
RedisUtil.getInstence().removeMapEntrys(RedisKey.ADVENTRUEN_BOSS_INFO,"",bossId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
adventureManager.setDayChallengeTimes(dayChallengeTimes+i);
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.ADVENTRUEN_BOSS_INFO,"",Integer.toString(uid),adventureBoss);
|
||||
RedisUtil.getInstence().incrementZsetScore(RedisKey.ADVENTRUEN_BOSS_RANK,"",Integer.toString(uid),totalHurt);
|
||||
FightInfoProto.AdventurenBossChallengeResponse build = builder.setHurtNums(totalHurt).build();
|
||||
FightInfoProto.AdventurenBossChallengeResponse build = builder.setHurtNums(totalHurt)
|
||||
.setFightResult(totalHurt)
|
||||
.setConsumeFightTimes(i)
|
||||
.build();
|
||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.ADVENTURE_BOSS_CHALLENGE_RESPONSE_VALUE,build,true);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue