mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 13:15:01 +00:00
Merged class PokemonTemp into class Game_Temp
This commit is contained in:
@@ -58,10 +58,10 @@ ItemHandlers::UseFromBag.add(:TOWNMAP, proc { |item|
|
||||
scene = PokemonRegionMap_Scene.new(-1, false)
|
||||
screen = PokemonRegionMapScreen.new(scene)
|
||||
ret = screen.pbStartScreen
|
||||
$PokemonTemp.flydata = ret if ret
|
||||
$game_temp.fly_destination = ret if ret
|
||||
next 99999 if ret # Ugly hack to make Bag scene not reappear if flying
|
||||
}
|
||||
next $PokemonTemp.flydata ? 2 : 0
|
||||
next ($game_temp.fly_destination) ? 2 : 0
|
||||
})
|
||||
|
||||
#===============================================================================
|
||||
@@ -312,7 +312,7 @@ ItemHandlers::UseInField.add(:ITEMFINDER,proc { |item|
|
||||
ItemHandlers::UseInField.copy(:ITEMFINDER,:DOWSINGMCHN,:DOWSINGMACHINE)
|
||||
|
||||
ItemHandlers::UseInField.add(:TOWNMAP, proc { |item|
|
||||
pbShowMap(-1, false) if !$PokemonTemp.flydata
|
||||
pbShowMap(-1, false) if $game_temp.fly_destination.nil?
|
||||
pbFlyToNewLocation
|
||||
next true
|
||||
})
|
||||
|
||||
@@ -4,8 +4,8 @@ end
|
||||
|
||||
|
||||
|
||||
class PokemonTemp
|
||||
attr_accessor :pokeradar # [species, level, chain count, grasses (x,y,ring,rarity)]
|
||||
class Game_Temp
|
||||
attr_accessor :poke_radar_data # [species, level, chain count, grasses (x,y,ring,rarity)]
|
||||
end
|
||||
|
||||
|
||||
@@ -43,15 +43,15 @@ end
|
||||
|
||||
def pbUsePokeRadar
|
||||
return false if !pbCanUsePokeRadar?
|
||||
$PokemonTemp.pokeradar = [0,0,0,[],false] if !$PokemonTemp.pokeradar
|
||||
$PokemonTemp.pokeradar[4] = false
|
||||
$game_temp.poke_radar_data = [0, 0, 0, [], false] if !$game_temp.poke_radar_data
|
||||
$game_temp.poke_radar_data[4] = false
|
||||
$PokemonGlobal.pokeradarBattery = 50
|
||||
pbPokeRadarHighlightGrass
|
||||
return true
|
||||
end
|
||||
|
||||
def pbPokeRadarCancel
|
||||
$PokemonTemp.pokeradar = nil
|
||||
$game_temp.poke_radar_data = nil
|
||||
end
|
||||
|
||||
def pbPokeRadarHighlightGrass(showmessage=true)
|
||||
@@ -79,8 +79,8 @@ def pbPokeRadarHighlightGrass(showmessage=true)
|
||||
if terrain.land_wild_encounters && terrain.shows_grass_rustle
|
||||
# Choose a rarity for the grass (0=normal, 1=rare, 2=shiny)
|
||||
s = (rand(100) < 25) ? 1 : 0
|
||||
if $PokemonTemp.pokeradar && $PokemonTemp.pokeradar[2] > 0
|
||||
v = [(65536 / Settings::SHINY_POKEMON_CHANCE) - $PokemonTemp.pokeradar[2] * 200, 200].max
|
||||
if $game_temp.poke_radar_data && $game_temp.poke_radar_data[2] > 0
|
||||
v = [(65536 / Settings::SHINY_POKEMON_CHANCE) - $game_temp.poke_radar_data[2] * 200, 200].max
|
||||
v = (65536 / v.to_f).ceil
|
||||
s = 2 if rand(65536) < v
|
||||
end
|
||||
@@ -104,14 +104,14 @@ def pbPokeRadarHighlightGrass(showmessage=true)
|
||||
$scene.spriteset.addUserAnimation(Settings::RUSTLE_SHINY_ANIMATION_ID,grass[0],grass[1],true,1)
|
||||
end
|
||||
end
|
||||
$PokemonTemp.pokeradar[3] = grasses if $PokemonTemp.pokeradar
|
||||
$game_temp.poke_radar_data[3] = grasses if $game_temp.poke_radar_data
|
||||
pbWait(Graphics.frame_rate/2)
|
||||
end
|
||||
end
|
||||
|
||||
def pbPokeRadarGetShakingGrass
|
||||
return -1 if !$PokemonTemp.pokeradar
|
||||
grasses = $PokemonTemp.pokeradar[3]
|
||||
return -1 if !$game_temp.poke_radar_data
|
||||
grasses = $game_temp.poke_radar_data[3]
|
||||
return -1 if grasses.length == 0
|
||||
for i in grasses
|
||||
return i[2] if $game_player.x == i[0] && $game_player.y == i[1]
|
||||
@@ -151,7 +151,7 @@ end
|
||||
# Event handlers
|
||||
################################################################################
|
||||
EncounterModifier.register(proc { |encounter|
|
||||
if GameData::EncounterType.get($PokemonTemp.encounterType).type != :land ||
|
||||
if GameData::EncounterType.get($game_temp.encounter_type).type != :land ||
|
||||
$PokemonGlobal.bicycle || $PokemonGlobal.partner
|
||||
pbPokeRadarCancel
|
||||
next encounter
|
||||
@@ -160,22 +160,22 @@ EncounterModifier.register(proc { |encounter|
|
||||
if ring >= 0 # Encounter triggered by stepping into rustling grass
|
||||
# Get rarity of shaking grass
|
||||
rarity = 0 # 0 = rustle, 1 = vigorous rustle, 2 = shiny rustle
|
||||
$PokemonTemp.pokeradar[3].each { |g| rarity = g[3] if g[2] == ring }
|
||||
if $PokemonTemp.pokeradar[2] > 0 # Chain count, i.e. is chaining
|
||||
$game_temp.poke_radar_data[3].each { |g| rarity = g[3] if g[2] == ring }
|
||||
if $game_temp.poke_radar_data[2] > 0 # Chain count, i.e. is chaining
|
||||
if rarity == 2 ||
|
||||
rand(100) < 58 + ring * 10 + ($PokemonTemp.pokeradar[2] / 4) + ($PokemonTemp.pokeradar[4] ? 10 : 0)
|
||||
rand(100) < 58 + ring * 10 + ($game_temp.poke_radar_data[2] / 4) + ($game_temp.poke_radar_data[4] ? 10 : 0)
|
||||
# Continue the chain
|
||||
encounter = [$PokemonTemp.pokeradar[0], $PokemonTemp.pokeradar[1]]
|
||||
$PokemonTemp.forceSingleBattle = true
|
||||
encounter = [$game_temp.poke_radar_data[0], $game_temp.poke_radar_data[1]]
|
||||
$game_temp.force_single_battle = true
|
||||
else
|
||||
# Break the chain, force an encounter with a different species
|
||||
100.times do
|
||||
break if encounter && encounter[0] != $PokemonTemp.pokeradar[0]
|
||||
break if encounter && encounter[0] != $game_temp.poke_radar_data[0]
|
||||
encounter = $PokemonEncounters.choose_wild_pokemon($PokemonEncounters.encounter_type)
|
||||
end
|
||||
if encounter[0] == $PokemonTemp.pokeradar[0] && encounter[1] == $PokemonTemp.pokeradar[1]
|
||||
if encounter[0] == $game_temp.poke_radar_data[0] && encounter[1] == $game_temp.poke_radar_data[1]
|
||||
# Chain couldn't be broken somehow; continue it after all
|
||||
$PokemonTemp.forceSingleBattle = true
|
||||
$game_temp.force_single_battle = true
|
||||
else
|
||||
pbPokeRadarCancel
|
||||
end
|
||||
@@ -183,7 +183,7 @@ EncounterModifier.register(proc { |encounter|
|
||||
else # Not chaining; will start one
|
||||
# Force random wild encounter, vigorous shaking means rarer species
|
||||
encounter = pbPokeRadarGetEncounter(rarity)
|
||||
$PokemonTemp.forceSingleBattle = true
|
||||
$game_temp.force_single_battle = true
|
||||
end
|
||||
else # Encounter triggered by stepping in non-rustling grass
|
||||
pbPokeRadarCancel if encounter
|
||||
@@ -193,8 +193,8 @@ EncounterModifier.register(proc { |encounter|
|
||||
|
||||
Events.onWildPokemonCreate += proc { |_sender,e|
|
||||
pokemon = e[0]
|
||||
next if !$PokemonTemp.pokeradar
|
||||
grasses = $PokemonTemp.pokeradar[3]
|
||||
next if !$game_temp.poke_radar_data
|
||||
grasses = $game_temp.poke_radar_data[3]
|
||||
next if !grasses
|
||||
for grass in grasses
|
||||
next if $game_player.x!=grass[0] || $game_player.y!=grass[1]
|
||||
@@ -207,12 +207,12 @@ Events.onWildBattleEnd += proc { |_sender,e|
|
||||
species = e[0]
|
||||
level = e[1]
|
||||
decision = e[2]
|
||||
if $PokemonTemp.pokeradar && (decision==1 || decision==4) # Defeated/caught
|
||||
$PokemonTemp.pokeradar[0] = species
|
||||
$PokemonTemp.pokeradar[1] = level
|
||||
$PokemonTemp.pokeradar[2] = [$PokemonTemp.pokeradar[2] + 1, 40].min
|
||||
if $game_temp.poke_radar_data && (decision==1 || decision==4) # Defeated/caught
|
||||
$game_temp.poke_radar_data[0] = species
|
||||
$game_temp.poke_radar_data[1] = level
|
||||
$game_temp.poke_radar_data[2] = [$game_temp.poke_radar_data[2] + 1, 40].min
|
||||
# Catching makes the next Radar encounter more likely to continue the chain
|
||||
$PokemonTemp.pokeradar[4] = (decision == 4)
|
||||
$game_temp.poke_radar_data[4] = (decision == 4)
|
||||
pbPokeRadarHighlightGrass(false)
|
||||
else
|
||||
pbPokeRadarCancel
|
||||
@@ -221,7 +221,7 @@ Events.onWildBattleEnd += proc { |_sender,e|
|
||||
|
||||
Events.onStepTaken += proc { |_sender,_e|
|
||||
if $PokemonGlobal.pokeradarBattery && $PokemonGlobal.pokeradarBattery > 0 &&
|
||||
!$PokemonTemp.pokeradar
|
||||
!$game_temp.poke_radar_data
|
||||
$PokemonGlobal.pokeradarBattery -= 1
|
||||
end
|
||||
terrain = $game_map.terrain_tag($game_player.x,$game_player.y)
|
||||
|
||||
Reference in New Issue
Block a user