|Fixing the fishing graphics|
|Click here for more tutorials!|
This tutorial shows how to edit the scripts and graphics to fix the fishing animation, i.e. show the player casting the rod correctly, both while on land and while surfing.
Find the defs
pbFishingEnd. Edit them so that they look like the following:
def pbFishingBegin if !pbCommonEvent(FISHINGBEGINCOMMONEVENT) patternb = 2*$game_player.direction - 1 pattern=0 playertrainer=pbGetPlayerTrainerType $game_player.moveto($game_player.x,$game_player.y+1,false) 4.times do |pattern| $game_player.setDefaultCharName(sprintf("fishing%s%03d",$PokemonGlobal.surfing ? "surf" : "",playertrainer),patternb-pattern) 2.times do Graphics.update Input.update pbUpdateSceneMap end end end end
def pbFishingEnd(oldpattern,oldy) if !pbCommonEvent(FISHINGENDCOMMONEVENT) patternb = 2*($game_player.direction - 2) pattern=0 playertrainer=pbGetPlayerTrainerType 4.times do |pattern| $game_player.setDefaultCharName(sprintf("fishing%s%03d",$PokemonGlobal.surfing ? "surf" : "",playertrainer),patternb+pattern) 2.times do Graphics.update Input.update pbUpdateSceneMap end end $game_player.moveto($game_player.x,oldy,false) end end
Just below these is the def
pbFishing. Add the highlighted line into the top of it:
def pbFishing(hasencounter) bitechance=65 hookchance=65 oldpattern=$game_player.fullPattern oldy=$game_player.y pbFishingBegin msgwindow=Kernel.pbCreateMessageWindow
Also in the def
pbFishing, find all 3 times where the following line occurs, and add in the highlighted part to all of them:
You will also want to add the above line into the part of this def that returns that a battle should take place:
if rnd<hookchance Kernel.pbMessageDisplay(msgwindow,_INTL("A Pokémon's on the hook!")) Kernel.pbDisposeMessageWindow(msgwindow) pbFishingEnd(oldpattern,oldy) $game_player.setDefaultCharName("",oldpattern) return true end
A very simple change here:
def moveto(x, y, scrolling=true) @x = x % self.map.width @y = y % self.map.height @real_x = @x * Game_Map.realResX @real_y = @y * Game_Map.realResY @prelock_direction = 0 end
One final script to edit:
def moveto(x, y, scrolling=true) super # Centering center(x, y) if scrolling # Make encounter count make_encounter_count if scrolling end
The fishing graphics
The above script changes shift the player down the screen one tile when fishing. You will therefore need to edit the fishing graphics accordingly.
Each sixteenth of the fishing graphics charset (i.e. each frame) will need a (mostly) empty blank space of height 32 pixels underneath the character, in addition to whatever space usually appears below the character's feet (usually 2 pixels). The only thing that appears in this empty space is the end of the fishing rod in frames 0 and 1 (i.e. facing downwards, fully and mostly cast) and frame 16 (i.e. facing up, not cast).
For each player character, you will need two charsets with the following names (where the number is as defined for trainers):
The image to the right is an example of what the fishing graphics should look like. Note the facing directions (as normal for a charset) and the way the rod is cast (right to left).