[DIVA] Ignore personal high score update when using rgo option or no fail mode

This commit is contained in:
samnyan
2020-02-01 16:15:13 +08:00
parent 8d3d40f838
commit 9712946688

View File

@@ -69,6 +69,10 @@ public class StageResultHandler extends BaseHandler {
PlayerPvRecord record = pvRecordRepository.findByPdIdAndPvIdAndEditionAndDifficulty(profile, log.getPvId(), log.getEdition(), log.getDifficulty()) PlayerPvRecord record = pvRecordRepository.findByPdIdAndPvIdAndEditionAndDifficulty(profile, log.getPvId(), log.getEdition(), log.getDifficulty())
.orElseGet(() -> new PlayerPvRecord(profile, log.getPvId(), log.getEdition(), log.getDifficulty())); .orElseGet(() -> new PlayerPvRecord(profile, log.getPvId(), log.getEdition(), log.getDifficulty()));
// Not save personal record in no fail mode
if(request.getGame_type() != 1) {
// Only update personal record when using rhythm game option
if (log.getRhythmGameOptions().equals("0,0,0")) {
// Update pvRecord field // Update pvRecord field
record.setMaxScore(Math.max(record.getMaxScore(), log.getScore())); record.setMaxScore(Math.max(record.getMaxScore(), log.getScore()));
record.setMaxAttain(Math.max(record.getMaxAttain(), log.getAttainPoint())); record.setMaxAttain(Math.max(record.getMaxAttain(), log.getAttainPoint()));
@@ -76,6 +80,8 @@ public class StageResultHandler extends BaseHandler {
if (record.getResult().getValue() < log.getClearResult().getValue()) { if (record.getResult().getValue() < log.getClearResult().getValue()) {
record.setResult(log.getClearResult()); record.setResult(log.getClearResult());
} }
}
}
String[] updateRgo = log.getRhythmGameOptions().split(","); String[] updateRgo = log.getRhythmGameOptions().split(",");
String[] oldRgo = record.getRgoPlayed().split(","); String[] oldRgo = record.getRgoPlayed().split(",");