diff --git a/resources/lang/en.json b/resources/lang/en.json index 26eb27c294..5135cc3999 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -1116,7 +1116,8 @@ "legendary": "Legendary", "adfree": "ad-free for life!", "hard": "Plutonium", - "soft": "Caps" + "soft": "Caps", + "free": "+{numFree} BONUS!" }, "flag_input": { "title": "Select Flag", diff --git a/src/client/components/CosmeticButton.ts b/src/client/components/CosmeticButton.ts index 8799aaef8c..33467c0ccb 100644 --- a/src/client/components/CosmeticButton.ts +++ b/src/client/components/CosmeticButton.ts @@ -79,7 +79,7 @@ export class CosmeticButton extends LitElement { const colorClass = isHard ? "text-green-400" : "text-amber-700"; const currencyKey = isHard ? "cosmetics.hard" : "cosmetics.soft"; return html`
${icon} ${translateText(currencyKey)} + ${pack.bonusAmount > 0 + ? html`
+ ${translateText("cosmetics.free", { + numFree: pack.bonusAmount.toLocaleString(), + })} +
` + : nothing}
`; } diff --git a/src/core/CosmeticSchemas.ts b/src/core/CosmeticSchemas.ts index ae6196294f..031a1d9cac 100644 --- a/src/core/CosmeticSchemas.ts +++ b/src/core/CosmeticSchemas.ts @@ -83,6 +83,7 @@ export const PackSchema = CosmeticSchema.extend({ displayName: z.string(), currency: z.enum(["hard", "soft"]), amount: z.number().int().positive(), + bonusAmount: z.number().int().nonnegative(), }); // Schema for resources/cosmetics/cosmetics.json