aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe
diff options
context:
space:
mode:
authornea <nea@nea.moe>2023-08-31 23:19:30 +0200
committernea <nea@nea.moe>2023-08-31 23:19:30 +0200
commit36d5ef29e45a57e88d9d608d1becb5cb7de27cf5 (patch)
treeecf7df1eaa4feffee6786e5cc62a5305c28963e9 /src/main/kotlin/moe
parentece429c361b0ac30490d74ec33c6ef4a74a1fc5d (diff)
downloadfirmament-36d5ef29e45a57e88d9d608d1becb5cb7de27cf5.tar.gz
firmament-36d5ef29e45a57e88d9d608d1becb5cb7de27cf5.tar.bz2
firmament-36d5ef29e45a57e88d9d608d1becb5cb7de27cf5.zip
Add , seperatation to currency information
Diffstat (limited to 'src/main/kotlin/moe')
-rw-r--r--src/main/kotlin/moe/nea/firmament/commands/rome.kt6
-rw-r--r--src/main/kotlin/moe/nea/firmament/features/inventory/PriceData.kt6
-rw-r--r--src/main/kotlin/moe/nea/firmament/gui/profileviewer/PetsPage.kt2
-rw-r--r--src/main/kotlin/moe/nea/firmament/gui/profileviewer/SkillPage.kt2
-rw-r--r--src/main/kotlin/moe/nea/firmament/rei/SBItemEntryDefinition.kt4
-rw-r--r--src/main/kotlin/moe/nea/firmament/util/FirmFormatters.kt14
6 files changed, 21 insertions, 13 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/commands/rome.kt b/src/main/kotlin/moe/nea/firmament/commands/rome.kt
index 221c7c1..be2aefd 100644
--- a/src/main/kotlin/moe/nea/firmament/commands/rome.kt
+++ b/src/main/kotlin/moe/nea/firmament/commands/rome.kt
@@ -83,7 +83,7 @@ fun firmamentCommand() = literal("firmament") {
source.sendFeedback(
Text.translatable(
"firmament.price.bazaar.buy.price",
- FirmFormatters.toString(bazaarData.quickStatus.buyPrice, 1)
+ FirmFormatters.formatCurrency(bazaarData.quickStatus.buyPrice, 1)
)
)
source.sendFeedback(
@@ -95,7 +95,7 @@ fun firmamentCommand() = literal("firmament") {
source.sendFeedback(
Text.translatable(
"firmament.price.bazaar.sell.price",
- FirmFormatters.toString(bazaarData.quickStatus.sellPrice, 1)
+ FirmFormatters.formatCurrency(bazaarData.quickStatus.sellPrice, 1)
)
)
source.sendFeedback(
@@ -110,7 +110,7 @@ fun firmamentCommand() = literal("firmament") {
source.sendFeedback(
Text.translatable(
"firmament.price.lowestbin",
- FirmFormatters.toString(lowestBin, 1)
+ FirmFormatters.formatCurrency(lowestBin, 1)
)
)
}
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/PriceData.kt b/src/main/kotlin/moe/nea/firmament/features/inventory/PriceData.kt
index 3ae7b00..8062357 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/PriceData.kt
+++ b/src/main/kotlin/moe/nea/firmament/features/inventory/PriceData.kt
@@ -38,13 +38,13 @@ object PriceData : FirmamentFeature {
it.lines.add(
Text.translatable(
"firmament.tooltip.bazaar.sell-order",
- FirmFormatters.toString(bazaarData.quickStatus.sellPrice, 1)
+ FirmFormatters.formatCurrency(bazaarData.quickStatus.sellPrice, 1)
)
)
it.lines.add(
Text.translatable(
"firmament.tooltip.bazaar.buy-order",
- FirmFormatters.toString(bazaarData.quickStatus.buyPrice, 1)
+ FirmFormatters.formatCurrency(bazaarData.quickStatus.buyPrice, 1)
)
)
} else if (lowestBin != null) {
@@ -52,7 +52,7 @@ object PriceData : FirmamentFeature {
it.lines.add(
Text.translatable(
"firmament.tooltip.ah.lowestbin",
- FirmFormatters.toString(lowestBin, 1)
+ FirmFormatters.formatCurrency(lowestBin, 1)
)
)
}
diff --git a/src/main/kotlin/moe/nea/firmament/gui/profileviewer/PetsPage.kt b/src/main/kotlin/moe/nea/firmament/gui/profileviewer/PetsPage.kt
index 82d2fef..6daeca4 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/profileviewer/PetsPage.kt
+++ b/src/main/kotlin/moe/nea/firmament/gui/profileviewer/PetsPage.kt
@@ -73,7 +73,7 @@ object PetsPage : ProfilePage {
Text.literal("Magic Find: ").styled { it.withColor(Formatting.AQUA) }
.append(
Text.literal(
- FirmFormatters.toString(
+ FirmFormatters.formatCurrency(
RepoManager.neuRepo.constants.bonuses.getPetRewards(
petScore
)["magic_find"] ?: 0.0F, 1
diff --git a/src/main/kotlin/moe/nea/firmament/gui/profileviewer/SkillPage.kt b/src/main/kotlin/moe/nea/firmament/gui/profileviewer/SkillPage.kt
index 74bf88c..197f560 100644
--- a/src/main/kotlin/moe/nea/firmament/gui/profileviewer/SkillPage.kt
+++ b/src/main/kotlin/moe/nea/firmament/gui/profileviewer/SkillPage.kt
@@ -49,7 +49,7 @@ object SkillPage : ProfilePage {
) {
override fun addTooltip(tooltip: TooltipBuilder) {
tooltip.add(Text.literal("$level/$maxLevel"))
- tooltip.add(Text.translatable("firmament.pv.skills.total", FirmFormatters.toString(exp, 1)))
+ tooltip.add(Text.translatable("firmament.pv.skills.total", FirmFormatters.formatCurrency(exp, 1)))
}
}
}
diff --git a/src/main/kotlin/moe/nea/firmament/rei/SBItemEntryDefinition.kt b/src/main/kotlin/moe/nea/firmament/rei/SBItemEntryDefinition.kt
index 8150f4c..fc0db3d 100644
--- a/src/main/kotlin/moe/nea/firmament/rei/SBItemEntryDefinition.kt
+++ b/src/main/kotlin/moe/nea/firmament/rei/SBItemEntryDefinition.kt
@@ -76,10 +76,10 @@ data class SBItemStack(
?.interpolatedStatsAtLevel(petData.levelData.currentLevel)
if (stats != null) {
stats.otherNumbers.forEachIndexed { index, it ->
- replacementData[index.toString()] = FirmFormatters.toString(it, 1)
+ replacementData[index.toString()] = FirmFormatters.formatCurrency(it, 1)
}
stats.statNumbers.forEach { (t, u) ->
- replacementData[t] = FirmFormatters.toString(u, 1)
+ replacementData[t] = FirmFormatters.formatCurrency(u, 1)
}
}
replacementData["LVL"] = petData.levelData.currentLevel.toString()
diff --git a/src/main/kotlin/moe/nea/firmament/util/FirmFormatters.kt b/src/main/kotlin/moe/nea/firmament/util/FirmFormatters.kt
index b2c1f35..96a4389 100644
--- a/src/main/kotlin/moe/nea/firmament/util/FirmFormatters.kt
+++ b/src/main/kotlin/moe/nea/firmament/util/FirmFormatters.kt
@@ -11,13 +11,21 @@ import kotlin.math.absoluteValue
import kotlin.time.Duration
object FirmFormatters {
- fun toString(float: Float, fractionalDigits: Int): String = toString(float.toDouble(), fractionalDigits)
- fun toString(double: Double, fractionalDigits: Int): String {
+ fun formatCurrency(long: Long, segments: Int = 3): String {
+ val α = long / 1000
+ if (α != 0L) {
+ return formatCurrency(α, segments) + "," + (long - α * 1000).toString().padStart(3, '0')
+ }
+ return long.toString()
+ }
+
+ fun formatCurrency(float: Float, fractionalDigits: Int): String = formatCurrency(float.toDouble(), fractionalDigits)
+ fun formatCurrency(double: Double, fractionalDigits: Int): String {
val long = double.toLong()
val δ = (double - long).absoluteValue
val μ = pow(10, fractionalDigits)
val digits = (μ * δ).toInt().toString().padStart(fractionalDigits, '0').trimEnd('0')
- return long.toString() + (if (digits.isEmpty()) "" else ".$digits")
+ return formatCurrency(long) + (if (digits.isEmpty()) "" else ".$digits")
}
fun formatTimespan(duration: Duration): String {