[F] Fix all perfect count

pull/17/head
Azalea 2024-02-28 23:37:27 -05:00
parent fd482d32a7
commit beb6697507
4 changed files with 22 additions and 2 deletions

View File

@ -60,6 +60,7 @@ interface IGenericGamePlaylog {
val isFullCombo: Boolean
val beforeRating: Int
val afterRating: Int
val isAllPerfect: Boolean
}
interface GenericPlaylogRepo {
@ -95,7 +96,7 @@ fun genericUserSummary(
ranks = ranks.map { (k, v) -> RankCount(k, v) },
maxCombo = plays.maxOf { it.maxCombo },
fullCombo = plays.count { it.isFullCombo },
allPerfect = plays.count { it.achievement == 1010000 },
allPerfect = plays.count { it.isAllPerfect },
totalScore = user.totalScore,
plays = plays.size,
totalPlayTime = plays.count() * 3L, // TODO: Give a better estimate
@ -121,7 +122,7 @@ fun genericRanking(
name = user.userName,
accuracy = plays.sumOf { it.achievement }.toDouble() / plays.size / 10000.0,
rating = user.playerRating,
allPerfect = plays.count { it.achievement == 1010000 },
allPerfect = plays.count { it.isAllPerfect },
fullCombo = plays.count { it.isFullCombo },
lastSeen = user.lastPlayDate.toString()
)

View File

@ -166,4 +166,9 @@ public class UserPlaylog implements Serializable, IGenericGamePlaylog {
public int getBeforeRating() {
return playerRating; // TODO: Get before rating
}
@Override
public boolean isAllPerfect() {
return isAllJustice;
}
}

View File

@ -269,4 +269,13 @@ public class UserPlaylog implements Serializable, IGenericGamePlaylog {
public boolean isFullCombo() {
return maxCombo == totalCombo;
}
@Override
public boolean isAllPerfect() {
return tapMiss + tapGood + tapGreat == 0
&& holdMiss + holdGood + holdGreat == 0
&& slideMiss + slideGood + slideGreat == 0
&& touchMiss + touchGood + touchGreat == 0
&& breakMiss + breakGood + breakGreat == 0;
}
}

View File

@ -174,4 +174,9 @@ public class UserPlaylog implements Serializable, IGenericGamePlaylog {
public int getBeforeRating() {
return playerRating; // TODO: Get before rating
}
@Override
public boolean isAllPerfect() {
return isAllBreak;
}
}