mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
pokeradar
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -6,7 +6,12 @@
|
|||||||
module Settings
|
module Settings
|
||||||
# The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format.
|
# The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format.
|
||||||
GAME_VERSION = '5.0.0'
|
GAME_VERSION = '5.0.0'
|
||||||
GAME_VERSION_NUMBER = "5.0.11 - beta"
|
GAME_VERSION_NUMBER = "5.0.13 - beta"
|
||||||
|
|
||||||
|
POKERADAR_LIGHT_ANIMATION_RED_ID = 17
|
||||||
|
POKERADAR_LIGHT_ANIMATION_GREEN_ID = 18
|
||||||
|
POKERADAR_HIDDEN_ABILITY_POKE_CHANCE = 32
|
||||||
|
POKERADAR_BATTERY_STEPS = 0
|
||||||
|
|
||||||
#
|
#
|
||||||
FUSION_ICON_SPRITE_OFFSET = 10
|
FUSION_ICON_SPRITE_OFFSET = 10
|
||||||
@@ -310,10 +315,48 @@ module Settings
|
|||||||
# * Minimum possible level.
|
# * Minimum possible level.
|
||||||
# * Maximum possible level (optional).
|
# * Maximum possible level (optional).
|
||||||
POKE_RADAR_ENCOUNTERS = [
|
POKE_RADAR_ENCOUNTERS = [
|
||||||
[5, 20, :STARLY, 12, 15],
|
[78, 30, :FLETCHLING,2,5], #Rt. 1
|
||||||
[21, 10, :STANTLER, 14],
|
[86, 30, :FLETCHLING,2,5], #Rt. 2
|
||||||
[28, 20, :BUTTERFREE, 15, 18],
|
[90, 30, :FLETCHLING,2,5], #Rt. 2
|
||||||
[28, 20, :BEEDRILL, 15, 18]
|
[491, 30, :SHROOMISH,2,5], #Viridian Forest
|
||||||
|
[490, 30, :BUDEW,4,9], #Rt. 3
|
||||||
|
[106, 30, :NINCADA,8,10], #Rt. 4
|
||||||
|
[12, 30, :TOGEPI,10,10], #Rt. 5
|
||||||
|
[16, 30, :SLAKOTH,12,15], #Rt. 6
|
||||||
|
[413, 30, :DRIFLOON,17,20], #Rt. 7
|
||||||
|
[409, 30, :SHINX,17,18], #Rt. 8
|
||||||
|
[495, 30, :ARON,12,15], #Rt. 9
|
||||||
|
[351, 30, :ARON,12,15], #Rt. 9
|
||||||
|
[154, 30, :KLINK,14,17], #Rt. 10
|
||||||
|
[155, 30, :NINCADA,12,15], #Rt. 11
|
||||||
|
[159, 30, :COTTONEE,22,25], #Rt. 12
|
||||||
|
[437, 30, :COTTONEE,22,25], #Rt. 13
|
||||||
|
[437, 30, :JOLTIK,22,25], #Rt. 13
|
||||||
|
[440, 30, :JOLTIK,22,25], #Rt. 14
|
||||||
|
[444, 30, :SOLOSIS,22,25], #Rt. 15
|
||||||
|
[438, 30, :NATU,22,25], #Rt. 16
|
||||||
|
[146, 30, :KLEFKI,22,25], #Rt. 17
|
||||||
|
[517, 30, :FERROSEED,22,25], #Rt. 18
|
||||||
|
[445, 30, :BAGON,20,20], #Safari zone 1
|
||||||
|
[484, 30, :AXEW,20,20], #Safari zone 2
|
||||||
|
[485, 30, :DEINO,20,20], #Safari zone 3
|
||||||
|
[486, 30, :LARVITAR,20,20], #Safari zone 4
|
||||||
|
[487, 30, :BELDUM,20,20], #Safari zone 5
|
||||||
|
[59, 30, :DUNSPARSE,25,30], #Rt. 21
|
||||||
|
[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
|
||||||
|
[311, 30, :BIDOOF,5,5], #Rt. 29
|
||||||
|
[265, 30, :KIRLIA,25,30], #Rt. 34
|
||||||
|
[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
|
||||||
]
|
]
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
|
|||||||
@@ -109,6 +109,9 @@ class PokemonEncounters
|
|||||||
# Check if enc_type has a defined step chance/encounter table
|
# Check if enc_type has a defined step chance/encounter table
|
||||||
return false if !@step_chances[enc_type] || @step_chances[enc_type] == 0
|
return false if !@step_chances[enc_type] || @step_chances[enc_type] == 0
|
||||||
return false if !has_encounter_type?(enc_type)
|
return false if !has_encounter_type?(enc_type)
|
||||||
|
#Always check encounter if pokeradar is active
|
||||||
|
return true if $PokemonTemp.pokeradar != nil
|
||||||
|
|
||||||
# Get base encounter chance and minimum steps grace period
|
# Get base encounter chance and minimum steps grace period
|
||||||
encounter_chance = @step_chances[enc_type].to_f
|
encounter_chance = @step_chances[enc_type].to_f
|
||||||
min_steps_needed = (8 - encounter_chance / 10).clamp(0, 8).to_f
|
min_steps_needed = (8 - encounter_chance / 10).clamp(0, 8).to_f
|
||||||
|
|||||||
@@ -2,20 +2,16 @@ class PokemonGlobalMetadata
|
|||||||
attr_accessor :pokeradarBattery
|
attr_accessor :pokeradarBattery
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class PokemonTemp
|
class PokemonTemp
|
||||||
attr_accessor :pokeradar # [species, level, chain count, grasses (x,y,ring,rarity)]
|
attr_accessor :pokeradar # [species, level, chain count, grasses (x,y,ring,rarity)]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Using the Poke Radar
|
# Using the Poke Radar
|
||||||
################################################################################
|
################################################################################
|
||||||
def pbCanUsePokeRadar?
|
def pbCanUsePokeRadar?
|
||||||
# Can't use Radar if not in tall grass
|
# Can't use Radar if not in tall grass
|
||||||
terrain = $game_map.terrain_tag($game_player.x,$game_player.y)
|
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."))
|
pbMessage(_INTL("Can't use that here."))
|
||||||
return false
|
return false
|
||||||
@@ -33,9 +29,9 @@ def pbCanUsePokeRadar?
|
|||||||
# Debug
|
# Debug
|
||||||
return true if $DEBUG && Input.press?(Input::CTRL)
|
return true if $DEBUG && Input.press?(Input::CTRL)
|
||||||
# Can't use Radar if it isn't fully charged
|
# Can't use Radar if it isn't fully charged
|
||||||
if $PokemonGlobal.pokeradarBattery && $PokemonGlobal.pokeradarBattery>0
|
if $PokemonGlobal.pokeradarBattery && $PokemonGlobal.pokeradarBattery > 0
|
||||||
pbMessage(_INTL("The battery has run dry!\nFor it to recharge, you need to walk another {1} steps.",
|
pbMessage(_INTL("The battery has run dry!\nFor it to recharge, you need to walk another {1} steps.",
|
||||||
$PokemonGlobal.pokeradarBattery))
|
$PokemonGlobal.pokeradarBattery))
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
@@ -43,12 +39,39 @@ end
|
|||||||
|
|
||||||
def pbUsePokeRadar
|
def pbUsePokeRadar
|
||||||
return false if !pbCanUsePokeRadar?
|
return false if !pbCanUsePokeRadar?
|
||||||
$PokemonTemp.pokeradar = [0,0,0,[]] if !$PokemonTemp.pokeradar
|
$PokemonTemp.pokeradar = [0, 0, 0, []] if !$PokemonTemp.pokeradar
|
||||||
$PokemonGlobal.pokeradarBattery = 50
|
$PokemonGlobal.pokeradarBattery = Settings::POKERADAR_BATTERY_STEPS
|
||||||
|
rareAllowed = canEncounterRarePokemon()
|
||||||
|
playPokeradarLightAnimation(rareAllowed)
|
||||||
|
pbWait(20)
|
||||||
pbPokeRadarHighlightGrass
|
pbPokeRadarHighlightGrass
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#can only encounter rare if have seen every encounterable land pokemon on the route
|
||||||
|
def canEncounterRarePokemon()
|
||||||
|
processed = []
|
||||||
|
for encounter in $PokemonEncounters.listPossibleEncounters($PokemonEncounters.pbEncounterType)
|
||||||
|
species = encounter[0]
|
||||||
|
if !processed.include?(species)
|
||||||
|
if $Trainer.seen[species]
|
||||||
|
processed << species
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
def playPokeradarLightAnimation(rareAllowed = false)
|
||||||
|
if rareAllowed
|
||||||
|
$scene.spriteset.addUserAnimation(Settings::POKERADAR_LIGHT_ANIMATION_GREEN_ID, $game_player.x, $game_player.y, true)
|
||||||
|
else
|
||||||
|
$scene.spriteset.addUserAnimation(Settings::POKERADAR_LIGHT_ANIMATION_RED_ID, $game_player.x, $game_player.y, true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def pbPokeRadarCancel
|
def pbPokeRadarCancel
|
||||||
$PokemonTemp.pokeradar = nil
|
$PokemonTemp.pokeradar = nil
|
||||||
end
|
end
|
||||||
@@ -57,57 +80,49 @@ def listUnseenPokemonInCurrentRoute(encounterType)
|
|||||||
processed = []
|
processed = []
|
||||||
unseen = []
|
unseen = []
|
||||||
for encounter in $PokemonEncounters.listPossibleEncounters(encounterType)
|
for encounter in $PokemonEncounters.listPossibleEncounters(encounterType)
|
||||||
species = encounter[0]
|
species = encounter[1]
|
||||||
if !processed.include?(species)
|
if !processed.include?(species)
|
||||||
if $Trainer.seen?(species)
|
if $Trainer.seen?(species)
|
||||||
processed<<species
|
processed << species
|
||||||
else
|
else
|
||||||
unseen<<species
|
unseen << species
|
||||||
processed<<species
|
processed << species
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return unseen
|
return unseen
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
#can only encounter rare if have seen every encounterable land pokemon on the route
|
#can only encounter rare if have seen every encounterable land pokemon on the route
|
||||||
def canEncounterRarePokemon()
|
def canEncounterRarePokemon()
|
||||||
processed = []
|
|
||||||
for encounter in $PokemonEncounters.listPossibleEncounters($PokemonEncounters.pbEncounterType)
|
|
||||||
species = encounter[0]
|
|
||||||
if !processed.include?(species)
|
|
||||||
if $Trainer.seen[species]
|
|
||||||
processed<<species
|
|
||||||
else
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return true
|
return true
|
||||||
|
|
||||||
|
#pokedex register seen doesn't work correctly so temporarily removed
|
||||||
|
unseenPokemon = listUnseenPokemonInCurrentRoute($PokemonEncounters.encounter_type)
|
||||||
|
return unseenPokemon.length == 0
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbPokeRadarHighlightGrass(showmessage=true)
|
def pbPokeRadarHighlightGrass(showmessage = true)
|
||||||
grasses = [] # x, y, ring (0-3 inner to outer), rarity
|
grasses = [] # x, y, ring (0-3 inner to outer), rarity§
|
||||||
# Choose 1 random tile from each ring around the player
|
# Choose 1 random tile from each ring around the player
|
||||||
for i in 0...4
|
for i in 0...4
|
||||||
r = rand((i+1)*8)
|
r = rand((i + 1) * 8)
|
||||||
# Get coordinates of randomly chosen tile
|
# Get coordinates of randomly chosen tile
|
||||||
x = $game_player.x
|
x = $game_player.x
|
||||||
y = $game_player.y
|
y = $game_player.y
|
||||||
if r<=(i+1)*2
|
if r <= (i + 1) * 2
|
||||||
x = $game_player.x-i-1+r
|
x = $game_player.x - i - 1 + r
|
||||||
y = $game_player.y-i-1
|
y = $game_player.y - i - 1
|
||||||
elsif r<=(i+1)*6-2
|
elsif r <= (i + 1) * 6 - 2
|
||||||
x = [$game_player.x+i+1,$game_player.x-i-1][r%2]
|
x = [$game_player.x + i + 1, $game_player.x - i - 1][r % 2]
|
||||||
y = $game_player.y-i+((r-1-(i+1)*2)/2).floor
|
y = $game_player.y - i + ((r - 1 - (i + 1) * 2) / 2).floor
|
||||||
else
|
else
|
||||||
x = $game_player.x-i+r-(i+1)*6
|
x = $game_player.x - i + r - (i + 1) * 6
|
||||||
y = $game_player.y+i+1
|
y = $game_player.y + i + 1
|
||||||
end
|
end
|
||||||
# Add tile to grasses array if it's a valid grass tile
|
# Add tile to grasses array if it's a valid grass tile
|
||||||
if x>=0 && x<$game_map.width &&
|
if x >= 0 && x < $game_map.width &&
|
||||||
y>=0 && y<$game_map.height
|
y >= 0 && y < $game_map.height
|
||||||
terrain = $game_map.terrain_tag(x, y)
|
terrain = $game_map.terrain_tag(x, y)
|
||||||
if terrain.land_wild_encounters && terrain.shows_grass_rustle
|
if terrain.land_wild_encounters && terrain.shows_grass_rustle
|
||||||
# Choose a rarity for the grass (0=normal, 1=rare, 2=shiny)
|
# Choose a rarity for the grass (0=normal, 1=rare, 2=shiny)
|
||||||
@@ -118,11 +133,11 @@ def pbPokeRadarHighlightGrass(showmessage=true)
|
|||||||
v = rand(65536) / v
|
v = rand(65536) / v
|
||||||
s = 2 if v == 0
|
s = 2 if v == 0
|
||||||
end
|
end
|
||||||
grasses.push([x,y,i,s])
|
grasses.push([x, y, i, s])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if grasses.length==0
|
if grasses.length == 0
|
||||||
# No shaking grass found, break the chain
|
# No shaking grass found, break the chain
|
||||||
pbMessage(_INTL("The grassy patch remained quiet...")) if showmessage
|
pbMessage(_INTL("The grassy patch remained quiet...")) if showmessage
|
||||||
pbPokeRadarCancel
|
pbPokeRadarCancel
|
||||||
@@ -130,16 +145,16 @@ def pbPokeRadarHighlightGrass(showmessage=true)
|
|||||||
# Show grass rustling animations
|
# Show grass rustling animations
|
||||||
for grass in grasses
|
for grass in grasses
|
||||||
case grass[3]
|
case grass[3]
|
||||||
when 0 # Normal rustle
|
when 0 # Normal rustle
|
||||||
$scene.spriteset.addUserAnimation(Settings::RUSTLE_NORMAL_ANIMATION_ID,grass[0],grass[1],true,1)
|
$scene.spriteset.addUserAnimation(Settings::RUSTLE_NORMAL_ANIMATION_ID, grass[0], grass[1], true, 1)
|
||||||
when 1 # Vigorous rustle
|
when 1 # Vigorous rustle
|
||||||
$scene.spriteset.addUserAnimation(Settings::RUSTLE_VIGOROUS_ANIMATION_ID,grass[0],grass[1],true,1)
|
$scene.spriteset.addUserAnimation(Settings::RUSTLE_VIGOROUS_ANIMATION_ID, grass[0], grass[1], true, 1)
|
||||||
when 2 # Shiny rustle
|
when 2 # Shiny rustle
|
||||||
$scene.spriteset.addUserAnimation(Settings::RUSTLE_SHINY_ANIMATION_ID,grass[0],grass[1],true,1)
|
$scene.spriteset.addUserAnimation(Settings::RUSTLE_SHINY_ANIMATION_ID, grass[0], grass[1], true, 1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
$PokemonTemp.pokeradar[3] = grasses if $PokemonTemp.pokeradar
|
$PokemonTemp.pokeradar[3] = grasses if $PokemonTemp.pokeradar
|
||||||
pbWait(Graphics.frame_rate/2)
|
pbWait(Graphics.frame_rate / 2)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -186,16 +201,16 @@ end
|
|||||||
################################################################################
|
################################################################################
|
||||||
EncounterModifier.register(proc { |encounter|
|
EncounterModifier.register(proc { |encounter|
|
||||||
if GameData::EncounterType.get($PokemonTemp.encounterType).type != :land ||
|
if GameData::EncounterType.get($PokemonTemp.encounterType).type != :land ||
|
||||||
$PokemonGlobal.bicycle || $PokemonGlobal.partner
|
$PokemonGlobal.bicycle || $PokemonGlobal.partner
|
||||||
pbPokeRadarCancel
|
pbPokeRadarCancel
|
||||||
next encounter
|
next encounter
|
||||||
end
|
end
|
||||||
ring = pbPokeRadarGetShakingGrass
|
ring = pbPokeRadarGetShakingGrass
|
||||||
if ring >= 0 # Encounter triggered by stepping into rustling grass
|
if ring >= 0 # Encounter triggered by stepping into rustling grass
|
||||||
# Get rarity of shaking grass
|
# Get rarity of shaking grass
|
||||||
rarity = 0 # 0 = rustle, 1 = vigorous rustle, 2 = shiny rustle
|
rarity = 0 # 0 = rustle, 1 = vigorous rustle, 2 = shiny rustle
|
||||||
$PokemonTemp.pokeradar[3].each { |g| rarity = g[3] if g[2] == ring }
|
$PokemonTemp.pokeradar[3].each { |g| rarity = g[3] if g[2] == ring }
|
||||||
if $PokemonTemp.pokeradar[2] > 0 # Chain count, i.e. is chaining
|
if $PokemonTemp.pokeradar[2] > 0 # Chain count, i.e. is chaining
|
||||||
if rarity == 2 || rand(100) < 86 + ring * 4 + ($PokemonTemp.pokeradar[2] / 4).floor
|
if rarity == 2 || rand(100) < 86 + ring * 4 + ($PokemonTemp.pokeradar[2] / 4).floor
|
||||||
# Continue the chain
|
# Continue the chain
|
||||||
encounter = [$PokemonTemp.pokeradar[0], $PokemonTemp.pokeradar[1]]
|
encounter = [$PokemonTemp.pokeradar[0], $PokemonTemp.pokeradar[1]]
|
||||||
@@ -208,67 +223,69 @@ EncounterModifier.register(proc { |encounter|
|
|||||||
end
|
end
|
||||||
pbPokeRadarCancel
|
pbPokeRadarCancel
|
||||||
end
|
end
|
||||||
else # Not chaining; will start one
|
else
|
||||||
|
# Not chaining; will start one
|
||||||
# Force random wild encounter, vigorous shaking means rarer species
|
# Force random wild encounter, vigorous shaking means rarer species
|
||||||
encounter = pbPokeRadarGetEncounter(rarity)
|
encounter = pbPokeRadarGetEncounter(rarity)
|
||||||
$PokemonTemp.forceSingleBattle = true
|
$PokemonTemp.forceSingleBattle = true
|
||||||
end
|
end
|
||||||
else # Encounter triggered by stepping in non-rustling grass
|
else
|
||||||
pbPokeRadarCancel if encounter
|
# Encounter triggered by stepping in non-rustling grass
|
||||||
|
pbPokeRadarCancel if encounter && $PokemonGlobal.repel <= 0
|
||||||
end
|
end
|
||||||
next encounter
|
next encounter
|
||||||
})
|
})
|
||||||
|
|
||||||
Events.onWildPokemonCreate += proc { |_sender,e|
|
Events.onWildPokemonCreate += proc { |_sender, e|
|
||||||
pokemon = e[0]
|
pokemon = e[0]
|
||||||
next if !$PokemonTemp.pokeradar
|
next if !$PokemonTemp.pokeradar
|
||||||
grasses = $PokemonTemp.pokeradar[3]
|
grasses = $PokemonTemp.pokeradar[3]
|
||||||
next if !grasses
|
next if !grasses
|
||||||
for grass in grasses
|
for grass in grasses
|
||||||
next if $game_player.x!=grass[0] || $game_player.y!=grass[1]
|
next if $game_player.x != grass[0] || $game_player.y != grass[1]
|
||||||
pokemon.shiny = true if grass[3]==2
|
pokemon.shiny = true if grass[3] == 2
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
Events.onWildBattleEnd += proc { |_sender,e|
|
Events.onWildBattleEnd += proc { |_sender, e|
|
||||||
species = e[0]
|
species = e[0]
|
||||||
level = e[1]
|
level = e[1]
|
||||||
decision = e[2]
|
decision = e[2]
|
||||||
if $PokemonTemp.pokeradar && (decision==1 || decision==4) # Defeated/caught
|
if $PokemonTemp.pokeradar && (decision == 1 || decision == 4) # Defeated/caught
|
||||||
$PokemonTemp.pokeradar[0] = species
|
$PokemonTemp.pokeradar[0] = species
|
||||||
$PokemonTemp.pokeradar[1] = level
|
$PokemonTemp.pokeradar[1] = level
|
||||||
$PokemonTemp.pokeradar[2] += 1
|
$PokemonTemp.pokeradar[2] += 1
|
||||||
$PokemonTemp.pokeradar[2] = 40 if $PokemonTemp.pokeradar[2]>40
|
$PokemonTemp.pokeradar[2] = 40 if $PokemonTemp.pokeradar[2] > 40
|
||||||
pbPokeRadarHighlightGrass(false)
|
pbPokeRadarHighlightGrass(false)
|
||||||
else
|
else
|
||||||
pbPokeRadarCancel
|
pbPokeRadarCancel
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
Events.onStepTaken += proc { |_sender,_e|
|
Events.onStepTaken += proc { |_sender, _e|
|
||||||
if $PokemonGlobal.pokeradarBattery && $PokemonGlobal.pokeradarBattery > 0 &&
|
if $PokemonGlobal.pokeradarBattery && $PokemonGlobal.pokeradarBattery > 0 &&
|
||||||
!$PokemonTemp.pokeradar
|
!$PokemonTemp.pokeradar
|
||||||
$PokemonGlobal.pokeradarBattery -= 1
|
$PokemonGlobal.pokeradarBattery -= 1
|
||||||
end
|
end
|
||||||
terrain = $game_map.terrain_tag($game_player.x,$game_player.y)
|
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
|
||||||
pbPokeRadarCancel
|
pbPokeRadarCancel
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
Events.onMapChange += proc { |_sender,_e|
|
Events.onMapChange += proc { |_sender, _e|
|
||||||
pbPokeRadarCancel
|
pbPokeRadarCancel
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Item handlers
|
# Item handlers
|
||||||
################################################################################
|
################################################################################
|
||||||
ItemHandlers::UseInField.add(:POKERADAR,proc { |item|
|
ItemHandlers::UseInField.add(:POKERADAR, proc { |item|
|
||||||
next (pbCanUsePokeRadar?) ? pbUsePokeRadar : 0
|
next (pbCanUsePokeRadar?) ? pbUsePokeRadar : 0
|
||||||
})
|
})
|
||||||
|
|
||||||
ItemHandlers::UseFromBag.add(:POKERADAR,proc { |item|
|
ItemHandlers::UseFromBag.add(:POKERADAR, proc { |item|
|
||||||
next (pbCanUsePokeRadar?) ? 2 : 0
|
next (pbCanUsePokeRadar?) ? 2 : 0
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -371,5 +371,3 @@ def reverseFusionSpecies(species)
|
|||||||
return getPokemon(newspecies)
|
return getPokemon(newspecies)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user