FANDOM


Fixing the fishing graphics
This tutorial is deprecated. It is no longer relevant to the latest version of Pokémon Essentials.

This tutorial was written by Maruno. Please give credit.

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.

Script changes

PokemonField

Find the defs pbFishingBegin and 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:

pbFishingEnd(oldpattern,oldy)

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

Game_Character_1

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

Game_Player_

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

Fishing001

An example of a fishing charset.

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):

  • fishing000.png
  • fishingsurf000.png

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).

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.