mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2026-01-22 06:06:01 +00:00
fixes
This commit is contained in:
@@ -272,16 +272,32 @@ module Settings
|
||||
# A list of maps used by roaming Pokémon. Each map has an array of other maps
|
||||
# it can lead to.
|
||||
ROAMING_AREAS = {
|
||||
5 => [21, 28, 31, 39, 41, 44, 47, 66, 69],
|
||||
21 => [5, 28, 31, 39, 41, 44, 47, 66, 69],
|
||||
28 => [5, 21, 31, 39, 41, 44, 47, 66, 69],
|
||||
31 => [5, 21, 28, 39, 41, 44, 47, 66, 69],
|
||||
39 => [5, 21, 28, 31, 41, 44, 47, 66, 69],
|
||||
41 => [5, 21, 28, 31, 39, 44, 47, 66, 69],
|
||||
44 => [5, 21, 28, 31, 39, 41, 47, 66, 69],
|
||||
47 => [5, 21, 28, 31, 39, 41, 44, 66, 69],
|
||||
66 => [5, 21, 28, 31, 39, 41, 44, 47, 69],
|
||||
69 => [5, 21, 28, 31, 39, 41, 44, 47, 66]
|
||||
262 => [261,311],
|
||||
311 => [262,312],
|
||||
312 => [311],
|
||||
261 => [262,288,267],
|
||||
288 => [261,267,285],
|
||||
267 => [261,288,300,254],
|
||||
284 => [288,266,285],
|
||||
300 => [267,254],
|
||||
254 => [300,265],
|
||||
266 => [284,265],
|
||||
265 => [266,254],
|
||||
285 => [284,288]}
|
||||
|
||||
SEVII_ROAMING = {
|
||||
528 => [526], #Treasure beach
|
||||
526 => [528,559], #Knot Island
|
||||
559 => [526,561,564], #Kindle Road
|
||||
561 => [559], #Mt. Ember
|
||||
564 => [559,562,563,594], #brine road
|
||||
562 => [564], #boon island
|
||||
563 => [564,600] , #kin island
|
||||
594 => [564,566,603], #water labyrinth
|
||||
600 => [563,619], #bond bridge
|
||||
619 => [600] , #Berry forest
|
||||
566 => [594,603], #Resort gorgeous
|
||||
603 => [566,594], #Chrono Island
|
||||
}
|
||||
# A set of arrays, each containing the details of a roaming Pokémon. The
|
||||
# information within each array is as follows:
|
||||
@@ -293,15 +309,11 @@ module Settings
|
||||
# * Name of BGM to play for that encounter (optional).
|
||||
# * Roaming areas specifically for this Pokémon (optional).
|
||||
ROAMING_SPECIES = [
|
||||
[:LATIAS, 30, 53, 0, "Battle roaming"],
|
||||
[:LATIOS, 30, 53, 0, "Battle roaming"],
|
||||
[:KYOGRE, 40, 54, 2, nil, {
|
||||
2 => [21, 31],
|
||||
21 => [2, 31, 69],
|
||||
31 => [2, 21, 69],
|
||||
69 => [21, 31]
|
||||
}],
|
||||
[:ENTEI, 40, 55, 1, nil]
|
||||
[:ENTEI, 50, 350, 1, "Legendary Birds"],
|
||||
[:B245H243, 50, 341, 1, "Legendary Birds"],
|
||||
[:LATIOS, 50, 602, 0, "Legendary Birds",SEVII_ROAMING],
|
||||
[:LATIAS, 50, 602, 0, "Legendary Birds",SEVII_ROAMING],
|
||||
[:FEEBAS, 15, 4, 3, "Pokemon HeartGold and SoulSilver - Wild Pokemon Battle (Kanto)",SEVII_ROAMING]
|
||||
]
|
||||
|
||||
#=============================================================================
|
||||
|
||||
@@ -1,30 +1,45 @@
|
||||
$BallTypes = {
|
||||
0 => :POKEBALL,
|
||||
1 => :GREATBALL,
|
||||
2 => :SAFARIBALL,
|
||||
3 => :ULTRABALL,
|
||||
4 => :MASTERBALL,
|
||||
5 => :NETBALL,
|
||||
6 => :DIVEBALL,
|
||||
7 => :NESTBALL,
|
||||
8 => :REPEATBALL,
|
||||
9 => :TIMERBALL,
|
||||
10 => :LUXURYBALL,
|
||||
11 => :PREMIERBALL,
|
||||
12 => :DUSKBALL,
|
||||
13 => :HEALBALL,
|
||||
14 => :QUICKBALL,
|
||||
15 => :CHERISHBALL,
|
||||
16 => :FASTBALL,
|
||||
17 => :LEVELBALL,
|
||||
18 => :LUREBALL,
|
||||
19 => :HEAVYBALL,
|
||||
20 => :LOVEBALL,
|
||||
21 => :FRIENDBALL,
|
||||
22 => :MOONBALL,
|
||||
23 => :SPORTBALL,
|
||||
24 => :DREAMBALL,
|
||||
25 => :BEASTBALL
|
||||
$BallTypes={
|
||||
0=>:POKEBALL,
|
||||
1=>:GREATBALL,
|
||||
2=>:SAFARIBALL,
|
||||
3=>:ULTRABALL,
|
||||
4=>:MASTERBALL,
|
||||
5=>:NETBALL,
|
||||
6=>:DIVEBALL,
|
||||
7=>:NESTBALL,
|
||||
8=>:REPEATBALL,
|
||||
9=>:TIMERBALL,
|
||||
10=>:LUXURYBALL,
|
||||
11=>:PREMIERBALL,
|
||||
12=>:DUSKBALL,
|
||||
13=>:HEALBALL,
|
||||
14=>:QUICKBALL,
|
||||
15=>:CHERISHBALL,
|
||||
16=>:FASTBALL,
|
||||
17=>:LEVELBALL,
|
||||
18=>:LUREBALL,
|
||||
19=>:HEAVYBALL,
|
||||
20=>:LOVEBALL,
|
||||
21=>:FRIENDBALL,
|
||||
22=>:MOONBALL,
|
||||
23=>:SPORTBALL,
|
||||
24=>:GENDERBALL,
|
||||
25=>:TRADEBALL,
|
||||
26=>:ABILITYBALL,
|
||||
27=>:VIRUSBALL,
|
||||
28=>:SHINYBALL,
|
||||
29=>:PERFECTBALL,
|
||||
30=>:DREAMBALL,
|
||||
31=>:TOXICBALL,
|
||||
32=>:SPARKBALL,
|
||||
33=>:SCORCHBALL,
|
||||
34=>:FROSTBALL,
|
||||
35=>:PUREBALL,
|
||||
36=>:STATUSBALL,
|
||||
37=>:CANDYBALL,
|
||||
38=>:FIRECRACKER,
|
||||
39=>:ROCKETBALL,
|
||||
40=>:FUSIONBALL
|
||||
}
|
||||
|
||||
def pbBallTypeToItem(ball_type)
|
||||
|
||||
@@ -160,7 +160,7 @@ def generateSameEggGroupFusionsTeam(eggGroup_id)
|
||||
while !foundFusionPartner
|
||||
species2 = rand(Settings::NB_POKEMON) + 1
|
||||
if getPokemonEggGroups(species2).include?(eggGroup)
|
||||
generatedTeam << getFusionSpecies(species1, specieres2)
|
||||
generatedTeam << getFusionSpecies(species1, species2)
|
||||
foundFusionPartner = true
|
||||
end
|
||||
end
|
||||
|
||||
@@ -371,3 +371,9 @@ def reverseFusionSpecies(species)
|
||||
return getPokemon(newspecies)
|
||||
end
|
||||
|
||||
def Kernel.getRoamingMap(roamingArrayPos)
|
||||
curmap=$PokemonGlobal.roamPosition[roamingArrayPos]
|
||||
mapinfos=$RPGVX ? load_data("Data/MapInfos.rvdata") : load_data("Data/MapInfos.rxdata")
|
||||
text= mapinfos[curmap].name#,(curmap==$game_map.map_id) ? _INTL("(this map)") : "")
|
||||
return text
|
||||
end
|
||||
@@ -12,31 +12,30 @@ elsif pokemon.gender == 1
|
||||
end
|
||||
})
|
||||
|
||||
|
||||
#BOOST BALL 25 - rend le pokemon traded
|
||||
#catch rate: 80% pokeball
|
||||
BallHandlers::ModifyCatchRate.add(:TRADEBALL,proc{|ball,catchRate,battle,pokemon|
|
||||
catchRate=(catchRate*0.8).floor
|
||||
catchRate=(catchRate*0.8).floor(1)
|
||||
next catchRate
|
||||
})
|
||||
BallHandlers::OnCatch.add(:TRADEBALL,proc{|ball,battle,pokemon|
|
||||
pokemon.obtainMode = 2
|
||||
pokemon.obtain_method = 2
|
||||
})
|
||||
|
||||
#ABILITY BALL 26 - change l'ability
|
||||
#catch rate: 60% pokeball
|
||||
BallHandlers::ModifyCatchRate.add(:ABILITYBALL,proc{|ball,catchRate,battle,pokemon|
|
||||
catchRate=(catchRate*0.6).floor
|
||||
catchRate=(catchRate*0.6).floor(1)
|
||||
next catchRate
|
||||
})
|
||||
BallHandlers::OnCatch.add(:ABILITYBALL,proc{|ball,battle,pokemon|
|
||||
pokemon.setAbility(2)
|
||||
#pokemon.ability=2
|
||||
})
|
||||
|
||||
#VIRUS BALL 27 - give pokerus
|
||||
#catch rate: 40% pokeball
|
||||
BallHandlers::ModifyCatchRate.add(:VIRUSBALL,proc{|ball,catchRate,battle,pokemon|
|
||||
catchRate=(catchRate*0.4).floor
|
||||
catchRate=(catchRate*0.4).floor(1)
|
||||
next catchRate
|
||||
})
|
||||
BallHandlers::OnCatch.add(:VIRUSBALL,proc{|ball,battle,pokemon|
|
||||
@@ -46,7 +45,7 @@ BallHandlers::OnCatch.add(:VIRUSBALL,proc{|ball,battle,pokemon|
|
||||
#SHINY BALL 28 - rend shiny
|
||||
#catchrate: 20% pokeball
|
||||
BallHandlers::ModifyCatchRate.add(:SHINYBALL,proc{|ball,catchRate,battle,pokemon|
|
||||
catchRate=(catchRate*0.2).floor
|
||||
catchRate=(catchRate*0.2).floor(1)
|
||||
next catchRate
|
||||
})
|
||||
BallHandlers::OnCatch.add(:SHINYBALL,proc{|ball,battle,pokemon|
|
||||
@@ -56,7 +55,7 @@ BallHandlers::OnCatch.add(:SHINYBALL,proc{|ball,battle,pokemon|
|
||||
#PERFECTBALL 29
|
||||
#catch rate: 10% pokeball
|
||||
BallHandlers::ModifyCatchRate.add(:PERFECTBALL,proc{|ball,catchRate,battle,pokemon|
|
||||
catchRate=(catchRate*0.1).floor
|
||||
catchRate=(catchRate*0.1).floor(1)
|
||||
next catchRate
|
||||
})
|
||||
BallHandlers::OnCatch.add(:PERFECTBALL,proc{|ball,battle,pokemon|
|
||||
@@ -70,27 +69,32 @@ BallHandlers::OnCatch.add(:PERFECTBALL,proc{|ball,battle,pokemon|
|
||||
|
||||
#DREAMBALL - endormi
|
||||
BallHandlers::ModifyCatchRate.add(:DREAMBALL,proc{|ball,catchRate,battle,battler|
|
||||
battler.status = PBStatuses::SLEEP
|
||||
battler.status = :SLEEP
|
||||
catchRate = 1
|
||||
next catchRate
|
||||
})
|
||||
#TOXICBALL - empoisonné
|
||||
BallHandlers::ModifyCatchRate.add(:TOXICBALL,proc{|ball,catchRate,battle,battler|
|
||||
battler.status = PBStatuses::POISON
|
||||
battler.status = :POISON
|
||||
catchRate = 1
|
||||
next catchRate
|
||||
})
|
||||
#SCORCHBALL - brulé
|
||||
BallHandlers::ModifyCatchRate.add(:SCORCHBALL,proc{|ball,catchRate,battle,battler|
|
||||
battler.status = PBStatuses::BURN
|
||||
battler.status = :BURN
|
||||
catchRate = 1
|
||||
next catchRate
|
||||
})
|
||||
#FROSTBALL - frozen
|
||||
BallHandlers::ModifyCatchRate.add(:FROSTBALL,proc{|ball,catchRate,battle,battler|
|
||||
battler.status = PBStatuses::FROZEN
|
||||
battler.status = :FROZEN
|
||||
catchRate = 1
|
||||
next catchRate
|
||||
})
|
||||
#SPARKBALL - paralizé
|
||||
BallHandlers::ModifyCatchRate.add(:SPARKBALL,proc{|ball,catchRate,battle,battler|
|
||||
battler.status = PBStatuses::PARALYSIS
|
||||
battler.status = :PARALYSIS
|
||||
catchRate = 1
|
||||
next catchRate
|
||||
})
|
||||
#PUREBALL - marche mieux quand pas de status
|
||||
@@ -104,9 +108,9 @@ BallHandlers::ModifyCatchRate.add(:STATUSBALL,proc{|ball,catchRate,battle,battle
|
||||
next catchRate
|
||||
})
|
||||
|
||||
#FUSIONBALL - marche mieux quand fused
|
||||
#FUSIONBALL - marche mieux quand fusedr
|
||||
BallHandlers::ModifyCatchRate.add(:FUSIONBALL,proc{|ball,catchRate,battle,battler|
|
||||
catchRate*=3 if battler.species > NB_POKEMON
|
||||
catchRate*=3 if GameData::Species.get(battler.species).id_number > Settings::NB_POKEMON
|
||||
next catchRate
|
||||
})
|
||||
|
||||
|
||||
@@ -930,13 +930,13 @@ ItemHandlers::UseOnPokemon.add(:SLOWPOKETAIL, proc { |item, pokemon, scene|
|
||||
|
||||
#TRACKER (for roaming legendaries)
|
||||
ItemHandlers::UseInField.add(:REVEALGLASS, proc { |item|
|
||||
if RoamingSpecies.length == 0
|
||||
if Settings::ROAMING_SPECIES.length == 0
|
||||
Kernel.pbMessage(_INTL("No roaming Pokémon defined."))
|
||||
else
|
||||
text = "\\l[8]"
|
||||
min = $game_switches[350] ? 0 : 1
|
||||
for i in min...RoamingSpecies.length
|
||||
poke = RoamingSpecies[i]
|
||||
for i in min...Settings::ROAMING_SPECIES.length
|
||||
poke = Settings::ROAMING_SPECIES[i]
|
||||
next if poke == PBSPecies::FEEBAS
|
||||
if $game_switches[poke[2]]
|
||||
status = $PokemonGlobal.roamPokemon[i]
|
||||
@@ -970,7 +970,7 @@ ItemHandlers::UseInField.add(:REVEALGLASS, proc { |item|
|
||||
#text+=_INTL("{1} does not appear to be roaming.",
|
||||
# PBSpecies.getName(getID(PBSpecies,poke[0])),poke[1],poke[2])
|
||||
end
|
||||
text += "\n" if i < RoamingSpecies.length - 1
|
||||
text += "\n" if i < Settings::ROAMING_SPECIES.length - 1
|
||||
end
|
||||
Kernel.pbMessage(text)
|
||||
end
|
||||
@@ -1638,14 +1638,21 @@ ItemHandlers::UseInField.add(:DEVONSCOPE, proc { |item|
|
||||
|
||||
#TRACKER (for roaming legendaries)
|
||||
ItemHandlers::UseInField.add(:REVEALGLASS, proc { |item|
|
||||
track_pokemon()
|
||||
})
|
||||
ItemHandlers::UseFromBag.add(:REVEALGLASS, proc { |item|
|
||||
track_pokemon()
|
||||
})
|
||||
|
||||
def track_pokemon()
|
||||
nbRoaming = 0
|
||||
if RoamingSpecies.length == 0
|
||||
if Settings::ROAMING_SPECIES.length == 0
|
||||
Kernel.pbMessage(_INTL("No roaming Pokémon defined."))
|
||||
else
|
||||
text = "\\l[8]"
|
||||
min = $game_switches[350] ? 0 : 1
|
||||
for i in min...RoamingSpecies.length
|
||||
poke = RoamingSpecies[i]
|
||||
for i in min...Settings::ROAMING_SPECIES.length
|
||||
poke = Settings::ROAMING_SPECIES[i]
|
||||
next if poke[0] == :FEEBAS
|
||||
if $game_switches[poke[2]]
|
||||
status = $PokemonGlobal.roamPokemon[i]
|
||||
@@ -1680,14 +1687,14 @@ ItemHandlers::UseInField.add(:REVEALGLASS, proc { |item|
|
||||
#text+=_INTL("{1} does not appear to be roaming.",
|
||||
# PBSpecies.getName(getID(PBSpecies,poke[0])),poke[1],poke[2])
|
||||
end
|
||||
text += "\n" if i < RoamingSpecies.length - 1
|
||||
#text += "\n" if i < Settings::ROAMING_SPECIES.length - 1
|
||||
end
|
||||
if nbRoaming == 0
|
||||
text = "No Pokémon appears to be roaming at this moment."
|
||||
end
|
||||
Kernel.pbMessage(text)
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
####EXP. ALL
|
||||
#Methodes relative a l'exp sont pas encore la et pas compatibles
|
||||
|
||||
Reference in New Issue
Block a user