diff --git a/src/system/settings/difficulty-options.ts b/src/system/settings/difficulty-options.ts new file mode 100644 index 00000000000..9f6364fa423 --- /dev/null +++ b/src/system/settings/difficulty-options.ts @@ -0,0 +1,26 @@ +export const DIFFICULTY_EXP_RATE_OPTIONS = [ + { value: "0.5", label: "0.5x" }, + { value: "0.75", label: "0.75x" }, + { value: "1", label: "1x (Normal)" }, + { value: "1.25", label: "1.25x" }, + { value: "1.5", label: "1.5x" }, + { value: "2", label: "2x" }, +]; + +export const DIFFICULTY_ENEMY_LEVEL_OPTIONS = [ + { value: "0.5", label: "0.5x" }, + { value: "0.75", label: "0.75x" }, + { value: "1", label: "1x (Normal)" }, + { value: "1.25", label: "1.25x" }, + { value: "1.5", label: "1.5x" }, + { value: "2", label: "2x" }, +]; + +export const DIFFICULTY_LUCK_RATE_OPTIONS = [ + { value: "0.5", label: "0.5x" }, + { value: "0.75", label: "0.75x" }, + { value: "1", label: "1x (Normal)" }, + { value: "1.25", label: "1.25x" }, + { value: "1.5", label: "1.5x" }, + { value: "2", label: "2x" }, +]; diff --git a/src/system/settings/settings.ts b/src/system/settings/settings.ts index 86305b3f7ed..3c8769e3755 100644 --- a/src/system/settings/settings.ts +++ b/src/system/settings/settings.ts @@ -174,6 +174,9 @@ export const SettingKeys = { Hide_Username: "HIDE_USERNAME", Move_Touch_Controls: "MOVE_TOUCH_CONTROLS", Shop_Overlay_Opacity: "SHOP_OVERLAY_OPACITY", + Difficulty_Exp_Rate: "DIFFICULTY_EXP_RATE", + Difficulty_Enemy_Level: "DIFFICULTY_ENEMY_LEVEL", + Difficulty_Luck_Rate: "DIFFICULTY_LUCK_RATE", }; export enum MusicPreference { @@ -700,6 +703,28 @@ export const Setting: Array = [ type: SettingType.DISPLAY, requireReload: false, }, + // --- Difficulty Section --- + { + key: SettingKeys.Difficulty_Exp_Rate, + label: "EXP Earning Rate", + options: require("./difficulty-options").DIFFICULTY_EXP_RATE_OPTIONS, + default: 2, // 1x (Normal) + type: SettingType.GENERAL, + }, + { + key: SettingKeys.Difficulty_Enemy_Level, + label: "Enemy's Pokemon Level Multiplier", + options: require("./difficulty-options").DIFFICULTY_ENEMY_LEVEL_OPTIONS, + default: 2, // 1x (Normal) + type: SettingType.GENERAL, + }, + { + key: SettingKeys.Difficulty_Luck_Rate, + label: "Luck Rate Multiplier", + options: require("./difficulty-options").DIFFICULTY_LUCK_RATE_OPTIONS, + default: 2, // 1x (Normal) + type: SettingType.GENERAL, + }, ]; if (isLocal) {