山河社稷图排行榜
parent
2bfb6228b0
commit
e1dbce80cf
|
@ -121,9 +121,6 @@ public class StartHardStageRequestHandler extends BaseHandler<PlayerInfoProto.Ha
|
|||
if (resultCode == -1) {
|
||||
throw new ErrorCodeException(ErrorCode.FIGHT_EXCEPTION);
|
||||
}
|
||||
if (resultCode == 1) {//通过
|
||||
HardStageLogic.passNode(iSession, nodeConfig, resultNum, dropList);
|
||||
}
|
||||
String fightId = FightUtil.getFightId(user.getId(), FightType.HardStage.getType());
|
||||
CommonProto.FightData fightData = CommonProto.FightData.newBuilder()
|
||||
.setFightType(FightType.HardStage.getType())
|
||||
|
@ -135,45 +132,51 @@ public class StartHardStageRequestHandler extends BaseHandler<PlayerInfoProto.Ha
|
|||
.build();
|
||||
fightStartResponse.setFightData(fightData);
|
||||
FightRecordLogic.getInstance().addRecordMap(user, fightData);
|
||||
|
||||
//战斗回放
|
||||
int force = HeroLogic.getInstance().calTeamTotalForce(user, teamId, false);
|
||||
// 首次通关记录
|
||||
ArenaRecord firstPassRecord = RedisUtil.getInstence().get(RedisKey.HARD_STAGE_FIST_PASS, String.valueOf(nodeId), ArenaRecord.class);
|
||||
if (firstPassRecord == null) {
|
||||
ArenaRecord arenaRecord = new ArenaRecord();
|
||||
arenaRecord.setCreateTime(TimeUtils.nowInt());
|
||||
arenaRecord.setAttackId(user.getId());
|
||||
arenaRecord.setLevel(user.getPlayerInfoManager().getLevel());
|
||||
arenaRecord.setHead(user.getPlayerInfoManager().getHead());
|
||||
arenaRecord.setUserName(user.getPlayerInfoManager().getNickName());
|
||||
arenaRecord.setHeadFrame(user.getPlayerInfoManager().getHeadFrame());
|
||||
arenaRecord.setFightData(fightData.toByteArray());
|
||||
arenaRecord.setAttackForce(force);
|
||||
RedisUtil.getInstence().set(RedisKey.HARD_STAGE_FIST_PASS, String.valueOf(nodeId), arenaRecord);
|
||||
}
|
||||
// 最低战力通关记录记录
|
||||
ArenaRecord minForcePassRecord = RedisUtil.getInstence().get(RedisKey.HARD_STAGE_PASS_MIN_FORCE, String.valueOf(nodeId), ArenaRecord.class);
|
||||
if (minForcePassRecord == null || force < minForcePassRecord.getAttackForce()) {
|
||||
ArenaRecord arenaRecord = new ArenaRecord();
|
||||
arenaRecord.setCreateTime(TimeUtils.nowInt());
|
||||
arenaRecord.setAttackId(user.getId());
|
||||
arenaRecord.setLevel(user.getPlayerInfoManager().getLevel());
|
||||
arenaRecord.setHead(user.getPlayerInfoManager().getHead());
|
||||
arenaRecord.setUserName(user.getPlayerInfoManager().getNickName());
|
||||
arenaRecord.setHeadFrame(user.getPlayerInfoManager().getHeadFrame());
|
||||
arenaRecord.setFightData(fightData.toByteArray());
|
||||
arenaRecord.setAttackForce(force);
|
||||
RedisUtil.getInstence().set(RedisKey.HARD_STAGE_PASS_MIN_FORCE, String.valueOf(nodeId), arenaRecord);
|
||||
if (resultCode == 1) {//通过
|
||||
HardStageLogic.passNode(iSession, nodeConfig, resultNum, dropList);
|
||||
//战斗回放
|
||||
int force = HeroLogic.getInstance().calTeamTotalForce(user, teamId, false);
|
||||
// 首次通关记录
|
||||
ArenaRecord firstPassRecord = RedisUtil.getInstence().get(RedisKey.HARD_STAGE_FIST_PASS, String.valueOf(nodeId), ArenaRecord.class);
|
||||
if (firstPassRecord == null) {
|
||||
ArenaRecord arenaRecord = new ArenaRecord();
|
||||
arenaRecord.setCreateTime(TimeUtils.nowInt());
|
||||
arenaRecord.setAttackId(user.getId());
|
||||
arenaRecord.setLevel(user.getPlayerInfoManager().getLevel());
|
||||
arenaRecord.setHead(user.getPlayerInfoManager().getHead());
|
||||
arenaRecord.setUserName(user.getPlayerInfoManager().getNickName());
|
||||
arenaRecord.setHeadFrame(user.getPlayerInfoManager().getHeadFrame());
|
||||
arenaRecord.setFightData(fightData.toByteArray());
|
||||
arenaRecord.setAttackForce(force);
|
||||
RedisUtil.getInstence().set(RedisKey.HARD_STAGE_FIST_PASS, String.valueOf(nodeId), arenaRecord);
|
||||
}
|
||||
// 最低战力通关记录记录
|
||||
ArenaRecord minForcePassRecord = RedisUtil.getInstence().get(RedisKey.HARD_STAGE_PASS_MIN_FORCE, String.valueOf(nodeId), ArenaRecord.class);
|
||||
if (minForcePassRecord == null || force < minForcePassRecord.getAttackForce()) {
|
||||
ArenaRecord arenaRecord = new ArenaRecord();
|
||||
arenaRecord.setCreateTime(TimeUtils.nowInt());
|
||||
arenaRecord.setAttackId(user.getId());
|
||||
arenaRecord.setLevel(user.getPlayerInfoManager().getLevel());
|
||||
arenaRecord.setHead(user.getPlayerInfoManager().getHead());
|
||||
arenaRecord.setUserName(user.getPlayerInfoManager().getNickName());
|
||||
arenaRecord.setHeadFrame(user.getPlayerInfoManager().getHeadFrame());
|
||||
arenaRecord.setFightData(fightData.toByteArray());
|
||||
arenaRecord.setAttackForce(force);
|
||||
RedisUtil.getInstence().set(RedisKey.HARD_STAGE_PASS_MIN_FORCE, String.valueOf(nodeId), arenaRecord);
|
||||
}
|
||||
//排行榜星级
|
||||
int starSum = HardStageLogic.getHardStageStarsSum(user);
|
||||
if(starSum >0){
|
||||
Poster.getPoster().dispatchEvent(new ShanHeSheJiTuStarEvent(iSession.getUid(), 2, starSum));
|
||||
//成就任务
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.HARSTAGE_STARS,starSum);
|
||||
}
|
||||
}
|
||||
}
|
||||
//排行榜
|
||||
//排行榜章节
|
||||
int hardStageId = SHardStage.getStageIdByChapterAndSection(user.getHardStageManager().getCurChapter(), user.getHardStageManager().getCurNode());
|
||||
Poster.getPoster().dispatchEvent(new ShanHeSheJiTuStarEvent(iSession.getUid(), 1, hardStageId));
|
||||
int starSum = HardStageLogic.getHardStageStarsSum(user);
|
||||
if(starSum >0){
|
||||
Poster.getPoster().dispatchEvent(new ShanHeSheJiTuStarEvent(iSession.getUid(), 2, starSum));
|
||||
}
|
||||
|
||||
ItemUtil.drop(user, dropList.stream().mapToInt(Integer::intValue).toArray(), drop, 1, 0, BIReason.HARD_STAGE_GET);
|
||||
fightStartResponse.setDrop(drop);
|
||||
Map<Integer, HardStageChapter> chapt = user.getHardStageManager().getChapterMap(user);
|
||||
|
@ -183,8 +186,6 @@ public class StartHardStageRequestHandler extends BaseHandler<PlayerInfoProto.Ha
|
|||
fightStartResponse.setStars(node.getState());
|
||||
}
|
||||
}
|
||||
//成就任务
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.HARSTAGE_STARS,starSum);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.HARSTAGE_NODE,hardStageId);
|
||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.HARD_STAGE_FIGHT_START_RESPONSE.getNumber(), fightStartResponse.build(), true);
|
||||
//更新消息
|
||||
|
|
Loading…
Reference in New Issue