diff --git a/AquaNet/src/components/settings/ChuniSettings.svelte b/AquaNet/src/components/settings/ChuniSettings.svelte index db669105..8f7abcef 100644 --- a/AquaNet/src/components/settings/ChuniSettings.svelte +++ b/AquaNet/src/components/settings/ChuniSettings.svelte @@ -3,10 +3,11 @@ +{#if !loading}
{#each profileFields as [field, name], i (field)}
@@ -228,6 +243,55 @@
{/each} + {#if userIsUsingPreset} +
+ {t('settings.options.all.preset-warning')} +
+ {/if} +
+ + value >= 37 ? "SONIC" : `${(value / 4) + 1}`} + /> + value >= 37 ? "SONIC" : `${(value / 4) + 1}`} + /> + value == 10 ? "Normal" : `${value > 10 ? "Late" : "Fast"} ${(Math.abs(value - 10) / 10).toFixed(1)}`} + /> + `${((value / 19) * 100).toFixed(0)}%`} + /> + [ + t('settings.options.all.none'), + t('settings.options.all.push'), + `S`, `SS`, `SSS`, + t('settings.options.all.personal-best'), + t('settings.options.all.rival-score'), + `${t('settings.options.all.life')} 300`, + `${t('settings.options.all.life')} 100`, + `${t('settings.options.all.life')} 50`, + `${t('settings.options.all.life')} 10`, + `${t('settings.options.all.life')} 1` + ][value]} + /> +
+{/if} - + \ No newline at end of file diff --git a/AquaNet/src/libs/generalTypes.ts b/AquaNet/src/libs/generalTypes.ts index ed49d2c0..77c1831b 100644 --- a/AquaNet/src/libs/generalTypes.ts +++ b/AquaNet/src/libs/generalTypes.ts @@ -137,6 +137,8 @@ export interface GameOption { changed?: boolean } +export type GameUserOption = Record + export interface UserItem { itemKind: number, itemId: number, stock: number } export interface UserBox { userName: string, diff --git a/AquaNet/src/libs/i18n/en_ref.ts b/AquaNet/src/libs/i18n/en_ref.ts index 84de145e..b1dd6c31 100644 --- a/AquaNet/src/libs/i18n/en_ref.ts +++ b/AquaNet/src/libs/i18n/en_ref.ts @@ -167,6 +167,24 @@ export const EN_REF_SETTINGS = { 'settings.tabs.mai2': 'Mai', 'settings.tabs.ongeki': 'Ongeki', 'settings.tabs.wacca': 'Wacca', + 'settings.options.all.preset-warning': 'You are using a preset option set. Options may be reflected incorrectly.', + 'settings.options.all.personal-best': 'Record', + 'settings.options.all.rival-score': 'Rival', + 'settings.options.all.life': 'Life', + 'settings.options.all.push': 'Push', + 'settings.options.all.none': 'None', + // Chuni User Options + 'settings.options.chu3.speed': 'Lane Speed', + 'settings.options.chu3.speed_120': 'Lane Speed (120fps)', + 'settings.options.chu3.trackSkip': 'Track Skip Type', + 'settings.options.chu3.headphone': 'Headphone Volume', + // Maimai User Options + 'settings.options.mai2.noteSpeed': 'Note Speed', + 'settings.options.mai2.touchSpeed': 'Touch Speed', + 'settings.options.mai2.slideSpeed': 'Slide Speed', + 'settings.options.mai2.headPhoneVolume': 'Headphone Volume', + 'settings.options.mai2.trackSkip': 'Track Skip Type', + 'settings.fields.mai2UnlockMusic.name': 'Unlock All Music', 'settings.fields.mai2UnlockMusic.desc': 'Unlock all music and master difficulty.', 'settings.fields.mai2UnlockChara.name': 'Unlock All Characters', diff --git a/AquaNet/src/libs/i18n/zh.ts b/AquaNet/src/libs/i18n/zh.ts index 0b819651..e5ee5412 100644 --- a/AquaNet/src/libs/i18n/zh.ts +++ b/AquaNet/src/libs/i18n/zh.ts @@ -162,6 +162,23 @@ const zhSettings: typeof EN_REF_SETTINGS = { 'settings.tabs.mai2': '舞萌', 'settings.tabs.ongeki': '音击', 'settings.tabs.wacca': '华卡', + + "settings.options.all.preset-warning": "您正在使用预设选项配置,部分选项可能显示不正确。", + "settings.options.all.personal-best": "记录", + "settings.options.all.rival-score": "对手", + "settings.options.all.life": "生命值", + "settings.options.all.push": "按压", + "settings.options.all.none": "无", + "settings.options.chu3.speed": "轨道速度", + "settings.options.chu3.speed_120": "轨道速度(120帧)", + "settings.options.chu3.trackSkip": "跳过曲目类型", + "settings.options.chu3.headphone": "耳机音量", + "settings.options.mai2.noteSpeed": "音符速度", + "settings.options.mai2.touchSpeed": "触控速度", + "settings.options.mai2.slideSpeed": "滑动速度", + "settings.options.mai2.headPhoneVolume": "耳机音量", + "settings.options.mai2.trackSkip": "跳过曲目类型", + 'settings.fields.mai2UnlockMusic.name': '解锁谱面', 'settings.fields.mai2UnlockMusic.desc': '解锁所有曲目和大师难度谱面。', 'settings.fields.mai2UnlockChara.name': '解锁角色', diff --git a/AquaNet/src/libs/sdk.ts b/AquaNet/src/libs/sdk.ts index ccd8317e..ce4ad8ce 100644 --- a/AquaNet/src/libs/sdk.ts +++ b/AquaNet/src/libs/sdk.ts @@ -9,7 +9,8 @@ import type { AquaNetUser, GameOption, UserBox, UserItem, - Dict + Dict, + GameUserOption } from './generalTypes' import type { GameName } from './scoring' @@ -255,6 +256,10 @@ export const SETTING = { post('/api/v2/settings/set', { key, value: `${value}` }), detailSet: (game: string, field: string, value: any) => post(`/api/v2/game/${game}/user-detail-set`, { field, value }), + optionGet: (game: string): Promise => + post(`/api/v2/game/${game}/user-option`), + optionSet: (game: string, field: string, value: number): Promise => + post(`/api/v2/game/${game}/user-option-set`, { field, value }), } export const TRANSFER = {