Improved AI code for weather-causing moves, added AI getting flags from trainer types, added Legendary/Mythical flags to pokemon.txt, added Setting to make wild Legendary/Mythical Pokémon smarter

This commit is contained in:
Maruno17
2023-02-20 23:33:09 +00:00
parent 0e4053f837
commit d0c99aa512
21 changed files with 610 additions and 241 deletions

View File

@@ -104,4 +104,11 @@ module Settings
CHECK_EVOLUTION_AFTER_ALL_BATTLES = (MECHANICS_GENERATION >= 6)
# Whether fainted Pokémon can try to evolve after a battle.
CHECK_EVOLUTION_FOR_FAINTED_POKEMON = true
#=============================================================================
# Whether wild Pokémon with the "Legendary" or "Mythical" flag (as defined in
# pokemon.txt) have a smarter AI. Their skill level is set to 32, which is a
# medium skill level.
SMARTER_WILD_LEGENDARY_POKEMON = true
end

View File

@@ -788,7 +788,7 @@ class Battle::Move::UseLastMoveUsedByTarget < Battle::Move
def pbFailsAgainstTarget?(user, target, show_message)
if !target.lastRegularMoveUsed ||
GameData::Move.get(target.lastRegularMoveUsed).flags.none? { |f| f[/^CanMirrorMove$/i] }
!GameData::Move.get(target.lastRegularMoveUsed).has_flag?("CanMirrorMove")
@battle.pbDisplay(_INTL("The mirror move failed!")) if show_message
return true
end

View File

@@ -105,7 +105,7 @@ class Battle::AI
end
# Spikes
if battler_side.effects[PBEffects::Spikes] > 0 && !pkmn.hasAbility?(:MAGICGUARD) &&
!battler.airborne? && !pkmn.hasItem?(:HEAVYDUTYBOOTS)
!pkmn.hasItem?(:HEAVYDUTYBOOTS)
if @battle.field.effects[PBEffects::Gravity] > 0 || pkmn.hasItem?(:IRONBALL) ||
!(pkmn.hasType?(:FLYING) || pkmn.hasItem?(:LEVITATE) || pkmn.hasItem?(:AIRBALLOON))
spikes_div = [8, 6, 4][battler_side.effects[PBEffects::Spikes] - 1]

View File

@@ -19,21 +19,21 @@ class Battle::AI
#=============================================================================
def pbGetMoveScores
choices = []
@user.battler.eachMoveWithIndex do |move, idxMove|
@user.battler.eachMoveWithIndex do |orig_move, idxMove|
# Unchoosable moves aren't considered
if !@battle.pbCanChooseMove?(@user.index, idxMove, false)
if move.pp == 0 && move.total_pp > 0
PBDebug.log_ai("#{@user.name} cannot use #{move.name} (no PP left)")
if orig_move.pp == 0 && orig_move.total_pp > 0
PBDebug.log_ai("#{@user.name} cannot use #{orig_move.name} (no PP left)")
else
PBDebug.log_ai("#{@user.name} cannot choose to use #{move.name}")
PBDebug.log_ai("#{@user.name} cannot choose to use #{orig_move.name}")
end
next
end
# Set up move in class variables
set_up_move_check(move)
set_up_move_check(orig_move)
# Predict whether the move will fail (generally)
if @trainer.has_skill_flag?("PredictMoveFailure") && pbPredictMoveFailure
PBDebug.log_ai("#{@user.name} is considering using #{@move.name}...")
PBDebug.log_ai("#{@user.name} is considering using #{orig_move.name}...")
PBDebug.log_score_change(MOVE_FAIL_SCORE - MOVE_BASE_SCORE, "move will fail")
add_move_to_choices(choices, idxMove, MOVE_FAIL_SCORE)
next
@@ -47,7 +47,7 @@ class Battle::AI
case target_data.num_targets
when 0 # No targets, affects the user or a side or the whole field
# Includes: BothSides, FoeSide, None, User, UserSide
PBDebug.log_ai("#{@user.name} is considering using #{@move.name}...")
PBDebug.log_ai("#{@user.name} is considering using #{orig_move.name}...")
score = MOVE_BASE_SCORE
PBDebug.logonerr { score = pbGetMoveScore }
add_move_to_choices(choices, idxMove, score)
@@ -61,7 +61,7 @@ class Battle::AI
# TODO: Should this sometimes consider targeting an ally? See def
# pbGetMoveScoreAgainstTarget for more information.
next if target_data.targets_foe && !@user.battler.opposes?(b)
PBDebug.log_ai("#{@user.name} is considering using #{@move.name} against #{b.name} (#{b.index})...")
PBDebug.log_ai("#{@user.name} is considering using #{orig_move.name} against #{b.name} (#{b.index})...")
score = MOVE_BASE_SCORE
PBDebug.logonerr { score = pbGetMoveScore([b]) }
add_move_to_choices(choices, idxMove, score, b.index)
@@ -75,7 +75,7 @@ class Battle::AI
next if !@battle.pbMoveCanTarget?(@user.battler.index, b.index, target_data)
targets.push(b)
end
PBDebug.log_ai("#{@user.name} is considering using #{@move.name}...")
PBDebug.log_ai("#{@user.name} is considering using #{orig_move.name}...")
score = MOVE_BASE_SCORE
PBDebug.logonerr { score = pbGetMoveScore(targets) }
add_move_to_choices(choices, idxMove, score)
@@ -143,11 +143,6 @@ class Battle::AI
!move.moveBlacklist.include?(GameData::Move.get(@battle.lastMoveUsed).function_code)
move = Battle::Move.from_pokemon_move(@battle, Pokemon::Move.new(@battle.lastMoveUsed))
end
when "UseLastMoveUsedByTarget"
if target.battler.lastRegularMoveUsed &&
GameData::Move.get(target.battler.lastRegularMoveUsed).flags.any? { |f| f[/^CanMirrorMove$/i] }
move = Battle::Move.from_pokemon_move(@battle, Pokemon::Move.new(target.battler.lastRegularMoveUsed))
end
when "UseMoveDependingOnEnvironment"
move.pbOnStartUse(@user.battler, []) # Determine which move is used instead
move = Battle::Move.from_pokemon_move(@battle, Pokemon::Move.new(move.npMove))
@@ -159,6 +154,13 @@ class Battle::AI
def set_up_move_check_target(target)
@target = (target) ? @battlers[target.index] : nil
@target&.refresh_battler
if @target && @move.function == "UseLastMoveUsedByTarget"
if @target.battler.lastRegularMoveUsed &&
GameData::Move.get(@target.battler.lastRegularMoveUsed).has_flag?("CanMirrorMove")
mov = Battle::Move.from_pokemon_move(@battle, Pokemon::Move.new(@target.battler.lastRegularMoveUsed))
@move.set_up(mov)
end
end
end
#=============================================================================
@@ -231,7 +233,9 @@ class Battle::AI
# TODO: Distinguish between affected foes and affected allies?
affected_targets = 0
# Get a score for the move against each target in turn
orig_move = @move.move # In case move is Mirror Move and changes depending on the target
targets.each do |target|
set_up_move_check(orig_move)
set_up_move_check_target(target)
t_score = pbGetMoveScoreAgainstTarget
next if t_score < 0

View File

@@ -557,8 +557,127 @@ class Battle::AI
#=============================================================================
#
#=============================================================================
def get_score_for_terrain(terrain, move_user)
def get_score_for_weather(weather, move_user, starting = false)
return 0 if @battle.pbCheckGlobalAbility(:AIRLOCK) ||
@battle.pbCheckGlobalAbility(:CLOUDNINE)
ret = 0
if starting
weather_extender = {
:Sun => :HEATROCK,
:Rain => :DAMPROCK,
:Sandstorm => :SMOOTHROCK,
:Hail => :ICYROCK
}[weather]
ret += 4 if weather_extender && move_user.has_active_item?(weather_extender)
end
each_battler do |b, i|
# Check each battler for weather-specific effects
case weather
when :Sun
# Check for Fire/Water moves
if b.has_damaging_move_of_type?(:FIRE)
ret += (b.opposes?(move_user)) ? -8 : 8
end
if b.has_damaging_move_of_type?(:WATER)
ret += (b.opposes?(move_user)) ? 8 : -8
end
# TODO: Check for freezing moves.
when :Rain
# Check for Fire/Water moves
if b.has_damaging_move_of_type?(:WATER)
ret += (b.opposes?(move_user)) ? -8 : 8
end
if b.has_damaging_move_of_type?(:FIRE)
ret += (b.opposes?(move_user)) ? 8 : -8
end
when :Sandstorm
# Check for battlers affected by sandstorm's effects
if b.battler.takesSandstormDamage? # End of round damage
ret += (b.opposes?(move_user)) ? 8 : -8
end
if b.has_type?(:ROCK) # +SpDef for Rock types
ret += (b.opposes?(move_user)) ? -8 : 8
end
when :Hail
# Check for battlers affected by hail's effects
if b.battler.takesHailDamage? # End of round damage
ret += (b.opposes?(move_user)) ? 8 : -8
end
when :ShadowSky
# Check for battlers affected by Shadow Sky's effects
if b.has_damaging_move_of_type?(:SHADOW)
ret += (b.opposes?(move_user)) ? 8 : -8
end
if b.battler.takesShadowSkyDamage? # End of round damage
ret += (b.opposes?(move_user)) ? 8 : -8
end
end
# Check each battler's abilities/other moves affected by the new weather
if @trainer.medium_skill? && !b.has_active_item?(:UTILITYUMBRELLA)
beneficial_abilities = {
:Sun => [:CHLOROPHYLL, :FLOWERGIFT, :FORECAST, :HARVEST, :LEAFGUARD, :SOLARPOWER],
:Rain => [:DRYSKIN, :FORECAST, :HYDRATION, :RAINDISH, :SWIFTSWIM],
:Sandstorm => [:SANDFORCE, :SANDRUSH, :SANDVEIL],
:Hail => [:FORECAST, :ICEBODY, :SLUSHRUSH, :SNOWCLOAK]
}[weather]
if beneficial_abilities && beneficial_abilities.length > 0 &&
b.has_active_ability?(beneficial_abilities)
ret += (b.opposes?(move_user)) ? -5 : 5
end
if weather == :Hail && b.ability == :ICEFACE
ret += (b.opposes?(move_user)) ? -5 : 5
end
negative_abilities = {
:Sun => [:DRYSKIN]
}[weather]
if negative_abilities && negative_abilities.length > 0 &&
b.has_active_ability?(negative_abilities)
ret += (b.opposes?(move_user)) ? 5 : -5
end
beneficial_moves = {
:Sun => ["HealUserDependingOnWeather",
"RaiseUserAtkSpAtk1Or2InSun",
"TwoTurnAttackOneTurnInSun",
"TypeAndPowerDependOnWeather"],
:Rain => ["ConfuseTargetAlwaysHitsInRainHitsTargetInSky",
"ParalyzeTargetAlwaysHitsInRainHitsTargetInSky",
"TypeAndPowerDependOnWeather"],
:Sandstorm => ["HealUserDependingOnSandstorm",
"TypeAndPowerDependOnWeather"],
:Hail => ["FreezeTargetAlwaysHitsInHail",
"StartWeakenDamageAgainstUserSideIfHail",
"TypeAndPowerDependOnWeather"],
:ShadowSky => ["TypeAndPowerDependOnWeather"]
}[weather]
if beneficial_moves && beneficial_moves.length > 0 &&
b.has_move_with_function?(*beneficial_moves)
ret += (b.opposes?(move_user)) ? -5 : 5
end
negative_moves = {
:Sun => ["ConfuseTargetAlwaysHitsInRainHitsTargetInSky",
"ParalyzeTargetAlwaysHitsInRainHitsTargetInSky"],
:Rain => ["HealUserDependingOnWeather",
"TwoTurnAttackOneTurnInSun"],
:Sandstorm => ["HealUserDependingOnWeather",
"TwoTurnAttackOneTurnInSun"],
:Hail => ["HealUserDependingOnWeather",
"TwoTurnAttackOneTurnInSun"]
}[weather]
if negative_moves && negative_moves.length > 0 &&
b.has_move_with_function?(*negative_moves)
ret += (b.opposes?(move_user)) ? 5 : -5
end
end
end
return ret
end
#=============================================================================
#
#=============================================================================
def get_score_for_terrain(terrain, move_user, starting = false)
ret = 0
ret += 4 if starting && terrain != :None && move_user.has_active_item?(:TERRAINEXTENDER)
# Inherent effects of terrain
each_battler do |b, i|
next if !b.battler.affectedByTerrain?
@@ -613,9 +732,7 @@ class Battle::AI
:Psychic => :PSYCHICSEED
}[terrain]
each_battler do |b, i|
if b.has_active_item?(:TERRAINEXTENDER)
ret += (b.opposes?(move_user)) ? -15 : 15
elsif seed && b.has_active_item?(seed)
if seed && b.has_active_item?(seed)
ret += (b.opposes?(move_user)) ? -15 : 15
end
end
@@ -623,9 +740,7 @@ class Battle::AI
if @trainer.medium_skill?
abils = {
:Electric => :SURGESURFER,
:Grassy => :GRASSPELT,
:Misty => nil,
:Psychic => nil
:Grassy => :GRASSPELT
}[terrain]
good_moves = {
:Electric => ["DoublePowerInElectricTerrain"],
@@ -635,12 +750,9 @@ class Battle::AI
:Psychic => ["HitsAllFoesAndPowersUpInPsychicTerrain"]
}[terrain]
bad_moves = {
:Electric => nil,
:Grassy => ["DoublePowerIfTargetUnderground",
"LowerTargetSpeed1WeakerInGrassyTerrain",
"RandomPowerDoublePowerIfTargetUnderground"],
:Misty => nil,
:Psychic => nil
:Grassy => ["DoublePowerIfTargetUnderground",
"LowerTargetSpeed1WeakerInGrassyTerrain",
"RandomPowerDoublePowerIfTargetUnderground"]
}[terrain]
each_battler do |b, i|
next if !b.battler.affectedByTerrain?

View File

@@ -258,7 +258,7 @@ Battle::AI::Handlers::GeneralMoveAgainstTargetScore.add(:avoid_knocking_out_dest
#===============================================================================
Battle::AI::Handlers::GeneralMoveAgainstTargetScore.add(:avoid_targeting_bouncable_move_against_Magic_Bouncer,
proc { |score, move, user, target, ai, battle|
if move.statusMove? && move.canMagicCoat? &&
if move.statusMove? && move.move.canMagicCoat? &&
!battle.moldBreaker && target.has_active_ability?(:MAGICBOUNCE)
old_score = score
score = Battle::AI::MOVE_USELESS_SCORE
@@ -270,7 +270,7 @@ Battle::AI::Handlers::GeneralMoveAgainstTargetScore.add(:avoid_targeting_bouncab
Battle::AI::Handlers::GeneralMoveScore.add(:avoid_bouncable_move_with_foe_Magic_Bouncer,
proc { |score, move, user, ai, battle|
if move.statusMove? && move.canMagicCoat? &&
if move.statusMove? && move.move.canMagicCoat? &&
move.pbTarget(user.battler).num_targets == 0 && !battle.moldBreaker
has_magic_bounce = false
ai.each_foe_battler(user.side) do |b, i|

View File

@@ -28,10 +28,27 @@ class Battle::AI::AITrainer
@skill = 0
@skill_flags = []
set_up_skill
set_up_skill_flags
sanitize_skill_flags
end
def set_up_skill
@skill = @trainer.skill_level if @trainer
if @trainer
@skill = @trainer.skill_level
elsif Settings::SMARTER_WILD_LEGENDARY_POKEMON
# Give wild legendary/mythical Pokémon a higher skill
wild_battler = @ai.battle.battlers[@side]
sp_data = wild_battler.pokemon.species_data
if sp_data.has_flag?("Legendary") || sp_data.has_flag?("Mythical")
@skill = 32 # Medium skill
end
end
end
def set_up_skill_flags
if @trainer
@trainer.flags.each { |flag| @skill_flags.push(flag) }
end
# TODO: Add skill flags depending on @skill.
if @skill > 0
@skill_flags.push("PredictMoveFailure")
@@ -41,11 +58,17 @@ class Battle::AI::AITrainer
if !medium_skill?
@skill_flags.push("UsePokemonInOrder")
elsif best_skill?
# TODO: Also have flag "DontReserveLastPokemon" which negates this.
@skill_flags.push("ReserveLastPokemon")
end
end
def sanitize_skill_flags
# NOTE: Any skill flag which is shorthand for multiple other skill flags
# should be "unpacked" here.
# TODO: Have a bunch of "AntiX" flags that negate the corresponding "X" flags.
# TODO: Have flag "DontReserveLastPokemon" which negates "ReserveLastPokemon".
end
def has_skill_flag?(flag)
return @skill_flags.include?(flag)
end

View File

@@ -201,6 +201,8 @@ class Battle::AI::AIBattler
return active_types.include?(GameData::Type.get(type).id)
end
# TODO: Also make a def effectiveness_of_move_against_battler which calls
# pbCalcTypeModSingle instead of effectiveness_of_type_against_single_battler_type.
def effectiveness_of_type_against_battler(type, user = nil)
ret = Effectiveness::NORMAL_EFFECTIVE_MULTIPLIER
return ret if !type
@@ -214,8 +216,6 @@ class Battle::AI::AIBattler
end
else
@battler.pbTypes(true).each do |defend_type|
# TODO: Need to check the move's pbCalcTypeModSingle because particular
# moves can modify that method to give different effectivenesses.
ret *= effectiveness_of_type_against_single_battler_type(type, defend_type, user)
end
ret *= 2 if self.effects[PBEffects::TarShot] && type == :FIRE

View File

@@ -32,6 +32,7 @@ class Battle::AI::AIMove
# ignoresReflect?
def id; return @move.id; end
def name; return @move.name; end
def physicalMove?(thisType = nil); return @move.physicalMove?(thisType); end
def specialMove?(thisType = nil); return @move.specialMove?(thisType); end
def damagingMove?; return @move.damagingMove?; end

View File

@@ -175,38 +175,11 @@ Battle::AI::Handlers::MoveEffectScore.add("StartSunWeather",
proc { |score, move, user, ai, battle|
next Battle::AI::MOVE_USELESS_SCORE if battle.pbCheckGlobalAbility(:AIRLOCK) ||
battle.pbCheckGlobalAbility(:CLOUDNINE)
score += 10 if battle.field.weather != :None # Prefer replacing another weather
score += 15 if user.has_active_item?(:HEATROCK)
score -= 10 if user.hp < user.totalhp / 2 # Not worth it at lower HP
# Check for Fire/Water moves
ai.each_battler do |b, i|
if b.has_damaging_move_of_type?(:FIRE)
score += (b.opposes?(user)) ? -15 : 15
end
if b.has_damaging_move_of_type?(:WATER)
score += (b.opposes?(user)) ? 15 : -15
end
end
# TODO: Check for freezing moves.
# Check for abilities/other moves affected by sun
# TODO: Check other battlers for these as well?
if ai.trainer.medium_skill? && !user.has_active_item?(:UTILITYUMBRELLA)
if user.has_active_ability?([:CHLOROPHYLL, :FLOWERGIFT, :FORECAST, :HARVEST, :LEAFGUARD, :SOLARPOWER])
score += 15
elsif user.has_active_ability?(:DRYSKIN)
score -= 10
end
if user.has_move_with_function?("HealUserDependingOnWeather",
"RaiseUserAtkSpAtk1Or2InSun",
"TwoTurnAttackOneTurnInSun",
"TypeAndPowerDependOnWeather")
score += 10
end
if user.has_move_with_function?("ConfuseTargetAlwaysHitsInRainHitsTargetInSky",
"ParalyzeTargetAlwaysHitsInRainHitsTargetInSky")
score -= 10
end
if ai.trainer.high_skill? && battle.field.weather != :None
score -= ai.get_score_for_weather(battle.field.weather, user)
end
score += ai.get_score_for_weather(:Sun, user, true)
next score
}
)
@@ -220,34 +193,11 @@ Battle::AI::Handlers::MoveEffectScore.add("StartRainWeather",
proc { |score, move, user, ai, battle|
next Battle::AI::MOVE_USELESS_SCORE if battle.pbCheckGlobalAbility(:AIRLOCK) ||
battle.pbCheckGlobalAbility(:CLOUDNINE)
score += 10 if battle.field.weather != :None # Prefer replacing another weather
score += 15 if user.has_active_item?(:DAMPROCK)
score -= 10 if user.hp < user.totalhp / 2 # Not worth it at lower HP
# Check for Fire/Water moves
ai.each_battler do |b, i|
if b.has_damaging_move_of_type?(:WATER)
score += (b.opposes?(user)) ? -15 : 15
end
if b.has_damaging_move_of_type?(:FIRE)
score += (b.opposes?(user)) ? 15 : -15
end
end
# Check for abilities/other moves affected by rain
# TODO: Check other battlers for these as well?
if ai.trainer.medium_skill? && !user.has_active_item?(:UTILITYUMBRELLA)
if user.has_active_ability?([:DRYSKIN, :FORECAST, :HYDRATION, :RAINDISH, :SWIFTSWIM])
score += 15
end
if user.has_move_with_function?("ConfuseTargetAlwaysHitsInRainHitsTargetInSky",
"ParalyzeTargetAlwaysHitsInRainHitsTargetInSky",
"TypeAndPowerDependOnWeather")
score += 10
end
if user.has_move_with_function?("HealUserDependingOnWeather",
"TwoTurnAttackOneTurnInSun")
score -= 10
end
if ai.trainer.high_skill? && battle.field.weather != :None
score -= ai.get_score_for_weather(battle.field.weather, user)
end
score += ai.get_score_for_weather(:Rain, user, true)
next score
}
)
@@ -261,33 +211,11 @@ Battle::AI::Handlers::MoveEffectScore.add("StartSandstormWeather",
proc { |score, move, user, ai, battle|
next Battle::AI::MOVE_USELESS_SCORE if battle.pbCheckGlobalAbility(:AIRLOCK) ||
battle.pbCheckGlobalAbility(:CLOUDNINE)
score += 10 if battle.field.weather != :None # Prefer replacing another weather
score += 15 if user.has_active_item?(:SMOOTHROCK)
score -= 10 if user.hp < user.totalhp / 2 # Not worth it at lower HP
# Check for battlers affected by sandstorm's effects
ai.each_battler do |b, i|
if b.battler.takesSandstormDamage? # End of round damage
score += (b.opposes?(user)) ? 15 : -15
end
if b.has_type?(:ROCK) # +SpDef for Rock types
score += (b.opposes?(user)) ? -15 : 15
end
end
# Check for abilities/moves affected by sandstorm
# TODO: Check other battlers for these as well?
if ai.trainer.medium_skill? && !user.has_active_item?(:UTILITYUMBRELLA)
if user.has_active_ability?([:SANDFORCE, :SANDRUSH, :SANDVEIL])
score += 15
end
if user.has_move_with_function?("HealUserDependingOnSandstorm",
"TypeAndPowerDependOnWeather")
score += 10
end
if user.has_move_with_function?("HealUserDependingOnWeather",
"TwoTurnAttackOneTurnInSun")
score -= 10
end
if ai.trainer.high_skill? && battle.field.weather != :None
score -= ai.get_score_for_weather(battle.field.weather, user)
end
score += ai.get_score_for_weather(:Sandstorm, user, true)
next score
}
)
@@ -301,33 +229,11 @@ Battle::AI::Handlers::MoveEffectScore.add("StartHailWeather",
proc { |score, move, user, ai, battle|
next Battle::AI::MOVE_USELESS_SCORE if battle.pbCheckGlobalAbility(:AIRLOCK) ||
battle.pbCheckGlobalAbility(:CLOUDNINE)
score += 10 if battle.field.weather != :None # Prefer replacing another weather
score += 15 if user.has_active_item?(:ICYROCK)
score -= 10 if user.hp < user.totalhp / 2 # Not worth it at lower HP
# Check for battlers affected by hail's effects
ai.each_battler do |b, i|
if b.battler.takesHailDamage? # End of round damage
score += (b.opposes?(user)) ? 15 : -15
end
end
# Check for abilities/moves affected by hail
# TODO: Check other battlers for these as well?
if ai.trainer.medium_skill? && !user.has_active_item?(:UTILITYUMBRELLA)
if user.has_active_ability?([:FORECAST, :ICEBODY, :SLUSHRUSH, :SNOWCLOAK])
score += 15
elsif user.ability == :ICEFACE
score += 15
end
if user.has_move_with_function?("FreezeTargetAlwaysHitsInHail",
"StartWeakenDamageAgainstUserSideIfHail",
"TypeAndPowerDependOnWeather")
score += 10
end
if user.has_move_with_function?("HealUserDependingOnWeather",
"TwoTurnAttackOneTurnInSun")
score -= 10
end
if ai.trainer.high_skill? && battle.field.weather != :None
score -= ai.get_score_for_weather(battle.field.weather, user)
end
score += ai.get_score_for_weather(:Hail, user, true)
next score
}
)
@@ -343,10 +249,10 @@ Battle::AI::Handlers::MoveFailureCheck.add("StartElectricTerrain",
Battle::AI::Handlers::MoveEffectScore.add("StartElectricTerrain",
proc { |score, move, user, ai, battle|
score -= 10 if user.hp < user.totalhp / 2 # Not worth it at lower HP
if battle.field.terrain != :None
if ai.trainer.high_skill? && battle.field.terrain != :None
score -= ai.get_score_for_terrain(battle.field.terrain, user)
end
score += ai.get_score_for_terrain(:Electric, user)
score += ai.get_score_for_terrain(:Electric, user, true)
next score
}
)
@@ -362,10 +268,10 @@ Battle::AI::Handlers::MoveFailureCheck.add("StartGrassyTerrain",
Battle::AI::Handlers::MoveEffectScore.add("StartGrassyTerrain",
proc { |score, move, user, ai, battle|
score -= 10 if user.hp < user.totalhp / 2 # Not worth it at lower HP
if battle.field.terrain != :None
if ai.trainer.high_skill? && battle.field.terrain != :None
score -= ai.get_score_for_terrain(battle.field.terrain, user)
end
score += ai.get_score_for_terrain(:Grassy, user)
score += ai.get_score_for_terrain(:Grassy, user, true)
next score
}
)
@@ -381,10 +287,10 @@ Battle::AI::Handlers::MoveFailureCheck.add("StartMistyTerrain",
Battle::AI::Handlers::MoveEffectScore.add("StartMistyTerrain",
proc { |score, move, user, ai, battle|
score -= 10 if user.hp < user.totalhp / 2 # Not worth it at lower HP
if battle.field.terrain != :None
if ai.trainer.high_skill? && battle.field.terrain != :None
score -= ai.get_score_for_terrain(battle.field.terrain, user)
end
score += ai.get_score_for_terrain(:Misty, user)
score += ai.get_score_for_terrain(:Misty, user, true)
next score
}
)
@@ -400,10 +306,10 @@ Battle::AI::Handlers::MoveFailureCheck.add("StartPsychicTerrain",
Battle::AI::Handlers::MoveEffectScore.add("StartPsychicTerrain",
proc { |score, move, user, ai, battle|
score -= 10 if user.hp < user.totalhp / 2 # Not worth it at lower HP
if battle.field.terrain != :None
if ai.trainer.high_skill? && battle.field.terrain != :None
score -= ai.get_score_for_terrain(battle.field.terrain, user)
end
score += ai.get_score_for_terrain(:Psychic, user)
score += ai.get_score_for_terrain(:Psychic, user, true)
next score
}
)
@@ -745,24 +651,11 @@ Battle::AI::Handlers::MoveEffectScore.add("StartShadowSkyWeather",
proc { |score, move, user, ai, battle|
next Battle::AI::MOVE_USELESS_SCORE if battle.pbCheckGlobalAbility(:AIRLOCK) ||
battle.pbCheckGlobalAbility(:CLOUDNINE)
score += 10 if battle.field.weather != :None # Prefer replacing another weather
score -= 10 if user.hp < user.totalhp / 2 # Not worth it at lower HP
# Check for battlers affected by Shadow Sky's effects
ai.each_battler do |b, i|
if b.has_damaging_move_of_type?(:SHADOW)
score += (b.opposes?(user)) ? 15 : -15
end
if b.battler.takesShadowSkyDamage? # End of round damage
score += (b.opposes?(user)) ? 15 : -15
end
end
# Check for moves affected by Shadow Sky
# TODO: Check other battlers for these as well?
if ai.trainer.medium_skill? && !user.has_active_item?(:UTILITYUMBRELLA)
if user.has_move_with_function?("TypeAndPowerDependOnWeather")
score += 10
end
if ai.trainer.high_skill? && battle.field.weather != :None
score -= ai.get_score_for_weather(battle.field.weather, user)
end
score += ai.get_score_for_weather(:ShadowSky, user, true)
next score
}
)

View File

@@ -515,13 +515,8 @@ Battle::AI::Handlers::MoveEffectScore.add("StartRaiseUserAtk1WhenDamaged",
# TODO: Check whether any foe has damaging moves that will trigger the stat
# raise?
# Prefer if user benefits from a raised Attack stat
if user.check_for_move { |m| m.physicalMove?(m.type) &&
m.function != "UseUserDefenseInsteadOfUserAttack" &&
m.function != "UseTargetAttackInsteadOfUserAttack" }
score += 8
elsif user.has_move_with_function?("PowerHigherWithUserPositiveStatStages")
score += 4
end
score += 8 if ai.stat_raise_worthwhile?(user, :ATTACK)
score += 4 if user.has_move_with_function?("PowerHigherWithUserPositiveStatStages")
next score
}
)

View File

@@ -581,8 +581,8 @@ Battle::AI::Handlers::MoveEffectAgainstTargetScore.add("FlinchTarget",
end
# Inherent preference
score += 10
# Prefer if the target is paralysed, confused or infatuated, to compound the turn skipping
# TODO: Also prefer if the target is trapped in battle or can't switch out?
# Prefer if the target is paralysed, confused or infatuated, to compound the
# turn skipping
score += 5 if target.status == :PARALYSIS ||
target.effects[PBEffects::Confusion] > 1 ||
target.effects[PBEffects::Attract] >= 0

View File

@@ -76,13 +76,9 @@ Battle::AI::Handlers::MoveEffectAgainstTargetScore.add("OHKO",
proc { |score, move, user, target, ai, battle|
# Don't prefer if the target has less HP and user has a non-OHKO damaging move
if user.check_for_move { |m| !m.is_a?(Battle::Move::OHKO) && m.damagingMove? }
score -= 10 if target.hp <= target.totalhp / 2
score -= 10 if target.hp <= target.totalhp / 4
score -= 8 if target.hp <= target.totalhp / 2
score -= 8 if target.hp <= target.totalhp / 4
end
# TODO: Maybe predict dealt damage of all user's other moves, and score this
# move useless if another one can KO the target. Might also need to
# take into account whether those moves will fail. Might need to do
# this specially after all move scores are determined.
next score
}
)
@@ -506,7 +502,7 @@ Battle::AI::Handlers::MoveEffectScore.add("StartPreventCriticalHitsAgainstUserSi
if crit_stage >= 0 && crit_stage < 50
crit_stage += b.effects[PBEffects::FocusEnergy]
crit_stage += 1 if b.check_for_move { |m| m.highCriticalRate? }
crit_stage = 99 if m.check_for_move { |m| m.pbCritialOverride(b.battler, user.battler) > 0 }
crit_stage = 99 if b.check_for_move { |m| m.pbCritialOverride(b.battler, user.battler) > 0 }
crit_stage = [crit_stage, Battle::Move::CRITICAL_HIT_RATIOS.length - 1].min
end
# TODO: Change the score depending on how much of an effect a critical hit
@@ -1509,10 +1505,8 @@ Battle::AI::Handlers::MoveEffectAgainstTargetScore.add("TargetMovesBecomeElectri
#===============================================================================
Battle::AI::Handlers::MoveEffectScore.add("NormalMovesBecomeElectric",
proc { |score, move, user, ai, battle|
# Get Electric's effectiveness against the user
electric_eff = user.effectiveness_of_type_against_battler(:ELECTRIC, target)
electric_eff *= 1.5 if target.has_type?(:ELECTRIC) # STAB
electric_eff = 0 if user.has_active_ability?([:LIGHTNINGROD, :MOTORDRIVE, :VOLTABSORB])
base_electric_eff = Effectiveness::NORMAL_EFFECTIVE_MULTIPLIER
base_electric_eff = 0 if user.has_active_ability?([:LIGHTNINGROD, :MOTORDRIVE, :VOLTABSORB])
# Check all affected foe battlers for Normal moves, get their effectiveness
# against the user and decide whether it is better or worse than Electric's
# effectiveness
@@ -1521,11 +1515,17 @@ Battle::AI::Handlers::MoveEffectScore.add("NormalMovesBecomeElectric",
ai.each_foe_battler(user.side) do |b, i|
next if move.pbPriority(b.battler) <= 0 && b.faster_than?(user)
next if !b.has_damaging_move_of_type?(:NORMAL)
# Normal's effectiveness
eff = user.effectiveness_of_type_against_battler(:NORMAL, b)
eff *= 1.5 if b.has_type?(:NORMAL) # STAB
if eff > electric_eff
# Electric's effectiveness
elec_eff = user.effectiveness_of_type_against_battler(:ELECTRIC, b)
elec_eff *= 1.5 if b.has_type?(:ELECTRIC) # STAB
elec_eff *= base_electric_eff
# Compare the two
if eff > elec_eff
electric_type_better += 1
elsif eff < electric_eff
elsif eff < elec_eff
normal_type_better += 1
end
end

View File

@@ -469,7 +469,7 @@ Battle::AI::Handlers::MoveFailureCheck.add("UseLastMoveUsed",
Battle::AI::Handlers::MoveFailureAgainstTargetCheck.add("UseLastMoveUsedByTarget",
proc { |move, user, target, ai, battle|
next true if !target.battler.lastRegularMoveUsed
next GameData::Move.get(target.battler.lastRegularMoveUsed).flags.none? { |f| f[/^CanMirrorMove$/i] }
next !GameData::Move.get(target.battler.lastRegularMoveUsed).has_flag?("CanMirrorMove")
}
)

View File

@@ -421,11 +421,11 @@ Battle::AI::Handlers::MoveEffectScore.add("StartSlowerBattlersActFirst",
foe_speeds = []
ai.each_battler do |b, i|
if b.opposes?(user)
foe_speeds.push(rough_stat(:SPEED))
foe_speeds.push(b.rough_stat(:SPEED))
foe_speeds.last *= 2 if user.pbOpposingSide.effects[PBEffects::Tailwind] > 1
foe_speeds.last /= 2 if user.pbOpposingSide.effects[PBEffects::Swamp] > 1
else
ally_speeds.push(rough_stat(:SPEED))
ally_speeds.push(b.rough_stat(:SPEED))
ally_speeds.last *= 2 if user.pbOwnSide.effects[PBEffects::Tailwind] > 1
ally_speeds.last /= 2 if user.pbOwnSide.effects[PBEffects::Swamp] > 1
end

View File

@@ -20,7 +20,7 @@ class Trainer
end
def skill_level
return GameData::TrainerType.try_get(:trainer_type)&.skill_level || 0
return GameData::TrainerType.try_get(self.trainer_type)&.skill_level || 0
end
#=============================================================================

View File

@@ -3815,6 +3815,7 @@ Habitat = Rare
Category = Freeze
Pokedex = Articuno is a legendary bird Pokémon that can control ice. The flapping of its wings chills the air. As a result, it is said that when this Pokémon flies, snow will fall.
Generation = 1
Flags = Legendary
#-------------------------------
[ZAPDOS]
Name = Zapdos
@@ -3840,6 +3841,7 @@ Habitat = Rare
Category = Electric
Pokedex = Zapdos is a legendary bird Pokémon that has the ability to control electricity. It usually lives in thunderclouds. It gains power if it is stricken by lightning bolts.
Generation = 1
Flags = Legendary
#-------------------------------
[MOLTRES]
Name = Moltres
@@ -3865,6 +3867,7 @@ Habitat = Rare
Category = Flame
Pokedex = Moltres is a legendary bird Pokémon that can control fire. If injured, it is said to dip its body in the molten magma of a volcano to burn and heal itself.
Generation = 1
Flags = Legendary
#-------------------------------
[DRATINI]
Name = Dratini
@@ -3971,6 +3974,7 @@ Habitat = Rare
Category = Genetic
Pokedex = A Pokémon that was created by genetic manipulation. However, even though the scientific power of humans made its body, they failed to give it a warm heart.
Generation = 1
Flags = Legendary
#-------------------------------
[MEW]
Name = Mew
@@ -3995,6 +3999,7 @@ Habitat = Rare
Category = New Species
Pokedex = A Mew is said to possess the genes of all Pokémon. It is capable of making itself invisible at will, so it entirely avoids notice even if it approaches people.
Generation = 1
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -6422,6 +6427,7 @@ Habitat = Grassland
Category = Thunder
Pokedex = Raikou embodies the speed of lightning. Its roars send shock waves shuddering through the air and ground as if lightning bolts were crashing down.
Generation = 2
Flags = Legendary
#-------------------------------
[ENTEI]
Name = Entei
@@ -6447,6 +6453,7 @@ Habitat = Grassland
Category = Volcano
Pokedex = Entei embodies the passion of magma. It is thought to have been born in the eruption of a volcano. It blasts fire that consumes all that it touches.
Generation = 2
Flags = Legendary
#-------------------------------
[SUICUNE]
Name = Suicune
@@ -6472,6 +6479,7 @@ Habitat = Grassland
Category = Aurora
Pokedex = Suicune embodies the compassion of a pure spring of water. It runs across the land with gliding elegance. It has the power to purify dirty water.
Generation = 2
Flags = Legendary
#-------------------------------
[LARVITAR]
Name = Larvitar
@@ -6574,6 +6582,7 @@ Habitat = Rare
Category = Diving
Pokedex = Lugia is so powerful even a light fluttering of its wings can blow apart houses. As a result, it chooses to live out of sight deep under the sea.
Generation = 2
Flags = Legendary
#-------------------------------
[HOOH]
Name = Ho-Oh
@@ -6599,6 +6608,7 @@ Habitat = Rare
Category = Rainbow
Pokedex = Its feathers--which glow in seven colors depending on the angle at which light strikes them--are thought to bring joy. It is said to live at the foot of a rainbow.
Generation = 2
Flags = Legendary
WildItemCommon = SACREDASH
WildItemUncommon = SACREDASH
WildItemRare = SACREDASH
@@ -6626,6 +6636,7 @@ Habitat = Forest
Category = Time Travel
Pokedex = This Pokémon came from the future by crossing over time. It is thought that so long as Celebi appears, a bright and shining future awaits us.
Generation = 2
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -9955,6 +9966,7 @@ Habitat = Cave
Category = Rock Peak
Pokedex = A Pokémon that is made entirely of rocks and boulders. If parts of its body chip off in battle, Regirock repairs itself by adding new rocks.
Generation = 3
Flags = Legendary
#-------------------------------
[REGICE]
Name = Regice
@@ -9980,6 +9992,7 @@ Habitat = Cave
Category = Iceberg
Pokedex = Its entire body is made of Antarctic ice. After extensive studies, researchers believe the ice was formed during an ice age.
Generation = 3
Flags = Legendary
#-------------------------------
[REGISTEEL]
Name = Registeel
@@ -10005,6 +10018,7 @@ Habitat = Cave
Category = Iron
Pokedex = Its body is harder than any other kind of metal. The body metal is composed of a mysterious substance. Not only is it hard, it shrinks and stretches flexibly.
Generation = 3
Flags = Legendary
#-------------------------------
[LATIAS]
Name = Latias
@@ -10029,6 +10043,7 @@ Habitat = WatersEdge
Category = Eon
Pokedex = They make a small herd of only several members. They rarely make contact with people or other Pokémon. They disappear if they sense enemies.
Generation = 3
Flags = Legendary
#-------------------------------
[LATIOS]
Name = Latios
@@ -10053,6 +10068,7 @@ Habitat = WatersEdge
Category = Eon
Pokedex = Even in hiding, it can detect the locations of others and sense their emotions since it has telepathy. Its intelligence allows it to understand human languages.
Generation = 3
Flags = Legendary
#-------------------------------
[KYOGRE]
Name = Kyogre
@@ -10077,6 +10093,7 @@ Habitat = Sea
Category = Sea Basin
Pokedex = Kyogre has appeared in mythology as the creator of the sea. After long years of feuding with Groudon, it took to sleep at the bottom of the sea.
Generation = 3
Flags = Legendary
#-------------------------------
[GROUDON]
Name = Groudon
@@ -10101,6 +10118,7 @@ Habitat = RoughTerrain
Category = Continent
Pokedex = Groudon has appeared in mythology as the creator of the land. It sleeps in magma underground and is said to make volcanoes erupt on awakening.
Generation = 3
Flags = Legendary
#-------------------------------
[RAYQUAZA]
Name = Rayquaza
@@ -10125,6 +10143,7 @@ Habitat = Rare
Category = Sky High
Pokedex = A Pokémon that flies endlessly in the ozone layer. It is said it would descend to the ground if Kyogre and Groudon were to fight.
Generation = 3
Flags = Legendary
#-------------------------------
[JIRACHI]
Name = Jirachi
@@ -10149,6 +10168,7 @@ Habitat = Mountain
Category = Wish
Pokedex = Jirachi is said to make wishes come true. While it sleeps, a tough crystalline shell envelops the body to protect it from enemies.
Generation = 3
Flags = Mythical
WildItemCommon = STARPIECE
WildItemUncommon = STARPIECE
WildItemRare = STARPIECE
@@ -10177,6 +10197,7 @@ Category = DNA
Pokedex = A Pokémon that mutated from an extraterrestrial virus exposed to a laser beam. Its body is configured for superior agility and speed.
FormName = Normal Forme
Generation = 3
Flags = Mythical
#-------------------------------
[TURTWIG]
Name = Turtwig
@@ -12570,6 +12591,7 @@ Shape = BipedalTail
Category = Knowledge
Pokedex = Known as "The Being of Knowledge." It is said that it can wipe out the memory of those who see its eyes.
Generation = 4
Flags = Legendary
#-------------------------------
[MESPRIT]
Name = Mesprit
@@ -12593,6 +12615,7 @@ Shape = BipedalTail
Category = Emotion
Pokedex = Known as "The Being of Emotion." It taught humans the nobility of sorrow, pain, and joy.
Generation = 4
Flags = Legendary
#-------------------------------
[AZELF]
Name = Azelf
@@ -12616,6 +12639,7 @@ Shape = BipedalTail
Category = Willpower
Pokedex = Known as "The Being of Willpower." It sleeps at the bottom of a lake to keep the world in balance.
Generation = 4
Flags = Legendary
#-------------------------------
[DIALGA]
Name = Dialga
@@ -12640,6 +12664,7 @@ Shape = Quadruped
Category = Temporal
Pokedex = It has the power to control time. It appears in Sinnoh-region myths as an ancient deity.
Generation = 4
Flags = Legendary
#-------------------------------
[PALKIA]
Name = Palkia
@@ -12664,6 +12689,7 @@ Shape = BipedalTail
Category = Spatial
Pokedex = It has the ability to distort space. It is described as a deity in Sinnoh-region mythology.
Generation = 4
Flags = Legendary
#-------------------------------
[HEATRAN]
Name = Heatran
@@ -12688,6 +12714,7 @@ Shape = Quadruped
Category = Lava Dome
Pokedex = It dwells in volcanic caves. It digs in with its cross-shaped feet to crawl on ceilings and walls.
Generation = 4
Flags = Legendary
#-------------------------------
[REGIGIGAS]
Name = Regigigas
@@ -12711,6 +12738,7 @@ Shape = Bipedal
Category = Colossal
Pokedex = There is an enduring legend that states this Pokémon towed continents with ropes.
Generation = 4
Flags = Legendary
#-------------------------------
[GIRATINA]
Name = Giratina
@@ -12736,6 +12764,7 @@ Category = Renegade
Pokedex = A Pokémon that is said to live in a world on the reverse side of ours. It appears in an ancient cemetery.
FormName = Altered Forme
Generation = 4
Flags = Legendary
#-------------------------------
[CRESSELIA]
Name = Cresselia
@@ -12759,6 +12788,7 @@ Shape = Serpentine
Category = Lunar
Pokedex = Shiny particles are released from its wings like a veil. It is said to represent the crescent moon.
Generation = 4
Flags = Legendary
#-------------------------------
[PHIONE]
Name = Phione
@@ -12782,6 +12812,7 @@ Shape = HeadArms
Category = Sea Drifter
Pokedex = A Pokémon that lives in warm seas. It inflates the flotation sac on its head to drift and search for food.
Generation = 4
Flags = Mythical
#-------------------------------
[MANAPHY]
Name = Manaphy
@@ -12806,6 +12837,7 @@ Shape = Bipedal
Category = Seafaring
Pokedex = Born on a cold seafloor, it will swim great distances to return to its birthplace.
Generation = 4
Flags = Mythical
#-------------------------------
[DARKRAI]
Name = Darkrai
@@ -12829,6 +12861,7 @@ Shape = Bipedal
Category = Pitch-Black
Pokedex = It can lull people to sleep and make them dream. It is active during nights of the new moon.
Generation = 4
Flags = Mythical
#-------------------------------
[SHAYMIN]
Name = Shaymin
@@ -12853,6 +12886,7 @@ Category = Gratitude
Pokedex = It lives in flower patches and avoids detection by curling up to look like a flowering plant.
FormName = Land Forme
Generation = 4
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -12880,6 +12914,7 @@ Category = Alpha
Pokedex = It is described in mythology as the Pokémon that shaped the universe with its 1,000 arms.
FormName = Normal Type
Generation = 4
Flags = Mythical
#-------------------------------
[VICTINI]
Name = Victini
@@ -12903,6 +12938,7 @@ Shape = Bipedal
Category = Victory
Pokedex = This Pokémon brings victory. It is said that Trainers with Victini always win, regardless of the type of encounter.
Generation = 5
Flags = Mythical
#-------------------------------
[SNIVY]
Name = Snivy
@@ -16569,6 +16605,7 @@ Shape = Quadruped
Category = Iron Will
Pokedex = It has a body and heart of steel. Its glare is sufficient to make even an unruly Pokémon obey it.
Generation = 5
Flags = Legendary
#-------------------------------
[TERRAKION]
Name = Terrakion
@@ -16592,6 +16629,7 @@ Shape = Quadruped
Category = Cavern
Pokedex = Its charge is strong enough to break through a giant castle wall in one blow. This Pokémon is spoken of in legends.
Generation = 5
Flags = Legendary
#-------------------------------
[VIRIZION]
Name = Virizion
@@ -16615,6 +16653,7 @@ Shape = Quadruped
Category = Grassland
Pokedex = Its head sprouts horns as sharp as blades. Using whirlwind-like movements, it confounds and swiftly cuts opponents.
Generation = 5
Flags = Legendary
#-------------------------------
[TORNADUS]
Name = Tornadus
@@ -16640,6 +16679,7 @@ Category = Cyclone
Pokedex = Tornadus expels massive energy from its tail, causing severe storms. Its power is great enough to blow houses away.
FormName = Incarnate Forme
Generation = 5
Flags = Legendary
#-------------------------------
[THUNDURUS]
Name = Thundurus
@@ -16665,6 +16705,7 @@ Category = Bolt Strike
Pokedex = The spikes on its tail discharge immense bolts of lightning. It flies around the Unova region firing off lightning bolts.
FormName = Incarnate Forme
Generation = 5
Flags = Legendary
#-------------------------------
[RESHIRAM]
Name = Reshiram
@@ -16688,6 +16729,7 @@ Shape = Winged
Category = Vast White
Pokedex = When Reshiram's tail flares, the heat energy moves the atmosphere and changes the world's weather.
Generation = 5
Flags = Legendary
#-------------------------------
[ZEKROM]
Name = Zekrom
@@ -16711,6 +16753,7 @@ Shape = BipedalTail
Category = Deep Black
Pokedex = This Pokémon appears in legends. In its tail, it has a giant generator that creates electricity.
Generation = 5
Flags = Legendary
#-------------------------------
[LANDORUS]
Name = Landorus
@@ -16736,6 +16779,7 @@ Category = Abundance
Pokedex = The energy that comes pouring from its tail increases the nutrition in the soil, making crops grow to great size.
FormName = Incarnate Forme
Generation = 5
Flags = Legendary
#-------------------------------
[KYUREM]
Name = Kyurem
@@ -16759,6 +16803,7 @@ Shape = BipedalTail
Category = Boundary
Pokedex = It generates a powerful, freezing energy inside itself, but its body became frozen when the energy leaked out.
Generation = 5
Flags = Legendary
#-------------------------------
[KELDEO]
Name = Keldeo
@@ -16783,6 +16828,7 @@ Category = Colt
Pokedex = It crosses the world, running over the surfaces of oceans and rivers. It appears at scenic waterfronts.
FormName = Ordinary Form
Generation = 5
Flags = Mythical
#-------------------------------
[MELOETTA]
Name = Meloetta
@@ -16807,6 +16853,7 @@ Category = Melody
Pokedex = Many famous songs have been inspired by the melodies that Meloetta plays.
FormName = Aria Forme
Generation = 5
Flags = Mythical
WildItemCommon = STARPIECE
WildItemUncommon = STARPIECE
WildItemRare = STARPIECE
@@ -16834,3 +16881,4 @@ Category = Paleozoic
Pokedex = This ancient bug Pokémon was altered by Team Plasma. They upgraded the cannon on its back.
FormName = Normal
Generation = 5
Flags = Mythical

View File

@@ -3804,6 +3804,7 @@ Habitat = Rare
Category = Freeze
Pokedex = Articuno is a legendary bird Pokémon that can control ice. The flapping of its wings chills the air. As a result, it is said that when this Pokémon flies, snow will fall.
Generation = 1
Flags = Legendary
#-------------------------------
[ZAPDOS]
Name = Zapdos
@@ -3829,6 +3830,7 @@ Habitat = Rare
Category = Electric
Pokedex = Zapdos is a legendary bird Pokémon that has the ability to control electricity. It usually lives in thunderclouds. It gains power if it is stricken by lightning bolts.
Generation = 1
Flags = Legendary
#-------------------------------
[MOLTRES]
Name = Moltres
@@ -3854,6 +3856,7 @@ Habitat = Rare
Category = Flame
Pokedex = Moltres is a legendary bird Pokémon that can control fire. If injured, it is said to dip its body in the molten magma of a volcano to burn and heal itself.
Generation = 1
Flags = Legendary
#-------------------------------
[DRATINI]
Name = Dratini
@@ -3960,6 +3963,7 @@ Habitat = Rare
Category = Genetic
Pokedex = A Pokémon that was created by genetic manipulation. However, even though the scientific power of humans made its body, they failed to give it a warm heart.
Generation = 1
Flags = Legendary
#-------------------------------
[MEW]
Name = Mew
@@ -3984,6 +3988,7 @@ Habitat = Rare
Category = New Species
Pokedex = A Mew is said to possess the genes of all Pokémon. It is capable of making itself invisible at will, so it entirely avoids notice even if it approaches people.
Generation = 1
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -6401,6 +6406,7 @@ Habitat = Grassland
Category = Thunder
Pokedex = Raikou embodies the speed of lightning. Its roars send shock waves shuddering through the air and ground as if lightning bolts were crashing down.
Generation = 2
Flags = Legendary
#-------------------------------
[ENTEI]
Name = Entei
@@ -6426,6 +6432,7 @@ Habitat = Grassland
Category = Volcano
Pokedex = Entei embodies the passion of magma. It is thought to have been born in the eruption of a volcano. It blasts fire that consumes all that it touches.
Generation = 2
Flags = Legendary
#-------------------------------
[SUICUNE]
Name = Suicune
@@ -6451,6 +6458,7 @@ Habitat = Grassland
Category = Aurora
Pokedex = Suicune embodies the compassion of a pure spring of water. It runs across the land with gliding elegance. It has the power to purify dirty water.
Generation = 2
Flags = Legendary
#-------------------------------
[LARVITAR]
Name = Larvitar
@@ -6553,6 +6561,7 @@ Habitat = Rare
Category = Diving
Pokedex = Lugia is so powerful even a light fluttering of its wings can blow apart houses. As a result, it chooses to live out of sight deep under the sea.
Generation = 2
Flags = Legendary
#-------------------------------
[HOOH]
Name = Ho-Oh
@@ -6578,6 +6587,7 @@ Habitat = Rare
Category = Rainbow
Pokedex = Its feathers--which glow in seven colors depending on the angle at which light strikes them--are thought to bring joy. It is said to live at the foot of a rainbow.
Generation = 2
Flags = Legendary
WildItemCommon = SACREDASH
WildItemUncommon = SACREDASH
WildItemRare = SACREDASH
@@ -6605,6 +6615,7 @@ Habitat = Forest
Category = Time Travel
Pokedex = This Pokémon came from the future by crossing over time. It is thought that so long as Celebi appears, a bright and shining future awaits us.
Generation = 2
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -9949,6 +9960,7 @@ Habitat = Cave
Category = Rock Peak
Pokedex = A Pokémon that is made entirely of rocks and boulders. If parts of its body chip off in battle, Regirock repairs itself by adding new rocks.
Generation = 3
Flags = Legendary
#-------------------------------
[REGICE]
Name = Regice
@@ -9974,6 +9986,7 @@ Habitat = Cave
Category = Iceberg
Pokedex = Its entire body is made of Antarctic ice. After extensive studies, researchers believe the ice was formed during an ice age.
Generation = 3
Flags = Legendary
#-------------------------------
[REGISTEEL]
Name = Registeel
@@ -9999,6 +10012,7 @@ Habitat = Cave
Category = Iron
Pokedex = Its body is harder than any other kind of metal. The body metal is composed of a mysterious substance. Not only is it hard, it shrinks and stretches flexibly.
Generation = 3
Flags = Legendary
#-------------------------------
[LATIAS]
Name = Latias
@@ -10023,6 +10037,7 @@ Habitat = WatersEdge
Category = Eon
Pokedex = They make a small herd of only several members. They rarely make contact with people or other Pokémon. They disappear if they sense enemies.
Generation = 3
Flags = Legendary
#-------------------------------
[LATIOS]
Name = Latios
@@ -10047,6 +10062,7 @@ Habitat = WatersEdge
Category = Eon
Pokedex = Even in hiding, it can detect the locations of others and sense their emotions since it has telepathy. Its intelligence allows it to understand human languages.
Generation = 3
Flags = Legendary
#-------------------------------
[KYOGRE]
Name = Kyogre
@@ -10071,6 +10087,7 @@ Habitat = Sea
Category = Sea Basin
Pokedex = Kyogre has appeared in mythology as the creator of the sea. After long years of feuding with Groudon, it took to sleep at the bottom of the sea.
Generation = 3
Flags = Legendary
#-------------------------------
[GROUDON]
Name = Groudon
@@ -10095,6 +10112,7 @@ Habitat = RoughTerrain
Category = Continent
Pokedex = Groudon has appeared in mythology as the creator of the land. It sleeps in magma underground and is said to make volcanoes erupt on awakening.
Generation = 3
Flags = Legendary
#-------------------------------
[RAYQUAZA]
Name = Rayquaza
@@ -10119,6 +10137,7 @@ Habitat = Rare
Category = Sky High
Pokedex = A Pokémon that flies endlessly in the ozone layer. It is said it would descend to the ground if Kyogre and Groudon were to fight.
Generation = 3
Flags = Legendary
#-------------------------------
[JIRACHI]
Name = Jirachi
@@ -10143,6 +10162,7 @@ Habitat = Mountain
Category = Wish
Pokedex = Jirachi is said to make wishes come true. While it sleeps, a tough crystalline shell envelops the body to protect it from enemies.
Generation = 3
Flags = Mythical
WildItemCommon = STARPIECE
WildItemUncommon = STARPIECE
WildItemRare = STARPIECE
@@ -10171,6 +10191,7 @@ Category = DNA
Pokedex = A Pokémon that mutated from an extraterrestrial virus exposed to a laser beam. Its body is configured for superior agility and speed.
FormName = Normal Forme
Generation = 3
Flags = Mythical
#-------------------------------
[TURTWIG]
Name = Turtwig
@@ -12546,6 +12567,7 @@ Shape = BipedalTail
Category = Knowledge
Pokedex = Known as "The Being of Knowledge." It is said that it can wipe out the memory of those who see its eyes.
Generation = 4
Flags = Legendary
#-------------------------------
[MESPRIT]
Name = Mesprit
@@ -12569,6 +12591,7 @@ Shape = BipedalTail
Category = Emotion
Pokedex = Known as "The Being of Emotion." It taught humans the nobility of sorrow, pain, and joy.
Generation = 4
Flags = Legendary
#-------------------------------
[AZELF]
Name = Azelf
@@ -12592,6 +12615,7 @@ Shape = BipedalTail
Category = Willpower
Pokedex = Known as "The Being of Willpower." It sleeps at the bottom of a lake to keep the world in balance.
Generation = 4
Flags = Legendary
#-------------------------------
[DIALGA]
Name = Dialga
@@ -12616,6 +12640,7 @@ Shape = Quadruped
Category = Temporal
Pokedex = It has the power to control time. It appears in Sinnoh-region myths as an ancient deity.
Generation = 4
Flags = Legendary
#-------------------------------
[PALKIA]
Name = Palkia
@@ -12640,6 +12665,7 @@ Shape = BipedalTail
Category = Spatial
Pokedex = It has the ability to distort space. It is described as a deity in Sinnoh-region mythology.
Generation = 4
Flags = Legendary
#-------------------------------
[HEATRAN]
Name = Heatran
@@ -12664,6 +12690,7 @@ Shape = Quadruped
Category = Lava Dome
Pokedex = It dwells in volcanic caves. It digs in with its cross-shaped feet to crawl on ceilings and walls.
Generation = 4
Flags = Legendary
#-------------------------------
[REGIGIGAS]
Name = Regigigas
@@ -12687,6 +12714,7 @@ Shape = Bipedal
Category = Colossal
Pokedex = There is an enduring legend that states this Pokémon towed continents with ropes.
Generation = 4
Flags = Legendary
#-------------------------------
[GIRATINA]
Name = Giratina
@@ -12712,6 +12740,7 @@ Category = Renegade
Pokedex = A Pokémon that is said to live in a world on the reverse side of ours. It appears in an ancient cemetery.
FormName = Altered Forme
Generation = 4
Flags = Legendary
#-------------------------------
[CRESSELIA]
Name = Cresselia
@@ -12735,6 +12764,7 @@ Shape = Serpentine
Category = Lunar
Pokedex = Shiny particles are released from its wings like a veil. It is said to represent the crescent moon.
Generation = 4
Flags = Legendary
#-------------------------------
[PHIONE]
Name = Phione
@@ -12758,6 +12788,7 @@ Shape = HeadArms
Category = Sea Drifter
Pokedex = A Pokémon that lives in warm seas. It inflates the flotation sac on its head to drift and search for food.
Generation = 4
Flags = Mythical
#-------------------------------
[MANAPHY]
Name = Manaphy
@@ -12782,6 +12813,7 @@ Shape = Bipedal
Category = Seafaring
Pokedex = Born on a cold seafloor, it will swim great distances to return to its birthplace.
Generation = 4
Flags = Mythical
#-------------------------------
[DARKRAI]
Name = Darkrai
@@ -12805,6 +12837,7 @@ Shape = Bipedal
Category = Pitch-Black
Pokedex = It can lull people to sleep and make them dream. It is active during nights of the new moon.
Generation = 4
Flags = Mythical
#-------------------------------
[SHAYMIN]
Name = Shaymin
@@ -12829,6 +12862,7 @@ Category = Gratitude
Pokedex = It lives in flower patches and avoids detection by curling up to look like a flowering plant.
FormName = Land Forme
Generation = 4
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -12856,6 +12890,7 @@ Category = Alpha
Pokedex = It is described in mythology as the Pokémon that shaped the universe with its 1,000 arms.
FormName = Normal Type
Generation = 4
Flags = Mythical
#-------------------------------
[VICTINI]
Name = Victini
@@ -12879,6 +12914,7 @@ Shape = Bipedal
Category = Victory
Pokedex = This Pokémon brings victory. It is said that Trainers with Victini always win, regardless of the type of encounter.
Generation = 5
Flags = Mythical
#-------------------------------
[SNIVY]
Name = Snivy
@@ -16502,6 +16538,7 @@ Shape = Quadruped
Category = Iron Will
Pokedex = It has a body and heart of steel. Its glare is sufficient to make even an unruly Pokémon obey it.
Generation = 5
Flags = Legendary
#-------------------------------
[TERRAKION]
Name = Terrakion
@@ -16525,6 +16562,7 @@ Shape = Quadruped
Category = Cavern
Pokedex = Its charge is strong enough to break through a giant castle wall in one blow. This Pokémon is spoken of in legends.
Generation = 5
Flags = Legendary
#-------------------------------
[VIRIZION]
Name = Virizion
@@ -16548,6 +16586,7 @@ Shape = Quadruped
Category = Grassland
Pokedex = Its head sprouts horns as sharp as blades. Using whirlwind-like movements, it confounds and swiftly cuts opponents.
Generation = 5
Flags = Legendary
#-------------------------------
[TORNADUS]
Name = Tornadus
@@ -16573,6 +16612,7 @@ Category = Cyclone
Pokedex = Tornadus expels massive energy from its tail, causing severe storms. Its power is great enough to blow houses away.
FormName = Incarnate Forme
Generation = 5
Flags = Legendary
#-------------------------------
[THUNDURUS]
Name = Thundurus
@@ -16598,6 +16638,7 @@ Category = Bolt Strike
Pokedex = The spikes on its tail discharge immense bolts of lightning. It flies around the Unova region firing off lightning bolts.
FormName = Incarnate Forme
Generation = 5
Flags = Legendary
#-------------------------------
[RESHIRAM]
Name = Reshiram
@@ -16621,6 +16662,7 @@ Shape = Winged
Category = Vast White
Pokedex = When Reshiram's tail flares, the heat energy moves the atmosphere and changes the world's weather.
Generation = 5
Flags = Legendary
#-------------------------------
[ZEKROM]
Name = Zekrom
@@ -16644,6 +16686,7 @@ Shape = BipedalTail
Category = Deep Black
Pokedex = This Pokémon appears in legends. In its tail, it has a giant generator that creates electricity.
Generation = 5
Flags = Legendary
#-------------------------------
[LANDORUS]
Name = Landorus
@@ -16669,6 +16712,7 @@ Category = Abundance
Pokedex = The energy that comes pouring from its tail increases the nutrition in the soil, making crops grow to great size.
FormName = Incarnate Forme
Generation = 5
Flags = Legendary
#-------------------------------
[KYUREM]
Name = Kyurem
@@ -16692,6 +16736,7 @@ Shape = BipedalTail
Category = Boundary
Pokedex = It generates a powerful, freezing energy inside itself, but its body became frozen when the energy leaked out.
Generation = 5
Flags = Legendary
#-------------------------------
[KELDEO]
Name = Keldeo
@@ -16716,6 +16761,7 @@ Category = Colt
Pokedex = It crosses the world, running over the surfaces of oceans and rivers. It appears at scenic waterfronts.
FormName = Ordinary Form
Generation = 5
Flags = Mythical
#-------------------------------
[MELOETTA]
Name = Meloetta
@@ -16740,6 +16786,7 @@ Category = Melody
Pokedex = Many famous songs have been inspired by the melodies that Meloetta plays.
FormName = Aria Forme
Generation = 5
Flags = Mythical
WildItemCommon = STARPIECE
WildItemUncommon = STARPIECE
WildItemRare = STARPIECE
@@ -16767,6 +16814,7 @@ Category = Paleozoic
Pokedex = This ancient bug Pokémon was altered by Team Plasma. They upgraded the cannon on its back.
FormName = Normal
Generation = 5
Flags = Mythical
#-------------------------------
[CHESPIN]
Name = Chespin
@@ -18448,6 +18496,7 @@ Category = Life
Pokedex = Legends say it can share eternal life. It slept for a thousand years in the form of a tree before its revival.
FormName = Neutral Mode
Generation = 6
Flags = Legendary
#-------------------------------
[YVELTAL]
Name = Yveltal
@@ -18471,6 +18520,7 @@ Shape = Winged
Category = Destruction
Pokedex = When its life comes to an end, it absorbs the life energy of every living thing and turns into a cocoon once more.
Generation = 6
Flags = Legendary
#-------------------------------
[ZYGARDE]
Name = Zygarde
@@ -18495,6 +18545,7 @@ Category = Order
Pokedex = It's thought to be monitoring the ecosystem. There are rumors that even greater power lies hidden within it.
FormName = 50% Forme
Generation = 6
Flags = Legendary
#-------------------------------
[DIANCIE]
Name = Diancie
@@ -18518,6 +18569,7 @@ Shape = HeadArms
Category = Jewel
Pokedex = A sudden transformation of Carbink, its pink, glimmering body is said to be the loveliest sight in the whole world.
Generation = 6
Flags = Mythical
#-------------------------------
[HOOPA]
Name = Hoopa
@@ -18542,6 +18594,7 @@ Category = Mischief
Pokedex = This troublemaker sends anything and everything to faraway places using its loop, which can warp space.
FormName = Hoopa Confined
Generation = 6
Flags = Mythical
#-------------------------------
[VOLCANION]
Name = Volcanion
@@ -18565,3 +18618,4 @@ Shape = Quadruped
Category = Steam
Pokedex = It lets out billows of steam and disappears into the dense fog. It's said to live in mountains where humans do not tread.
Generation = 6
Flags = Mythical

View File

@@ -3807,6 +3807,7 @@ Habitat = Rare
Category = Freeze
Pokedex = Articuno is a legendary bird Pokémon that can control ice. The flapping of its wings chills the air. As a result, it is said that when this Pokémon flies, snow will fall.
Generation = 1
Flags = Legendary
#-------------------------------
[ZAPDOS]
Name = Zapdos
@@ -3832,6 +3833,7 @@ Habitat = Rare
Category = Electric
Pokedex = Zapdos is a legendary bird Pokémon that has the ability to control electricity. It usually lives in thunderclouds. It gains power if it is stricken by lightning bolts.
Generation = 1
Flags = Legendary
#-------------------------------
[MOLTRES]
Name = Moltres
@@ -3857,6 +3859,7 @@ Habitat = Rare
Category = Flame
Pokedex = Moltres is a legendary bird Pokémon that can control fire. If injured, it is said to dip its body in the molten magma of a volcano to burn and heal itself.
Generation = 1
Flags = Legendary
#-------------------------------
[DRATINI]
Name = Dratini
@@ -3963,6 +3966,7 @@ Habitat = Rare
Category = Genetic
Pokedex = A Pokémon that was created by genetic manipulation. However, even though the scientific power of humans made its body, they failed to give it a warm heart.
Generation = 1
Flags = Legendary
#-------------------------------
[MEW]
Name = Mew
@@ -3987,6 +3991,7 @@ Habitat = Rare
Category = New Species
Pokedex = A Mew is said to possess the genes of all Pokémon. It is capable of making itself invisible at will, so it entirely avoids notice even if it approaches people.
Generation = 1
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -6404,6 +6409,7 @@ Habitat = Grassland
Category = Thunder
Pokedex = Raikou embodies the speed of lightning. Its roars send shock waves shuddering through the air and ground as if lightning bolts were crashing down.
Generation = 2
Flags = Legendary
#-------------------------------
[ENTEI]
Name = Entei
@@ -6429,6 +6435,7 @@ Habitat = Grassland
Category = Volcano
Pokedex = Entei embodies the passion of magma. It is thought to have been born in the eruption of a volcano. It blasts fire that consumes all that it touches.
Generation = 2
Flags = Legendary
#-------------------------------
[SUICUNE]
Name = Suicune
@@ -6454,6 +6461,7 @@ Habitat = Grassland
Category = Aurora
Pokedex = Suicune embodies the compassion of a pure spring of water. It runs across the land with gliding elegance. It has the power to purify dirty water.
Generation = 2
Flags = Legendary
#-------------------------------
[LARVITAR]
Name = Larvitar
@@ -6556,6 +6564,7 @@ Habitat = Rare
Category = Diving
Pokedex = Lugia is so powerful even a light fluttering of its wings can blow apart houses. As a result, it chooses to live out of sight deep under the sea.
Generation = 2
Flags = Legendary
#-------------------------------
[HOOH]
Name = Ho-Oh
@@ -6581,6 +6590,7 @@ Habitat = Rare
Category = Rainbow
Pokedex = Its feathers--which glow in seven colors depending on the angle at which light strikes them--are thought to bring joy. It is said to live at the foot of a rainbow.
Generation = 2
Flags = Legendary
WildItemCommon = SACREDASH
WildItemUncommon = SACREDASH
WildItemRare = SACREDASH
@@ -6608,6 +6618,7 @@ Habitat = Forest
Category = Time Travel
Pokedex = This Pokémon came from the future by crossing over time. It is thought that so long as Celebi appears, a bright and shining future awaits us.
Generation = 2
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -9950,6 +9961,7 @@ Habitat = Cave
Category = Rock Peak
Pokedex = A Pokémon that is made entirely of rocks and boulders. If parts of its body chip off in battle, Regirock repairs itself by adding new rocks.
Generation = 3
Flags = Legendary
#-------------------------------
[REGICE]
Name = Regice
@@ -9975,6 +9987,7 @@ Habitat = Cave
Category = Iceberg
Pokedex = Its entire body is made of Antarctic ice. After extensive studies, researchers believe the ice was formed during an ice age.
Generation = 3
Flags = Legendary
#-------------------------------
[REGISTEEL]
Name = Registeel
@@ -10000,6 +10013,7 @@ Habitat = Cave
Category = Iron
Pokedex = Its body is harder than any other kind of metal. The body metal is composed of a mysterious substance. Not only is it hard, it shrinks and stretches flexibly.
Generation = 3
Flags = Legendary
#-------------------------------
[LATIAS]
Name = Latias
@@ -10024,6 +10038,7 @@ Habitat = WatersEdge
Category = Eon
Pokedex = They make a small herd of only several members. They rarely make contact with people or other Pokémon. They disappear if they sense enemies.
Generation = 3
Flags = Legendary
#-------------------------------
[LATIOS]
Name = Latios
@@ -10048,6 +10063,7 @@ Habitat = WatersEdge
Category = Eon
Pokedex = Even in hiding, it can detect the locations of others and sense their emotions since it has telepathy. Its intelligence allows it to understand human languages.
Generation = 3
Flags = Legendary
#-------------------------------
[KYOGRE]
Name = Kyogre
@@ -10072,6 +10088,7 @@ Habitat = Sea
Category = Sea Basin
Pokedex = Kyogre has appeared in mythology as the creator of the sea. After long years of feuding with Groudon, it took to sleep at the bottom of the sea.
Generation = 3
Flags = Legendary
#-------------------------------
[GROUDON]
Name = Groudon
@@ -10096,6 +10113,7 @@ Habitat = RoughTerrain
Category = Continent
Pokedex = Groudon has appeared in mythology as the creator of the land. It sleeps in magma underground and is said to make volcanoes erupt on awakening.
Generation = 3
Flags = Legendary
#-------------------------------
[RAYQUAZA]
Name = Rayquaza
@@ -10120,6 +10138,7 @@ Habitat = Rare
Category = Sky High
Pokedex = A Pokémon that flies endlessly in the ozone layer. It is said it would descend to the ground if Kyogre and Groudon were to fight.
Generation = 3
Flags = Legendary
#-------------------------------
[JIRACHI]
Name = Jirachi
@@ -10144,6 +10163,7 @@ Habitat = Mountain
Category = Wish
Pokedex = Jirachi is said to make wishes come true. While it sleeps, a tough crystalline shell envelops the body to protect it from enemies.
Generation = 3
Flags = Mythical
WildItemCommon = STARPIECE
WildItemUncommon = STARPIECE
WildItemRare = STARPIECE
@@ -10172,6 +10192,7 @@ Category = DNA
Pokedex = A Pokémon that mutated from an extraterrestrial virus exposed to a laser beam. Its body is configured for superior agility and speed.
FormName = Normal Forme
Generation = 3
Flags = Mythical
#-------------------------------
[TURTWIG]
Name = Turtwig
@@ -12543,6 +12564,7 @@ Shape = BipedalTail
Category = Knowledge
Pokedex = Known as "The Being of Knowledge." It is said that it can wipe out the memory of those who see its eyes.
Generation = 4
Flags = Legendary
#-------------------------------
[MESPRIT]
Name = Mesprit
@@ -12566,6 +12588,7 @@ Shape = BipedalTail
Category = Emotion
Pokedex = Known as "The Being of Emotion." It taught humans the nobility of sorrow, pain, and joy.
Generation = 4
Flags = Legendary
#-------------------------------
[AZELF]
Name = Azelf
@@ -12589,6 +12612,7 @@ Shape = BipedalTail
Category = Willpower
Pokedex = Known as "The Being of Willpower." It sleeps at the bottom of a lake to keep the world in balance.
Generation = 4
Flags = Legendary
#-------------------------------
[DIALGA]
Name = Dialga
@@ -12613,6 +12637,7 @@ Shape = Quadruped
Category = Temporal
Pokedex = It has the power to control time. It appears in Sinnoh-region myths as an ancient deity.
Generation = 4
Flags = Legendary
#-------------------------------
[PALKIA]
Name = Palkia
@@ -12637,6 +12662,7 @@ Shape = BipedalTail
Category = Spatial
Pokedex = It has the ability to distort space. It is described as a deity in Sinnoh-region mythology.
Generation = 4
Flags = Legendary
#-------------------------------
[HEATRAN]
Name = Heatran
@@ -12661,6 +12687,7 @@ Shape = Quadruped
Category = Lava Dome
Pokedex = It dwells in volcanic caves. It digs in with its cross-shaped feet to crawl on ceilings and walls.
Generation = 4
Flags = Legendary
#-------------------------------
[REGIGIGAS]
Name = Regigigas
@@ -12684,6 +12711,7 @@ Shape = Bipedal
Category = Colossal
Pokedex = There is an enduring legend that states this Pokémon towed continents with ropes.
Generation = 4
Flags = Legendary
#-------------------------------
[GIRATINA]
Name = Giratina
@@ -12709,6 +12737,7 @@ Category = Renegade
Pokedex = A Pokémon that is said to live in a world on the reverse side of ours. It appears in an ancient cemetery.
FormName = Altered Forme
Generation = 4
Flags = Legendary
#-------------------------------
[CRESSELIA]
Name = Cresselia
@@ -12732,6 +12761,7 @@ Shape = Serpentine
Category = Lunar
Pokedex = Shiny particles are released from its wings like a veil. It is said to represent the crescent moon.
Generation = 4
Flags = Legendary
#-------------------------------
[PHIONE]
Name = Phione
@@ -12755,6 +12785,7 @@ Shape = HeadArms
Category = Sea Drifter
Pokedex = A Pokémon that lives in warm seas. It inflates the flotation sac on its head to drift and search for food.
Generation = 4
Flags = Mythical
#-------------------------------
[MANAPHY]
Name = Manaphy
@@ -12779,6 +12810,7 @@ Shape = Bipedal
Category = Seafaring
Pokedex = Born on a cold seafloor, it will swim great distances to return to its birthplace.
Generation = 4
Flags = Mythical
#-------------------------------
[DARKRAI]
Name = Darkrai
@@ -12802,6 +12834,7 @@ Shape = Bipedal
Category = Pitch-Black
Pokedex = It can lull people to sleep and make them dream. It is active during nights of the new moon.
Generation = 4
Flags = Mythical
#-------------------------------
[SHAYMIN]
Name = Shaymin
@@ -12826,6 +12859,7 @@ Category = Gratitude
Pokedex = It lives in flower patches and avoids detection by curling up to look like a flowering plant.
FormName = Land Forme
Generation = 4
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -12853,6 +12887,7 @@ Category = Alpha
Pokedex = It is described in mythology as the Pokémon that shaped the universe with its 1,000 arms.
FormName = Normal Type
Generation = 4
Flags = Mythical
#-------------------------------
[VICTINI]
Name = Victini
@@ -12876,6 +12911,7 @@ Shape = Bipedal
Category = Victory
Pokedex = This Pokémon brings victory. It is said that Trainers with Victini always win, regardless of the type of encounter.
Generation = 5
Flags = Mythical
#-------------------------------
[SNIVY]
Name = Snivy
@@ -16509,6 +16545,7 @@ Shape = Quadruped
Category = Iron Will
Pokedex = It has a body and heart of steel. Its glare is sufficient to make even an unruly Pokémon obey it.
Generation = 5
Flags = Legendary
#-------------------------------
[TERRAKION]
Name = Terrakion
@@ -16532,6 +16569,7 @@ Shape = Quadruped
Category = Cavern
Pokedex = Its charge is strong enough to break through a giant castle wall in one blow. This Pokémon is spoken of in legends.
Generation = 5
Flags = Legendary
#-------------------------------
[VIRIZION]
Name = Virizion
@@ -16555,6 +16593,7 @@ Shape = Quadruped
Category = Grassland
Pokedex = Its head sprouts horns as sharp as blades. Using whirlwind-like movements, it confounds and swiftly cuts opponents.
Generation = 5
Flags = Legendary
#-------------------------------
[TORNADUS]
Name = Tornadus
@@ -16580,6 +16619,7 @@ Category = Cyclone
Pokedex = Tornadus expels massive energy from its tail, causing severe storms. Its power is great enough to blow houses away.
FormName = Incarnate Forme
Generation = 5
Flags = Legendary
#-------------------------------
[THUNDURUS]
Name = Thundurus
@@ -16605,6 +16645,7 @@ Category = Bolt Strike
Pokedex = The spikes on its tail discharge immense bolts of lightning. It flies around the Unova region firing off lightning bolts.
FormName = Incarnate Forme
Generation = 5
Flags = Legendary
#-------------------------------
[RESHIRAM]
Name = Reshiram
@@ -16628,6 +16669,7 @@ Shape = Winged
Category = Vast White
Pokedex = When Reshiram's tail flares, the heat energy moves the atmosphere and changes the world's weather.
Generation = 5
Flags = Legendary
#-------------------------------
[ZEKROM]
Name = Zekrom
@@ -16651,6 +16693,7 @@ Shape = BipedalTail
Category = Deep Black
Pokedex = This Pokémon appears in legends. In its tail, it has a giant generator that creates electricity.
Generation = 5
Flags = Legendary
#-------------------------------
[LANDORUS]
Name = Landorus
@@ -16676,6 +16719,7 @@ Category = Abundance
Pokedex = The energy that comes pouring from its tail increases the nutrition in the soil, making crops grow to great size.
FormName = Incarnate Forme
Generation = 5
Flags = Legendary
#-------------------------------
[KYUREM]
Name = Kyurem
@@ -16699,6 +16743,7 @@ Shape = BipedalTail
Category = Boundary
Pokedex = It generates a powerful, freezing energy inside itself, but its body became frozen when the energy leaked out.
Generation = 5
Flags = Legendary
#-------------------------------
[KELDEO]
Name = Keldeo
@@ -16723,6 +16768,7 @@ Category = Colt
Pokedex = It crosses the world, running over the surfaces of oceans and rivers. It appears at scenic waterfronts.
FormName = Ordinary Form
Generation = 5
Flags = Mythical
#-------------------------------
[MELOETTA]
Name = Meloetta
@@ -16747,6 +16793,7 @@ Category = Melody
Pokedex = Many famous songs have been inspired by the melodies that Meloetta plays.
FormName = Aria Forme
Generation = 5
Flags = Mythical
WildItemCommon = STARPIECE
WildItemUncommon = STARPIECE
WildItemRare = STARPIECE
@@ -16774,6 +16821,7 @@ Category = Paleozoic
Pokedex = This ancient bug Pokémon was altered by Team Plasma. They upgraded the cannon on its back.
FormName = Normal
Generation = 5
Flags = Mythical
#-------------------------------
[CHESPIN]
Name = Chespin
@@ -18457,6 +18505,7 @@ Category = Life
Pokedex = Legends say it can share eternal life. It slept for a thousand years in the form of a tree before its revival.
FormName = Neutral Mode
Generation = 6
Flags = Legendary
#-------------------------------
[YVELTAL]
Name = Yveltal
@@ -18480,6 +18529,7 @@ Shape = Winged
Category = Destruction
Pokedex = When its life comes to an end, it absorbs the life energy of every living thing and turns into a cocoon once more.
Generation = 6
Flags = Legendary
#-------------------------------
[ZYGARDE]
Name = Zygarde
@@ -18504,6 +18554,7 @@ Category = Order
Pokedex = It's thought to be monitoring the ecosystem. There are rumors that even greater power lies hidden within it.
FormName = 50% Forme
Generation = 6
Flags = Legendary
#-------------------------------
[DIANCIE]
Name = Diancie
@@ -18527,6 +18578,7 @@ Shape = HeadArms
Category = Jewel
Pokedex = A sudden transformation of Carbink, its pink, glimmering body is said to be the loveliest sight in the whole world.
Generation = 6
Flags = Mythical
#-------------------------------
[HOOPA]
Name = Hoopa
@@ -18551,6 +18603,7 @@ Category = Mischief
Pokedex = This troublemaker sends anything and everything to faraway places using its loop, which can warp space.
FormName = Hoopa Confined
Generation = 6
Flags = Mythical
#-------------------------------
[VOLCANION]
Name = Volcanion
@@ -18574,6 +18627,7 @@ Shape = Quadruped
Category = Steam
Pokedex = It lets out billows of steam and disappears into the dense fog. It's said to live in mountains where humans do not tread.
Generation = 6
Flags = Mythical
#-------------------------------
[ROWLET]
Name = Rowlet
@@ -19875,6 +19929,7 @@ Shape = Quadruped
Category = Synthetic
Pokedex = The heavy control mask it wears suppresses its intrinsic capabilities. This Pokémon has some hidden special power.
Generation = 7
Flags = Legendary
Evolutions = SILVALLY,Happiness,
#-------------------------------
[SILVALLY]
@@ -19900,6 +19955,7 @@ Category = Synthetic
Pokedex = Its trust in its partner is what awakens it. This Pokémon is capable of changing its type, a flexibility that is well displayed in battle.
FormName = Type: Normal
Generation = 7
Flags = Legendary
#-------------------------------
[MINIOR]
Name = Minior
@@ -20203,6 +20259,7 @@ Shape = HeadArms
Category = Land Spirit
Pokedex = Although it's called a guardian deity, if a person or Pokémon puts it in a bad mood, it will become a malevolent deity and attack.
Generation = 7
Flags = Legendary
#-------------------------------
[TAPULELE]
Name = Tapu Lele
@@ -20227,6 +20284,7 @@ Shape = HeadArms
Category = Land Spirit
Pokedex = As it flutters about, it scatters its strangely glowing scales. Touching them is said to restore good health on the spot.
Generation = 7
Flags = Legendary
#-------------------------------
[TAPUBULU]
Name = Tapu Bulu
@@ -20251,6 +20309,7 @@ Shape = HeadArms
Category = Land Spirit
Pokedex = It pulls large trees up by the roots and swings them around. It causes vegetation to grow, and then it absorbs energy from the growth.
Generation = 7
Flags = Legendary
#-------------------------------
[TAPUFINI]
Name = Tapu Fini
@@ -20275,6 +20334,7 @@ Shape = HeadArms
Category = Land Spirit
Pokedex = The dense fog it creates brings the downfall and destruction of its confused enemies. Ocean currents are the source of its energy.
Generation = 7
Flags = Legendary
#-------------------------------
[COSMOG]
Name = Cosmog
@@ -20297,6 +20357,7 @@ Shape = Head
Category = Nebula
Pokedex = Whether or not it's a Pokémon from this world is a mystery. When it's in a jam, it warps away to a safe place to hide.
Generation = 7
Flags = Legendary
Evolutions = COSMOEM,Level,43
#-------------------------------
[COSMOEM]
@@ -20320,6 +20381,7 @@ Shape = Head
Category = Protostar
Pokedex = Motionless as if dead, its body is faintly warm to the touch. In the distant past, it was called the cocoon of the stars.
Generation = 7
Flags = Legendary
Evolutions = SOLGALEO,LevelDay,53,LUNALA,LevelNight,53
#-------------------------------
[SOLGALEO]
@@ -20344,6 +20406,7 @@ Shape = Quadruped
Category = Sunne
Pokedex = It is said to live in another world. The intense light it radiates from the surface of its body can make the darkest of nights light up like midday.
Generation = 7
Flags = Legendary
#-------------------------------
[LUNALA]
Name = Lunala
@@ -20367,6 +20430,7 @@ Shape = Winged
Category = Moone
Pokedex = Said to live in another world, this Pokémon devours light, drawing the moonless dark veil of night over the brightness of day.
Generation = 7
Flags = Legendary
#-------------------------------
[NIHILEGO]
Name = Nihilego
@@ -20558,6 +20622,7 @@ Shape = HeadArms
Category = Prism
Pokedex = Light is apparently the source of its energy. It has an extraordinarily vicious disposition and is constantly firing off laser beams.
Generation = 7
Flags = Legendary
#-------------------------------
[MAGEARNA]
Name = Magearna
@@ -20581,6 +20646,7 @@ Shape = Bipedal
Category = Artificial
Pokedex = This artificial Pokémon, constructed more than 500 years ago, can understand human speech but cannot itself speak.
Generation = 7
Flags = Mythical
#-------------------------------
[MARSHADOW]
Name = Marshadow
@@ -20604,6 +20670,7 @@ Shape = Bipedal
Category = Gloomdweller
Pokedex = Able to conceal itself in shadows, it never appears before humans, so its very existence was the stuff of myth.
Generation = 7
Flags = Mythical
#-------------------------------
[POIPOLE]
Name = Poipole
@@ -20724,6 +20791,7 @@ Shape = Bipedal
Category = Thunderclap
Pokedex = It approaches its enemies at the speed of lightning, then tears them limb from limb with its sharp claws.
Generation = 7
Flags = Mythical
#-------------------------------
[MELTAN]
Name = Meltan
@@ -20746,6 +20814,7 @@ Shape = Head
Category = Hex Nut
Pokedex = It melts particles of iron and other metals found in the subsoil, so it can absorb them into its body of molten steel.
Generation = 7
Flags = Mythical
Evolutions = MELMETAL,None,
#-------------------------------
[MELMETAL]
@@ -20769,3 +20838,4 @@ Shape = Bipedal
Category = Hex Nut
Pokedex = Revered long ago for its capacity to create iron from nothing, for some reason it has come back to life after 3,000 years.
Generation = 7
Flags = Mythical

File diff suppressed because it is too large Load Diff

View File

@@ -3811,6 +3811,7 @@ Habitat = Rare
Category = Freeze
Pokedex = Articuno is a legendary bird Pokémon that can control ice. The flapping of its wings chills the air. As a result, it is said that when this Pokémon flies, snow will fall.
Generation = 1
Flags = Legendary
#-------------------------------
[ZAPDOS]
Name = Zapdos
@@ -3836,6 +3837,7 @@ Habitat = Rare
Category = Electric
Pokedex = Zapdos is a legendary bird Pokémon that has the ability to control electricity. It usually lives in thunderclouds. It gains power if it is stricken by lightning bolts.
Generation = 1
Flags = Legendary
#-------------------------------
[MOLTRES]
Name = Moltres
@@ -3861,6 +3863,7 @@ Habitat = Rare
Category = Flame
Pokedex = Moltres is a legendary bird Pokémon that can control fire. If injured, it is said to dip its body in the molten magma of a volcano to burn and heal itself.
Generation = 1
Flags = Legendary
#-------------------------------
[DRATINI]
Name = Dratini
@@ -3967,6 +3970,7 @@ Habitat = Rare
Category = Genetic
Pokedex = A Pokémon that was created by genetic manipulation. However, even though the scientific power of humans made its body, they failed to give it a warm heart.
Generation = 1
Flags = Legendary
#-------------------------------
[MEW]
Name = Mew
@@ -3991,6 +3995,7 @@ Habitat = Rare
Category = New Species
Pokedex = A Mew is said to possess the genes of all Pokémon. It is capable of making itself invisible at will, so it entirely avoids notice even if it approaches people.
Generation = 1
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -6409,6 +6414,7 @@ Habitat = Grassland
Category = Thunder
Pokedex = Raikou embodies the speed of lightning. Its roars send shock waves shuddering through the air and ground as if lightning bolts were crashing down.
Generation = 2
Flags = Legendary
#-------------------------------
[ENTEI]
Name = Entei
@@ -6434,6 +6440,7 @@ Habitat = Grassland
Category = Volcano
Pokedex = Entei embodies the passion of magma. It is thought to have been born in the eruption of a volcano. It blasts fire that consumes all that it touches.
Generation = 2
Flags = Legendary
#-------------------------------
[SUICUNE]
Name = Suicune
@@ -6459,6 +6466,7 @@ Habitat = Grassland
Category = Aurora
Pokedex = Suicune embodies the compassion of a pure spring of water. It runs across the land with gliding elegance. It has the power to purify dirty water.
Generation = 2
Flags = Legendary
#-------------------------------
[LARVITAR]
Name = Larvitar
@@ -6561,6 +6569,7 @@ Habitat = Rare
Category = Diving
Pokedex = Lugia is so powerful even a light fluttering of its wings can blow apart houses. As a result, it chooses to live out of sight deep under the sea.
Generation = 2
Flags = Legendary
#-------------------------------
[HOOH]
Name = Ho-Oh
@@ -6586,6 +6595,7 @@ Habitat = Rare
Category = Rainbow
Pokedex = Its feathers--which glow in seven colors depending on the angle at which light strikes them--are thought to bring joy. It is said to live at the foot of a rainbow.
Generation = 2
Flags = Legendary
WildItemCommon = SACREDASH
WildItemUncommon = SACREDASH
WildItemRare = SACREDASH
@@ -6613,6 +6623,7 @@ Habitat = Forest
Category = Time Travel
Pokedex = This Pokémon came from the future by crossing over time. It is thought that so long as Celebi appears, a bright and shining future awaits us.
Generation = 2
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -9956,6 +9967,7 @@ Habitat = Cave
Category = Rock Peak
Pokedex = A Pokémon that is made entirely of rocks and boulders. If parts of its body chip off in battle, Regirock repairs itself by adding new rocks.
Generation = 3
Flags = Legendary
#-------------------------------
[REGICE]
Name = Regice
@@ -9981,6 +9993,7 @@ Habitat = Cave
Category = Iceberg
Pokedex = Its entire body is made of Antarctic ice. After extensive studies, researchers believe the ice was formed during an ice age.
Generation = 3
Flags = Legendary
#-------------------------------
[REGISTEEL]
Name = Registeel
@@ -10006,6 +10019,7 @@ Habitat = Cave
Category = Iron
Pokedex = Its body is harder than any other kind of metal. The body metal is composed of a mysterious substance. Not only is it hard, it shrinks and stretches flexibly.
Generation = 3
Flags = Legendary
#-------------------------------
[LATIAS]
Name = Latias
@@ -10030,6 +10044,7 @@ Habitat = WatersEdge
Category = Eon
Pokedex = They make a small herd of only several members. They rarely make contact with people or other Pokémon. They disappear if they sense enemies.
Generation = 3
Flags = Legendary
#-------------------------------
[LATIOS]
Name = Latios
@@ -10054,6 +10069,7 @@ Habitat = WatersEdge
Category = Eon
Pokedex = Even in hiding, it can detect the locations of others and sense their emotions since it has telepathy. Its intelligence allows it to understand human languages.
Generation = 3
Flags = Legendary
#-------------------------------
[KYOGRE]
Name = Kyogre
@@ -10078,6 +10094,7 @@ Habitat = Sea
Category = Sea Basin
Pokedex = Kyogre has appeared in mythology as the creator of the sea. After long years of feuding with Groudon, it took to sleep at the bottom of the sea.
Generation = 3
Flags = Legendary
#-------------------------------
[GROUDON]
Name = Groudon
@@ -10102,6 +10119,7 @@ Habitat = RoughTerrain
Category = Continent
Pokedex = Groudon has appeared in mythology as the creator of the land. It sleeps in magma underground and is said to make volcanoes erupt on awakening.
Generation = 3
Flags = Legendary
#-------------------------------
[RAYQUAZA]
Name = Rayquaza
@@ -10126,6 +10144,7 @@ Habitat = Rare
Category = Sky High
Pokedex = A Pokémon that flies endlessly in the ozone layer. It is said it would descend to the ground if Kyogre and Groudon were to fight.
Generation = 3
Flags = Legendary
#-------------------------------
[JIRACHI]
Name = Jirachi
@@ -10150,6 +10169,7 @@ Habitat = Mountain
Category = Wish
Pokedex = Jirachi is said to make wishes come true. While it sleeps, a tough crystalline shell envelops the body to protect it from enemies.
Generation = 3
Flags = Mythical
WildItemCommon = STARPIECE
WildItemUncommon = STARPIECE
WildItemRare = STARPIECE
@@ -10178,6 +10198,7 @@ Habitat = Rare
Category = DNA
Pokedex = A Pokémon that mutated from an extraterrestrial virus exposed to a laser beam. Its body is configured for superior agility and speed.
Generation = 3
Flags = Mythical
#-------------------------------
[TURTWIG]
Name = Turtwig
@@ -12549,6 +12570,7 @@ Shape = BipedalTail
Category = Knowledge
Pokedex = Known as "The Being of Knowledge." It is said that it can wipe out the memory of those who see its eyes.
Generation = 4
Flags = Legendary
#-------------------------------
[MESPRIT]
Name = Mesprit
@@ -12572,6 +12594,7 @@ Shape = BipedalTail
Category = Emotion
Pokedex = Known as "The Being of Emotion." It taught humans the nobility of sorrow, pain, and joy.
Generation = 4
Flags = Legendary
#-------------------------------
[AZELF]
Name = Azelf
@@ -12595,6 +12618,7 @@ Shape = BipedalTail
Category = Willpower
Pokedex = Known as "The Being of Willpower." It sleeps at the bottom of a lake to keep the world in balance.
Generation = 4
Flags = Legendary
#-------------------------------
[DIALGA]
Name = Dialga
@@ -12619,6 +12643,7 @@ Shape = Quadruped
Category = Temporal
Pokedex = It has the power to control time. It appears in Sinnoh-region myths as an ancient deity.
Generation = 4
Flags = Legendary
#-------------------------------
[PALKIA]
Name = Palkia
@@ -12643,6 +12668,7 @@ Shape = BipedalTail
Category = Spatial
Pokedex = It has the ability to distort space. It is described as a deity in Sinnoh-region mythology.
Generation = 4
Flags = Legendary
#-------------------------------
[HEATRAN]
Name = Heatran
@@ -12667,6 +12693,7 @@ Shape = Quadruped
Category = Lava Dome
Pokedex = It dwells in volcanic caves. It digs in with its cross-shaped feet to crawl on ceilings and walls.
Generation = 4
Flags = Legendary
#-------------------------------
[REGIGIGAS]
Name = Regigigas
@@ -12690,6 +12717,7 @@ Shape = Bipedal
Category = Colossal
Pokedex = There is an enduring legend that states this Pokémon towed continents with ropes.
Generation = 4
Flags = Legendary
#-------------------------------
[GIRATINA]
Name = Giratina
@@ -12715,6 +12743,7 @@ Shape = Multiped
Category = Renegade
Pokedex = A Pokémon that is said to live in a world on the reverse side of ours. It appears in an ancient cemetery.
Generation = 4
Flags = Legendary
#-------------------------------
[CRESSELIA]
Name = Cresselia
@@ -12738,6 +12767,7 @@ Shape = Serpentine
Category = Lunar
Pokedex = Shiny particles are released from its wings like a veil. It is said to represent the crescent moon.
Generation = 4
Flags = Legendary
#-------------------------------
[PHIONE]
Name = Phione
@@ -12761,6 +12791,7 @@ Shape = HeadArms
Category = Sea Drifter
Pokedex = A Pokémon that lives in warm seas. It inflates the flotation sac on its head to drift and search for food.
Generation = 4
Flags = Mythical
#-------------------------------
[MANAPHY]
Name = Manaphy
@@ -12785,6 +12816,7 @@ Shape = Bipedal
Category = Seafaring
Pokedex = Born on a cold seafloor, it will swim great distances to return to its birthplace.
Generation = 4
Flags = Mythical
#-------------------------------
[DARKRAI]
Name = Darkrai
@@ -12808,6 +12840,7 @@ Shape = Bipedal
Category = Pitch-Black
Pokedex = It can lull people to sleep and make them dream. It is active during nights of the new moon.
Generation = 4
Flags = Mythical
#-------------------------------
[SHAYMIN]
Name = Shaymin
@@ -12832,6 +12865,7 @@ Shape = Quadruped
Category = Gratitude
Pokedex = It lives in flower patches and avoids detection by curling up to look like a flowering plant.
Generation = 4
Flags = Mythical
WildItemCommon = LUMBERRY
WildItemUncommon = LUMBERRY
WildItemRare = LUMBERRY
@@ -12859,6 +12893,7 @@ Shape = Quadruped
Category = Alpha
Pokedex = It is described in mythology as the Pokémon that shaped the universe with its 1,000 arms.
Generation = 4
Flags = Mythical
#-------------------------------
[VICTINI]
Name = Victini
@@ -12882,6 +12917,7 @@ Shape = Bipedal
Category = Victory
Pokedex = This Pokémon brings victory. It is said that Trainers with Victini always win, regardless of the type of encounter.
Generation = 5
Flags = Mythical
#-------------------------------
[SNIVY]
Name = Snivy
@@ -16515,6 +16551,7 @@ Shape = Quadruped
Category = Iron Will
Pokedex = It has a body and heart of steel. Its glare is sufficient to make even an unruly Pokémon obey it.
Generation = 5
Flags = Legendary
#-------------------------------
[TERRAKION]
Name = Terrakion
@@ -16538,6 +16575,7 @@ Shape = Quadruped
Category = Cavern
Pokedex = Its charge is strong enough to break through a giant castle wall in one blow. This Pokémon is spoken of in legends.
Generation = 5
Flags = Legendary
#-------------------------------
[VIRIZION]
Name = Virizion
@@ -16561,6 +16599,7 @@ Shape = Quadruped
Category = Grassland
Pokedex = Its head sprouts horns as sharp as blades. Using whirlwind-like movements, it confounds and swiftly cuts opponents.
Generation = 5
Flags = Legendary
#-------------------------------
[TORNADUS]
Name = Tornadus
@@ -16586,6 +16625,7 @@ Shape = HeadArms
Category = Cyclone
Pokedex = Tornadus expels massive energy from its tail, causing severe storms. Its power is great enough to blow houses away.
Generation = 5
Flags = Legendary
#-------------------------------
[THUNDURUS]
Name = Thundurus
@@ -16611,6 +16651,7 @@ Shape = HeadArms
Category = Bolt Strike
Pokedex = The spikes on its tail discharge immense bolts of lightning. It flies around the Unova region firing off lightning bolts.
Generation = 5
Flags = Legendary
#-------------------------------
[RESHIRAM]
Name = Reshiram
@@ -16634,6 +16675,7 @@ Shape = Winged
Category = Vast White
Pokedex = When Reshiram's tail flares, the heat energy moves the atmosphere and changes the world's weather.
Generation = 5
Flags = Legendary
#-------------------------------
[ZEKROM]
Name = Zekrom
@@ -16657,6 +16699,7 @@ Shape = BipedalTail
Category = Deep Black
Pokedex = This Pokémon appears in legends. In its tail, it has a giant generator that creates electricity.
Generation = 5
Flags = Legendary
#-------------------------------
[LANDORUS]
Name = Landorus
@@ -16682,6 +16725,7 @@ Shape = HeadArms
Category = Abundance
Pokedex = The energy that comes pouring from its tail increases the nutrition in the soil, making crops grow to great size.
Generation = 5
Flags = Legendary
#-------------------------------
[KYUREM]
Name = Kyurem
@@ -16705,6 +16749,7 @@ Shape = BipedalTail
Category = Boundary
Pokedex = It generates a powerful, freezing energy inside itself, but its body became frozen when the energy leaked out.
Generation = 5
Flags = Legendary
#-------------------------------
[KELDEO]
Name = Keldeo
@@ -16729,6 +16774,7 @@ Shape = Quadruped
Category = Colt
Pokedex = It crosses the world, running over the surfaces of oceans and rivers. It appears at scenic waterfronts.
Generation = 5
Flags = Mythical
#-------------------------------
[MELOETTA]
Name = Meloetta
@@ -16753,6 +16799,7 @@ Shape = Bipedal
Category = Melody
Pokedex = Many famous songs have been inspired by the melodies that Meloetta plays.
Generation = 5
Flags = Mythical
WildItemCommon = STARPIECE
WildItemUncommon = STARPIECE
WildItemRare = STARPIECE
@@ -16780,6 +16827,7 @@ Shape = Bipedal
Category = Paleozoic
Pokedex = This ancient bug Pokémon was altered by Team Plasma. They upgraded the cannon on its back.
Generation = 5
Flags = Mythical
#-------------------------------
[CHESPIN]
Name = Chespin
@@ -18463,6 +18511,7 @@ Shape = Quadruped
Category = Life
Pokedex = Legends say it can share eternal life. It slept for a thousand years in the form of a tree before its revival.
Generation = 6
Flags = Legendary
#-------------------------------
[YVELTAL]
Name = Yveltal
@@ -18486,6 +18535,7 @@ Shape = Winged
Category = Destruction
Pokedex = When its life comes to an end, it absorbs the life energy of every living thing and turns into a cocoon once more.
Generation = 6
Flags = Legendary
#-------------------------------
[ZYGARDE]
Name = Zygarde
@@ -18510,6 +18560,7 @@ Shape = Serpentine
Category = Order
Pokedex = It's thought to be monitoring the ecosystem. There are rumors that even greater power lies hidden within it.
Generation = 6
Flags = Legendary
#-------------------------------
[DIANCIE]
Name = Diancie
@@ -18533,6 +18584,7 @@ Shape = HeadArms
Category = Jewel
Pokedex = A sudden transformation of Carbink, its pink, glimmering body is said to be the loveliest sight in the whole world.
Generation = 6
Flags = Mythical
#-------------------------------
[HOOPA]
Name = Hoopa
@@ -18557,6 +18609,7 @@ Shape = HeadArms
Category = Mischief
Pokedex = This troublemaker sends anything and everything to faraway places using its loop, which can warp space.
Generation = 6
Flags = Mythical
#-------------------------------
[VOLCANION]
Name = Volcanion
@@ -18580,6 +18633,7 @@ Shape = Quadruped
Category = Steam
Pokedex = It lets out billows of steam and disappears into the dense fog. It's said to live in mountains where humans do not tread.
Generation = 6
Flags = Mythical
#-------------------------------
[ROWLET]
Name = Rowlet
@@ -19881,6 +19935,7 @@ Shape = Quadruped
Category = Synthetic
Pokedex = The heavy control mask it wears suppresses its intrinsic capabilities. This Pokémon has some hidden special power.
Generation = 7
Flags = Legendary
Evolutions = SILVALLY,Happiness,
#-------------------------------
[SILVALLY]
@@ -19906,6 +19961,7 @@ Shape = Quadruped
Category = Synthetic
Pokedex = Its trust in its partner is what awakens it. This Pokémon is capable of changing its type, a flexibility that is well displayed in battle.
Generation = 7
Flags = Legendary
#-------------------------------
[MINIOR]
Name = Minior
@@ -20209,6 +20265,7 @@ Shape = HeadArms
Category = Land Spirit
Pokedex = Although it's called a guardian deity, if a person or Pokémon puts it in a bad mood, it will become a malevolent deity and attack.
Generation = 7
Flags = Legendary
#-------------------------------
[TAPULELE]
Name = Tapu Lele
@@ -20233,6 +20290,7 @@ Shape = HeadArms
Category = Land Spirit
Pokedex = As it flutters about, it scatters its strangely glowing scales. Touching them is said to restore good health on the spot.
Generation = 7
Flags = Legendary
#-------------------------------
[TAPUBULU]
Name = Tapu Bulu
@@ -20257,6 +20315,7 @@ Shape = HeadArms
Category = Land Spirit
Pokedex = It pulls large trees up by the roots and swings them around. It causes vegetation to grow, and then it absorbs energy from the growth.
Generation = 7
Flags = Legendary
#-------------------------------
[TAPUFINI]
Name = Tapu Fini
@@ -20281,6 +20340,7 @@ Shape = HeadArms
Category = Land Spirit
Pokedex = The dense fog it creates brings the downfall and destruction of its confused enemies. Ocean currents are the source of its energy.
Generation = 7
Flags = Legendary
#-------------------------------
[COSMOG]
Name = Cosmog
@@ -20303,6 +20363,7 @@ Shape = Head
Category = Nebula
Pokedex = Whether or not it's a Pokémon from this world is a mystery. When it's in a jam, it warps away to a safe place to hide.
Generation = 7
Flags = Legendary
Evolutions = COSMOEM,Level,43
#-------------------------------
[COSMOEM]
@@ -20327,6 +20388,7 @@ Shape = Head
Category = Protostar
Pokedex = Motionless as if dead, its body is faintly warm to the touch. In the distant past, it was called the cocoon of the stars.
Generation = 7
Flags = Legendary
Evolutions = SOLGALEO,LevelDay,53,LUNALA,LevelNight,53
#-------------------------------
[SOLGALEO]
@@ -20351,6 +20413,7 @@ Shape = Quadruped
Category = Sunne
Pokedex = It is said to live in another world. The intense light it radiates from the surface of its body can make the darkest of nights light up like midday.
Generation = 7
Flags = Legendary
#-------------------------------
[LUNALA]
Name = Lunala
@@ -20374,6 +20437,7 @@ Shape = Winged
Category = Moone
Pokedex = Said to live in another world, this Pokémon devours light, drawing the moonless dark veil of night over the brightness of day.
Generation = 7
Flags = Legendary
#-------------------------------
[NIHILEGO]
Name = Nihilego
@@ -20565,6 +20629,7 @@ Shape = HeadArms
Category = Prism
Pokedex = Light is apparently the source of its energy. It has an extraordinarily vicious disposition and is constantly firing off laser beams.
Generation = 7
Flags = Legendary
#-------------------------------
[MAGEARNA]
Name = Magearna
@@ -20588,6 +20653,7 @@ Shape = Bipedal
Category = Artificial
Pokedex = This artificial Pokémon, constructed more than 500 years ago, can understand human speech but cannot itself speak.
Generation = 7
Flags = Mythical
#-------------------------------
[MARSHADOW]
Name = Marshadow
@@ -20611,6 +20677,7 @@ Shape = Bipedal
Category = Gloomdweller
Pokedex = Able to conceal itself in shadows, it never appears before humans, so its very existence was the stuff of myth.
Generation = 7
Flags = Mythical
#-------------------------------
[POIPOLE]
Name = Poipole
@@ -20731,6 +20798,7 @@ Shape = Bipedal
Category = Thunderclap
Pokedex = It approaches its enemies at the speed of lightning, then tears them limb from limb with its sharp claws.
Generation = 7
Flags = Mythical
#-------------------------------
[MELTAN]
Name = Meltan
@@ -20754,6 +20822,7 @@ Shape = Head
Category = Hex Nut
Pokedex = It melts particles of iron and other metals found in the subsoil, so it can absorb them into its body of molten steel.
Generation = 7
Flags = Mythical
Evolutions = MELMETAL,Level,45
#-------------------------------
[MELMETAL]
@@ -20778,6 +20847,7 @@ Shape = Bipedal
Category = Hex Nut
Pokedex = Revered long ago for its capacity to create iron from nothing, for some reason it has come back to life after 3,000 years.
Generation = 7
Flags = Mythical
#-------------------------------
[GROOKEY]
Name = Grookey
@@ -22759,6 +22829,7 @@ Shape = Quadruped
Category = Warrior
Pokedex = Known as a legendary hero, this Pokémon absorbs metal particles, transforming them into a weapon it uses to battle.
Generation = 8
Flags = Legendary
WildItemCommon = RUSTEDSWORD
WildItemUncommon = RUSTEDSWORD
WildItemRare = RUSTEDSWORD
@@ -22786,6 +22857,7 @@ Shape = Quadruped
Category = Warrior
Pokedex = This Pokémon slept for aeons while in the form of a statue. It was asleep for so long, people forgot that it ever existed.
Generation = 8
Flags = Legendary
WildItemCommon = RUSTEDSHIELD
WildItemUncommon = RUSTEDSHIELD
WildItemRare = RUSTEDSHIELD
@@ -22812,6 +22884,7 @@ Shape = Winged
Category = Gigantic
Pokedex = The core on its chest absorbs energy emanating from the lands of the Galar region. This energy is what allows Eternatus to stay active.
Generation = 8
Flags = Legendary
#-------------------------------
[KUBFU]
Name = Kubfu
@@ -22835,6 +22908,7 @@ Shape = BipedalTail
Category = Wushu
Pokedex = Kubfu trains hard to perfect its moves. The moves it masters will determine which form it takes when it evolves.
Generation = 8
Flags = Legendary
Evolutions = URSHIFU,Event,1
#-------------------------------
[URSHIFU]
@@ -22860,6 +22934,7 @@ Shape = Bipedal
Category = Wushu
Pokedex = Inhabiting the mountains of a distant region, this Pokémon races across sheer cliffs, training its legs and refining its moves.
Generation = 8
Flags = Legendary
#-------------------------------
[ZARUDE]
Name = Zarude
@@ -22883,6 +22958,7 @@ Shape = BipedalTail
Category = Rogue Monkey
Pokedex = Once the vines on Zarude's body tear off, they become nutrients in the soil. This helps the plants of the forest grow.
Generation = 8
Flags = Mythical
#-------------------------------
[REGIELEKI]
Name = Regieleki
@@ -22906,6 +22982,7 @@ Shape = Bipedal
Category = Electron
Pokedex = This Pokémon is a cluster of electrical energy. It's said that removing the rings on Regieleki's body will unleash the Pokémon's latent power.
Generation = 8
Flags = Legendary
#-------------------------------
[REGIDRAGO]
Name = Regidrago
@@ -22929,6 +23006,7 @@ Shape = Bipedal
Category = Dragon Orb
Pokedex = Its body is composed of crystallized dragon energy. Regidrago is said to have the powers of every dragon Pokémon.
Generation = 8
Flags = Legendary
#-------------------------------
[GLASTRIER]
Name = Glastrier
@@ -22952,6 +23030,7 @@ Shape = Quadruped
Category = Wild Horse
Pokedex = Glastrier has tremendous physical strength, and the mask of ice covering its face is 100 times harder than diamond.
Generation = 8
Flags = Legendary
#-------------------------------
[SPECTRIER]
Name = Spectrier
@@ -22975,6 +23054,7 @@ Shape = Quadruped
Category = Swift Horse
Pokedex = As it dashes through the night, Spectrier absorbs the life-force of sleeping creatures. It craves silence and solitude.
Generation = 8
Flags = Legendary
#-------------------------------
[CALYREX]
Name = Calyrex
@@ -22998,3 +23078,4 @@ Shape = Bipedal
Category = King
Pokedex = Calyrex is a merciful Pokémon, capable of providing healing and blessings. It reigned over the Galar region in times of yore.
Generation = 8
Flags = Legendary