# Some v17.2 Fixes

I found some bugs through testing and playing other fan games on v17.2 and figured I could try and fix them and post them so others can fix up their games while they wait for v18. May update if I find more as I currently only have found a few. If you have any fixes that you have made and want to add to the thread, feel free. :)

Things like camouflage wouldn't work properly as there is no way to set a Forest environment so I made it check for the name of the map and set it.

Go to the "PField_Battles" script and find "def pbGetEnvironment" and add this:
Ruby:
  elsif ($game_map.name).include?("Forest") #Checks if "Forest" is in the map name return PBEnvironment::Forest #Camo fix under this: Ruby:  elsif !pbGetMetadata($game_map.map_id,MetadataOutdoor)
return PBEnvironment::None

This fix is not one that I made but found on pokecommunity here, it was made by Vendily so if you want to credit them feel free.

Go to the "PScreen_Mart" script and search for
Ruby:
pbDisplayPaused(_INTL("Turned over the {1} and received ${2}.",itemname,pbCommaNumber(price))) and add Ruby: @scene.pbRefresh in a line under it. Then search for Ruby: def pbRefresh and replace that scene with this one: Ruby:  def pbRefresh if !@subscene itemwindow=@sprites["itemwindow"] @sprites["icon"].item=itemwindow.item @sprites["itemtextwindow"].text=(itemwindow.item==0) ? _INTL("Quit shopping.") : @adapter.getDescription(itemwindow.item) itemwindow.refresh else # This line is new @subscene.pbRefresh # So is this one end @sprites["moneywindow"].text=_INTL("Money:\n<r>${1}",pbCommaNumber(@adapter.getMoney))
end

Maruno explained this one in a post here on the Wiki.

If you open the summary screen in battle it allows you to add/remove items, view the Pokédex and mark the Pokémon. If the Pokémon is holding an item and you remove it during battle you will get the item, but after the item is still being held thus creating a duplication bug. This isn't a feature that is in any Pokémon games and is easy to remove.

Go to the "PScreen_Summary" script and search for
Ruby:
def pbOptions
and replace everything in that section with this:
Ruby:
  def pbOptions
dorefresh = false
commands   = []
cmdGiveItem = -1
cmdTakeItem = -1
cmdPokedex  = -1
cmdMark     = -1
if !$game_temp.in_battle #checks if player is in battle commands[cmdGiveItem = commands.length] = _INTL("Give item") commands[cmdTakeItem = commands.length] = _INTL("Take item") if @pokemon.hasItem? commands[cmdPokedex = commands.length] = _INTL("View Pokédex") commands[cmdMark = commands.length] = _INTL("Mark") commands[commands.length] = _INTL("Cancel") command = pbShowCommands(commands) if cmdGiveItem>=0 && command==cmdGiveItem item = 0 pbFadeOutIn(99999){ scene = PokemonBag_Scene.new screen = PokemonBagScreen.new(scene,$PokemonBag)
item = screen.pbChooseItemScreen(Proc.new{|item| pbCanHoldItem?(item) })
}
if item>0
dorefresh = pbGiveItemToPokemon(item,@pokemon,self,@partyindex)
end
elsif cmdTakeItem>=0 && command==cmdTakeItem
dorefresh = pbTakeItemFromPokemon(@pokemon,self)
elsif cmdPokedex>=0 && command==cmdPokedex
pbUpdateLastSeenForm(@pokemon)
scene = PokemonPokedexInfo_Scene.new
screen = PokemonPokedexInfoScreen.new(scene)
screen.pbStartSceneSingle(@pokemon.species)
}
dorefresh = true
elsif cmdMark>=0 && command==cmdMark
dorefresh = pbMarking(@pokemon)
end
return dorefresh
end
end
Go to "PScreen_Summary" and search for
Ruby:
        else
dorefresh = pbOptions
and comment out or delete both lines. You can also comment out or delete this, though not necessary:
Ruby:
  def pbOptions
dorefresh = false
commands   = []
cmdGiveItem = -1
cmdTakeItem = -1
cmdPokedex  = -1
cmdMark     = -1
commands[cmdGiveItem = commands.length] = _INTL("Give item")
commands[cmdTakeItem = commands.length] = _INTL("Take item") if @pokemon.hasItem?
commands[cmdPokedex = commands.length]  = _INTL("View Pokédex")
commands[cmdMark = commands.length]     = _INTL("Mark")
commands[commands.length]               = _INTL("Cancel")
command = pbShowCommands(commands)
if cmdGiveItem>=0 && command==cmdGiveItem
item = 0
scene = PokemonBag_Scene.new
screen = PokemonBagScreen.new(scene,\$PokemonBag)
item = screen.pbChooseItemScreen(Proc.new{|item| pbCanHoldItem?(item) })
}
if item>0
dorefresh = pbGiveItemToPokemon(item,@pokemon,self,@partyindex)
end
elsif cmdTakeItem>=0 && command==cmdTakeItem
dorefresh = pbTakeItemFromPokemon(@pokemon,self)
elsif cmdPokedex>=0 && command==cmdPokedex
pbUpdateLastSeenForm(@pokemon)
scene = PokemonPokedexInfo_Scene.new
screen = PokemonPokedexInfoScreen.new(scene)
screen.pbStartSceneSingle(@pokemon.species)
}
dorefresh = true
elsif cmdMark>=0 && command==cmdMark
dorefresh = pbMarking(@pokemon)
end
return dorefresh
end
Credits
Not necessary but if you would like to credit me, michael or vendily it would be a nice gesture.
Author
Buttjuice
Views
249
First release
Last update
Rating
0 ratings