aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-09-10 20:40:01 +0200
committerGitHub <noreply@github.com>2024-09-10 20:40:01 +0200
commit3708ea6a83c39badad3486143572949d1933dfe6 (patch)
treee4c68fc4c1f1a8fdd0a52ce1a329729b7264b62c /src/main/java/at/hannibal2/skyhanni/data
parent517f2bb907feebac0dbdb63e2a3cb76c47dc2e92 (diff)
downloadskyhanni-3708ea6a83c39badad3486143572949d1933dfe6.tar.gz
skyhanni-3708ea6a83c39badad3486143572949d1933dfe6.tar.bz2
skyhanni-3708ea6a83c39badad3486143572949d1933dfe6.zip
Improvement: Add per election year diana trackers (#2487)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/MayorAPI.kt20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/MayorAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/MayorAPI.kt
index 2f89b340b..b4fb7eaa2 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/MayorAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/MayorAPI.kt
@@ -186,17 +186,21 @@ object MayorAPI {
jerryExtraMayor = jerryMayor to expireTime
}
- private fun calculateNextMayorTime(): SimpleTimeMark {
- val now = SkyBlockTime.now()
- var mayorYear = now.year
+ fun SkyBlockTime.getElectionYear(): Int {
+ var mayorYear = year
- // Check if either the month is already over or the day after 27th in the third month
- if (now.month > ELECTION_END_MONTH || (now.day >= ELECTION_END_DAY && now.month == ELECTION_END_MONTH)) {
- // If so, the next mayor will be in the next year
- mayorYear++
+ // Check if this year's election has not happened yet
+ if (month < ELECTION_END_MONTH || (day < ELECTION_END_DAY && month == ELECTION_END_MONTH)) {
+ // If so, the current mayor is still from last year's election
+ mayorYear--
}
+ return mayorYear
+ }
+
+ private fun calculateNextMayorTime(): SimpleTimeMark {
+ val now = SkyBlockTime.now()
- return SkyBlockTime(mayorYear, ELECTION_END_MONTH, day = ELECTION_END_DAY).asTimeMark()
+ return SkyBlockTime(now.getElectionYear() + 1, ELECTION_END_MONTH, day = ELECTION_END_DAY).asTimeMark()
}
private fun getTimeTillNextMayor() {