diff --git a/locales/index.d.ts b/locales/index.d.ts index fb0f332ec1..dafbdd3559 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -1201,6 +1201,7 @@ export interface Locale { "replaying": string; "ranking": string; "lastNDays": string; + "backToTitle": string; "_bubbleGame": { "howToPlay": string; "_howToPlay": { diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 68c148da4c..58952894b3 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1198,6 +1198,7 @@ replay: "リプレイ" replaying: "リプレイ中" ranking: "ランキング" lastNDays: "直近{n}日" +backToTitle: "タイトルへ" _bubbleGame: howToPlay: "遊び方" diff --git a/packages/frontend/src/components/MkPlusOneEffect.vue b/packages/frontend/src/components/MkPlusOneEffect.vue index e5e5a9edf4..06b966dbcd 100644 --- a/packages/frontend/src/components/MkPlusOneEffect.vue +++ b/packages/frontend/src/components/MkPlusOneEffect.vue @@ -16,7 +16,7 @@ import * as os from '@/os.js'; const props = withDefaults(defineProps<{ x: number; y: number; - value?: number; + value?: number | string; }>(), { value: 1, }); diff --git a/packages/frontend/src/pages/drop-and-fusion.game.vue b/packages/frontend/src/pages/drop-and-fusion.game.vue index d2d5532a5c..1ac5e027a4 100644 --- a/packages/frontend/src/pages/drop-and-fusion.game.vue +++ b/packages/frontend/src/pages/drop-and-fusion.game.vue @@ -98,7 +98,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- {{ i18n.ts.done }} + {{ i18n.ts.backToTitle }} {{ i18n.ts.showReplay }} {{ i18n.ts.share }} Copy replay data @@ -953,9 +953,8 @@ async function share() { const file = await uploading; if (!file) return; os.post({ - initialText: `#BubbleGame -MODE: ${props.gameMode} -SCORE: ${score.value.toLocaleString()} (MAX CHAIN: ${maxCombo.value})`, + initialText: `#BubbleGame (${props.gameMode}) +SCORE: ${score.value.toLocaleString()}${props.gameMode === 'yen' ? '円' : 'pt'}`, initialFiles: [file], instant: true, }); @@ -986,6 +985,7 @@ function attachGameEvents() { sound.playUrl('/client-assets/drop-and-fusion/hold.mp3', { volume: 0.5 * sfxVolume.value, + playbackRate: replayPlaybackRate.value, }); }); @@ -1024,7 +1024,7 @@ function attachGameEvents() { const domX = rect.left + (x * viewScale); const domY = rect.top + (y * viewScale); os.popup(MkRippleEffect, { x: domX, y: domY }, {}, 'end'); - os.popup(MkPlusOneEffect, { x: domX, y: domY, value: scoreDelta }, {}, 'end'); + os.popup(MkPlusOneEffect, { x: domX, y: domY, value: scoreDelta + (props.gameMode === 'yen' ? '円' : '') }, {}, 'end'); }); game.addListener('monoAdded', (mono) => {