mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-01-31 05:07:11 +00:00
Cleanup format, show correct value for money rewards (#1926)
This commit is contained in:
parent
7422ebdb28
commit
3022aabc32
@ -1381,8 +1381,7 @@ export default class BattleScene extends SceneBase {
|
|||||||
if (this.money === undefined) {
|
if (this.money === undefined) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const formattedMoney =
|
const formattedMoney = Utils.formatMoney(this.moneyFormat, this.money);
|
||||||
this.moneyFormat === MoneyFormat.ABBREVIATED ? Utils.formatFancyLargeNumber(this.money, 3) : this.money.toLocaleString();
|
|
||||||
this.moneyText.setText(`₽${formattedMoney}`);
|
this.moneyText.setText(`₽${formattedMoney}`);
|
||||||
this.fieldUI.moveAbove(this.moneyText, this.luckText);
|
this.fieldUI.moveAbove(this.moneyText, this.luckText);
|
||||||
if (forceVisible) {
|
if (forceVisible) {
|
||||||
|
@ -25,6 +25,7 @@ import i18next from "#app/plugins/i18n";
|
|||||||
import { getModifierTierTextTint } from "#app/ui/text";
|
import { getModifierTierTextTint } from "#app/ui/text";
|
||||||
import { BattlerTagType } from "#app/data/enums/battler-tag-type.js";
|
import { BattlerTagType } from "#app/data/enums/battler-tag-type.js";
|
||||||
import * as Overrides from "../overrides";
|
import * as Overrides from "../overrides";
|
||||||
|
import { MoneyMultiplierModifier } from "./modifier";
|
||||||
|
|
||||||
const outputModifierData = false;
|
const outputModifierData = false;
|
||||||
const useMaxWeightForOutput = false;
|
const useMaxWeightForOutput = false;
|
||||||
@ -631,9 +632,13 @@ export class MoneyRewardModifierType extends ModifierType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getDescription(scene: BattleScene): string {
|
getDescription(scene: BattleScene): string {
|
||||||
|
const moneyAmount = new Utils.IntegerHolder(scene.getWaveMoneyAmount(this.moneyMultiplier));
|
||||||
|
scene.applyModifiers(MoneyMultiplierModifier, true, moneyAmount);
|
||||||
|
const formattedMoney = Utils.formatMoney(scene.moneyFormat, moneyAmount.value);
|
||||||
|
|
||||||
return i18next.t("modifierType:ModifierType.MoneyRewardModifierType.description", {
|
return i18next.t("modifierType:ModifierType.MoneyRewardModifierType.description", {
|
||||||
moneyMultiplier: i18next.t(this.moneyMultiplierDescriptorKey as any),
|
moneyMultiplier: i18next.t(this.moneyMultiplierDescriptorKey as any),
|
||||||
moneyAmount: scene.getWaveMoneyAmount(this.moneyMultiplier).toLocaleString("en-US"),
|
moneyAmount: formattedMoney,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ const displayStats: DisplayStats = {
|
|||||||
},
|
},
|
||||||
highestMoney: {
|
highestMoney: {
|
||||||
label_key: "highestMoney",
|
label_key: "highestMoney",
|
||||||
sourceFunc: gameData => Utils.formatFancyLargeNumber(gameData.gameStats.highestMoney, 3),
|
sourceFunc: gameData => Utils.formatFancyLargeNumber(gameData.gameStats.highestMoney),
|
||||||
},
|
},
|
||||||
highestDamage: {
|
highestDamage: {
|
||||||
label_key: "highestDamage",
|
label_key: "highestDamage",
|
||||||
|
@ -9,6 +9,7 @@ import { handleTutorial, Tutorial } from "../tutorial";
|
|||||||
import {Button} from "../enums/buttons";
|
import {Button} from "../enums/buttons";
|
||||||
import MoveInfoOverlay from "./move-info-overlay";
|
import MoveInfoOverlay from "./move-info-overlay";
|
||||||
import { allMoves } from "../data/move";
|
import { allMoves } from "../data/move";
|
||||||
|
import * as Utils from "./../utils";
|
||||||
|
|
||||||
export const SHOP_OPTIONS_ROW_LIMIT = 6;
|
export const SHOP_OPTIONS_ROW_LIMIT = 6;
|
||||||
|
|
||||||
@ -398,7 +399,9 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
|
|||||||
updateRerollCostText(): void {
|
updateRerollCostText(): void {
|
||||||
const canReroll = this.scene.money >= this.rerollCost;
|
const canReroll = this.scene.money >= this.rerollCost;
|
||||||
|
|
||||||
this.rerollCostText.setText(`₽${this.rerollCost.toLocaleString("en-US")}`);
|
const formattedMoney = Utils.formatMoney(this.scene.moneyFormat, this.rerollCost);
|
||||||
|
|
||||||
|
this.rerollCostText.setText(`₽${formattedMoney}`);
|
||||||
this.rerollCostText.setColor(this.getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED));
|
this.rerollCostText.setColor(this.getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED));
|
||||||
this.rerollCostText.setShadowColor(this.getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED, true));
|
this.rerollCostText.setShadowColor(this.getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED, true));
|
||||||
}
|
}
|
||||||
@ -656,7 +659,9 @@ class ModifierOption extends Phaser.GameObjects.Container {
|
|||||||
const scene = this.scene as BattleScene;
|
const scene = this.scene as BattleScene;
|
||||||
const textStyle = this.modifierTypeOption.cost <= scene.money ? TextStyle.MONEY : TextStyle.PARTY_RED;
|
const textStyle = this.modifierTypeOption.cost <= scene.money ? TextStyle.MONEY : TextStyle.PARTY_RED;
|
||||||
|
|
||||||
this.itemCostText.setText(`₽${this.modifierTypeOption.cost.toLocaleString("en-US")}`);
|
const formattedMoney = Utils.formatMoney(scene.moneyFormat, this.modifierTypeOption.cost);
|
||||||
|
|
||||||
|
this.itemCostText.setText(`₽${formattedMoney}`);
|
||||||
this.itemCostText.setColor(getTextColor(textStyle, false, scene.uiTheme));
|
this.itemCostText.setColor(getTextColor(textStyle, false, scene.uiTheme));
|
||||||
this.itemCostText.setShadowColor(getTextColor(textStyle, true, scene.uiTheme));
|
this.itemCostText.setShadowColor(getTextColor(textStyle, true, scene.uiTheme));
|
||||||
}
|
}
|
||||||
|
12
src/utils.ts
12
src/utils.ts
@ -1,4 +1,5 @@
|
|||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
|
import { MoneyFormat } from "./enums/money-format";
|
||||||
|
|
||||||
export const MissingTextureKey = "__MISSING";
|
export const MissingTextureKey = "__MISSING";
|
||||||
|
|
||||||
@ -237,7 +238,7 @@ export function formatLargeNumber(count: integer, threshold: integer): string {
|
|||||||
// Abbreviations from 10^0 to 10^33
|
// Abbreviations from 10^0 to 10^33
|
||||||
const AbbreviationsLargeNumber: string[] = ["", "K", "M", "B", "t", "q", "Q", "s", "S", "o", "n", "d"];
|
const AbbreviationsLargeNumber: string[] = ["", "K", "M", "B", "t", "q", "Q", "s", "S", "o", "n", "d"];
|
||||||
|
|
||||||
export function formatFancyLargeNumber(number: number, rounded: number = 2): string {
|
export function formatFancyLargeNumber(number: number, rounded: number = 3): string {
|
||||||
let exponent: number;
|
let exponent: number;
|
||||||
|
|
||||||
if (number < 1000) {
|
if (number < 1000) {
|
||||||
@ -251,7 +252,14 @@ export function formatFancyLargeNumber(number: number, rounded: number = 2): str
|
|||||||
number /= Math.pow(1000, exponent);
|
number /= Math.pow(1000, exponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
return `${(exponent === 0) ? number : number.toFixed(rounded)}${AbbreviationsLargeNumber[exponent]}`;
|
return `${(exponent === 0) || number % 1 === 0 ? number : number.toFixed(rounded)}${AbbreviationsLargeNumber[exponent]}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function formatMoney(format: MoneyFormat, amount: number) {
|
||||||
|
if (format === MoneyFormat.ABBREVIATED) {
|
||||||
|
return formatFancyLargeNumber(amount);
|
||||||
|
}
|
||||||
|
return amount.toLocaleString();
|
||||||
}
|
}
|
||||||
|
|
||||||
export function formatStat(stat: integer, forHp: boolean = false): string {
|
export function formatStat(stat: integer, forHp: boolean = false): string {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user