mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 13:15:01 +00:00
updates to version 6.1
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 },
|
||||
|
||||
Reference in New Issue
Block a user