allows Pokeradar in caves & water

This commit is contained in:
infinitefusion
2022-04-18 17:56:26 -04:00
parent f473ab3cc2
commit e479a0d2eb
16 changed files with 51 additions and 36 deletions

View File

@@ -358,17 +358,25 @@ module Settings
[171, 30, :BIDOOF,2,5], #Rt. 22
[143, 30, :RIOLU,25,25], #Rt. 23
[8, 30, :BUNEARY,12,13], #Rt. 24
[145, 5, :ABSOL,30,35], #Rt. 26
[147, 5, :ABSOL,30,35], #Rt. 27
[145, 30, :ABSOL,30,35], #Rt. 26
[147, 30, :ABSOL,30,35], #Rt. 27
[311, 30, :BIDOOF,5,5], #Rt. 29
[284, 30, :LUXIO,40,45], #Rt. 33
[288, 30, :VIGOROTH,40,45], #Rt. 32
[342, 30, :GOLETT,40,45], #Ruins of Alph
[261, 30, :BELLOSSOM,45,50], #Rt. 31
[261, 30, :BIBAREL,45,50], #Rt. 30
[265, 30, :KIRLIA,25,30], #Rt. 34
[267, 30, :SUDOWOODO,25,30], #Rt. 36
[300, 30, :ROSELIA,30,30], #National Park
[300, 30, :BRELOOM,30,30], #Ilex Forest
[670, 30, :WEAVILE,50,50], #Ice mountains
[528, 30, :PYUKUMUKU,20,20], #Treasure Beach
[690, 30, :OCTILLERY,32,45], #Deep Ocean
[561, 30, :MAGMAR,32,45], #Mt. Ember
[654, 30, :WHIMSICOTT,32,45], #Brine Road
[562, 30, :NINJASK,45,50], #Boon Island
[603, 30, :KECLEON,45,50], #Chrono Island
[654, 30, :WHIMSICOTT,32,45] #Brine Road
]
#=============================================================================

View File

@@ -14,15 +14,19 @@ end
def pbCanUsePokeRadar?
# Can't use Radar if not in tall grass
terrain = $game_map.terrain_tag($game_player.x, $game_player.y)
if !terrain.land_wild_encounters || !terrain.shows_grass_rustle
# if !terrain.land_wild_encounters || !terrain.shows_grass_rustle
# pbMessage(_INTL("Can't use that here."))
# return false
# end
if $PokemonEncounters.encounter_type == nil
pbMessage(_INTL("Can't use that here."))
return false
end
# Can't use Radar if map has no grass-based encounters (ignoring Bug Contest)
if !$PokemonEncounters.has_normal_land_encounters?
pbMessage(_INTL("Can't use that here."))
return false
end
# if !$PokemonEncounters.has_normal_land_encounters?
# pbMessage(_INTL("Can't use that here."))
# return false
# end
# Can't use Radar while cycling
# if $PokemonGlobal.bicycle
# pbMessage(_INTL("Can't use that while on a bicycle."))
@@ -90,7 +94,7 @@ def playPokeradarLightAnimation(rareAllowed = false)
end
def displayPokeradarBanner(seenPokemon = [], unseenPokemon = [], includeRare = false)
return if $PokemonTemp.pokeradar_ui !=nil
return if $PokemonTemp.pokeradar_ui != nil
rarePokemon = includeRare ? listPokeradarRareEncounters() : []
$PokemonTemp.pokeradar_ui = PokeRadar_UI.new(seenPokemon, unseenPokemon, rarePokemon)
end
@@ -98,12 +102,13 @@ end
def pbPokeRadarCancel
if $PokemonTemp.pokeradar_ui != nil
$PokemonTemp.pokeradar_ui.dispose
$PokemonTemp.pokeradar_ui=nil
$PokemonTemp.pokeradar_ui = nil
end
$PokemonTemp.pokeradar = nil
end
def listPokemonInCurrentRoute(encounterType, onlySeen = false, onlyUnseen = false)
return [] if encounterType == nil
processed = []
seen = []
unseen = []
@@ -130,7 +135,11 @@ end
#can only encounter rare if have seen every encounterable land pokemon on the route
def canEncounterRarePokemon(unseenPokemon)
return unseenPokemon.length == 0
terrain = $game_map.terrain_tag($game_player.x, $game_player.y)
return unseenPokemon.length == 0 &&
$PokemonEncounters.has_normal_land_encounters? &&
terrain.land_wild_encounters &&
terrain.shows_grass_rustle
end
def pbPokeRadarHighlightGrass(showmessage = true)
@@ -170,7 +179,7 @@ def pbPokeRadarHighlightGrass(showmessage = true)
end
if grasses.length == 0
# No shaking grass found, break the chain
pbMessage(_INTL("The grassy patch remained quiet...")) if showmessage
pbMessage(_INTL("Nothing happened...")) if showmessage
pbPokeRadarCancel
else
# Show grass rustling animations

View File

@@ -97,6 +97,7 @@ class BetterRegionMap
if @show_player
if map_metadata
player = map_metadata.town_map_position
if player && player[0] == @region
$PokemonGlobal.regionMapSel[0] = player[1]
$PokemonGlobal.regionMapSel[1] = player[2]
@@ -172,25 +173,25 @@ class BetterRegionMap
@sprites["cursor"].z = 11
# Center the window on the cursor
windowminx = -1 * (@window["map"].bmp.width - Settings::SCREEN_WIDTH)
windowminx = 0 if windowminx > 0
windowminy = -1 * (@window["map"].bmp.height - Settings::SCREEN_HEIGHT)
windowminy = 0 if windowminy > 0
if @sprites["cursor"].x > (Settings::SCREEN_WIDTH / 2)
@window.x = (Settings::SCREEN_WIDTH / 2 ) - @sprites["cursor"].x
if (@window.x < windowminx)
@window.x = windowminx
end
@sprites["cursor"].x += @window.x
end
if @sprites["cursor"].y > (Settings::SCREEN_HEIGHT / 2)
@window.y = (Settings::SCREEN_HEIGHT / 2 ) - @sprites["cursor"].y
if @window.y < windowminy
@window.y = windowminy
end
@sprites["cursor"].y += @window.y
end
# windowminx = -1 * (@window["map"].bmp.width - Settings::SCREEN_WIDTH)
# windowminx = 0 if windowminx > 0
# windowminy = -1 * (@window["map"].bmp.height - Settings::SCREEN_HEIGHT)
# windowminy = 0 if windowminy > 0
#
# if @sprites["cursor"].x > (Settings::SCREEN_WIDTH / 2)
# @window.x = (Settings::SCREEN_WIDTH / 2 ) - @sprites["cursor"].x
# if (@window.x < windowminx)
# @window.x = windowminx
# end
# @sprites["cursor"].x += @window.x
# end
# if @sprites["cursor"].y > (Settings::SCREEN_HEIGHT / 2)
# @window.y = (Settings::SCREEN_HEIGHT / 2 ) - @sprites["cursor"].y
# if @window.y < windowminy
# @window.y = windowminy
# end
# @sprites["cursor"].y += @window.y
# end
@sprites["cursor"].ox = (@sprites["cursor"].bmp.height - TileWidth) / 2.0
@sprites["cursor"].oy = @sprites["cursor"].ox