mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2026-09-07 09:54:09 +00:00
Update 6.8
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
class ChallengeOptionsScene < PokemonOption_Scene
|
||||
def initialize
|
||||
@changedColor = false
|
||||
end
|
||||
|
||||
def pbStartScene(inloadscreen = false)
|
||||
super
|
||||
@sprites["option"].nameBaseColor = Color.new(35, 130, 200)
|
||||
@sprites["option"].nameShadowColor = Color.new(20, 75, 115)
|
||||
@changedColor = true
|
||||
for i in 0...@PokemonOptions.length
|
||||
@sprites["option"][i] = (@PokemonOptions[i].get || 0)
|
||||
end
|
||||
@sprites["title"]=Window_UnformattedTextPokemon.newWithSize(
|
||||
_INTL("Optional Challenge Options"),0,0,Graphics.width,64,@viewport)
|
||||
@sprites["textbox"].text=_INTL("Optional challenge options")
|
||||
|
||||
|
||||
pbFadeInAndShow(@sprites) { pbUpdate }
|
||||
end
|
||||
|
||||
def pbFadeInAndShow(sprites, visiblesprites = nil)
|
||||
return if !@changedColor
|
||||
super
|
||||
end
|
||||
|
||||
def pbGetOptions(inloadscreen = false)
|
||||
options = []
|
||||
options << EnumOption.new(_INTL("Level caps"), [_INTL("Off"), _INTL("On")],
|
||||
proc { $PokemonSystem.level_caps },
|
||||
proc { |value| $PokemonSystem.level_caps = value },
|
||||
_INTL("Prevents leveling above the next gym leader's highest leveled Pokemon."))
|
||||
|
||||
options << EnumOption.new(_INTL("Battle Style"), [_INTL("Switch"), _INTL("Set")],
|
||||
proc { $PokemonSystem.battlestyle },
|
||||
proc { |value| $PokemonSystem.battlestyle = value },
|
||||
[_INTL("Prompts to switch Pokémon before the opponent sends out the next one."),
|
||||
_INTL("No prompt to switch Pokémon before the opponent sends the next one.")]
|
||||
)
|
||||
|
||||
options << EnumOption.new(_INTL("No reviving"), [_INTL("Off"), _INTL("On")],
|
||||
proc { $PokemonSystem.no_reviving ? 1 : 0},
|
||||
proc { |value| $PokemonSystem.no_reviving = value == 1 },
|
||||
_INTL("Fainted Pokémon cannot be revived."))
|
||||
|
||||
#TODO
|
||||
# options << EnumOption.new(_INTL("Limited Catch"), [_INTL("Off"), _INTL("On")],
|
||||
# proc { $PokemonSystem.level_caps },
|
||||
# proc { |value| $PokemonSystem.level_caps = value },
|
||||
# _INTL("You're only allowed to catch the first X Pokémon on every route."))
|
||||
|
||||
options << EnumOption.new(_INTL("No heals (battles)"), [_INTL("Off"), _INTL("On")],
|
||||
proc { $PokemonSystem.no_healing_items_battles ? 1 : 0},
|
||||
proc { |value| $PokemonSystem.no_healing_items_battles = value == 1 },
|
||||
_INTL("Healing items cannot be used during battles (excluding held berries)."))
|
||||
|
||||
options << EnumOption.new(_INTL("No heals (overworld)"), [_INTL("Off"), _INTL("On")],
|
||||
proc { $PokemonSystem.no_healing_items_ow ? 1 : 0},
|
||||
proc { |value| $PokemonSystem.no_healing_items_ow = value == 1 },
|
||||
_INTL("Healing items cannot be used in the overworld."))
|
||||
|
||||
if Settings::HOENN
|
||||
options << EnumOption.new(_INTL("No Pokécenters"), [_INTL("Off"), _INTL("On")],
|
||||
proc { $PokemonSystem.no_pokemon_center ? 1 : 0},
|
||||
proc { |value| $PokemonSystem.no_pokemon_center = value == 1 },
|
||||
_INTL("Pokémon centers will not heal your Pokémon."))
|
||||
end
|
||||
|
||||
return options
|
||||
end
|
||||
|
||||
|
||||
def selectAutosaveSteps()
|
||||
if pbGet(AUTOSAVE_STEPS_VAR) == 0
|
||||
pbSet(AUTOSAVE_STEPS_VAR,DEFAULT_AUTOSAVE_STEPS)
|
||||
end
|
||||
params=ChooseNumberParams.new
|
||||
params.setRange(20,999999)
|
||||
params.setInitialValue(pbGet(AUTOSAVE_STEPS_VAR))
|
||||
params.setCancelValue(0)
|
||||
val = Kernel.pbMessageChooseNumber(_INTL("Autosave every how many steps?"),params)
|
||||
if val < 200
|
||||
Kernel.pbMessage(_INTL("Warning: Choosing a low number of steps may decrease performance."))
|
||||
end
|
||||
if val == 0
|
||||
val = 1
|
||||
end
|
||||
pbSet(AUTOSAVE_STEPS_VAR,val)
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,134 @@
|
||||
class PokemonGameOption_Scene < PokemonOption_Scene
|
||||
ICON_AUDIO = "optionIcons/AUDIO"
|
||||
ICON_GAMEPLAY = "optionIcons/GAMEPLAY"
|
||||
ICON_VISUALS = "optionIcons/VISUALS"
|
||||
ICON_CHALLENGE = "optionIcons/CHALLENGE"
|
||||
ICON_RANDOMIZER = "optionIcons/RANDOMIZER"
|
||||
|
||||
def pbGetOptions(inloadscreen = false)
|
||||
@current_game_mode = getTrainersDataMode
|
||||
options = []
|
||||
|
||||
options << ButtonOption.new(
|
||||
_INTL("System & Audio"),
|
||||
proc {
|
||||
@system_menu = true
|
||||
openSystemMenu()
|
||||
},
|
||||
"<icon=#{ICON_AUDIO}> " + _INTL("Volume, UI, Autosave, etc.")
|
||||
)
|
||||
|
||||
if $game_switches
|
||||
options << ButtonOption.new(
|
||||
_INTL("Gameplay"),
|
||||
proc {
|
||||
@gameplay_menu = true
|
||||
openGameplayMenu()
|
||||
},
|
||||
"<icon=#{ICON_GAMEPLAY}> " + _INTL("Difficulty, movement, etc.")
|
||||
)
|
||||
|
||||
options << ButtonOption.new(
|
||||
_INTL("Visuals & Content"),
|
||||
proc {
|
||||
@sprites_menu = true
|
||||
openSpritesMenu()
|
||||
},
|
||||
"<icon=#{ICON_VISUALS}> " + _INTL("Sprites, Pokédex entries, etc.")
|
||||
)
|
||||
|
||||
options << ButtonOption.new(
|
||||
_INTL("Challenge Options"),
|
||||
proc {
|
||||
@challenge_menu = true
|
||||
openChallengeMenu()
|
||||
},
|
||||
"<icon=#{ICON_CHALLENGE}> " + _INTL("Set optional self-imposed challenges.")
|
||||
)
|
||||
|
||||
# if $game_switches[SWITCH_RANDOMIZED_AT_LEAST_ONCE]
|
||||
# options << ButtonOption.new(
|
||||
# _INTL("Randomizer Options"),
|
||||
# proc {
|
||||
# @randomizer_menu = true
|
||||
# openRandomizerMenu()
|
||||
# },
|
||||
# "<icon=#{ICON_RANDOMIZER}> " + _INTL("Set how to randomize the game.")
|
||||
# )
|
||||
# end
|
||||
end
|
||||
return options
|
||||
end
|
||||
|
||||
def openChallengeMenu()
|
||||
return unless @challenge_menu
|
||||
pbFadeOutIn {
|
||||
scene = ChallengeOptionsScene.new
|
||||
screen = PokemonOptionScreen.new(scene)
|
||||
screen.pbStartScreen
|
||||
}
|
||||
@challenge_menu = false
|
||||
end
|
||||
|
||||
def openRandomizerMenu()
|
||||
return unless @randomizer_menu
|
||||
pbFadeOutIn {
|
||||
scene = RandomizerOptionsScene.new
|
||||
screen = PokemonOptionScreen.new(scene)
|
||||
screen.pbStartScreen
|
||||
}
|
||||
@randomizer_menu = false
|
||||
end
|
||||
|
||||
def openSystemMenu()
|
||||
return unless @system_menu
|
||||
pbFadeOutIn {
|
||||
scene = SystemOptionsScene.new
|
||||
screen = PokemonOptionScreen.new(scene)
|
||||
screen.pbStartScreen
|
||||
}
|
||||
@system_menu = false
|
||||
end
|
||||
|
||||
def openSpritesMenu()
|
||||
return unless @sprites_menu
|
||||
pbFadeOutIn {
|
||||
scene = SpriteOptionsScene.new
|
||||
screen = PokemonOptionScreen.new(scene)
|
||||
screen.pbStartScreen
|
||||
}
|
||||
@sprites_menu = false
|
||||
end
|
||||
def openGameplayMenu()
|
||||
return unless @gameplay_menu
|
||||
pbFadeOutIn {
|
||||
scene = GameplayOptionsScene.new
|
||||
screen = PokemonOptionScreen.new(scene)
|
||||
screen.pbStartScreen
|
||||
}
|
||||
@gameplay_menu = false
|
||||
end
|
||||
|
||||
|
||||
|
||||
def pbEndScene
|
||||
echoln "Selected Difficulty: #{$Trainer.selected_difficulty}, lowest difficutly: #{$Trainer.lowest_difficulty}" if $Trainer
|
||||
if $Trainer && $Trainer.selected_difficulty < $Trainer.lowest_difficulty
|
||||
$Trainer.lowest_difficulty = $Trainer.selected_difficulty
|
||||
echoln "lowered difficulty (#{$Trainer.selected_difficulty})"
|
||||
if @manually_changed_difficulty
|
||||
pbMessage(_INTL("The savefile's lowest selected difficulty was changed to {1}.",getDisplayDifficulty()))
|
||||
@manually_changed_difficulty = false
|
||||
end
|
||||
end
|
||||
|
||||
if getTrainersDataMode != @current_game_mode
|
||||
pbMessage(_INTL("The game was mode changed - Reshuffling trainers."))
|
||||
Kernel.pbShuffleTrainers
|
||||
@manually_changed_gamemode = false
|
||||
end
|
||||
|
||||
super
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
class GameplayOptionsScene < PokemonOption_Scene
|
||||
def initialize
|
||||
@changedColor = false
|
||||
end
|
||||
|
||||
def pbStartScene(inloadscreen = false)
|
||||
super
|
||||
@sprites["option"].nameBaseColor = Color.new(35, 130, 200)
|
||||
@sprites["option"].nameShadowColor = Color.new(20, 75, 115)
|
||||
@changedColor = true
|
||||
for i in 0...@PokemonOptions.length
|
||||
@sprites["option"][i] = (@PokemonOptions[i].get || 0)
|
||||
end
|
||||
@sprites["title"] = Window_UnformattedTextPokemon.newWithSize(
|
||||
_INTL("Gameplay Options"), 0, 0, Graphics.width, 64, @viewport)
|
||||
@sprites["textbox"].text = _INTL("Gameplay options")
|
||||
|
||||
pbFadeInAndShow(@sprites) { pbUpdate }
|
||||
end
|
||||
|
||||
def pbFadeInAndShow(sprites, visiblesprites = nil)
|
||||
return if !@changedColor
|
||||
super
|
||||
end
|
||||
|
||||
def pbGetOptions(inloadscreen = false)
|
||||
@current_game_mode = getTrainersDataMode
|
||||
options = []
|
||||
|
||||
options << EnumOption.new(_INTL("Default Movement"), [_INTL("Walking"), _INTL("Running")],
|
||||
proc { $PokemonSystem.runstyle },
|
||||
proc { |value| $PokemonSystem.runstyle = value },
|
||||
[_INTL("Default to walking when not holding the Run key"),
|
||||
_INTL("Default to running when not holding the Run key")]
|
||||
)
|
||||
|
||||
difficulty_description = []
|
||||
if Settings::KANTO
|
||||
difficulty_description = [_INTL("All Pokémon in the team gain experience. Otherwise the same as Normal difficulty."),
|
||||
_INTL("The default experience. Levels are similar to the official games."),
|
||||
_INTL("Higher levels and smarter AI. All trainers have access to healing items.")]
|
||||
else
|
||||
difficulty_description = [_INTL("Trainer Pokémon levels are 10% lower"),
|
||||
_INTL("The default experience. Levels are similar to the official games."),
|
||||
_INTL("Trainer Pokémon levels are 10% higher"),]
|
||||
end
|
||||
options << EnumOption.new(_INTL("Difficulty"), [_INTL("Easy"), _INTL("Normal"), _INTL("Hard")],
|
||||
proc { $Trainer.selected_difficulty },
|
||||
proc { |value|
|
||||
setDifficulty(value)
|
||||
@manually_changed_difficulty = true
|
||||
}, difficulty_description
|
||||
)
|
||||
|
||||
if Settings::HOENN
|
||||
options << EnumOption.new(_INTL("Overworld Encounters"), [_INTL("On"), _INTL("Off")],
|
||||
proc { $PokemonSystem.overworld_encounters ? 0 : 1 },
|
||||
proc { |value| $PokemonSystem.overworld_encounters = value == 0 },
|
||||
[_INTL("Pokémon are encountered in the overworld."),
|
||||
_INTL("Pokémon are only encountered in tall grass, etc.")]
|
||||
)
|
||||
end
|
||||
|
||||
if $game_switches && (Settings::KANTO && ($game_switches[SWITCH_NEW_GAME_PLUS] || $game_switches[SWITCH_BEAT_THE_LEAGUE])) || Settings::HOENN # beat the league
|
||||
options <<
|
||||
EnumOption.new(_INTL("Battle type"), [_INTL("1v1"), _INTL("2v2"), _INTL("3v3")],
|
||||
proc { $PokemonSystem.battle_type },
|
||||
proc { |value|
|
||||
if value == 0
|
||||
$game_variables[VAR_DEFAULT_BATTLE_TYPE] = [1, 1]
|
||||
elsif value == 1
|
||||
$game_variables[VAR_DEFAULT_BATTLE_TYPE] = [2, 2]
|
||||
elsif value == 2
|
||||
$game_variables[VAR_DEFAULT_BATTLE_TYPE] = [3, 3]
|
||||
else
|
||||
$game_variables[VAR_DEFAULT_BATTLE_TYPE] = [1, 1]
|
||||
end
|
||||
$PokemonSystem.battle_type = value
|
||||
}, _INTL("Sets the number of Pokémon sent out in battles (when possible)")
|
||||
)
|
||||
end
|
||||
|
||||
options << EnumOption.new(_INTL("Speed-up type"), [_INTL("Hold"), _INTL("Toggle")],
|
||||
proc { $PokemonSystem.speedup },
|
||||
proc { |value|
|
||||
$PokemonSystem.speedup = value
|
||||
}, _INTL("Pick how you want speed-up to be enabled")
|
||||
)
|
||||
|
||||
options << SliderOption.new(_INTL("Speed-up (Overworld)"), 1, 10, 1,
|
||||
proc { $PokemonSystem.speedup_speed },
|
||||
proc { |value|
|
||||
$PokemonSystem.speedup_speed = value
|
||||
}, _INTL("Sets by how much to speed up the game when holding the speed up button when walking in the overworld."))
|
||||
|
||||
options << SliderOption.new(_INTL("Speed-up (Battles)"), 1, 10, 1,
|
||||
proc { $PokemonSystem.speedup_speed_battles },
|
||||
proc { |value|
|
||||
$PokemonSystem.speedup_speed_battles = value
|
||||
}, _INTL("Sets by how much to speed up the game when holding the speed up button in battles."))
|
||||
|
||||
options << EnumOption.new(_INTL("Prompt Nicknames"), [_INTL("On"), _INTL("Off")],
|
||||
proc { $PokemonSystem.prompt_nicknames ? 0 : 1 },
|
||||
proc { |value| $PokemonSystem.prompt_nicknames = value == 0 },
|
||||
[_INTL("Ask to set a nickname when catching a new Pokémon."),
|
||||
_INTL("Don't ask to set a nickname when catching a new Pokémon.")]
|
||||
)
|
||||
|
||||
|
||||
options << EnumOption.new(_INTL("Quick HMs"), [_INTL("Off"), _INTL("On")],
|
||||
proc { $PokemonSystem.quickHM },
|
||||
proc { |value| $PokemonSystem.quickHM = value },
|
||||
[
|
||||
_INTL("Prompt to use HMs when interacting with an obstacle"),
|
||||
_INTL("Use HMs automatically when interacting with an obstacle")]
|
||||
)
|
||||
|
||||
if $game_switches && $game_switches[SWITCH_LEGENDARY_MODE]
|
||||
selected_game_mode = $game_switches[SWITCH_MODERN_MODE] ? 1 : 0
|
||||
options << EnumOption.new(_INTL("Trainers"), [_INTL("Classic"), _INTL("Remix")],
|
||||
proc { selected_game_mode },
|
||||
proc { |value|
|
||||
$game_switches[SWITCH_MODERN_MODE] = value == 1
|
||||
@manually_changed_gamemode = true
|
||||
},
|
||||
[_INTL("Use trainers from Classic Mode for Legendary Mode"),
|
||||
_INTL("Use trainers from Remix Mode for Legendary Mode")]
|
||||
)
|
||||
end
|
||||
return options
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,110 @@
|
||||
class SpriteOptionsScene < PokemonOption_Scene
|
||||
def initialize
|
||||
@changedColor = false
|
||||
end
|
||||
|
||||
def pbStartScene(inloadscreen = false)
|
||||
super
|
||||
@sprites["option"].nameBaseColor = Color.new(35, 130, 200)
|
||||
@sprites["option"].nameShadowColor = Color.new(20, 75, 115)
|
||||
@changedColor = true
|
||||
for i in 0...@PokemonOptions.length
|
||||
@sprites["option"][i] = (@PokemonOptions[i].get || 0)
|
||||
end
|
||||
@sprites["title"] = Window_UnformattedTextPokemon.newWithSize(
|
||||
_INTL("Visuals & Content Options"), 0, 0, Graphics.width, 64, @viewport)
|
||||
@sprites["textbox"].text = _INTL("Visuals & Content Options")
|
||||
|
||||
pbFadeInAndShow(@sprites) { pbUpdate }
|
||||
end
|
||||
|
||||
def pbFadeInAndShow(sprites, visiblesprites = nil)
|
||||
return if !@changedColor
|
||||
super
|
||||
end
|
||||
|
||||
def pbGetOptions(inloadscreen = false)
|
||||
options = []
|
||||
|
||||
|
||||
|
||||
generated_entries_option_selected = $PokemonSystem.use_generated_dex_entries ? 1 : 0
|
||||
options << EnumOption.new(_INTL("Autogen dex entries"), [_INTL("Off"), _INTL("On")],
|
||||
proc { generated_entries_option_selected },
|
||||
proc { |value|
|
||||
$PokemonSystem.use_generated_dex_entries = value == 1
|
||||
},
|
||||
[
|
||||
_INTL("Fusions without a custom Pokédex entry display nothing."),
|
||||
_INTL("Fusions without a custom Pokédex entry display an auto-generated placeholder.")
|
||||
|
||||
]
|
||||
)
|
||||
|
||||
use_random_sprites = $PokemonSystem.random_sprites ? 1 : 0
|
||||
options << EnumOption.new(_INTL("Random Sprites"), [_INTL("Off"), _INTL("On")],
|
||||
proc { use_random_sprites },
|
||||
proc { |value|
|
||||
$PokemonSystem.random_sprites = value == 1
|
||||
},
|
||||
[
|
||||
_INTL("The game uses the same sprite each time you encounter the same species."),
|
||||
_INTL("A random sprite is selected each time you encounter a Pokémon."),
|
||||
]
|
||||
) ? 1 : 0
|
||||
|
||||
|
||||
allow_joke_sprites = $PokemonSystem.include_alt_sprites_in_random ? 1 : 0
|
||||
options << EnumOption.new(_INTL("Joke Sprites"), [_INTL("Off"), _INTL("On")],
|
||||
proc { allow_joke_sprites },
|
||||
proc { |value|
|
||||
$PokemonSystem.include_alt_sprites_in_random = value == 1
|
||||
},
|
||||
[
|
||||
_INTL("Auto-selected sprites follow standard Pokémon sprites rules."),
|
||||
_INTL("Auto-selected sprites can be anything, including references, memes, jokes, etc.")
|
||||
]
|
||||
) ? 1 : 0
|
||||
|
||||
custom_eggs_option_selected = $PokemonSystem.hide_custom_eggs ? 1 : 0
|
||||
options << EnumOption.new(_INTL("Custom Eggs"), [_INTL("On"), _INTL("Off")],
|
||||
proc { custom_eggs_option_selected },
|
||||
proc { |value|
|
||||
$PokemonSystem.hide_custom_eggs = value == 1
|
||||
},
|
||||
[_INTL("Eggs have different sprites for each Pokémon."),
|
||||
_INTL("Eggs all use the same sprite.")]
|
||||
)
|
||||
|
||||
options << EnumOption.new(_INTL("Fusion Icons"), [_INTL("Combined"), _INTL("DNA")],
|
||||
proc { $game_variables[VAR_FUSION_ICON_STYLE] },
|
||||
proc { |value| $game_variables[VAR_FUSION_ICON_STYLE] = value },
|
||||
[_INTL("Combines both Pokémon's party icons"),
|
||||
_INTL("Uses the same party icon for all fusions")]
|
||||
)
|
||||
|
||||
battle_type_icon_option_selected = $PokemonSystem.type_icons ? 1 : 0
|
||||
options << EnumOption.new(_INTL("Battle Type Icons"), [_INTL("Off"), _INTL("On")],
|
||||
proc { battle_type_icon_option_selected },
|
||||
proc { |value| $PokemonSystem.type_icons = value == 1 },
|
||||
_INTL("Display the enemy Pokémon type in battles.")
|
||||
)
|
||||
|
||||
options << EnumOption.new(_INTL("Battle Animations"), [_INTL("On"), _INTL("Off")],
|
||||
proc { $PokemonSystem.battlescene },
|
||||
proc { |value| $PokemonSystem.battlescene = value },
|
||||
_INTL("Display move animations in battles")
|
||||
)
|
||||
|
||||
options << EnumOption.new(_INTL("Battle Movement"), [_INTL("On"), _INTL("Off")],
|
||||
proc { $PokemonSystem.nobattlemovement ? 1 : 0 },
|
||||
proc { |value| $PokemonSystem.nobattlemovement = value == 1 },
|
||||
[_INTL("Sprites move up and down slightly during battles."),
|
||||
_INTL("Sprites are completely static during battles.")
|
||||
]
|
||||
)
|
||||
|
||||
return options
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,129 @@
|
||||
class SystemOptionsScene < PokemonOption_Scene
|
||||
def initialize
|
||||
@changedColor = false
|
||||
end
|
||||
|
||||
def pbStartScene(inloadscreen = false)
|
||||
super
|
||||
@sprites["option"].nameBaseColor = Color.new(35, 130, 200)
|
||||
@sprites["option"].nameShadowColor = Color.new(20, 75, 115)
|
||||
@changedColor = true
|
||||
for i in 0...@PokemonOptions.length
|
||||
@sprites["option"][i] = (@PokemonOptions[i].get || 0)
|
||||
end
|
||||
@sprites["title"] = Window_UnformattedTextPokemon.newWithSize(
|
||||
_INTL("System & Audio Options"), 0, 0, Graphics.width, 64, @viewport)
|
||||
@sprites["textbox"].text = _INTL("System & Audio options")
|
||||
|
||||
pbFadeInAndShow(@sprites) { pbUpdate }
|
||||
end
|
||||
|
||||
def pbFadeInAndShow(sprites, visiblesprites = nil)
|
||||
return if !@changedColor
|
||||
super
|
||||
end
|
||||
|
||||
def pbGetOptions(inloadscreen = false)
|
||||
options = []
|
||||
options << EnumOption.new(_INTL("Text Entry"), [_INTL("Cursor"), _INTL("Keyboard")],
|
||||
proc { $PokemonSystem.textinput },
|
||||
proc { |value| $PokemonSystem.textinput = value },
|
||||
[_INTL("Enter text by selecting letters on the screen"),
|
||||
_INTL("Enter text by typing on the keyboard")]
|
||||
)
|
||||
|
||||
options << SliderOption.new(_INTL("Music Volume"), 0, 100, 1,
|
||||
proc { $PokemonSystem.bgmvolume },
|
||||
proc { |value|
|
||||
if $PokemonSystem.bgmvolume != value
|
||||
$PokemonSystem.bgmvolume = value
|
||||
if $game_system.playing_bgm != nil# && !inloadscreen
|
||||
playingBGM = $game_system.getPlayingBGM
|
||||
$game_system.bgm_pause
|
||||
$game_system.bgm_resume(playingBGM)
|
||||
end
|
||||
end
|
||||
}, _INTL("Sets the volume for background music")
|
||||
)
|
||||
|
||||
options << SliderOption.new(_INTL("SE Volume"), 0, 100, 1,
|
||||
proc { $PokemonSystem.sevolume },
|
||||
proc { |value|
|
||||
if $PokemonSystem.sevolume != value
|
||||
$PokemonSystem.sevolume = value
|
||||
if $game_system.playing_bgs != nil
|
||||
$game_system.playing_bgs.volume = value
|
||||
playingBGS = $game_system.getPlayingBGS
|
||||
$game_system.bgs_pause
|
||||
$game_system.bgs_resume(playingBGS)
|
||||
end
|
||||
pbPlayCursorSE
|
||||
end
|
||||
}, _INTL("Sets the volume for sound effects")
|
||||
)
|
||||
|
||||
|
||||
options << EnumOption.new(_INTL("Text Speed"), [_INTL("Normal"), _INTL("Fast")],
|
||||
proc { $PokemonSystem.textspeed },
|
||||
proc { |value|
|
||||
$PokemonSystem.textspeed = value
|
||||
MessageConfig.pbSetTextSpeed(MessageConfig.pbSettingToTextSpeed(value))
|
||||
}, _INTL("Sets the speed at which the text is displayed")
|
||||
)
|
||||
|
||||
options << NumberOption.new(_INTL("Speech Frame"), 1, Settings::SPEECH_WINDOWSKINS.length,
|
||||
proc { $PokemonSystem.textskin },
|
||||
proc { |value|
|
||||
$PokemonSystem.textskin = value
|
||||
MessageConfig.pbSetSpeechFrame("Graphics/Windowskins/" + Settings::SPEECH_WINDOWSKINS[value])
|
||||
}
|
||||
)
|
||||
|
||||
options << EnumOption.new(_INTL("Screen Size"), [_INTL("S"), _INTL("M"), _INTL("L"), _INTL("XL"), _INTL("Full")],
|
||||
proc { [$PokemonSystem.screensize, 4].min },
|
||||
proc { |value|
|
||||
if $PokemonSystem.screensize != value
|
||||
$PokemonSystem.screensize = value
|
||||
pbSetResizeFactor($PokemonSystem.screensize)
|
||||
echoln $PokemonSystem.screensize
|
||||
end
|
||||
}, _INTL("Sets the size of the screen")
|
||||
)
|
||||
|
||||
if $game_switches
|
||||
options <<
|
||||
EnumOption.new(_INTL("Autosave"), [_INTL("On"), _INTL("Off")],
|
||||
proc { $game_switches[AUTOSAVE_ENABLED_SWITCH] ? 0 : 1 },
|
||||
proc { |value|
|
||||
if !$game_switches[AUTOSAVE_ENABLED_SWITCH] && value == 0
|
||||
@autosave_menu = true
|
||||
openAutosaveMenu()
|
||||
end
|
||||
$game_switches[AUTOSAVE_ENABLED_SWITCH] = value == 0
|
||||
},
|
||||
_INTL("Automatically saves when healing at Pokémon centers")
|
||||
)
|
||||
end
|
||||
|
||||
options <<
|
||||
EnumOption.new(_INTL("Download data"), [_INTL("On"), _INTL("Off")],
|
||||
proc { $PokemonSystem.download_sprites },
|
||||
proc { |value|
|
||||
$PokemonSystem.download_sprites = value
|
||||
},
|
||||
_INTL("Automatically download missing custom sprites and Pokédex entries from the internet")
|
||||
)
|
||||
|
||||
device_option_selected = $PokemonSystem.on_mobile ? 1 : 0
|
||||
options << EnumOption.new(_INTL("Device"), [_INTL("PC"), _INTL("Mobile")],
|
||||
proc { device_option_selected },
|
||||
proc { |value| $PokemonSystem.on_mobile = value == 1 },
|
||||
[_INTL("The intended device on which to play the game."),
|
||||
_INTL("Disables some options that aren't supported when playing on mobile.")]
|
||||
)
|
||||
|
||||
|
||||
return options
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user