3 Commits

Author SHA1 Message Date
chardub
5b85e72cb2 6.7.2 patch 2025-10-02 10:35:46 -04:00
chardub
e5406179bf 6.7.1 patch fixes 2025-10-01 11:28:13 -04:00
chardub
1271d7e8f0 fixes naked sprite when fishing 2025-09-28 18:22:11 -04:00
70 changed files with 3168 additions and 229 deletions

5
.gitignore vendored
View File

@@ -3,13 +3,8 @@ Graphics/Battlers/Shiny/*
Graphics/CustomBattlers/spritesheets/*
Graphics/CustomBattlers/*
Data/sprites/*
Data/VERSION
infinitefusion.sh
Data/sprites/CUSTOM_SPRITES
Data/sprites
Data/sprites/updated_spritesheets_cache
Data/sprites/sprites_rate_limit.log
.gitignore
Game.rxproj
.DS_Store

BIN
Data/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -5,8 +5,7 @@
#==============================================================================#
module Settings
# The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format.
GAME_VERSION = '6.7.0'
GAME_VERSION_NUMBER = "6.7.0"
GAME_VERSION_NUMBER = "6.7.2"
LATEST_GAME_RELEASE = "6.6"
KANTO = GAME_ID == :IF_KANTO

View File

@@ -203,7 +203,7 @@ module SaveData
end
echoln '' if conversions_to_run.length > 0
save_data[:essentials_version] = Essentials::VERSION
save_data[:game_version] = Settings::GAME_VERSION
save_data[:game_version] = Settings::GAME_VERSION_NUMBER
return true
end

View File

@@ -129,7 +129,7 @@ end
SaveData.register(:game_version) do
load_in_bootup
ensure_class :String
save_value { Settings::GAME_VERSION }
save_value { Settings::GAME_VERSION_NUMBER }
load_value { |value| $game_version = value }
new_game_value { Settings::GAME_VERSION }
new_game_value { Settings::GAME_VERSION_NUMBER }
end

View File

@@ -8,7 +8,7 @@ SaveData.register_conversion(:v19_define_versions) do
save_data[:essentials_version] = Essentials::VERSION
end
unless save_data.has_key?(:game_version)
save_data[:game_version] = Settings::GAME_VERSION
save_data[:game_version] = Settings::GAME_VERSION_NUMBER
end
end
end

View File

@@ -60,7 +60,7 @@ class Sprite_Player < Sprite_Character
@charbitmap.bitmap.clone #nekkid sprite
baseBitmap = @charbitmap.bitmap.clone #nekkid sprite
if $game_player.hasGraphicsOverride?
if $game_player.hasGraphicsOverride? && @character_name != "fish"
@hair.update(@character_name, "", 0) if @hair
@hat.update(@character_name, "", 0) if @hat
@hat2.update(@character_name, "", 0) if @hat2
@@ -84,6 +84,7 @@ class Sprite_Player < Sprite_Character
hat2_color_shift = 0 if !hat2_color_shift
clothes_color_shift = 0 if !clothes_color_shift
@hair.update(@character_name, hairFilename, hair_color_shift) if @hair
@hat.update(@character_name, hatFilename, hat_color_shift) if @hat
@hat2.update(@character_name, hat2Filename, hat2_color_shift) if @hat2

View File

@@ -745,6 +745,7 @@ def addBackgroundPlane(sprites,planename,background,viewport=nil)
end
end
end
return sprites[planename]
end
# Adds a background to the sprite hash.

View File

@@ -634,7 +634,7 @@ class PokemonBattlerSprite < RPG::Sprite
@_iconBitmap.scale_bitmap(scale)
self.bitmap = (@_iconBitmap) ? @_iconBitmap.bitmap : nil
add_hat_to_bitmap(self.bitmap,pkmn.hat,pkmn.hat_x,pkmn.hat_y,scale,self.mirror) if self.bitmap && pkmn.hat
add_hat_to_bitmap(self.bitmap,pkmn.hat,pkmn.hat_x,pkmn.hat_y,scale,pkmn.hat_mirrored_horizontal,pkmn.hat_mirrored_vertical) if self.bitmap && pkmn.hat
pbSetPosition
end

View File

@@ -244,7 +244,7 @@ class PokeBattle_Scene
trainer = pbAddSprite("trainer_#{idxTrainer + 1}", spriteX, spriteY, trainerFile, @viewport)
spriteOverrideBitmap = setTrainerSpriteOverrides(trainerType)
trainer.bitmap = spriteOverrideBitmap if spriteOverrideBitmap
trainer.bitmap = generate_front_trainer_sprite_bitmap_from_appearance(custom_appearance).bitmap if custom_appearance
trainer.bitmap = generate_front_trainer_sprite_bitmap_from_appearance(custom_appearance,true).bitmap if custom_appearance
return if !trainer.bitmap
# Alter position of sprite
trainer.z = 7 + idxTrainer
@@ -254,7 +254,7 @@ class PokeBattle_Scene
def setTrainerSpriteOverrides(trainer_type)
if TYPE_EXPERTS_APPEARANCES.keys.include?(trainer_type)
return generate_front_trainer_sprite_bitmap_from_appearance(TYPE_EXPERTS_APPEARANCES[trainer_type]).bitmap
return generate_front_trainer_sprite_bitmap_from_appearance(TYPE_EXPERTS_APPEARANCES[trainer_type],false).bitmap
end
end

View File

@@ -59,7 +59,7 @@ class PokemonSprite < SpriteWrapper
if pokemon.hat
new_bitmap = Bitmap.new(base_bitmap.width, base_bitmap.height)
new_bitmap.blt(0, 0, base_bitmap.bitmap, base_bitmap.bitmap.rect)
add_hat_to_bitmap(new_bitmap, pokemon.hat, pokemon.hat_x, pokemon.hat_y)
add_hat_to_bitmap(new_bitmap, pokemon.hat, pokemon.hat_x, pokemon.hat_y, 1, pokemon.hat_mirrored_horizontal,pokemon.hat_mirrored_vertical)
@_iconbitmap = SpriteWrapper.new
@_iconbitmap.bitmap = new_bitmap
else

View File

@@ -48,8 +48,10 @@ class HallOfFame_Scene
@viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
@viewport.z = 99999
# Comment the below line to doesn't use a background
bgFile = @singlerow ? "hallfamebg" : "hallfamebg_multiline"
addBackgroundPlane(@sprites, "bg", bgFile, @viewport)
@sprites["bg"] = IconSprite.new(@viewport)
@sprites["bg"].setBitmap(getHallOfFameBackground)
@sprites["bg"].z = 0
@sprites["hallbars"] = IconSprite.new(@viewport)
@sprites["hallbars"].setBitmap("Graphics/Pictures/hallfamebars")
@sprites["overlay"] = BitmapSprite.new(Graphics.width, Graphics.height, @viewport)
@@ -73,12 +75,25 @@ class HallOfFame_Scene
pbFadeInAndShow(@sprites) { pbUpdate }
end
def getHallOfFameBackground
if @singlerow #in the e4
rank = pbGet(VAR_LEAGUE_REMATCH_TIER)
background = "Graphics/Pictures/HallOfFame/hallfamebg"
else #from PC
rank = $PokemonGlobal.hallOfFame[@hallIndex][:TIER]
background = "Graphics/Pictures/HallOfFame/hallfamebg_multiline"
end
if rank && rank.to_i > 0
background += "_#{rank}"
end
return background
end
def pbStartScenePC
@singlerow = false
pbStartScene
@hallIndex = $PokemonGlobal.hallOfFame.size - 1
echoln $PokemonGlobal.hallOfFame[-1]
pbStartScene
@hallEntry = $PokemonGlobal.hallOfFame[-1][:TEAM]
createBattlers(false)
pbFadeInAndShow(@sprites) { pbUpdate }
@@ -136,6 +151,7 @@ class HallOfFame_Scene
entryData[:DIFFICULTY] = getDifficulty
entryData[:MODE] = getCurrentGameMode()
entryData[:DATE] = getCurrentDate()
entryData[:TIER] = getCurrentE4Tier()
#Save trainer data (unused for now)
entryData[:TRAINER_HAT] = $Trainer.hat
@@ -381,7 +397,12 @@ class HallOfFame_Scene
def writeWelcomePC
overlay = @sprites["overlay"].bitmap
overlay.clear
pbDrawTextPositions(overlay, [[_INTL("Entered the Hall of Fame!"),
text = _INTL("Entered the Hall of Fame!")
rank = $PokemonGlobal.hallOfFame[@hallIndex][:TIER]
if rank && rank.to_i > 0
text += _INTL(" (Rematch Tier {1})",rank.to_i)
end
pbDrawTextPositions(overlay, [[text,
Graphics.width / 2, Graphics.height - 80, 2, BASECOLOR, SHADOWCOLOR]])
date = $PokemonGlobal.hallOfFame[@hallIndex][:DATE]
@@ -397,11 +418,17 @@ class HallOfFame_Scene
pbDrawTextPositions(overlay, [[_INTL("{1}", timeString), x, y, 2, BASECOLOR, SHADOWCOLOR]])
end
def getCurrentDate()
currentTime = Time.new
return currentTime.year.to_s + "-" + ("%02d" % currentTime.month) + "-" + ("%02d" % currentTime.day)
end
def getCurrentE4Tier()
return pbGet(VAR_LEAGUE_REMATCH_TIER)
end
def getCurrentGameMode()
gameMode = "Classic mode"
if $game_switches[SWITCH_MODERN_MODE]
@@ -563,6 +590,7 @@ class HallOfFame_Scene
@battlerIndex = @hallEntry.size - 1
createBattlers(false)
end
@sprites["bg"].setBitmap(getHallOfFameBackground)
# Change the pokemon
@hallEntry[@battlerIndex].play_cry
setPokemonSpritesOpacity(@battlerIndex, OPACITY)

View File

@@ -24,7 +24,11 @@ class MoveRelearner_Scene
@pokemon=pokemon
@moves=moves
moveCommands=[]
moves.each { |m| moveCommands.push(GameData::Move.get(m).name) }
echoln moves
moves.each do |m|
echoln m.name
moveCommands.push(GameData::Move.get(m).name)
end
# Create sprite hash
@viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
@viewport.z=99999
@@ -169,7 +173,9 @@ class MoveRelearnerScreen
end
pkmn.learned_moves.each do |move|
moves.push(move) if !moves.include?(move)
move_id = move.is_a?(Symbol) ? move : move.id
next if pkmn.hasMove?(move_id)
moves.push(move_id) if !moves.include?(move_id)
end
tmoves = []
@@ -178,6 +184,7 @@ class MoveRelearnerScreen
tmoves.push(i) if !pkmn.hasMove?(i) && !moves.include?(i)
end
end
moves = tmoves + moves
return moves | [] # remove duplicates
end

View File

@@ -139,29 +139,30 @@ def getCurrentPokeball(allowEasterEgg=true)
return nil
end
def generate_front_trainer_sprite_bitmap_from_appearance(trainerAppearance)
def generate_front_trainer_sprite_bitmap_from_appearance(trainerAppearance,is_trainer=true)
echoln trainerAppearance.hat
return generate_front_trainer_sprite_bitmap(false,nil,trainerAppearance.clothes,trainerAppearance.hat,trainerAppearance.hat2,
trainerAppearance.hair,trainerAppearance.skin_color,
trainerAppearance.hair_color,trainerAppearance.hat_color,trainerAppearance.clothes_color,
trainerAppearance.hat2_color)
trainerAppearance.hat2_color,
is_trainer)
end
def generate_front_trainer_sprite_bitmap(allowEasterEgg=true, pokeball = nil,
clothes_id = nil, hat_id = nil, hat2_id=nil, hair_id = nil,
skin_tone_id = nil, hair_color = nil, hat_color = nil, clothes_color = nil,
hat2_color = nil)
hat2_color = nil, is_trainer=true)
clothes_id = $Trainer.clothes if !clothes_id
hat_id = $Trainer.hat if !hat_id
hat2_id = $Trainer.hat2 if !hat2_id
clothes_id = $Trainer.clothes if !clothes_id && is_trainer
hat_id = $Trainer.hat if !hat_id && is_trainer
hat2_id = $Trainer.hat2 if !hat2_id && is_trainer
hair_id = $Trainer.hair if !hair_id
skin_tone_id = $Trainer.skin_tone if !skin_tone_id
hair_color = $Trainer.hair_color if !hair_color
hat_color = $Trainer.hat_color if !hat_color
hat2_color = $Trainer.hat2_color if !hat2_color
clothes_color = $Trainer.clothes_color if !clothes_color
hair_id = $Trainer.hair if !hair_id && is_trainer
skin_tone_id = $Trainer.skin_tone if !skin_tone_id && is_trainer
hair_color = $Trainer.hair_color if !hair_color && is_trainer
hat_color = $Trainer.hat_color if !hat_color && is_trainer
hat2_color = $Trainer.hat2_color if !hat2_color && is_trainer
clothes_color = $Trainer.clothes_color if !clothes_color && is_trainer
hairFilename = getTrainerSpriteHairFilename(hair_id) #_INTL(Settings::PLAYER_GRAPHICS_FOLDER + Settings::PLAYER_HAIR_FOLDER + "/hair_trainer_{1}", $Trainer.hair)
outfitFilename = getTrainerSpriteOutfitFilename(clothes_id) #_INTL(Settings::PLAYER_GRAPHICS_FOLDER + Settings::PLAYER_CLOTHES_FOLDER + "/clothes_trainer_{1}", $Trainer.clothes)
@@ -375,13 +376,14 @@ def duplicateHatForFrames(hatBitmap, frame_count)
return duplicatedBitmap
end
def add_hat_to_bitmap(bitmap, hat_id, x_pos, y_pos, scale = 1, mirrored = false)
def add_hat_to_bitmap(bitmap, hat_id, x_pos, y_pos, scale = 1, mirrored_horizontal = false, mirrored_vertical = false)
base_scale = 1.5 #coz hat & poke sprites aren't the same size
adjusted_scale = base_scale * scale
hat_filename = getTrainerSpriteHatFilename(hat_id)
hatBitmapWrapper = AnimatedBitmap.new(hat_filename, 0) if pbResolveBitmap(hat_filename)
hatBitmapWrapper.scale_bitmap(adjusted_scale) if hatBitmapWrapper
hatBitmapWrapper.mirror if hatBitmapWrapper && mirrored
hatBitmapWrapper.mirror_horizontally if hatBitmapWrapper && mirrored_horizontal
hatBitmapWrapper.mirror_vertically if hatBitmapWrapper && mirrored_vertical
bitmap.blt(x_pos * adjusted_scale, y_pos * adjusted_scale, hatBitmapWrapper.bitmap, hatBitmapWrapper.bitmap.rect) if hatBitmapWrapper
end

View File

@@ -24,6 +24,10 @@ CLOTHES_WAITER = "butler"
CLOTHES_LASS_YELLOW ="lass"
CLOTHES_LASS_BLUE ="lass2"
CLOTHES_ROCKET_WHITE_M ="RocketJames"
CLOTHES_ROCKET_WHITE_F ="RocketJessie"
DEFAULT_OUTFIT_MALE = "red"
DEFAULT_OUTFIT_FEMALE = "leaf"
STARTING_OUTFIT = "pikajamas"
@@ -47,7 +51,7 @@ HAT_ORAN = "orange"
HAT_FLOWERS = "grassexpert"
HAT_LUCHA = "hawluchamask"
HAT_EEVEE_EARS = "eeveeears"
HAT_PARASHROOM = "parashroom"
HAT_AERODACTYL = "aerodactylSkull"
HAT_DUSKULL_MASK = "duskullmask"

View File

@@ -21,7 +21,8 @@ class PokemonHatPresenter
@min_y, @max_y = -120, 120 # Safe symmetric range
@hatBitmapWrapper = AnimatedBitmap.new(@hatFilename, 0) if pbResolveBitmap(@hatFilename)
@hatBitmapWrapper.mirror_horizontally if @hatBitmapWrapper && @hat_mirrored_horizontal
@hatBitmapWrapper.mirror_vertically if @hatBitmapWrapper && @hat_mirrored_vertical
end
def pbStartScreen
@@ -66,7 +67,7 @@ class PokemonHatPresenter
return false if Input.trigger?(Input::BACK)
@view.update()
end
@pokemon.hat = @hat_id
updatePokemonHatPosition
@view.hide_select_arrows
end
@@ -89,13 +90,21 @@ class PokemonHatPresenter
return false if Input.trigger?(Input::BACK)
@view.update()
end
resetHatVisualFlip
@view.hide_move_arrows
return true
end
#Let the sprite display stuff handle the actual flipping
def resetHatVisualFlip
return unless @hatBitmapWrapper
@hatBitmapWrapper.mirror_horizontally if @hat_mirrored_horizontal
@hatBitmapWrapper.mirror_vertically if @hat_mirrored_vertical
end
def flipHatHorizontally()
return unless @hatBitmapWrapper
@hat_mirrored_horizontal = !@hat_mirrored_horizontal
pbSEPlay("GUI storage pick up")
@hatBitmapWrapper.mirror_horizontally
@@ -104,6 +113,7 @@ class PokemonHatPresenter
def flipHatVertically()
return unless @hatBitmapWrapper
pbSEPlay("GUI storage pick up")
@hat_mirrored_vertical = !@hat_mirrored_vertical
@hatBitmapWrapper.mirror_vertically

View File

@@ -63,8 +63,8 @@ TYPE_EXPERT_TRAINERS = {
:ROCK => ["Slate", _INTL("Looks like Ive hit rock bottom...")],
:WATER => ["Marina", _INTL("You really made a splash!")],
:FLYING => ["Gale", _INTL("I guess Im grounded for now.")],
:DARK => ["Raven", _INTL("Ill slip back into the shadows")],
:STEEL => ["Silvia", _INTL("I guess I was a bit rusty...")],
:DARK => ["Gerard", _INTL("I guess I'll slip back into the shadows...")],
:STEEL => ["Silvia", _INTL("I was a bit rusty...")],
:PSYCHIC => ["Carl", _INTL("I could not foresee this defeat.")],
:GHOST => ["Evangeline", _INTL("I can feel myself disappearing into thin air!")],
:POISON => ["Marie", _INTL("I got a taste of my own medicine!")],

View File

@@ -94,7 +94,7 @@ VAR_ROCKET_NAME=25
VAR_NB_CRIMES_REPORTED=300
VAR_EXOTIC_POKEMON_ID=327
VAR_TYPE_EXPERTS_BEATEN=332
TOTAL_NB_TYPE_EXPERTS=331
#TOTAL_NB_TYPE_EXPERTS=331
#Randomizer
VAR_RANDOMIZER_WILD_POKE_BST=197

View File

@@ -41,6 +41,7 @@ SWITCH_GOT_BADGE_14 = 44
SWITCH_GOT_BADGE_15 = 45
SWITCH_GOT_BADGE_16 = 50
SWITCH_LEAGUE_TIER_1= 1155
SWITCH_LEAGUE_TIER_2= 1151
SWITCH_LEAGUE_TIER_3= 1152
SWITCH_LEAGUE_TIER_4= 1153

View File

@@ -1118,8 +1118,8 @@ ItemHandlers::UseOnPokemon.add(:POISONMUSHROOM, proc { |item, pkmn, scene|
next pbHPItem(pkmn, 10, scene)
})
ItemHandlers::BattleUseOnPokemon.add(:POISONMUSHROOM, proc { |item, pokemon, battler, choices, scene|
if battler.status != :POISON
battler.status = :POISON
if pokemon.status != :POISON
pokemon.status = :POISON
scene.pbRefresh
scene.pbDisplay(_INTL("{1} was poisoned from eating the mushroom.", pokemon.name))
end
@@ -1331,6 +1331,7 @@ ItemHandlers::BattleUseOnPokemon.add(:ROCKETMEAL, proc { |item, pokemon, battler
})
ItemHandlers::UseOnPokemon.add(:FANCYMEAL, proc { |item, pokemon, scene|
next pbHPItem(pokemon, 100, scene)
})
@@ -1343,6 +1344,7 @@ ItemHandlers::UseOnPokemon.add(:COFFEE, proc { |item, pokemon, scene|
})
ItemHandlers::BattleUseOnPokemon.add(:COFFEE, proc { |item, pokemon, battler, choices, scene|
battler.pbRaiseStatStage(:SPEED,(Settings::X_STAT_ITEMS_RAISE_BY_TWO_STAGES) ? 2 : 1,battler) if battler
pbBattleHPItem(pokemon, battler, 50, scene)
})

View File

@@ -50,7 +50,7 @@ QUESTS = {
#Celadon City
"celadon_1" => Quest.new("celadon_1", _INTL("Sun or Moon"), _INTL("Show the Pokémon that Eevee evolves when exposed to a Moon or Sun stone to help the scientist with her research."), "BW (82)", _INTL("Celadon City"), HotelQuestColor),
"celadon_2" => Quest.new("celadon_2", _INTL("For Whom the Bell Tolls"), _INTL("Ring Lavender Town's bell when the time is right to reveal its secret."), "BW (40)", _INTL("Lavender Town"), HotelQuestColor),
"celadon_3" => Quest.new("celadon_3", _INTL("Hardboiled"), _INTL("A lady wants you to give her an egg to make an omelette.", "BW (24)"), _INTL("Celadon City"), HotelQuestColor),
"celadon_3" => Quest.new("celadon_3", _INTL("Hardboiled"), _INTL("A lady wants you to give her an egg to make an omelette."), "BW (24)", _INTL("Celadon City"), HotelQuestColor),
"celadon_field_1" => Quest.new("celadon_field_1", _INTL("A stroll with Eevee!"), _INTL("Walk Eevee around for a while until it gets tired."), "BW (37)", _INTL("Celadon City"), FieldQuestColor),
#Fuchsia City

View File

@@ -43,7 +43,7 @@ end
def getCurrentLevelCap()
current_max_level = Settings::LEVEL_CAPS[$Trainer.badge_count]
current_max_level *= Settings::HARD_MODE_LEVEL_MODIFIER if $game_switches[SWITCH_GAME_DIFFICULTY_HARD]
return current_max_level
return current_max_level.floor
end
def pokemonExceedsLevelCap(pokemon)

View File

@@ -2,7 +2,7 @@ def spriteOptionsMenu
commands = []
cmd_manual_update= _INTL("Update sprites manually")
cmd_clear_sprite_cache = _INTL("Clear sprite cache")
cmd_reset_alt_sprites = _INTL("Reset selected sprites")
cmd_reset_alt_sprites = _INTL("Reset displayed alt sprites")
cmd_cancel = _INTL("Cancel")
commands << cmd_manual_update
commands << cmd_clear_sprite_cache

View File

@@ -133,25 +133,26 @@ class PokemonStorageScreen
def multipleSelectedPokemonCommands(selected, pokemonCount)
commands = []
cmdMove = -1
cmdRelease = -1
cmdCancel = -1
cmdSort = -1
cmdMove = _INTL("Move")
cmdRelease = _INTL("Release")
cmdCancel = _INTL("Cancel")
cmdSort = _INTL("Sort")
helptext = _INTL("Selected {1} Pokémon.", pokemonCount)
commands[cmdMove = commands.length] = _INTL("Move")
commands[cmdSort = commands.length] = _INTL("Sort")
commands[cmdRelease = commands.length] = _INTL("Release") if $DEBUG
commands[cmdCancel = commands.length] = _INTL("Cancel")
commands << cmdMove
commands << cmdSort
commands << cmdRelease if $DEBUG
commands << cmdCancel
command = pbShowCommands(helptext, commands)
chosen = pbShowCommands(helptext, commands)
if command == cmdMove
case commands[chosen]
when cmdMove
pbHoldMulti(selected[0], selected[1])
elsif command == cmdSort
when cmdSort
pbSortMulti(selected[0])
elsif command == cmdRelease
when cmdRelease
pbReleaseMulti(selected[0])
end
end

View File

@@ -1,4 +1,13 @@
def exportTeamForShowdown()
message = ""
for pokemon in $Trainer.party
message << exportFusedPokemonForShowdown(pokemon)
message << "\n"
end
Input.clipboard = message
end
# Output example
# Clefnair (Clefable) @ Life Orb
# Ability: Magic Guard

View File

@@ -27,7 +27,7 @@ def initializeLegendaryMode()
$game_switches[SWITCH_GYM_RANDOM_EACH_BATTLE] = false
$game_switches[SWITCH_RANDOM_GYM_PERSIST_TEAMS] = true
$game_switches[SWITCH_LEGENDARY_MODE] = true
$game_switches[SWITCH_RANDOMIZED_AT_LEAST_ONCE] = true
addLegendaryEggsToPC
$PokemonSystem.hide_custom_eggs = true
$PokemonSystem.type_icons = true
@@ -156,7 +156,7 @@ def addLegendaryEggsToPC()
legendaries_species = LEGENDARIES_LIST.shuffle
legendaries_species.each do |species|
pokemon = Pokemon.new(species, Settings::EGG_LEVEL)
pokemon.steps_to_hatch = pokemon.species_data.hatch_steps
pokemon.steps_to_hatch = pokemon.species_data.hatch_steps/2
pokemon.name = "Egg"
$PokemonStorage.pbStoreCaught(pokemon)
end

View File

@@ -225,7 +225,7 @@ module SaveData
end
echoln '' if conversions_to_run.length > 0
save_data[:essentials_version] = Essentials::VERSION
save_data[:game_version] = Settings::GAME_VERSION
save_data[:game_version] = Settings::GAME_VERSION_NUMBER
return true
end
end

View File

@@ -99,7 +99,7 @@ end
def list_unlocked_league_tiers
unlocked_tiers =[]
unlocked_tiers << 1 if $game_switches[SWITCH_BEAT_THE_LEAGUE]
unlocked_tiers << 1 if $game_switches[SWITCH_LEAGUE_TIER_1]
unlocked_tiers << 2 if $game_switches[SWITCH_LEAGUE_TIER_2]
unlocked_tiers << 3 if $game_switches[SWITCH_LEAGUE_TIER_3]
unlocked_tiers << 4 if $game_switches[SWITCH_LEAGUE_TIER_4]
@@ -111,7 +111,7 @@ def select_league_tier
#validateE4Data
available_tiers = list_unlocked_league_tiers
return 0 if available_tiers.empty?
return available_tiers[0] if available_tiers.length == 1
#return available_tiers[0] if available_tiers.length == 1
available_tiers.reverse!
commands = []
@@ -139,17 +139,16 @@ def unlock_new_league_tiers
tiers_to_unlock << 3 if current_tier == 2 && $game_switches[SWITCH_BEAT_MT_SILVER]
tiers_to_unlock << 4 if current_tier == 3 && $game_variables[VAR_NB_GYM_REMATCHES] >= 16
tiers_to_unlock << 5 if current_tier == 4
tiers_to_unlock.each do |tier|
next if tier == 1 || tier == 0
next if tier == 0
$game_switches[SWITCH_LEAGUE_TIER_1] = true if tiers_to_unlock.include?(1)
$game_switches[SWITCH_LEAGUE_TIER_2] = true if tiers_to_unlock.include?(2)
$game_switches[SWITCH_LEAGUE_TIER_3] = true if tiers_to_unlock.include?(3)
$game_switches[SWITCH_LEAGUE_TIER_4] = true if tiers_to_unlock.include?(4)
$game_switches[SWITCH_LEAGUE_TIER_5] = true if tiers_to_unlock.include?(5)
unless currently_unlocked_tiers.include?(tier)
pbMEPlay("Key item get")
pbMessage(_INTL("{1} unlocked the \\C[1]Tier {2} League Rematches\\C[0]!",$Trainer.name,tier))
pbMessage(_INTL("{1} unlocked \\C[1]Tier {2} League Rematches\\C[0]!",$Trainer.name,tier))
end
end
end

View File

@@ -47,7 +47,7 @@ module Settings
AI_ENTRIES_RATE_LOG_FILE = 'Data/pokedex/rate_limit.log' # Path to the log file
#Spritepack
NEWEST_SPRITEPACK_MONTH = 8
NEWEST_SPRITEPACK_MONTH = 9
NEWEST_SPRITEPACK_YEAR = 2025

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 743 B

After

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 671 B