Jump to content
suloku

Feebas Fishing Spot value (Ru/Sa/Em)

Recommended Posts

Quote

------------------------------------------------------

Feebas Spot Value 1.1 by suloku 2016

Based on Mirage Island Value 1.5 by BlackShark

Feebas seed algorithm provided by Tux

------------------------------------------------------

Usage:

FeebasSpotValue.exe [-r|-s|-e] SAVEFILE

or

FeebasSpotValue.exe [-r|-s|-e] [-tile|-seed] SAVEFILE

****************************************************************

This tool allows to see the Feebas fishing spot seed in a Pokémon Ruby/Sapphire or Emerald savegame.

The seed is what determines the 6 tiles of route 119 on which you can fish for Feebas.

Aside from printing the seed, you will also get which 6 tiles correspond to that seed.

The tool can also:

* Inject a seed that will make feebas appear at tile 440.

* Ask user for a tile number as input, and inject a seed that will make feebas appear on that seed.

* Ask user for a seed, display the corresponding tiles and allow to inject it on savefile.

This package includes a map with all tiles numbered, courtesy of BlackShark.

(note: on the map there are 4 yellow tiles: feebas can appear there, but you can't fish on those tiles)

Also remember that the seed is updated weekly, so either disable RTC on your emulator or save the game before implanting the seed so it holds today's date.

note: since there are multiple seeds that allow feebas to appear in a given tile (around 900 for each tile), the program will randomly calculate a seed that outputs that tile, so don't be surprised if seed changes every time you run the program with -tile.

****************************************************************

Usage examples:

FeebasSpotValue.exe PokemonRuby(U).sav

This command will show the seed stored in a Pokémon Ruby savegame, show the tiles corresponding to it, and will also allow to inject a seed that will make Feebas appear at tile 440 (the easier one I think, image included).

FeebasSpotValue.exe -tile PokemonSapphire(U).sav

This command will show the seed stored in savegame and the tiles corresponding to it, then prompt the user for a tile number, show the found seed and corresponding tiles and then ask the user to inject it into savegame.

FeebasSpotValue.exe -tile PokemonEmerald(U).sav

This command will show the seed stored in savegame and the tiles corresponding to it, then prompt the user for a seed number, show the corresponding tiles and then ask the user to inject it into savegame.

****************************************************************

Changelog:

1.1:

- Added autodetection for Ruby/Sapphire or Emerald savegame if [-r|-s|-e] ar not used.

1.0b:

- Fixed bug that made listing tiles from seed always print tile 447, printing 7 possible tiles for majority of seeds.

Tile map (Thanks to BlackShark):

 

nSKmLZL.png

Yellow tiles: Feebas can appear there, but you can't actually fish on those tiles.

Tile 440 fishing spot (FeebasSpotValue's default):

 

[ATTACH=CONFIG]12974[/ATTACH]

The package includes both images.

extra note: tile 447 is actually tile 0, but since the game recognizes it as 447, the program does the same. This causes the lua script found here (https://projectpokemon.org/forums/showthread.php?16681-Gen-3-Lua-Scripts&p=189762&viewfull=1#post189762) to not correctly work (some seeds output a false tile), here's an updated version (note: tile 447 will appear as tile 0):

-- Gen3 Hoenn Feebas Seed/Tile Finder

-- 0 - Pokemon Emerald (U)
-- 1 - Pokemon Ruby/Sapphire (U)
-- Change this depending on your game
local game = 0

local pointer
local addend

if game == 0 then
pointer = 0x3005D8C
addend = 0x2E6A
elseif game == 1 then
pointer = 0x02025734
addend = 0x2DD6
end


-- Adapted from Kaphotics' RNG for LUA
function rng(seed)
return (0x4E6D * (seed % 65536) +((0x41C6 * (seed % 65536 )+ 0x4E6D * math.floor(seed / 65536)) % 65536) * 65536 +0x3039) % (4294967296)
end

-- Tux - https://www.smogon.com/forums/threads/past-gen-rng-research.61090/page-34#post-3986326
function is_feebas_tile(feebas_seed, current_tile)
rng_seed = feebas_seed
i = 0
tile = 0
while i <= 5 do
	rng_seed = rng(rng_seed)
	tile = (bit.rshift(rng_seed, 16)) % 0x1BF
	if tile >= 4 then
		i = i + 1
	end
	if tile == 0 then
		i = i + 1
	end
	if tile == current_tile then
		return true
	end
end
return false
end

function print_feebas_info()
local feebas_pointer_address
local feebas_seed
if game == 0 then
	feebas_pointer_address = memory.readdwordunsigned(pointer) + addend
elseif game == 1 then
	feebas_pointer_address = pointer + addend
end
feebas_seed = memory.readwordunsigned(feebas_pointer_address)
x = 4
y = 3
gui.box(2, 2, 76, 32, "white")
gui.text(x, y , "Feebas Seed: "..feebas_seed, "green")

current_tile = 0
ctr = 0
y = y + 10
while current_tile <= 600 do
	if is_feebas_tile(feebas_seed, current_tile)then
		if ctr == 3 then
			ctr = 0
			y = y + 10
			x = 4
		end
		x = x + 15
		ctr = ctr + 1
	 	gui.text(x, y, current_tile, "yellow")
	 end
	 current_tile = current_tile + 1
end
end
gui.register(print_feebas_info)
DOWNLOAD: 
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

I just noticed that 105, 119, 132 and 144 are not the only inaccessible tiles. 296, 297 and 298 are inaccessible as well. They are below the waterfall next to the long bridge.

Since there are 7 inaccessible tiles I was curious if there are any seeds that generate multiple of them and so give lesser chances to find Feebas. 2E54 is actually generating 3 of those tiles!

Furthermore some seeds can generate the same tile twice.

So the worst case are the following seeds which only have 3 accessible tiles for Feebas.

Seed	Tiles
2E54	121	[color="#FF0000"]132[/color]	186	264	[color="#FF0000"]297[/color]	[color="#FF0000"]298[/color]
58D1	026		[color="#FF0000"]132[/color]	203	[color="#FF0000"]297[/color]	314
A4F9	092		162		206	[color="#FF0000"]296[/color]
CC54	025	041		[color="#FF0000"]132[/color]	231	[color="#FF0000"]296[/color]

Edited by BlackShark

Share this post


Link to post
Share on other sites

This is interesting. We should try those seeds in the debug rom and see if the game actually allows those tiles to be feebas tiles.

From the post at smogon, it would seem the only tiles the game prevents from having feebas are tiles 1, 2 and 3.

Share this post


Link to post
Share on other sites
This is interesting. We should try those seeds in the debug rom and see if the game actually allows those tiles to be feebas tiles.

From the post at smogon, it would seem the only tiles the game prevents from having feebas are tiles 1, 2 and 3.

Those tiles can be Feebas tiles, I already tested that. But you have to use the Walk Through Walls cheat to fish on them.

Share this post


Link to post
Share on other sites

I can only say it has no malicious code at all. You can view the source or compile yourself if you don't trust me, but it's just your antivirus detecting the programm wrong.

Share this post


Link to post
Share on other sites

1.0b:

- Fixed bug that made listing tiles from seed always print tile 447, printing 7 possible tiles for majority of seeds

I dunno how I missed that, just noticed because I wanted to catch a feebas on my emerald save.

Share this post


Link to post
Share on other sites

1.1:

- Added autodetection for Ruby/Sapphire or Emerald savegame if [-r|-s|-e] ar not used.

Basically, now just drag and drop a save onto the .exe file.

Share this post


Link to post
Share on other sites

How often do the tiles change? 

Some people have shiny hunted Feebas in 3rd Gen but some days the tiles change, sometimes they don't. 

Share this post


Link to post
Share on other sites

You should be able to figure it out just with the trainer id and sid on a ruby and sapphire with a dry battery since you can manipulate the trainer id and sid and the rtc is frozen thats if you started a new game when the battery was dry though..

Share this post


Link to post
Share on other sites

This tool doesn't work correctly, says me that I have Feebas in the same position in all my three games, I have the same phrase in the Dewford Town club, but shouldn't make the same Feebas position in all three games, AFAIK... And however don't match the Feebas spot in no one of my game.

Share this post


Link to post
Share on other sites
5 hours ago, Halfshadow said:

This tool doesn't work correctly, says me that I have Feebas in the same position in all my three games, I have the same phrase in the Dewford Town club, but shouldn't make the same Feebas position in all three games, AFAIK... And however don't match the Feebas spot in no one of my game.

I tested yesterday with mirage island spawn it works on r b e witouth any issue, open you game and save then use the program.

Edited by ThePunish3D
  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, ThePunish3D said:

I tested yesterday with mirage island spawn it works on r b e witouth any issue, open you game and save then use the program.

Nope, I was wrong, I'm sorry, I thought that was the end of the tool action when it ask you if you want to replace your Feebas spot with the default tool position. I found my tiles in my savegame by turning back in the tool reading my tiles in my savegame, thank you.

Share this post


Link to post
Share on other sites

I replaced my internal battery in Emerald and fixed the time via flash cart, but my phrase is changed replacing the battery, and the man in Dewford don't like my previous phrase... How I can oblige him to accept it? There is a trick to do it in an easy way without hack the sav?

Edited by Halfshadow

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...