From 9fbb7d6f1d81e97d9544266c8b5f7b3861aacdc5 Mon Sep 17 00:00:00 2001 From: jorgeberrex Date: Sun, 14 Jul 2024 03:36:45 -0500 Subject: [PATCH] fix: change longest session record type to SessionRecord --- .../player/achievements/variants/RecordAchievement.kt | 11 +++-------- .../warzone/mars/player/models/PlayerProfile.kt | 4 +++- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/main/kotlin/network/warzone/mars/player/achievements/variants/RecordAchievement.kt b/src/main/kotlin/network/warzone/mars/player/achievements/variants/RecordAchievement.kt index 2654698..1962c68 100644 --- a/src/main/kotlin/network/warzone/mars/player/achievements/variants/RecordAchievement.kt +++ b/src/main/kotlin/network/warzone/mars/player/achievements/variants/RecordAchievement.kt @@ -24,7 +24,7 @@ class RecordAchievement( when (params.recordType) { RecordType.LONGEST_SESSION -> { val session = records.longestSession - val elapsedTime = session?.let { differenceInMinutes(it.createdAt, it.endedAt) } + val elapsedTime = session?.let { differenceInMinutes(it.length) } if ((elapsedTime ?: 0L) >= params.threshold.toLong()) { emitter.emit(event.update.updated.name) } @@ -69,11 +69,6 @@ class RecordAchievement( } } -private fun differenceInMinutes(start: Date, end: Date?): Long { - if (end == null) return 0L - - val differenceInMillis = end.time - start.time - return TimeUnit.MILLISECONDS.toMinutes(differenceInMillis) +private fun differenceInMinutes(millis: Long): Long { + return TimeUnit.MILLISECONDS.toMinutes(millis) } - - diff --git a/src/main/kotlin/network/warzone/mars/player/models/PlayerProfile.kt b/src/main/kotlin/network/warzone/mars/player/models/PlayerProfile.kt index f530eeb..489e4dc 100644 --- a/src/main/kotlin/network/warzone/mars/player/models/PlayerProfile.kt +++ b/src/main/kotlin/network/warzone/mars/player/models/PlayerProfile.kt @@ -157,7 +157,7 @@ data class PlayerStats( data class PlayerRecords( // var highestKillstreak: Int = 0, -- this can be calculated from profile - var longestSession: Session? = null, + var longestSession: SessionRecord? = null, // var longestProjectileHit: ProjectileRecord? = null, var longestProjectileKill: ProjectileRecord? = null, var fastestWoolCapture: LongRecord? = null, @@ -167,6 +167,8 @@ data class PlayerRecords( var deathsInMatch: IntRecord? = null, ) +data class SessionRecord(val sessionId: String, val length: Long) + data class ProjectileRecord(val matchId: String, val distance: Int) data class FirstBloodRecord(val matchId: String, val victim: SimplePlayer, val time: Long)