updates to version 6.1

This commit is contained in:
infinitefusion
2024-03-28 17:14:35 -04:00
parent e952a6f574
commit 1635409e6d
1151 changed files with 509422 additions and 5972 deletions

View File

@@ -359,6 +359,9 @@ class HallOfFame_Scene
if $game_switches[SWITCH_MODERN_MODE]
gameMode = "Modern mode"
end
if $game_switches[SWITCH_EXPERT_MODE]
gameMode = "Expert mode"
end
if $game_switches[SWITCH_SINGLE_POKEMON_MODE]
pokemon_number = pbGet(VAR_SINGLE_POKEMON_MODE)
if pokemon_number.is_a?(Integer) && pokemon_number >0

View File

@@ -61,26 +61,30 @@ Fused Pokemon Sprites :
Japeal - Pokefusion 2
http://japeal.com/pkm
Special thanks to Aegide for helping to
rip the sprites and to the owners of Japeal
for accepting to share their generated sprites.
Special thanks to Aegide and Reizod for helping to
download the autogenerated sprites and to the owners of Japeal
for accepting to share their sprites.
Maps:
Chardub, Kiwikelly
Chardub
Kiwikelly
Some of the maps were based on work by:
BenGames, Zeak6464
Gameplay / Story:
Chardub
The story and dialogues were based
Gameplay / Story :
Chardub
Kiwikelly
Most of the story and dialogues were based
off Pokémon Red and Blue, as well as
Pokémon Gold and Silver.
Both games are made by Game Freak.
Sprites pack managers
Custom sprites collecting and handling
Kiwikelly, Payapon, Thornsoflight
Sprite Managers
Discord custom sprites coordination
avianAnnihilator<s>Blaquaza
BéBoutton<s>CaBiNE
CoramSun<s>hero.drawing

View File

@@ -158,19 +158,19 @@ class PokemonPauseMenu
else
#if $Trainer.pokedex.accessible_dexes.length == 1
$PokemonGlobal.pokedexDex = $Trainer.pokedex.accessible_dexes[0]
pbFadeOutIn {
scene = PokemonPokedex_Scene.new
screen = PokemonPokedexScreen.new(scene)
screen.pbStartScreen
@scene.pbRefresh
}
# pbFadeOutIn {
# scene = PokemonPokedex_Scene.new
# screen = PokemonPokedexScreen.new(scene)
# screen.pbStartScreen
# @scene.pbRefresh
# }
# else
# pbFadeOutIn {
# scene = PokemonPokedexMenu_Scene.new
# screen = PokemonPokedexMenuScreen.new(scene)
# screen.pbStartScreen
# @scene.pbRefresh
# }
pbFadeOutIn {
scene = PokemonPokedexMenu_Scene.new
screen = PokemonPokedexMenuScreen.new(scene)
screen.pbStartScreen
@scene.pbRefresh
}
# end
end
elsif cmdPokemon >= 0 && command == cmdPokemon

View File

@@ -96,7 +96,7 @@ class PokemonPokedexMenuScreen
dexnames = Settings.pokedex_names
$Trainer.pokedex.accessible_dexes.each do |dex|
if dexnames[dex].nil?
commands.push(_INTL("Pokédex"))
commands.push(_INTL("Full Pokédex"))
elsif dexnames[dex].is_a?(Array)
commands.push(dexnames[dex][0])
else
@@ -106,16 +106,20 @@ class PokemonPokedexMenuScreen
$Trainer.pokedex.owned_count(dex),
pbGetRegionalDexLength(dex)])
end
commands.push(_INTL("Owned Pokémon"))
commands.push(_INTL("Exit"))
@scene.pbStartScene(commands,commands2)
loop do
cmd = @scene.pbScene
break if cmd<0 || cmd>=commands2.length # Cancel/Exit
$PokemonGlobal.pokedexDex = $Trainer.pokedex.accessible_dexes[cmd]
break if cmd<0 || cmd>1 # Cancel/Exit
$PokemonGlobal.pokedexDex = $Trainer.pokedex.accessible_dexes[0]
only_owned = cmd == 1
pbFadeOutIn {
scene = PokemonPokedex_Scene.new
screen = PokemonPokedexScreen.new(scene)
screen.pbStartScreen
screen.pbStartScreen(only_owned)
}
end
@scene.pbEndScene

View File

@@ -231,7 +231,8 @@ class PokemonPokedex_Scene
pbUpdateSpriteHash(@sprites)
end
def pbStartScene
def pbStartScene(filter_owned=false)
@filter_owned=filter_owned
@sliderbitmap = AnimatedBitmap.new("Graphics/Pictures/Pokedex/icon_slider")
@typebitmap = AnimatedBitmap.new(_INTL("Graphics/Pictures/Pokedex/icon_types"))
@shapebitmap = AnimatedBitmap.new("Graphics/Pictures/Pokedex/icon_shapes")
@@ -345,7 +346,7 @@ class PokemonPokedex_Scene
# end
def pbGetDexList()
def pbGetDexList(filter_owned=false)
dexlist=[]
regionalSpecies=[]
for i in 1..PBSpecies.maxValue
@@ -354,8 +355,10 @@ class PokemonPokedex_Scene
for i in 1...PBSpecies.maxValue
nationalSpecies=i
if $Trainer.seen?(nationalSpecies)
species = GameData::Species.get(nationalSpecies)
dexlist.push([species.id_number,species.real_name,0,0,i+1,0])
if !filter_owned || $Trainer.owned?(nationalSpecies)
species = GameData::Species.get(nationalSpecies)
dexlist.push([species.id_number,species.real_name,0,0,i+1,0])
end
end
end
return dexlist
@@ -365,7 +368,7 @@ class PokemonPokedex_Scene
if index == nil
index = 0
end
dexlist = pbGetDexList
dexlist = pbGetDexList(@filter_owned)
case $PokemonGlobal.pokedexMode
when MODENUMERICAL
# Hide the Dex number 0 species if unseen
@@ -1179,7 +1182,7 @@ class PokemonPokedex_Scene
return 0
end
def pbPokedex
def pbPokedex()
pbActivateWindow(@sprites,"pokedex") {
loop do
Graphics.update
@@ -1222,9 +1225,9 @@ class PokemonPokedexScreen
@scene = scene
end
def pbStartScreen
@scene.pbStartScene
@scene.pbPokedex
def pbStartScreen(filter_owned=false)
@scene.pbStartScene(filter_owned)
@scene.pbPokedex()
@scene.pbEndScene
end
end

View File

@@ -190,7 +190,8 @@ class PokemonPokedexInfo_Scene
end
# species_data = pbGetSpeciesData(@species)
species_data = GameData::Species.get_species_form(@species, @form)
@sprites["infosprite"].setSpeciesBitmap(@species, @gender, @form)
@sprites["infosprite"].setSpeciesBitmap(@species)#, @gender, @form)
# if @sprites["formfront"]
# @sprites["formfront"].setSpeciesBitmap(@species,@gender,@form)
# end
@@ -278,6 +279,8 @@ class PokemonPokedexInfo_Scene
overlay = @sprites["overlay"].bitmap
base = Color.new(88, 88, 80)
shadow = Color.new(168, 184, 184)
shadowCustom = Color.new(160, 200, 150)
imagepos = []
if @brief
imagepos.push([_INTL("Graphics/Pictures/Pokedex/overlay_info"), 0, 0])
@@ -313,8 +316,16 @@ class PokemonPokedexInfo_Scene
textpos.push([_ISPRINTF("{1:.1f} kg", weight / 10.0), 482, 184, 1, base, shadow])
end
# Draw the Pokédex entry text
# drawTextEx(overlay, 40, 244, Graphics.width - (40 * 2), 4, # overlay, x, y, width, num lines
# species_data.pokedex_entry, base, shadow)
#
#
customEntry = getCustomEntryText(species_data)
entryText = customEntry ? customEntry : species_data.pokedex_entry
shadowColor = customEntry ? shadowCustom : shadow
drawTextEx(overlay, 40, 244, Graphics.width - (40 * 2), 4, # overlay, x, y, width, num lines
species_data.pokedex_entry, base, shadow)
entryText, base, shadowColor)
# Draw the footprint
footprintfile = GameData::Species.footprint_filename(@species, @form)
if footprintfile
@@ -351,6 +362,43 @@ class PokemonPokedexInfo_Scene
pbDrawImagePositions(overlay, imagepos)
end
def reloadDexEntry()
overlay = @sprites["overlay"].bitmap
overlay.clear
drawPageInfo
end
def isAutogenSprite(sprite_path)
return !sprite_path.include?(Settings::CUSTOM_BATTLERS_FOLDER)
end
def getCustomEntryText(species_data)
sprite_bitmap= GameData::Species.sprite_bitmap(species_data.species)
return nil if isAutogenSprite(sprite_bitmap.path)
spritename = sprite_bitmap.filename
possibleCustomEntries = getCustomDexEntry(spritename)
if possibleCustomEntries && possibleCustomEntries.length > 0
customEntry = possibleCustomEntries.sample
customEntry = customEntry.gsub(Settings::CUSTOM_ENTRIES_NAME_PLACEHOLDER,species_data.name)
end
return customEntry
end
def getCustomDexEntry(sprite)
json_data = File.read(Settings::CUSTOM_DEX_ENTRIES_PATH)
parsed_data = HTTPLite::JSON.parse(json_data)
entries = parsed_data.select { |entry| entry["sprite"] == sprite }
if entries.any?
return entries.map { |entry| entry["entry"] }
else
echoln "No custom entry found for sprite " + sprite.to_s
return nil
end
end
def pbFindEncounter(enc_types, species)
return false if !enc_types
enc_types.each_value do |slots|
@@ -526,6 +574,7 @@ class PokemonPokedexInfo_Scene
dorefresh = false
if Input.trigger?(Input::ACTION)
pbSEStop
#reloadDexEntry()
Pokemon.play_cry(@species, @form) if @page == 1
elsif Input.trigger?(Input::BACK)
pbPlayCloseMenuSE

View File

@@ -1203,7 +1203,6 @@ class PokemonPartyScreen
cmdItem = -1
# Build the commands
commands[cmdSummary = commands.length] = _INTL("Summary")
commands[cmdNickname = commands.length] = _INTL("Nickname") if !pkmn.egg?
commands[cmdDebug = commands.length] = _INTL("Debug") if $DEBUG
if !pkmn.egg?
# Check for hidden moves and add any that were found
@@ -1222,6 +1221,7 @@ class PokemonPartyScreen
commands[cmdItem = commands.length] = _INTL("Item")
end
end
commands[cmdNickname = commands.length] = _INTL("Nickname") if !pkmn.egg?
commands[commands.length] = _INTL("Cancel")
command = @scene.pbShowCommands(_INTL("Do what with {1}?", pkmn.name), commands)
havecommand = false

View File

@@ -102,6 +102,8 @@ end
#
#===============================================================================
class PokemonSummary_Scene
NB_PAGES = 5
def pbUpdate
pbUpdateSpriteHash(@sprites)
end
@@ -307,7 +309,7 @@ class PokemonSummary_Scene
base = Color.new(248, 248, 248)
shadow = Color.new(104, 104, 104)
# Set background image
@sprites["background"].setBitmap("Graphics/Pictures/Summary/bg_#{page}")
@sprites["background"].setBitmap("Graphics/Pictures/Summary/bg_#{page}") if page < NB_PAGES
imagepos = []
# Show the Poké Ball containing the Pokémon
ballimage = sprintf("Graphics/Pictures/Summary/icon_ball_%s", @pokemon.poke_ball)
@@ -334,7 +336,7 @@ class PokemonSummary_Scene
end
# Show shininess star
if @pokemon.shiny?
addShinyStarsToGraphicsArray(imagepos,2,134,@pokemon.bodyShiny?,@pokemon.headShiny?,@pokemon.debugShiny?,nil,nil,nil,nil,true)
addShinyStarsToGraphicsArray(imagepos, 2, 134, @pokemon.bodyShiny?, @pokemon.headShiny?, @pokemon.debugShiny?, nil, nil, nil, nil, true)
#imagepos.push([sprintf("Graphics/Pictures/shiny"), 2, 134])
end
# Draw all images
@@ -344,7 +346,7 @@ class PokemonSummary_Scene
_INTL("TRAINER MEMO"),
_INTL("SKILLS"),
_INTL("MOVES"),
_INTL("RIBBONS")][page - 1]
_INTL("MOVES")][page - 1]
textpos = [
[pagename, 26, 10, 0, base, shadow],
[@pokemon.name, 46, 56, 0, base, shadow],
@@ -383,6 +385,23 @@ class PokemonSummary_Scene
end
def drawPageOne
# dex_no_y=74
# species_y=106
# type_y=138
# type_y_offset=8
#
# fusion_head_y=170
# fusion_body_y=202
dex_no_y = 74
species_y = 74
type_y = 106
type_y_offset = 8
ot_y = 138
fusion_head_y = 170
fusion_body_y = 202
overlay = @sprites["overlay"].bitmap
base = Color.new(248, 248, 248)
shadow = Color.new(104, 104, 104)
@@ -399,16 +418,32 @@ class PokemonSummary_Scene
end
# Write various bits of text
textpos = [
[_INTL("Dex No."), 238, 74, 0, base, shadow],
[_INTL("Species"), 238, 106, 0, base, shadow],
[@pokemon.speciesName, 435, 106, 2, Color.new(64, 64, 64), Color.new(176, 176, 176)],
[_INTL("Type"), 238, 138, 0, base, shadow],
[_INTL("OT"), 238, 170, 0, base, shadow],
[_INTL("ID No."), 238, 202, 0, base, shadow],
#[_INTL("Dex No."), 238, dex_no_y, 0, base, shadow],
[_INTL("Species"), 238, species_y, 0, base, shadow],
[@pokemon.speciesName, 435, species_y, 2, Color.new(64, 64, 64), Color.new(176, 176, 176)],
[_INTL("Type"), 238, type_y, 0, base, shadow],
[_INTL("OT"), 238, ot_y, 0, base, shadow],
# [_INTL("ID No."), 238, id_no_y, 0, base, shadow],
]
# Write the Regional/National Dex number
dexnum = GameData::Species.get(@pokemon.species).id_number
dexnumshift = false
if @pokemon.isFusion?
headName = getPokemon(@pokemon.species_data.get_head_species).name
bodyName = getPokemon(@pokemon.species_data.get_body_species).name
textpos << [_INTL("Head"), 238, fusion_head_y, 0, base, shadow]
textpos << [headName, 435, fusion_head_y, 2, Color.new(64, 64, 64), Color.new(176, 176, 176)]
textpos << [_INTL("Body"), 238, fusion_body_y, 0, base, shadow]
textpos << [bodyName, 435, fusion_body_y, 2, Color.new(64, 64, 64), Color.new(176, 176, 176)]
else
dexnum = GameData::Species.get(@pokemon.species).id_number
textpos << [_INTL("Dex No"), 238, fusion_head_y, 0, base, shadow]
textpos << [sprintf("%03d", dexnum), 435, fusion_head_y, 2, dexNumBase, dexNumShadow]
end
# # Write the Regional/National Dex number
# dexnum = GameData::Species.get(@pokemon.species).id_number
# dexnumshift = false
# if $Trainer.pokedex.unlocked?(-1) # National Dex is unlocked
# dexnumshift = true if Settings::DEXES_WITH_OFFSETS.include?(-1)
# else
@@ -422,16 +457,16 @@ class PokemonSummary_Scene
# break
# end
# end
if dexnum <= 0
textpos.push(["???", 435, 74, 2, dexNumBase, dexNumShadow])
else
dexnum -= 1 if dexnumshift
textpos.push([sprintf("%03d", dexnum), 435, 74, 2, dexNumBase, dexNumShadow])
end
# if dexnum <= 0
# textpos.push(["???", 435, 74, 2, dexNumBase, dexNumShadow])
# else
# dexnum -= 1 if dexnumshift
# textpos.push([sprintf("%03d", dexnum), 435, 74, 2, dexNumBase, dexNumShadow])
# end
# Write Original Trainer's name and ID number
if @pokemon.owner.name.empty?
textpos.push([_INTL("RENTAL"), 435, 170, 2, Color.new(64, 64, 64), Color.new(176, 176, 176)])
textpos.push(["?????", 435, 202, 2, Color.new(64, 64, 64), Color.new(176, 176, 176)])
textpos.push([_INTL("RENTAL"), 435, ot_y, 2, Color.new(64, 64, 64), Color.new(176, 176, 176)])
#textpos.push(["?????", 435, 202, 2, Color.new(64, 64, 64), Color.new(176, 176, 176)])
else
ownerbase = Color.new(64, 64, 64)
ownershadow = Color.new(176, 176, 176)
@@ -443,27 +478,27 @@ class PokemonSummary_Scene
ownerbase = Color.new(248, 56, 32)
ownershadow = Color.new(224, 152, 144)
end
textpos.push([@pokemon.owner.name, 435, 170, 2, ownerbase, ownershadow])
textpos.push([sprintf("%05d", @pokemon.owner.public_id), 435, 202, 2, Color.new(64, 64, 64), Color.new(176, 176, 176)])
textpos.push([@pokemon.owner.name, 435, ot_y, 2, ownerbase, ownershadow])
#textpos.push([sprintf("%05d", @pokemon.owner.public_id), 435, 202, 2, Color.new(64, 64, 64), Color.new(176, 176, 176)])
end
# Write Exp text OR heart gauge message (if a Shadow Pokémon)
if @pokemon.shadowPokemon?
textpos.push([_INTL("Heart Gauge"), 238, 234, 0, base, shadow])
heartmessage = [_INTL("The door to its heart is open! Undo the final lock!"),
_INTL("The door to its heart is almost fully open."),
_INTL("The door to its heart is nearly open."),
_INTL("The door to its heart is opening wider."),
_INTL("The door to its heart is opening up."),
_INTL("The door to its heart is tightly shut.")][@pokemon.heartStage]
memo = sprintf("<c3=404040,B0B0B0>%s\n", heartmessage)
drawFormattedTextEx(overlay, 234, 304, 264, memo)
else
endexp = @pokemon.growth_rate.minimum_exp_for_level(@pokemon.level + 1)
textpos.push([_INTL("Exp. Points"), 238, 234, 0, base, shadow])
textpos.push([@pokemon.exp.to_s_formatted, 488, 266, 1, Color.new(64, 64, 64), Color.new(176, 176, 176)])
textpos.push([_INTL("To Next Lv."), 238, 298, 0, base, shadow])
textpos.push([(endexp - @pokemon.exp).to_s_formatted, 488, 330, 1, Color.new(64, 64, 64), Color.new(176, 176, 176)])
end
# if @pokemon.shadowPokemon?
# textpos.push([_INTL("Heart Gauge"), 238, 234, 0, base, shadow])
# heartmessage = [_INTL("The door to its heart is open! Undo the final lock!"),
# _INTL("The door to its heart is almost fully open."),
# _INTL("The door to its heart is nearly open."),
# _INTL("The door to its heart is opening wider."),
# _INTL("The door to its heart is opening up."),
# _INTL("The door to its heart is tightly shut.")][@pokemon.heartStage]
# memo = sprintf("<c3=404040,B0B0B0>%s\n", heartmessage)
# drawFormattedTextEx(overlay, 234, 304, 264, memo)
# else
endexp = @pokemon.growth_rate.minimum_exp_for_level(@pokemon.level + 1)
textpos.push([_INTL("Exp. Points"), 238, 234, 0, base, shadow])
textpos.push([@pokemon.exp.to_s_formatted, 488, 266, 1, Color.new(64, 64, 64), Color.new(176, 176, 176)])
textpos.push([_INTL("To Next Lv."), 238, 298, 0, base, shadow])
textpos.push([(endexp - @pokemon.exp).to_s_formatted, 488, 330, 1, Color.new(64, 64, 64), Color.new(176, 176, 176)])
#end
# Draw all text
pbDrawTextPositions(overlay, textpos)
# Draw Pokémon type(s)
@@ -471,11 +506,13 @@ class PokemonSummary_Scene
type2_number = GameData::Type.get(@pokemon.type2).id_number
type1rect = Rect.new(0, type1_number * 28, 64, 28)
type2rect = Rect.new(0, type2_number * 28, 64, 28)
type_graphics_y = type_y + type_y_offset
if @pokemon.type1 == @pokemon.type2
overlay.blt(402, 146, @typebitmap.bitmap, type1rect)
overlay.blt(402, type_graphics_y, @typebitmap.bitmap, type1rect)
else
overlay.blt(370, 146, @typebitmap.bitmap, type1rect)
overlay.blt(436, 146, @typebitmap.bitmap, type2rect)
overlay.blt(370, type_graphics_y, @typebitmap.bitmap, type1rect)
overlay.blt(436, type_graphics_y, @typebitmap.bitmap, type2rect)
end
# Draw Exp bar
if @pokemon.level < GameData::GrowthRate.max_level
@@ -689,7 +726,6 @@ class PokemonSummary_Scene
# end
# end
# Draw all text
pbDrawTextPositions(overlay, textpos)
# Draw HP bar
@@ -868,32 +904,45 @@ class PokemonSummary_Scene
end
def drawPageFive
overlay = @sprites["overlay"].bitmap
@sprites["uparrow"].visible = false
@sprites["downarrow"].visible = false
# Write various bits of text
textpos = [
[_INTL("No. of Ribbons:"), 234, 326, 0, Color.new(64, 64, 64), Color.new(176, 176, 176)],
[@pokemon.numRibbons.to_s, 450, 326, 1, Color.new(64, 64, 64), Color.new(176, 176, 176)],
]
# Draw all text
pbDrawTextPositions(overlay, textpos)
# Show all ribbons
imagepos = []
coord = 0
for i in @ribbonOffset * 4...@ribbonOffset * 4 + 12
break if !@pokemon.ribbons[i]
ribbon_data = GameData::Ribbon.get(@pokemon.ribbons[i])
ribn = ribbon_data.id_number - 1
imagepos.push(["Graphics/Pictures/ribbons",
230 + 68 * (coord % 4), 78 + 68 * (coord / 4).floor,
64 * (ribn % 8), 64 * (ribn / 8).floor, 64, 64])
coord += 1
end
# Draw all images
pbDrawImagePositions(overlay, imagepos)
return if !$Trainer.has_pokedex
$Trainer.pokedex.register_last_seen(@pokemon)
pbFadeOutIn {
scene = PokemonPokedexInfo_Scene.new
screen = PokemonPokedexInfoScreen.new(scene)
screen.pbStartSceneSingle(@pokemon.species)
}
pbChangePokemon
@page -= 1
drawPageFour #stay on the same page
end
# def drawPageFive
# overlay = @sprites["overlay"].bitmap
# @sprites["uparrow"].visible = false
# @sprites["downarrow"].visible = false
# # Write various bits of text
# textpos = [
# [_INTL("No. of Ribbons:"), 234, 326, 0, Color.new(64, 64, 64), Color.new(176, 176, 176)],
# [@pokemon.numRibbons.to_s, 450, 326, 1, Color.new(64, 64, 64), Color.new(176, 176, 176)],
# ]
# # Draw all text
# pbDrawTextPositions(overlay, textpos)
# # Show all ribbons
# imagepos = []
# coord = 0
# for i in @ribbonOffset * 4...@ribbonOffset * 4 + 12
# break if !@pokemon.ribbons[i]
# ribbon_data = GameData::Ribbon.get(@pokemon.ribbons[i])
# ribn = ribbon_data.id_number - 1
# imagepos.push(["Graphics/Pictures/ribbons",
# 230 + 68 * (coord % 4), 78 + 68 * (coord / 4).floor,
# 64 * (ribn % 8), 64 * (ribn / 8).floor, 64, 64])
# coord += 1
# end
# # Draw all images
# pbDrawImagePositions(overlay, imagepos)
# end
def drawSelectedRibbon(ribbonid)
# Draw all of page five
drawPage(5)
@@ -1232,7 +1281,7 @@ class PokemonSummary_Scene
commands[cmdGiveItem = commands.length] = _INTL("Give item")
commands[cmdTakeItem = commands.length] = _INTL("Take item") if @pokemon.hasItem?
end
commands[cmdPokedex = commands.length] = _INTL("View Pokédex") if $Trainer.has_pokedex
commands[cmdPokedex = commands.length] = _INTL("View Pokédex") if $Trainer.has_pokedex
end
commands[cmdMark = commands.length] = _INTL("Mark")
commands[commands.length] = _INTL("Cancel")
@@ -1256,6 +1305,7 @@ class PokemonSummary_Scene
screen = PokemonPokedexInfoScreen.new(scene)
screen.pbStartSceneSingle(@pokemon.species)
}
pbChangePokemon
dorefresh = true
elsif cmdMark >= 0 && command == cmdMark
dorefresh = pbMarking(@pokemon)
@@ -1320,9 +1370,10 @@ class PokemonSummary_Scene
pbMoveSelection
dorefresh = true
elsif @page == 5
@page -= 1
pbPlayDecisionSE
pbRibbonSelection
dorefresh = true
#pbRibbonSelection
#dorefresh = true
elsif !@inbattle
pbPlayDecisionSE
dorefresh = pbOptions
@@ -1354,14 +1405,18 @@ class PokemonSummary_Scene
dorefresh = true
end
elsif Input.trigger?(Input::RIGHT) && !@pokemon.egg?
oldpage = @page
@page += 1
@page = 1 if @page < 1
@page = 5 if @page > 5
if @page != oldpage # Move to next page
pbSEPlay("GUI summary change page")
@ribbonOffset = 0
dorefresh = true
if @page == 4 && !$Trainer.has_pokedex
pbSEPlay("GUI sel buzzer")
else
oldpage = @page
@page += 1
@page = 1 if @page < 1
@page = 5 if @page > 5
if @page != oldpage # Move to next page
pbSEPlay("GUI summary change page")
@ribbonOffset = 0
dorefresh = true
end
end
end
if dorefresh

View File

@@ -17,6 +17,8 @@ class PokemonSystem
attr_accessor :level_caps
attr_accessor :battle_type
attr_accessor :download_sprites
attr_accessor :speedup
attr_accessor :speedup_speed
def initialize
@textspeed = 1 # Text speed (0=slow, 1=normal, 2=fast)
@@ -32,8 +34,9 @@ class PokemonSystem
@textinput = 1 # Text input mode (0=cursor, 1=keyboard)
@quicksurf = 0
@battle_type = 0
@speedup = 0 #0= hold, 1=toggle
@speedup_speed = 3 #for hold only
@download_sprites = 0
end
end
@@ -197,10 +200,10 @@ class Window_PokemonOption < Window_DrawableCommand
@selBaseColor = Color.new(31 * 8, 6 * 8, 3 * 8)
@selShadowColor = Color.new(31 * 8, 17 * 8, 16 * 8)
@optvalues = []
@mustUpdateOptions = false
@mustUpdateOptions = false
@mustUpdateDescription = false
@selected_position = 0
@allow_arrows_jump=false
@allow_arrows_jump = false
for i in 0...@options.length
@optvalues[i] = 0
end
@@ -439,6 +442,14 @@ class PokemonOption_Scene
end
}, "Sets the volume for sound effects"
)
options << EnumOption.new(_INTL("Default Movement"), [_INTL("Walking"), _INTL("Running")],
proc { $PokemonSystem.runstyle },
proc { |value| $PokemonSystem.runstyle = value },
["Default to walking when not holding the Run key",
"Default to running when not holding the Run key"]
)
options << EnumOption.new(_INTL("Text Speed"), [_INTL("Normal"), _INTL("Fast")],
proc { $PokemonSystem.textspeed },
proc { |value|
@@ -446,6 +457,36 @@ class PokemonOption_Scene
MessageConfig.pbSetTextSpeed(MessageConfig.pbSettingToTextSpeed(value))
}, "Sets the speed at which the text is displayed"
)
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
},
"Automatically saves when healing at Pokémon centers"
)
end
options << EnumOption.new(_INTL("Speed-up type"), [_INTL("Hold"), _INTL("Toggle")],
proc { $PokemonSystem.speedup },
proc { |value|
$PokemonSystem.speedup = value
}, "Pick how you want speed-up to be enabled"
)
options << SliderOption.new(_INTL("Speed-up speed"), 1, 10, 1,
proc { $PokemonSystem.speedup_speed },
proc { |value|
$PokemonSystem.speedup_speed = value
}, "Sets by how much to speed up the game when holding the speed up button (Default: 3x)"
)
# if $game_switches && ($game_switches[SWITCH_NEW_GAME_PLUS] || $game_switches[SWITCH_BEAT_THE_LEAGUE]) #beat the league
# options << EnumOption.new(_INTL("Text Speed"), [_INTL("Normal"), _INTL("Fast"), _INTL("Instant")],
# proc { $PokemonSystem.textspeed },
@@ -465,7 +506,7 @@ class PokemonOption_Scene
# end
options <<
EnumOption.new(_INTL("Download sprites"), [_INTL("On"), _INTL("Off")],
proc { $PokemonSystem.download_sprites},
proc { $PokemonSystem.download_sprites },
proc { |value|
$PokemonSystem.download_sprites = value
},
@@ -474,22 +515,6 @@ class PokemonOption_Scene
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
},
"Automatically saves when healing at Pokémon centers"
)
end
if $game_switches && ($game_switches[SWITCH_NEW_GAME_PLUS] || $game_switches[SWITCH_BEAT_THE_LEAGUE]) #beat the league
options <<
EnumOption.new(_INTL("Battle type"), [_INTL("1v1"), _INTL("2v2"), _INTL("3v3")],
@@ -522,12 +547,6 @@ class PokemonOption_Scene
"No prompt to switch Pokémon before the opponent sends the next one"]
)
options << EnumOption.new(_INTL("Default Movement"), [_INTL("Walking"), _INTL("Running")],
proc { $PokemonSystem.runstyle },
proc { |value| $PokemonSystem.runstyle = value },
["Default to walking when not holding the Run key",
"Default to running when not holding the Run key"]
)
options << NumberOption.new(_INTL("Speech Frame"), 1, Settings::SPEECH_WINDOWSKINS.length,
proc { $PokemonSystem.textskin },