Added PBS file pokemon_metrics.txt, for all Pokémon sprite positionings

This commit is contained in:
Maruno17
2021-10-23 20:30:09 +01:00
parent ca680c9feb
commit 10a1fc4430
34 changed files with 16729 additions and 20062 deletions

View File

@@ -230,6 +230,7 @@ module GameData
Item.load
BerryPlant.load
Species.load
SpeciesMetrics.load
Ribbon.load
Encounter.load
TrainerType.load

View File

@@ -40,13 +40,6 @@ module GameData
attr_reader :mega_move
attr_reader :unmega_form
attr_reader :mega_message
attr_accessor :back_sprite_x
attr_accessor :back_sprite_y
attr_accessor :front_sprite_x
attr_accessor :front_sprite_y
attr_accessor :front_sprite_altitude
attr_accessor :shadow_x
attr_accessor :shadow_size
DATA = {}
DATA_FILENAME = "species.dat"
@@ -190,13 +183,6 @@ module GameData
@mega_move = hash[:mega_move]
@unmega_form = hash[:unmega_form] || 0
@mega_message = hash[:mega_message] || 0
@back_sprite_x = hash[:back_sprite_x] || 0
@back_sprite_y = hash[:back_sprite_y] || 0
@front_sprite_x = hash[:front_sprite_x] || 0
@front_sprite_y = hash[:front_sprite_y] || 0
@front_sprite_altitude = hash[:front_sprite_altitude] || 0
@shadow_x = hash[:shadow_x] || 0
@shadow_size = hash[:shadow_size] || 2
end
# @return [String] the translated name of this species
@@ -235,25 +221,13 @@ module GameData
end
def apply_metrics_to_sprite(sprite, index, shadow = false)
if shadow
if (index & 1) == 1 # Foe Pokémon
sprite.x += @shadow_x * 2
end
else
if (index & 1) == 0 # Player's Pokémon
sprite.x += @back_sprite_x * 2
sprite.y += @back_sprite_y * 2
else # Foe Pokémon
sprite.x += @front_sprite_x * 2
sprite.y += @front_sprite_y * 2
sprite.y -= @front_sprite_altitude * 2
end
end
metrics_data = GameData::SpeciesMetrics.get_species_form(@species, @form)
metrics_data.apply_metrics_to_sprite(sprite, index, shadow)
end
def shows_shadow?
return true
# return @front_sprite_altitude > 0
metrics_data = GameData::SpeciesMetrics.get_species_form(@species, @form)
return metrics_data.shows_shadow?
end
def get_evolutions(exclude_invalid = false)

View File

@@ -158,7 +158,8 @@ module GameData
ret = pbResolveBitmap(sprintf("Graphics/Pokemon/Shadow/%s", species_data.species))
return ret if ret
# Use general shadow graphic
return pbResolveBitmap(sprintf("Graphics/Pokemon/Shadow/%d", species_data.shadow_size))
metrics_data = GameData::SpeciesMetrics.get_species_form(species_data.species, form)
return pbResolveBitmap(sprintf("Graphics/Pokemon/Shadow/%d", metrics_data.shadow_size))
end
def self.shadow_bitmap(species, form = 0)

View File

@@ -0,0 +1,89 @@
module GameData
class SpeciesMetrics
attr_reader :id
attr_reader :species
attr_reader :form
attr_accessor :back_sprite
attr_accessor :front_sprite
attr_accessor :front_sprite_altitude
attr_accessor :shadow_x
attr_accessor :shadow_size
DATA = {}
DATA_FILENAME = "species_metrics.dat"
SCHEMA = {
"BackSprite" => [0, "ii"],
"FrontSprite" => [0, "ii"],
"FrontSpriteAltitude" => [0, "i"],
"ShadowX" => [0, "i"],
"ShadowSize" => [0, "u"]
}
extend ClassMethodsSymbols
include InstanceMethods
# @param species [Symbol, String]
# @param form [Integer]
# @return [self, nil]
def self.get_species_form(species, form)
return nil if !species || !form
validate species => [Symbol, String]
validate form => Integer
raise _INTL("Undefined species {1}.", species) if !GameData::Species.exists?(species)
species = species.to_sym if species.is_a?(String)
if form > 0
trial = sprintf("%s_%d", species, form).to_sym
if !DATA.has_key?(trial)
self.register({:id => species}) if !DATA[species]
self.register({
:id => trial,
:species => species,
:form => form,
:back_sprite => DATA[species].back_sprite.clone,
:front_sprite => DATA[species].front_sprite.clone,
:front_sprite_altitude => DATA[species].front_sprite_altitude,
:shadow_x => DATA[species].shadow_x,
:shadow_size => DATA[species].shadow_size
})
end
return DATA[trial]
end
self.register({:id => species}) if !DATA[species]
return DATA[species]
end
def initialize(hash)
@id = hash[:id]
@species = hash[:species] || @id
@form = hash[:form] || 0
@back_sprite = hash[:back_sprite] || [0, 0]
@front_sprite = hash[:front_sprite] || [0, 0]
@front_sprite_altitude = hash[:front_sprite_altitude] || 0
@shadow_x = hash[:shadow_x] || 0
@shadow_size = hash[:shadow_size] || 2
end
def apply_metrics_to_sprite(sprite, index, shadow = false)
if shadow
if (index & 1) == 1 # Foe Pokémon
sprite.x += @shadow_x * 2
end
else
if (index & 1) == 0 # Player's Pokémon
sprite.x += @back_sprite[0] * 2
sprite.y += @back_sprite[1] * 2
else # Foe Pokémon
sprite.x += @front_sprite[0] * 2
sprite.y += @front_sprite[1] * 2
sprite.y -= @front_sprite_altitude * 2
end
end
end
def shows_shadow?
return true
# return @front_sprite_altitude > 0
end
end
end

View File

@@ -127,7 +127,7 @@ class PokemonPokedexInfo_Scene
def pbUpdateDummyPokemon
@species = @dexlist[@index][0]
@gender, @form = $player.pokedex.last_form_seen(@species)
species_data = GameData::Species.get_species_form(@species, @form)
metrics_data = GameData::SpeciesMetrics.get_species_form(@species, @form)
@sprites["infosprite"].setSpeciesBitmap(@species,@gender,@form)
if @sprites["formfront"]
@sprites["formfront"].setSpeciesBitmap(@species,@gender,@form)
@@ -135,7 +135,7 @@ class PokemonPokedexInfo_Scene
if @sprites["formback"]
@sprites["formback"].setSpeciesBitmap(@species,@gender,@form,false,false,true)
@sprites["formback"].y = 256
@sprites["formback"].y += species_data.back_sprite_y * 2
@sprites["formback"].y += metrics_data.back_sprite[1] * 2
end
if @sprites["formicon"]
@sprites["formicon"].pbSetParams(@species,@gender,@form)

View File

@@ -1030,14 +1030,7 @@ def pbPokemonEditor
[_INTL("Shape"), GameDataProperty.new(:BodyShape), _INTL("Body shape of this species.")],
[_INTL("Habitat"), GameDataProperty.new(:Habitat), _INTL("The habitat of this species.")],
[_INTL("Generation"), LimitProperty.new(99999), _INTL("The number of the generation the Pokémon debuted in.")],
[_INTL("Flags"), StringListProperty, _INTL("Words/phrases that distinguish this species from others.")],
[_INTL("BattlerPlayerX"), ReadOnlyProperty, _INTL("Affects positioning of the Pokémon in battle. This is edited elsewhere.")],
[_INTL("BattlerPlayerY"), ReadOnlyProperty, _INTL("Affects positioning of the Pokémon in battle. This is edited elsewhere.")],
[_INTL("BattlerEnemyX"), ReadOnlyProperty, _INTL("Affects positioning of the Pokémon in battle. This is edited elsewhere.")],
[_INTL("BattlerEnemyY"), ReadOnlyProperty, _INTL("Affects positioning of the Pokémon in battle. This is edited elsewhere.")],
[_INTL("BattlerAltitude"), ReadOnlyProperty, _INTL("Affects positioning of the Pokémon in battle. This is edited elsewhere.")],
[_INTL("BattlerShadowX"), ReadOnlyProperty, _INTL("Affects positioning of the Pokémon in battle. This is edited elsewhere.")],
[_INTL("BattlerShadowSize"), ReadOnlyProperty, _INTL("Affects positioning of the Pokémon in battle. This is edited elsewhere.")],
[_INTL("Flags"), StringListProperty, _INTL("Words/phrases that distinguish this species from others.")]
]
pbListScreenBlock(_INTL("Pokémon species"), SpeciesLister.new(0, false)) { |button, species|
if species
@@ -1097,14 +1090,7 @@ def pbPokemonEditor
spec.shape,
spec.habitat,
spec.generation,
spec.flags.clone,
spec.back_sprite_x,
spec.back_sprite_y,
spec.front_sprite_x,
spec.front_sprite_y,
spec.front_sprite_altitude,
spec.shadow_x,
spec.shadow_size
spec.flags.clone
]
# Edit the properties
if pbPropertyList(spec.id.to_s, data, species_properties, true)
@@ -1149,14 +1135,7 @@ def pbPokemonEditor
:shape => data[34],
:habitat => data[35],
:generation => data[36],
:flags => data[37],
:back_sprite_x => data[38],
:back_sprite_y => data[39],
:front_sprite_x => data[40],
:front_sprite_y => data[41],
:front_sprite_altitude => data[42],
:shadow_x => data[43],
:shadow_size => data[44]
:flags => data[37]
}
# Add species' data to records
GameData::Species.register(species_hash)

View File

@@ -18,26 +18,26 @@ def pbAutoPositionAll
t = Time.now.to_i
Graphics.update
end
metrics = GameData::SpeciesMetrics.get_species_form(sp.species, sp.form)
bitmap1 = GameData::Species.sprite_bitmap(sp.species, sp.form, nil, nil, nil, true)
bitmap2 = GameData::Species.sprite_bitmap(sp.species, sp.form)
if bitmap1 && bitmap1.bitmap # Player's y
sp.back_sprite_x = 0
sp.back_sprite_y = (bitmap1.height - (findBottom(bitmap1.bitmap) + 1)) / 2
metrics.back_sprite[0] = 0
metrics.back_sprite[1] = (bitmap1.height - (findBottom(bitmap1.bitmap) + 1)) / 2
end
if bitmap2 && bitmap2.bitmap # Foe's y
sp.front_sprite_x = 0
sp.front_sprite_y = (bitmap2.height - (findBottom(bitmap2.bitmap) + 1)) / 2
sp.front_sprite_y += 4 # Just because
metrics.front_sprite[0] = 0
metrics.front_sprite[1] = (bitmap2.height - (findBottom(bitmap2.bitmap) + 1)) / 2
metrics.front_sprite[1] += 4 # Just because
end
sp.front_sprite_altitude = 0 # Shouldn't be used
sp.shadow_x = 0
sp.shadow_size = 2
metrics.front_sprite_altitude = 0 # Shouldn't be used
metrics.shadow_x = 0
metrics.shadow_size = 2
bitmap1.dispose if bitmap1
bitmap2.dispose if bitmap2
end
GameData::Species.save
Compiler.write_pokemon
Compiler.write_pokemon_forms
GameData::SpeciesMetrics.save
Compiler.write_pokemon_metrics
end
#===============================================================================
@@ -81,7 +81,8 @@ class SpritePositioner
@sprites["info"].viewport = @viewport
@sprites["info"].visible = false
@oldSpeciesIndex = 0
@species = nil # This can be a species_form
@species = nil # This cannot be a species_form
@form = 0
@metricsChanged = false
refresh
@starting = true
@@ -92,7 +93,7 @@ class SpritePositioner
pbSaveMetrics
@metricsChanged = false
else
GameData::Species.load # Clear all changes to metrics
GameData::SpeciesMetrics.load # Clear all changes to metrics
end
pbFadeOutAndHide(@sprites) { update }
pbDisposeSpriteHash(@sprites)
@@ -100,9 +101,8 @@ class SpritePositioner
end
def pbSaveMetrics
GameData::Species.save
Compiler.write_pokemon
Compiler.write_pokemon_forms
GameData::SpeciesMetrics.save
Compiler.write_pokemon_metrics
end
def update
@@ -116,12 +116,12 @@ class SpritePositioner
@sprites["shadow_1"].visible = false
return
end
species_data = GameData::Species.get(@species)
metrics_data = GameData::SpeciesMetrics.get_species_form(@species, @form)
for i in 0...2
pos = PokeBattle_SceneConstants.pbBattlerPosition(i, 1)
@sprites["pokemon_#{i}"].x = pos[0]
@sprites["pokemon_#{i}"].y = pos[1]
species_data.apply_metrics_to_sprite(@sprites["pokemon_#{i}"], i)
metrics_data.apply_metrics_to_sprite(@sprites["pokemon_#{i}"], i)
@sprites["pokemon_#{i}"].visible = true
if i == 1
@sprites["shadow_1"].x = pos[0]
@@ -130,52 +130,51 @@ class SpritePositioner
@sprites["shadow_1"].x -= @sprites["shadow_1"].bitmap.width / 2
@sprites["shadow_1"].y -= @sprites["shadow_1"].bitmap.height / 2
end
species_data.apply_metrics_to_sprite(@sprites["shadow_1"], i, true)
metrics_data.apply_metrics_to_sprite(@sprites["shadow_1"], i, true)
@sprites["shadow_1"].visible = true
end
end
end
def pbAutoPosition
species_data = GameData::Species.get(@species)
old_back_y = species_data.back_sprite_y
old_front_y = species_data.front_sprite_y
old_front_altitude = species_data.front_sprite_altitude
metrics_data = GameData::SpeciesMetrics.get_species_form(@species, @form)
old_back_y = metrics_data.back_sprite[1]
old_front_y = metrics_data.front_sprite[1]
old_front_altitude = metrics_data.front_sprite_altitude
bitmap1 = @sprites["pokemon_0"].bitmap
bitmap2 = @sprites["pokemon_1"].bitmap
new_back_y = (bitmap1.height - (findBottom(bitmap1) + 1)) / 2
new_front_y = (bitmap2.height - (findBottom(bitmap2) + 1)) / 2
new_front_y += 4 # Just because
if new_back_y != old_back_y || new_front_y != old_front_y || old_front_altitude != 0
species_data.back_sprite_y = new_back_y
species_data.front_sprite_y = new_front_y
species_data.front_sprite_altitude = 0
metrics_data.back_sprite[1] = new_back_y
metrics_data.front_sprite[1] = new_front_y
metrics_data.front_sprite_altitude = 0
@metricsChanged = true
refresh
end
end
def pbChangeSpecies(species)
def pbChangeSpecies(species, form)
@species = species
species_data = GameData::Species.try_get(@species)
@form = form
species_data = GameData::Species.get_species_form(@species, @form)
return if !species_data
spe = species_data.species
frm = species_data.form
@sprites["pokemon_0"].setSpeciesBitmap(spe, 0, frm, false, false, true)
@sprites["pokemon_1"].setSpeciesBitmap(spe, 0, frm)
@sprites["shadow_1"].setBitmap(GameData::Species.shadow_filename(spe, frm))
@sprites["pokemon_0"].setSpeciesBitmap(@species, 0, @form, false, false, true)
@sprites["pokemon_1"].setSpeciesBitmap(@species, 0, @form)
@sprites["shadow_1"].setBitmap(GameData::Species.shadow_filename(@species, @form))
end
def pbShadowSize
pbChangeSpecies(@species)
pbChangeSpecies(@species, @form)
refresh
species_data = GameData::Species.get(@species)
if pbResolveBitmap(sprintf("Graphics/Pokemon/Shadow/%s_%d", species_data.species, species_data.form)) ||
pbResolveBitmap(sprintf("Graphics/Pokemon/Shadow/%s", species_data.species))
metrics_data = GameData::SpeciesMetrics.get_species_form(@species, @form)
if pbResolveBitmap(sprintf("Graphics/Pokemon/Shadow/%s_%d", metrics_data.species, metrics_data.form)) ||
pbResolveBitmap(sprintf("Graphics/Pokemon/Shadow/%s", metrics_data.species))
pbMessage("This species has its own shadow sprite in Graphics/Pokemon/Shadow/. The shadow size metric cannot be edited.")
return false
end
oldval = species_data.shadow_size
oldval = metrics_data.shadow_size
cmdvals = [0]
commands = [_INTL("None")]
defindex = 0
@@ -200,17 +199,17 @@ class SpritePositioner
self.update
if cw.index != oldindex
oldindex = cw.index
species_data.shadow_size = cmdvals[cw.index]
pbChangeSpecies(@species)
metrics_data.shadow_size = cmdvals[cw.index]
pbChangeSpecies(@species, @form)
refresh
end
if Input.trigger?(Input::ACTION) # Cycle to next option
pbPlayDecisionSE
@metricsChanged = true if species_data.shadow_size != oldval
@metricsChanged = true if metrics_data.shadow_size != oldval
ret = true
break
elsif Input.trigger?(Input::BACK)
species_data.shadow_size = oldval
metrics_data.shadow_size = oldval
pbPlayCancelSE
break
elsif Input.trigger?(Input::USE)
@@ -229,19 +228,19 @@ class SpritePositioner
pbAutoPosition
return false
end
species_data = GameData::Species.get(@species)
metrics_data = GameData::SpeciesMetrics.get_species_form(@species, @form)
case param
when 0
sprite = @sprites["pokemon_0"]
xpos = species_data.back_sprite_x
ypos = species_data.back_sprite_y
xpos = metrics_data.back_sprite[0]
ypos = metrics_data.back_sprite[1]
when 1
sprite = @sprites["pokemon_1"]
xpos = species_data.front_sprite_x
ypos = species_data.front_sprite_y
xpos = metrics_data.front_sprite[0]
ypos = metrics_data.front_sprite[1]
when 3
sprite = @sprites["shadow_1"]
xpos = species_data.shadow_x
xpos = metrics_data.shadow_x
ypos = 0
end
oldxpos = xpos
@@ -261,17 +260,17 @@ class SpritePositioner
if (Input.repeat?(Input::UP) || Input.repeat?(Input::DOWN)) && param != 3
ypos += (Input.repeat?(Input::DOWN)) ? 1 : -1
case param
when 0 then species_data.back_sprite_y = ypos
when 1 then species_data.front_sprite_y = ypos
when 0 then metrics_data.back_sprite[1] = ypos
when 1 then metrics_data.front_sprite[1] = ypos
end
refresh
end
if Input.repeat?(Input::LEFT) || Input.repeat?(Input::RIGHT)
xpos += (Input.repeat?(Input::RIGHT)) ? 1 : -1
case param
when 0 then species_data.back_sprite_x = xpos
when 1 then species_data.front_sprite_x = xpos
when 3 then species_data.shadow_x = xpos
when 0 then metrics_data.back_sprite[0] = xpos
when 1 then metrics_data.front_sprite[0] = xpos
when 3 then metrics_data.shadow_x = xpos
end
refresh
end
@@ -283,13 +282,13 @@ class SpritePositioner
elsif Input.repeat?(Input::BACK)
case param
when 0
species_data.back_sprite_x = oldxpos
species_data.back_sprite_y = oldypos
metrics_data.back_sprite[0] = oldxpos
metrics_data.back_sprite[1] = oldypos
when 1
species_data.front_sprite_x = oldxpos
species_data.front_sprite_y = oldypos
metrics_data.front_sprite[0] = oldxpos
metrics_data.front_sprite[1] = oldypos
when 3
species_data.shadow_x = oldxpos
metrics_data.shadow_x = oldxpos
end
pbPlayCancelSE
refresh
@@ -305,8 +304,7 @@ class SpritePositioner
return ret
end
def pbMenu(species)
pbChangeSpecies(species)
def pbMenu
refresh
cw = Window_CommandPokemon.new([
_INTL("Set Ally Position"),
@@ -350,14 +348,14 @@ class SpritePositioner
allspecies = []
GameData::Species.each do |sp|
name = (sp.form == 0) ? sp.name : _INTL("{1} (form {2})", sp.real_name, sp.form)
allspecies.push([sp.id, sp.species, name]) if name && !name.empty?
allspecies.push([sp.id, sp.species, sp.form, name]) if name && !name.empty?
end
allspecies.sort! { |a, b| a[2] <=> b[2] }
allspecies.sort! { |a, b| a[3] <=> b[3] }
commands = []
allspecies.each { |sp| commands.push(sp[2]) }
allspecies.each { |sp| commands.push(sp[3]) }
cw.commands = commands
cw.index = @oldSpeciesIndex
ret = nil
ret = false
oldindex = -1
loop do
Graphics.update
@@ -365,17 +363,17 @@ class SpritePositioner
cw.update
if cw.index != oldindex
oldindex = cw.index
pbChangeSpecies(allspecies[cw.index][0])
pbChangeSpecies(allspecies[cw.index][1], allspecies[cw.index][2])
refresh
end
self.update
if Input.trigger?(Input::BACK)
pbChangeSpecies(nil)
pbChangeSpecies(nil, nil)
refresh
break
elsif Input.trigger?(Input::USE)
pbChangeSpecies(allspecies[cw.index][0])
ret = allspecies[cw.index][0]
pbChangeSpecies(allspecies[cw.index][1], allspecies[cw.index][2])
ret = true
break
end
end
@@ -399,7 +397,7 @@ class SpritePositionerScreen
species = @scene.pbChooseSpecies
break if !species
loop do
command = @scene.pbMenu(species)
command = @scene.pbMenu
break if command < 0
loop do
par = @scene.pbSetParameter(command)

View File

@@ -1137,6 +1137,7 @@ DebugMenuCommands.register("createpbs", {
"phone.txt",
"pokemon.txt",
"pokemon_forms.txt",
"pokemon_metrics.txt",
"regional_dexes.txt",
"ribbons.txt",
"shadow_movesets.txt",
@@ -1161,13 +1162,14 @@ DebugMenuCommands.register("createpbs", {
when 10 then Compiler.write_phone
when 11 then Compiler.write_pokemon
when 12 then Compiler.write_pokemon_forms
when 13 then Compiler.write_regional_dexes
when 14 then Compiler.write_ribbons
when 15 then Compiler.write_shadow_movesets
when 16 then Compiler.write_town_map
when 17 then Compiler.write_trainer_types
when 18 then Compiler.write_trainers
when 19 then Compiler.write_types
when 13 then Compiler.write_pokemon_metrics
when 14 then Compiler.write_regional_dexes
when 15 then Compiler.write_ribbons
when 16 then Compiler.write_shadow_movesets
when 17 then Compiler.write_town_map
when 18 then Compiler.write_trainer_types
when 19 then Compiler.write_trainers
when 20 then Compiler.write_types
else break
end
pbMessage(_INTL("File written."))

View File

@@ -724,6 +724,8 @@ module Compiler
compile_pokemon # Depends on Move, Item, Type, Ability
yield(_INTL("Compiling Pokémon forms data"))
compile_pokemon_forms # Depends on Species, Move, Item, Type, Ability
yield(_INTL("Compiling Pokémon metrics data"))
compile_pokemon_metrics # Depends on Species
yield(_INTL("Compiling shadow moveset data"))
compile_shadow_movesets # Depends on Species, Move
yield(_INTL("Compiling Regional Dexes"))
@@ -774,6 +776,7 @@ module Compiler
"ribbons.dat",
"shadow_movesets.dat",
"species.dat",
"species_metrics.dat",
"town_map.dat",
"trainer_lists.dat",
"trainer_types.dat",
@@ -793,6 +796,7 @@ module Compiler
"phone.txt",
"pokemon.txt",
"pokemon_forms.txt",
"pokemon_metrics.txt",
"regional_dexes.txt",
"ribbons.txt",
"shadow_movesets.txt",

View File

@@ -616,14 +616,7 @@ module Compiler
:shape => contents["Shape"],
:habitat => contents["Habitat"],
:generation => contents["Generation"],
:flags => contents["Flags"],
:back_sprite_x => contents["BattlerPlayerX"],
:back_sprite_y => contents["BattlerPlayerY"],
:front_sprite_x => contents["BattlerEnemyX"],
:front_sprite_y => contents["BattlerEnemyY"],
:front_sprite_altitude => contents["BattlerAltitude"],
:shadow_x => contents["BattlerShadowX"],
:shadow_size => contents["BattlerShadowSize"]
:flags => contents["Flags"]
}
# Add species' data to records
GameData::Species.register(species_hash)
@@ -631,6 +624,21 @@ module Compiler
species_form_names.push(species_hash[:form_name])
species_categories.push(species_hash[:category])
species_pokedex_entries.push(species_hash[:pokedex_entry])
# Save metrics data if defined (backwards compatibility)
if contents["BattlerPlayerX"] || contents["BattlerPlayerY"] ||
contents["BattlerEnemyX"] || contents["BattlerEnemyY"] ||
contents["BattlerAltitude"] || contents["BattlerShadowX"] ||
contents["BattlerShadowSize"]
metrics_hash = {
:id => contents["InternalName"].to_sym,
:back_sprite => [contents["BattlerPlayerX"] || 0, contents["BattlerPlayerY"] || 0],
:front_sprite => [contents["BattlerEnemyX"] || 0, contents["BattlerEnemyY"] || 0],
:front_sprite_altitude => contents["BattlerAltitude"] || 0,
:shadow_x => contents["BattlerShadowX"] || 0,
:shadow_size => contents["BattlerShadowSize"] || 2
}
GameData::SpeciesMetrics.register(metrics_hash)
end
}
}
# Enumerate all evolution species and parameters (this couldn't be done earlier)
@@ -660,6 +668,7 @@ module Compiler
end
# Save all data
GameData::Species.save
GameData::SpeciesMetrics.save
MessageTypes.setMessagesAsHash(MessageTypes::Species, species_names)
MessageTypes.setMessagesAsHash(MessageTypes::FormNames, species_form_names)
MessageTypes.setMessagesAsHash(MessageTypes::Kinds, species_categories)
@@ -688,7 +697,7 @@ module Compiler
# Split section_name into a species number and form number
split_section_name = section_name.split(/[-,\s]/)
if split_section_name.length != 2
raise _INTL("Section name {1} is invalid ({2}). Expected syntax like [XXX,Y] (XXX=species ID, Y=form number).", sectionName, path)
raise _INTL("Section name {1} is invalid ({2}). Expected syntax like [XXX,Y] (XXX=species ID, Y=form number).", section_name, path)
end
species_symbol = csvEnumField!(split_section_name[0], :Species, nil, nil)
form = csvPosInt!(split_section_name[1])
@@ -797,14 +806,7 @@ module Compiler
:mega_stone => contents["MegaStone"],
:mega_move => contents["MegaMove"],
:unmega_form => contents["UnmegaForm"],
:mega_message => contents["MegaMessage"],
:back_sprite_x => contents["BattlerPlayerX"] || base_data.back_sprite_x,
:back_sprite_y => contents["BattlerPlayerY"] || base_data.back_sprite_y,
:front_sprite_x => contents["BattlerEnemyX"] || base_data.front_sprite_x,
:front_sprite_y => contents["BattlerEnemyY"] || base_data.front_sprite_y,
:front_sprite_altitude => contents["BattlerAltitude"] || base_data.front_sprite_altitude,
:shadow_x => contents["BattlerShadowX"] || base_data.shadow_x,
:shadow_size => contents["BattlerShadowSize"] || base_data.shadow_size
:mega_message => contents["MegaMessage"]
}
# If form is single-typed, ensure it remains so if base species is dual-typed
species_hash[:type2] = contents["Type1"] if contents["Type1"] && !contents["Type2"]
@@ -820,6 +822,31 @@ module Compiler
species_form_names.push(species_hash[:form_name])
species_categories.push(species_hash[:category])
species_pokedex_entries.push(species_hash[:pokedex_entry])
# Save metrics data if defined (backwards compatibility)
if contents["BattlerPlayerX"] || contents["BattlerPlayerY"] ||
contents["BattlerEnemyX"] || contents["BattlerEnemyY"] ||
contents["BattlerAltitude"] || contents["BattlerShadowX"] ||
contents["BattlerShadowSize"]
base_metrics = GameData::SpeciesMetrics.get_species_form(species_symbol, 0)
back_x = contents["BattlerPlayerX"] || base_metrics.back_sprite[0]
back_y = contents["BattlerPlayerY"] || base_metrics.back_sprite[1]
front_x = contents["BattlerEnemyX"] || base_metrics.front_sprite[0]
front_y = contents["BattlerEnemyY"] || base_metrics.front_sprite[1]
altitude = contents["BattlerAltitude"] || base_metrics.front_sprite_altitude
shadow_x = contents["BattlerShadowX"] || base_metrics.shadow_x
shadow_size = contents["BattlerShadowSize"] || base_metrics.shadow_size
metrics_hash = {
:id => form_symbol,
:species => species_symbol,
:form => form,
:back_sprite => [back_x, back_y],
:front_sprite => [front_x, front_y],
:front_sprite_altitude => altitude,
:shadow_x => shadow_x,
:shadow_size => shadow_size
}
GameData::SpeciesMetrics.register(metrics_hash)
end
}
}
# Add prevolution "evolution" entry for all evolved forms that define their
@@ -837,6 +864,7 @@ module Compiler
end
# Save all data
GameData::Species.save
GameData::SpeciesMetrics.save
MessageTypes.addMessagesAsHash(MessageTypes::Species, species_names)
MessageTypes.addMessagesAsHash(MessageTypes::FormNames, species_form_names)
MessageTypes.addMessagesAsHash(MessageTypes::Kinds, species_categories)
@@ -844,6 +872,61 @@ module Compiler
Graphics.update
end
#=============================================================================
# Compile Pokémon metrics data
#=============================================================================
def compile_pokemon_metrics(path = "PBS/pokemon_metrics.txt")
return if !safeExists?(path)
schema = GameData::SpeciesMetrics::SCHEMA
# Read from PBS file
File.open(path, "rb") { |f|
FileLineData.file = path # For error reporting
# Read a whole section's lines at once, then run through this code.
# contents is a hash containing all the XXX=YYY lines in that section, where
# the keys are the XXX and the values are the YYY (as unprocessed strings).
pbEachFileSection(f) { |contents, section_name|
FileLineData.setSection(section_name, "header", nil) # For error reporting
# Split section_name into a species number and form number
split_section_name = section_name.split(/[-,\s]/)
if split_section_name.length == 0 || split_section_name.length > 2
raise _INTL("Section name {1} is invalid ({2}). Expected syntax like [XXX] or [XXX,Y] (XXX=species ID, Y=form number).", section_name, path)
end
species_symbol = csvEnumField!(split_section_name[0], :Species, nil, nil)
form = (split_section_name[1]) ? csvPosInt!(split_section_name[1]) : 0
# Go through schema hash of compilable data and compile this section
for key in schema.keys
# Skip empty properties (none are required)
if nil_or_empty?(contents[key])
contents[key] = nil
next
end
FileLineData.setSection(section_name, key, contents[key]) # For error reporting
# Compile value for key
value = pbGetCsvRecord(contents[key], key, schema[key])
value = nil if value.is_a?(Array) && value.length == 0
contents[key] = value
end
# Construct species hash
form_symbol = (form > 0) ? sprintf("%s_%d", species_symbol.to_s, form).to_sym : species_symbol
species_hash = {
:id => form_symbol,
:species => species_symbol,
:form => form,
:back_sprite => contents["BackSprite"],
:front_sprite => contents["FrontSprite"],
:front_sprite_altitude => contents["FrontSpriteAltitude"],
:shadow_x => contents["ShadowX"],
:shadow_size => contents["ShadowSize"]
}
# Add form's data to records
GameData::SpeciesMetrics.register(species_hash)
}
}
# Save all data
GameData::SpeciesMetrics.save
Graphics.update
end
#=============================================================================
# Compile Shadow movesets
#=============================================================================

View File

@@ -308,13 +308,6 @@ module Compiler
f.write(sprintf("WildItemCommon = %s\r\n", species.wild_item_common)) if species.wild_item_common
f.write(sprintf("WildItemUncommon = %s\r\n", species.wild_item_uncommon)) if species.wild_item_uncommon
f.write(sprintf("WildItemRare = %s\r\n", species.wild_item_rare)) if species.wild_item_rare
f.write(sprintf("BattlerPlayerX = %d\r\n", species.back_sprite_x))
f.write(sprintf("BattlerPlayerY = %d\r\n", species.back_sprite_y))
f.write(sprintf("BattlerEnemyX = %d\r\n", species.front_sprite_x))
f.write(sprintf("BattlerEnemyY = %d\r\n", species.front_sprite_y))
f.write(sprintf("BattlerAltitude = %d\r\n", species.front_sprite_altitude)) if species.front_sprite_altitude != 0
f.write(sprintf("BattlerShadowX = %d\r\n", species.shadow_x))
f.write(sprintf("BattlerShadowSize = %d\r\n", species.shadow_size))
if species.evolutions.any? { |evo| !evo[3] }
f.write("Evolutions = ")
need_comma = false
@@ -415,13 +408,6 @@ module Compiler
f.write(sprintf("WildItemUncommon = %s\r\n", species.wild_item_uncommon)) if species.wild_item_uncommon
f.write(sprintf("WildItemRare = %s\r\n", species.wild_item_rare)) if species.wild_item_rare
end
f.write(sprintf("BattlerPlayerX = %d\r\n", species.back_sprite_x)) if species.back_sprite_x != base_species.back_sprite_x
f.write(sprintf("BattlerPlayerY = %d\r\n", species.back_sprite_y)) if species.back_sprite_y != base_species.back_sprite_y
f.write(sprintf("BattlerEnemyX = %d\r\n", species.front_sprite_x)) if species.front_sprite_x != base_species.front_sprite_x
f.write(sprintf("BattlerEnemyY = %d\r\n", species.front_sprite_y)) if species.front_sprite_y != base_species.front_sprite_y
f.write(sprintf("BattlerAltitude = %d\r\n", species.front_sprite_altitude)) if species.front_sprite_altitude != base_species.front_sprite_altitude
f.write(sprintf("BattlerShadowX = %d\r\n", species.shadow_x)) if species.shadow_x != base_species.shadow_x
f.write(sprintf("BattlerShadowSize = %d\r\n", species.shadow_size)) if species.shadow_size != base_species.shadow_size
if species.evolutions != base_species.evolutions && species.evolutions.any? { |evo| !evo[3] }
f.write("Evolutions = ")
need_comma = false
@@ -447,6 +433,59 @@ module Compiler
Graphics.update
end
#=============================================================================
# Write species metrics
#=============================================================================
def write_pokemon_metrics
echo _INTL("Writing species metrics...")
# Get in species order then in form order
sort_array = []
dex_numbers = {}
i = 0
GameData::SpeciesMetrics.each do |metrics|
dex_numbers[metrics.species] = i if !dex_numbers[metrics.species]
sort_array.push([dex_numbers[metrics.species], metrics.id, metrics.species, metrics.form])
i += 1
end
sort_array.sort! { |a, b| (a[0] == b[0]) ? a[3] <=> b[3] : a[0] <=> b[0] }
# Write file
File.open("PBS/pokemon_metrics.txt", "wb") { |f|
idx = 0
add_PBS_header_to_file(f)
sort_array.each do |val|
echo "." if idx % 50 == 0
idx += 1
Graphics.update if idx % 100 == 0
species = GameData::SpeciesMetrics.get(val[1])
if species.form > 0
base_species = GameData::SpeciesMetrics.get(val[2])
next if species.back_sprite == base_species.back_sprite &&
species.front_sprite == base_species.front_sprite &&
species.front_sprite_altitude == base_species.front_sprite_altitude &&
species.shadow_x == base_species.shadow_x &&
species.shadow_size == base_species.shadow_size
else
next if species.back_sprite == [0, 0] && species.front_sprite == [0, 0] &&
species.front_sprite_altitude == 0 &&
species.shadow_x == 0 && species.shadow_size == 2
end
f.write("\#-------------------------------\r\n")
if species.form > 0
f.write(sprintf("[%s,%d]\r\n", species.species, species.form))
else
f.write(sprintf("[%s]\r\n", species.species))
end
f.write(sprintf("BackSprite = %s\r\n", species.back_sprite.join(",")))
f.write(sprintf("FrontSprite = %s\r\n", species.front_sprite.join(",")))
f.write(sprintf("FrontSpriteAltitude = %d\r\n", species.front_sprite_altitude)) if species.front_sprite_altitude != 0
f.write(sprintf("ShadowX = %d\r\n", species.shadow_x))
f.write(sprintf("ShadowSize = %d\r\n", species.shadow_size))
end
}
echoln _INTL("done")
Graphics.update
end
#=============================================================================
# Save Shadow movesets to PBS file
#=============================================================================
@@ -812,6 +851,7 @@ module Compiler
write_berry_plants
write_pokemon
write_pokemon_forms
write_pokemon_metrics
write_shadow_movesets
write_regional_dexes
write_ribbons

View File

@@ -1435,7 +1435,8 @@ module Compiler
t = Time.now.to_i
Graphics.update
trainerChecker = TrainerChecker.new
echo _INTL("Processing {1} maps...", mapData.mapinfos.keys.length)
any_changed = false
echoln _INTL("Processing {1} maps...", mapData.mapinfos.keys.length)
for id in mapData.mapinfos.keys.sort
changed = false
map = mapData.getMap(id)
@@ -1469,10 +1470,10 @@ module Compiler
end
changed = true if check_counters(map,id,mapData)
if changed
any_changed = true
mapData.saveMap(id)
mapData.saveTilesets
echoln ""
echo _INTL("Map {1}: '{2}' modified and saved.", id, mapData.mapinfos[id].name)
echoln _INTL("Map {1}: '{2}' modified and saved.", id, mapData.mapinfos[id].name)
end
end
echoln ""
@@ -1485,8 +1486,14 @@ module Compiler
if newevent
commonEvents[key] = newevent
changed = true
any_changed = true
end
end
save_data(commonEvents,"Data/CommonEvents.rxdata") if changed
echoln ""
if any_changed
echoln _INTL("!!! RMXP data was altered. Close RMXP now to ensure changes are applied. !!!")
echoln ""
end
end
end

View File

@@ -0,0 +1,66 @@
# See the documentation on the wiki to learn how to edit this file.
#-------------------------------
CHERIBERRY = 3,15,2,5
CHESTOBERRY = 3,15,2,5
PECHABERRY = 3,15,2,5
RAWSTBERRY = 3,15,2,5
ASPEARBERRY = 3,15,2,5
LEPPABERRY = 4,15,2,5
ORANBERRY = 4,15,2,5
PERSIMBERRY = 4,15,2,5
LUMBERRY = 12,8,2,5
SITRUSBERRY = 8,7,2,5
FIGYBERRY = 5,10,1,5
WIKIBERRY = 5,10,1,5
MAGOBERRY = 5,10,1,5
AGUAVBERRY = 5,10,1,5
IAPAPABERRY = 5,10,1,5
RAZZBERRY = 2,35,2,10
BLUKBERRY = 2,35,2,10
NANABBERRY = 2,35,2,10
WEPEARBERRY = 2,35,2,10
PINAPBERRY = 2,35,2,10
POMEGBERRY = 8,8,1,5
KELPSYBERRY = 8,8,1,5
QUALOTBERRY = 8,8,1,5
HONDEWBERRY = 8,8,1,5
GREPABERRY = 8,8,1,5
TAMATOBERRY = 8,8,1,5
CORNNBERRY = 6,10,2,10
MAGOSTBERRY = 6,10,2,10
RABUTABERRY = 6,10,2,10
NOMELBERRY = 6,10,2,10
SPELONBERRY = 15,8,2,15
PAMTREBERRY = 15,8,3,15
WATMELBERRY = 15,8,2,15
DURINBERRY = 15,8,3,15
BELUEBERRY = 15,8,2,15
OCCABERRY = 18,6,1,5
PASSHOBERRY = 18,6,1,5
WACANBERRY = 18,6,1,5
RINDOBERRY = 18,6,1,5
YACHEBERRY = 18,6,1,5
CHOPLEBERRY = 18,6,1,5
KEBIABERRY = 18,6,1,5
SHUCABERRY = 18,6,1,5
COBABERRY = 18,6,1,5
PAYAPABERRY = 18,6,1,5
TANGABERRY = 18,6,1,5
CHARTIBERRY = 18,6,1,5
KASIBBERRY = 18,6,1,5
HABANBERRY = 18,6,1,5
COLBURBERRY = 18,6,1,5
BABIRIBERRY = 18,6,1,5
CHILANBERRY = 18,6,1,5
LIECHIBERRY = 24,4,1,5
GANLONBERRY = 24,4,1,5
SALACBERRY = 24,4,1,5
PETAYABERRY = 24,4,1,5
APICOTBERRY = 24,4,1,5
LANSATBERRY = 24,4,1,5
STARFBERRY = 24,4,1,5
ENIGMABERRY = 24,7,1,5
MICLEBERRY = 24,7,1,5
CUSTAPBERRY = 24,7,1,5
JABOCABERRY = 24,7,1,5
ROWAPBERRY = 24,7,1,5

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,6 @@
[PICHU,2]
FormName = Spiky-Eared
Generation = 4
BattlerEnemyX = 3
Evolutions = PIKACHU,None,
#-------------------------------
[UNOWN,1]
@@ -93,23 +92,16 @@ Generation = 3
FormName = Sunny Form
Type1 = FIRE
Color = Red
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[CASTFORM,2]
FormName = Rainy Form
Type1 = WATER
Color = Blue
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[CASTFORM,3]
FormName = Snowy Form
Type1 = ICE
Color = White
BattlerPlayerX = -1
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[DEOXYS,1]
FormName = Attack Forme
@@ -117,10 +109,6 @@ BaseStats = 50,180,20,150,180,20
EVs = 0,2,0,0,1,0
Moves = 1,LEER,1,WRAP,9,NIGHTSHADE,17,TELEPORT,25,TAUNT,33,PURSUIT,41,PSYCHIC,49,SUPERPOWER,57,PSYCHOSHIFT,65,ZENHEADBUTT,73,COSMICPOWER,81,ZAPCANNON,89,PSYCHOBOOST,97,HYPERBEAM
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,CALMMIND,CHARGEBEAM,CUT,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FLASH,FLASHCANNON,FLING,FOCUSBLAST,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HEADBUTT,HIDDENPOWER,HYPERBEAM,ICEBEAM,LIGHTSCREEN,LOWKICK,LOWSWEEP,MUDSLAP,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKSMASH,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STRENGTH,SUBSTITUTE,SUNNYDAY,SUPERPOWER,SWAGGER,SWIFT,TAUNT,TELEKINESIS,THUNDER,THUNDERBOLT,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = 4
BattlerEnemyX = 1
BattlerEnemyY = 5
BattlerShadowSize = 3
#-------------------------------
[DEOXYS,2]
FormName = Defense Forme
@@ -128,10 +116,6 @@ BaseStats = 50,70,160,90,70,160
EVs = 0,0,2,0,0,1
Moves = 1,LEER,1,WRAP,9,NIGHTSHADE,17,TELEPORT,25,KNOCKOFF,33,SPIKES,41,PSYCHIC,49,SNATCH,57,PSYCHOSHIFT,65,ZENHEADBUTT,73,IRONDEFENSE,73,AMNESIA,81,RECOVER,89,PSYCHOBOOST,97,COUNTER,97,MIRRORCOAT
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,CALMMIND,CHARGEBEAM,CUT,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FLASH,FLASHCANNON,FLING,FOCUSBLAST,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HEADBUTT,HIDDENPOWER,HYPERBEAM,ICEBEAM,IRONDEFENSE,KNOCKOFF,LIGHTSCREEN,LOWKICK,LOWSWEEP,MUDSLAP,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKSMASH,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STRENGTH,SUBSTITUTE,SUNNYDAY,SWAGGER,SWIFT,TAUNT,TELEKINESIS,THUNDER,THUNDERBOLT,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = 3
BattlerEnemyX = -2
BattlerEnemyY = 6
BattlerShadowSize = 3
#-------------------------------
[DEOXYS,3]
FormName = Speed Forme
@@ -139,18 +123,12 @@ BaseStats = 50,95,90,180,95,90
EVs = 0,0,0,3,0,0
Moves = 1,LEER,1,WRAP,9,NIGHTSHADE,17,DOUBLETEAM,25,KNOCKOFF,33,PURSUIT,41,PSYCHIC,49,SWIFT,57,PSYCHOSHIFT,65,ZENHEADBUTT,73,AGILITY,81,RECOVER,89,PSYCHOBOOST,97,EXTREMESPEED
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,CALMMIND,CHARGEBEAM,CUT,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FIREPUNCH,FLASH,FLASHCANNON,FLING,FOCUSBLAST,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HEADBUTT,HIDDENPOWER,HYPERBEAM,ICEBEAM,ICEPUNCH,KNOCKOFF,LIGHTSCREEN,LOWKICK,LOWSWEEP,MUDSLAP,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKSMASH,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STRENGTH,SUBSTITUTE,SUNNYDAY,SWAGGER,SWIFT,TAUNT,TELEKINESIS,THUNDER,THUNDERBOLT,THUNDERPUNCH,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = -4
BattlerEnemyX = -4
BattlerEnemyY = 4
BattlerShadowSize = 3
#-------------------------------
[BURMY,1]
FormName = Sandy Cloak
Flags = InheritFormFromMother
#-------------------------------
[BURMY,2]
FormName = Trash Cloak
Flags = InheritFormFromMother
#-------------------------------
[WORMADAM,1]
FormName = Sandy Cloak
@@ -161,7 +139,6 @@ EVs = 0,0,2,0,0,0
Moves = 1,TACKLE,10,PROTECT,15,BUGBITE,20,HIDDENPOWER,23,CONFUSION,26,ROCKBLAST,29,HARDEN,32,PSYBEAM,35,CAPTIVATE,38,FLAIL,41,ATTRACT,44,PSYCHIC,47,FISSURE
TutorMoves = ATTRACT,BUGBITE,BULLDOZE,DIG,DOUBLETEAM,DREAMEATER,EARTHPOWER,EARTHQUAKE,ELECTROWEB,ENDEAVOR,FACADE,FLASH,FRUSTRATION,GIGAIMPACT,HIDDENPOWER,HYPERBEAM,PROTECT,PSYCHIC,PSYCHUP,RAINDANCE,REST,RETURN,ROCKTOMB,ROUND,SAFEGUARD,SANDSTORM,SHADOWBALL,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNORE,STEALTHROCK,STRINGSHOT,STRUGGLEBUG,SUBSTITUTE,SUCKERPUNCH,SUNNYDAY,SWAGGER,THIEF,TOXIC,UPROAR,VENOSHOCK
Color = Brown
Flags = InheritFormFromMother
#-------------------------------
[WORMADAM,2]
FormName = Trash Cloak
@@ -172,65 +149,43 @@ EVs = 0,0,1,0,0,1
Moves = 1,TACKLE,10,PROTECT,15,BUGBITE,20,HIDDENPOWER,23,CONFUSION,26,MIRRORSHOT,29,METALSOUND,32,PSYBEAM,35,CAPTIVATE,38,FLAIL,41,ATTRACT,44,PSYCHIC,47,IRONHEAD
TutorMoves = ATTRACT,BUGBITE,DOUBLETEAM,DREAMEATER,ELECTROWEB,ENDEAVOR,FACADE,FLASH,FLASHCANNON,FRUSTRATION,GIGAIMPACT,GUNKSHOT,GYROBALL,HIDDENPOWER,HYPERBEAM,IRONDEFENSE,IRONHEAD,MAGNETRISE,PROTECT,PSYCHIC,PSYCHUP,RAINDANCE,REST,RETURN,ROUND,SAFEGUARD,SHADOWBALL,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNORE,STEALTHROCK,STRINGSHOT,STRUGGLEBUG,SUBSTITUTE,SUCKERPUNCH,SUNNYDAY,SWAGGER,THIEF,TOXIC,UPROAR,VENOSHOCK
Color = Red
Flags = InheritFormFromMother
#-------------------------------
[CHERRIM,1]
FormName = Sunshine Form
Color = Pink
BattlerPlayerX = 2
BattlerEnemyX = 2
BattlerEnemyY = 21
#-------------------------------
[SHELLOS,1]
FormName = East Sea
Color = Blue
Flags = InheritFormFromMother
#-------------------------------
[GASTRODON,1]
FormName = East Sea
Color = Blue
Flags = InheritFormFromMother
#-------------------------------
[ROTOM,1]
FormName = Heat Rotom
Type1 = ELECTRIC
Type2 = FIRE
BattlerEnemyX = 2
BattlerEnemyY = 1
BattlerShadowSize = 2
#-------------------------------
[ROTOM,2]
FormName = Wash Rotom
Type1 = ELECTRIC
Type2 = WATER
BattlerPlayerX = 1
BattlerShadowSize = 2
#-------------------------------
[ROTOM,3]
FormName = Frost Rotom
Type1 = ELECTRIC
Type2 = ICE
BattlerPlayerX = 0
BattlerEnemyX = 1
BattlerEnemyY = -4
BattlerShadowSize = 2
#-------------------------------
[ROTOM,4]
FormName = Fan Rotom
Type1 = ELECTRIC
Type2 = FLYING
BattlerPlayerX = -4
BattlerEnemyX = -2
BattlerEnemyY = 2
BattlerShadowSize = 2
#-------------------------------
[ROTOM,5]
FormName = Mow Rotom
Type1 = ELECTRIC
Type2 = GRASS
BattlerPlayerX = 1
BattlerEnemyY = 0
BattlerShadowSize = 2
#-------------------------------
[GIRATINA,1]
FormName = Origin Forme
@@ -241,8 +196,6 @@ TutorMoves = AERIALACE,AIRCUTTER,ANCIENTPOWER,AQUATAIL,BULLDOZE,CALMMIND,CHARGEB
Height = 6.9
Weight = 650.0
Shape = Serpentine
BattlerEnemyX = -2
BattlerEnemyY = -8
#-------------------------------
[SHAYMIN,1]
FormName = Sky Forme
@@ -255,8 +208,6 @@ Moves = 1,GROWTH,10,MAGICALLEAF,19,LEECHSEED,28,QUICKATTACK,37,SWEETSCENT,46,NAT
TutorMoves = AIRCUTTER,COVET,DOUBLETEAM,ENERGYBALL,FACADE,FLASH,FRUSTRATION,GIGADRAIN,GIGAIMPACT,GRASSKNOT,HEADBUTT,HIDDENPOWER,HYPERBEAM,LASTRESORT,MUDSLAP,OMINOUSWIND,PROTECT,PSYCHIC,PSYCHUP,REST,RETURN,ROUND,SAFEGUARD,SEEDBOMB,SLEEPTALK,SNORE,SOLARBEAM,SUBSTITUTE,SUNNYDAY,SWAGGER,SWIFT,SWORDSDANCE,SYNTHESIS,TAILWIND,TOXIC,WORRYSEED,ZENHEADBUTT
Height = 0.4
Weight = 5.2
BattlerEnemyY = 16
BattlerShadowSize = 2
#-------------------------------
[ARCEUS,1]
FormName = Fighting Type
@@ -331,7 +282,6 @@ Type1 = DARK
FormName = Blue-Striped
Abilities = ROCKHEAD,ADAPTABILITY
WildItemUncommon = DEEPSEASCALE
Flags = InheritFormFromMother
#-------------------------------
[DARMANITAN,1]
FormName = Zen Mode
@@ -340,9 +290,6 @@ Type2 = PSYCHIC
BaseStats = 105,30,105,55,140,105
EVs = 0,0,0,0,2,0
Color = Blue
BattlerPlayerX = 1
BattlerEnemyY = 30
BattlerShadowSize = 2
#-------------------------------
[DEERLING,1]
FormName = Summer Form
@@ -370,9 +317,6 @@ Abilities = REGENERATOR
HiddenAbilities = REGENERATOR
Height = 1.4
Shape = Winged
BattlerPlayerX = -2
BattlerEnemyX = 8
BattlerEnemyY = 11
#-------------------------------
[THUNDURUS,1]
FormName = Therian Forme
@@ -382,9 +326,6 @@ Abilities = VOLTABSORB
HiddenAbilities = VOLTABSORB
Height = 3.0
Shape = BipedalTail
BattlerPlayerX = -3
BattlerEnemyX = 2
BattlerEnemyY = 5
#-------------------------------
[LANDORUS,1]
FormName = Therian Forme
@@ -394,9 +335,6 @@ Abilities = INTIMIDATE
HiddenAbilities = INTIMIDATE
Height = 1.3
Shape = Quadruped
BattlerPlayerX = -8
BattlerEnemyX = 3
BattlerEnemyY = 14
#-------------------------------
[KYUREM,1]
FormName = White Kyurem
@@ -405,9 +343,6 @@ EVs = 0,0,0,0,3,0
Abilities = TURBOBLAZE
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONFLARE,50,ICEBURN,57,DRAGONPULSE,64,IMPRISON,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.6
BattlerPlayerX = 0
BattlerEnemyX = 9
BattlerEnemyY = 7
#-------------------------------
[KYUREM,2]
FormName = Black Kyurem
@@ -416,8 +351,6 @@ EVs = 0,3,0,0,0,0
Abilities = TERAVOLT
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONBOLT,50,FREEZESHOCK,57,DRAGONPULSE,64,IMPRISON,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.3
BattlerEnemyX = 5
BattlerEnemyY = 4
#-------------------------------
[KYUREM,3]
PokedexForm = 1
@@ -426,9 +359,6 @@ EVs = 0,0,0,0,3,0
Abilities = TURBOBLAZE
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONFLARE,50,ICEBURN,57,DRAGONPULSE,64,IMPRISON,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.6
BattlerPlayerX = 0
BattlerEnemyX = 9
BattlerEnemyY = 7
#-------------------------------
[KYUREM,4]
PokedexForm = 2
@@ -437,15 +367,10 @@ EVs = 0,3,0,0,0,0
Abilities = TERAVOLT
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONBOLT,50,FREEZESHOCK,57,DRAGONPULSE,64,IMPRISON,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.3
BattlerEnemyX = 5
BattlerEnemyY = 4
#-------------------------------
[KELDEO,1]
FormName = Resolute Form
TutorMoves = AERIALACE,AQUATAIL,BOUNCE,CALMMIND,COVET,CUT,DOUBLETEAM,ENDEAVOR,FACADE,FALSESWIPE,FOCUSBLAST,FRUSTRATION,GIGAIMPACT,HAIL,HELPINGHAND,HIDDENPOWER,HYPERBEAM,ICYWIND,LASTRESORT,POISONJAB,PROTECT,PSYCHUP,RAINDANCE,REFLECT,REST,RETALIATE,RETURN,ROAR,ROCKSMASH,ROUND,SAFEGUARD,SCALD,SLEEPTALK,SNORE,STONEEDGE,STRENGTH,SUBSTITUTE,SUPERPOWER,SURF,SWAGGER,SWORDSDANCE,TAUNT,TOXIC,WORKUP,XSCISSOR
BattlerPlayerX = 1
BattlerEnemyX = 0
BattlerEnemyY = 19
#-------------------------------
[MELOETTA,1]
FormName = Pirouette Forme
@@ -453,8 +378,6 @@ Type1 = NORMAL
Type2 = FIGHTING
BaseStats = 100,128,90,128,77,77
EVs = 0,1,1,1,0,0
BattlerEnemyX = 1
BattlerEnemyY = 15
#-------------------------------
[GENESECT,1]
FormName = Shock Drive

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,69 @@
# See the documentation on the wiki to learn how to edit this file.
#-------------------------------
CHERIBERRY = 3,15,2,5
CHESTOBERRY = 3,15,2,5
PECHABERRY = 3,15,2,5
RAWSTBERRY = 3,15,2,5
ASPEARBERRY = 3,15,2,5
LEPPABERRY = 4,15,2,5
ORANBERRY = 4,15,2,5
PERSIMBERRY = 4,15,2,5
LUMBERRY = 12,8,2,5
SITRUSBERRY = 8,7,2,5
FIGYBERRY = 5,10,1,5
WIKIBERRY = 5,10,1,5
MAGOBERRY = 5,10,1,5
AGUAVBERRY = 5,10,1,5
IAPAPABERRY = 5,10,1,5
RAZZBERRY = 2,35,2,10
BLUKBERRY = 2,35,2,10
NANABBERRY = 2,35,2,10
WEPEARBERRY = 2,35,2,10
PINAPBERRY = 2,35,2,10
POMEGBERRY = 8,8,1,5
KELPSYBERRY = 8,8,1,5
QUALOTBERRY = 8,8,1,5
HONDEWBERRY = 8,8,1,5
GREPABERRY = 8,8,1,5
TAMATOBERRY = 8,8,1,5
CORNNBERRY = 6,10,2,10
MAGOSTBERRY = 6,10,2,10
RABUTABERRY = 6,10,2,10
NOMELBERRY = 6,10,2,10
SPELONBERRY = 15,8,2,15
PAMTREBERRY = 15,8,3,15
WATMELBERRY = 15,8,2,15
DURINBERRY = 15,8,3,15
BELUEBERRY = 15,8,2,15
OCCABERRY = 18,6,1,5
PASSHOBERRY = 18,6,1,5
WACANBERRY = 18,6,1,5
RINDOBERRY = 18,6,1,5
YACHEBERRY = 18,6,1,5
CHOPLEBERRY = 18,6,1,5
KEBIABERRY = 18,6,1,5
SHUCABERRY = 18,6,1,5
COBABERRY = 18,6,1,5
PAYAPABERRY = 18,6,1,5
TANGABERRY = 18,6,1,5
CHARTIBERRY = 18,6,1,5
KASIBBERRY = 18,6,1,5
HABANBERRY = 18,6,1,5
COLBURBERRY = 18,6,1,5
BABIRIBERRY = 18,6,1,5
CHILANBERRY = 18,6,1,5
LIECHIBERRY = 24,4,1,5
GANLONBERRY = 24,4,1,5
SALACBERRY = 24,4,1,5
PETAYABERRY = 24,4,1,5
APICOTBERRY = 24,4,1,5
LANSATBERRY = 24,4,1,5
STARFBERRY = 24,4,1,5
ENIGMABERRY = 24,7,1,5
MICLEBERRY = 24,7,1,5
CUSTAPBERRY = 24,7,1,5
JABOCABERRY = 24,7,1,5
ROWAPBERRY = 24,7,1,5
ROSELIBERRY = 18,6,1,5
KEEBERRY = 24,7,1,5
MARANGABERRY = 24,7,1,5

File diff suppressed because it is too large Load Diff

View File

@@ -463,7 +463,6 @@ Generation = 6
[PICHU,2]
FormName = Spiky-Eared
Generation = 4
BattlerEnemyX = 3
Evolutions = PIKACHU,None,
#-------------------------------
[AMPHAROS,1]
@@ -755,25 +754,18 @@ FormName = Sunny Form
Type1 = FIRE
Color = Red
Pokedex = This is the form Castform takes on the brightest of days. Its skin is unexpectedly hot to the touch, so approach with care.
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[CASTFORM,2]
FormName = Rainy Form
Type1 = WATER
Color = Blue
Pokedex = This is the form Castform takes when soaked with rain. When its body is compressed, water will seep out as if from a sponge.
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[CASTFORM,3]
FormName = Snowy Form
Type1 = ICE
Color = White
Pokedex = This is the form Castform takes when covered in snow. Its body becomes an ice-like material, with a temperature near -5 degrees Celsius.
BattlerPlayerX = -1
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[BANETTE,1]
FormName = Mega Banette
@@ -892,10 +884,6 @@ BaseStats = 50,180,20,150,180,20
EVs = 0,2,0,0,1,0
Moves = 1,LEER,1,WRAP,7,NIGHTSHADE,13,TELEPORT,19,TAUNT,25,PURSUIT,31,PSYCHIC,37,SUPERPOWER,43,PSYCHOSHIFT,49,ZENHEADBUTT,55,COSMICPOWER,61,ZAPCANNON,67,PSYCHOBOOST,73,HYPERBEAM
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,BRUTALSWING,CALMMIND,CHARGEBEAM,CONFIDE,DARKPULSE,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FLASHCANNON,FLING,FOCUSBLAST,FOCUSPUNCH,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HIDDENPOWER,HYPERBEAM,ICEBEAM,LASERFOCUS,LIGHTSCREEN,LOWKICK,LOWSWEEP,MAGICCOAT,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SHOCKWAVE,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STOMPINGTANTRUM,SUBSTITUTE,SUNNYDAY,SUPERPOWER,SWAGGER,TAUNT,TELEKINESIS,THROATCHOP,THUNDER,THUNDERBOLT,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WATERPULSE,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = 4
BattlerEnemyX = 1
BattlerEnemyY = 5
BattlerShadowSize = 3
#-------------------------------
[DEOXYS,2]
FormName = Defense Forme
@@ -903,10 +891,6 @@ BaseStats = 50,70,160,90,70,160
EVs = 0,0,2,0,0,1
Moves = 1,LEER,1,WRAP,7,NIGHTSHADE,13,TELEPORT,19,KNOCKOFF,25,SPIKES,31,PSYCHIC,37,SNATCH,43,PSYCHOSHIFT,49,ZENHEADBUTT,55,IRONDEFENSE,55,AMNESIA,61,RECOVER,67,PSYCHOBOOST,73,COUNTER,73,MIRRORCOAT
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,BRUTALSWING,CALMMIND,CHARGEBEAM,CONFIDE,DARKPULSE,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FLASHCANNON,FLING,FOCUSBLAST,FOCUSPUNCH,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HIDDENPOWER,HYPERBEAM,ICEBEAM,IRONDEFENSE,KNOCKOFF,LASERFOCUS,LIGHTSCREEN,LOWKICK,LOWSWEEP,MAGICCOAT,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SHOCKWAVE,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STOMPINGTANTRUM,SUBSTITUTE,SUNNYDAY,SWAGGER,TAUNT,TELEKINESIS,THROATCHOP,THUNDER,THUNDERBOLT,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WATERPULSE,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = 3
BattlerEnemyX = -2
BattlerEnemyY = 6
BattlerShadowSize = 3
#-------------------------------
[DEOXYS,3]
FormName = Speed Forme
@@ -914,20 +898,14 @@ BaseStats = 50,95,90,180,95,90
EVs = 0,0,0,3,0,0
Moves = 1,LEER,1,WRAP,7,NIGHTSHADE,13,DOUBLETEAM,19,KNOCKOFF,25,PURSUIT,31,PSYCHIC,37,SWIFT,43,PSYCHOSHIFT,49,ZENHEADBUTT,55,AGILITY,61,RECOVER,67,PSYCHOBOOST,73,EXTREMESPEED
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,BRUTALSWING,CALMMIND,CHARGEBEAM,CONFIDE,DARKPULSE,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FIREPUNCH,FLASHCANNON,FLING,FOCUSBLAST,FOCUSPUNCH,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HIDDENPOWER,HYPERBEAM,ICEBEAM,ICEPUNCH,KNOCKOFF,LASERFOCUS,LIGHTSCREEN,LOWKICK,LOWSWEEP,MAGICCOAT,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SHOCKWAVE,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STOMPINGTANTRUM,SUBSTITUTE,SUNNYDAY,SWAGGER,TAUNT,TELEKINESIS,THROATCHOP,THUNDER,THUNDERBOLT,THUNDERPUNCH,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WATERPULSE,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = -4
BattlerEnemyX = -4
BattlerEnemyY = 4
BattlerShadowSize = 3
#-------------------------------
[BURMY,1]
FormName = Sandy Cloak
Color = Brown
Flags = InheritFormFromMother
#-------------------------------
[BURMY,2]
FormName = Trash Cloak
Color = Red
Flags = InheritFormFromMother
#-------------------------------
[WORMADAM,1]
FormName = Sandy Cloak
@@ -938,7 +916,6 @@ EVs = 0,0,2,0,0,0
Moves = 0,QUIVERDANCE,1,QUIVERDANCE,1,SUCKERPUNCH,1,TACKLE,1,PROTECT,1,BUGBITE,10,PROTECT,15,BUGBITE,20,HIDDENPOWER,23,CONFUSION,26,ROCKBLAST,29,HARDEN,32,PSYBEAM,35,CAPTIVATE,38,FLAIL,41,ATTRACT,44,PSYCHIC,47,FISSURE,50,BUGBUZZ
TutorMoves = ALLYSWITCH,ATTRACT,BUGBITE,BULLDOZE,CONFIDE,DOUBLETEAM,DREAMEATER,EARTHPOWER,EARTHQUAKE,ELECTROWEB,ENDEAVOR,FACADE,FRUSTRATION,GIGAIMPACT,HIDDENPOWER,HYPERBEAM,INFESTATION,PROTECT,PSYCHIC,PSYCHUP,RAINDANCE,REST,RETURN,ROCKTOMB,ROUND,SAFEGUARD,SANDSTORM,SHADOWBALL,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNORE,STEALTHROCK,SUBSTITUTE,SUNNYDAY,SWAGGER,TELEKINESIS,THIEF,TOXIC,UPROAR,VENOSHOCK
Color = Brown
Flags = InheritFormFromMother
#-------------------------------
[WORMADAM,2]
FormName = Trash Cloak
@@ -949,24 +926,18 @@ EVs = 0,0,1,0,0,1
Moves = 0,QUIVERDANCE,1,QUIVERDANCE,1,METALBURST,1,SUCKERPUNCH,1,TACKLE,1,PROTECT,1,BUGBITE,10,PROTECT,15,BUGBITE,20,HIDDENPOWER,23,CONFUSION,26,MIRRORSHOT,29,METALSOUND,32,PSYBEAM,35,CAPTIVATE,38,FLAIL,41,ATTRACT,44,PSYCHIC,47,IRONHEAD,50,BUGBUZZ
TutorMoves = ALLYSWITCH,ATTRACT,BUGBITE,CONFIDE,DOUBLETEAM,DREAMEATER,ELECTROWEB,ENDEAVOR,FACADE,FLASHCANNON,FRUSTRATION,GIGAIMPACT,GUNKSHOT,GYROBALL,HIDDENPOWER,HYPERBEAM,INFESTATION,IRONDEFENSE,IRONHEAD,MAGNETRISE,PROTECT,PSYCHIC,PSYCHUP,RAINDANCE,REST,RETURN,ROUND,SAFEGUARD,SHADOWBALL,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNORE,STEALTHROCK,SUBSTITUTE,SUNNYDAY,SWAGGER,TELEKINESIS,THIEF,TOXIC,UPROAR,VENOSHOCK
Color = Red
Flags = InheritFormFromMother
#-------------------------------
[CHERRIM,1]
FormName = Sunshine Form
Color = Pink
BattlerPlayerX = 2
BattlerEnemyX = 2
BattlerEnemyY = 21
#-------------------------------
[SHELLOS,1]
FormName = East Sea
Color = Blue
Flags = InheritFormFromMother
#-------------------------------
[GASTRODON,1]
FormName = East Sea
Color = Blue
Flags = InheritFormFromMother
#-------------------------------
[LOPUNNY,1]
FormName = Mega Lopunny
@@ -1031,9 +1002,6 @@ Type2 = FIRE
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = This Rotom has possessed a convection microwave oven that uses a special motor. It also has a flair for manipulating flames.
BattlerEnemyX = 2
BattlerEnemyY = 1
BattlerShadowSize = 2
#-------------------------------
[ROTOM,2]
FormName = Wash Rotom
@@ -1042,8 +1010,6 @@ Type2 = WATER
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = This form of Rotom enjoys coming up with water-based pranks. Be careful with it if you don't want your room flooded.
BattlerPlayerX = 1
BattlerShadowSize = 2
#-------------------------------
[ROTOM,3]
FormName = Frost Rotom
@@ -1052,10 +1018,6 @@ Type2 = ICE
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = Rotom assumes this form when it takes over a refrigerator powered by a special motor. It battles by spewing cold air.
BattlerPlayerX = 0
BattlerEnemyX = 1
BattlerEnemyY = -4
BattlerShadowSize = 2
#-------------------------------
[ROTOM,4]
FormName = Fan Rotom
@@ -1064,10 +1026,6 @@ Type2 = FLYING
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = In this form, Rotom applies its new power over wind to its love of pranks. It will happily blow away any important documents it can find.
BattlerPlayerX = -4
BattlerEnemyX = -2
BattlerEnemyY = 2
BattlerShadowSize = 2
#-------------------------------
[ROTOM,5]
FormName = Mow Rotom
@@ -1076,9 +1034,6 @@ Type2 = GRASS
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = This is Rotom after it's seized control of a lawn mower that has a special motor. As it mows down grass, it scatters the clippings everywhere.
BattlerPlayerX = 1
BattlerEnemyY = 0
BattlerShadowSize = 2
#-------------------------------
[GIRATINA,1]
FormName = Origin Forme
@@ -1089,8 +1044,6 @@ TutorMoves = AERIALACE,AQUATAIL,BRUTALSWING,BULLDOZE,CALMMIND,CHARGEBEAM,CONFIDE
Height = 6.9
Weight = 650.0
Shape = Serpentine
BattlerEnemyX = -2
BattlerEnemyY = -8
#-------------------------------
[SHAYMIN,1]
FormName = Sky Forme
@@ -1103,8 +1056,6 @@ Moves = 1,GROWTH,10,MAGICALLEAF,19,LEECHSEED,28,QUICKATTACK,37,SWEETSCENT,46,NAT
TutorMoves = CONFIDE,COVET,DAZZLINGGLEAM,DOUBLETEAM,ENERGYBALL,FACADE,FRUSTRATION,GIGADRAIN,GIGAIMPACT,GRASSKNOT,HIDDENPOWER,HYPERBEAM,LASERFOCUS,LASTRESORT,NATUREPOWER,PROTECT,PSYCHIC,PSYCHUP,REST,RETURN,ROUND,SAFEGUARD,SEEDBOMB,SLEEPTALK,SNORE,SOLARBEAM,SUBSTITUTE,SUNNYDAY,SWAGGER,SWORDSDANCE,SYNTHESIS,TAILWIND,TOXIC,WORRYSEED,ZENHEADBUTT
Height = 0.4
Weight = 5.2
BattlerEnemyY = 16
BattlerShadowSize = 2
#-------------------------------
[ARCEUS,1]
FormName = Fighting Type
@@ -1199,7 +1150,6 @@ FormName = Blue-Striped
Abilities = ROCKHEAD,ADAPTABILITY
Pokedex = Even Basculin, which devours everything it can with its huge jaws, is nothing more than food to organisms stronger than itself.
WildItemUncommon = DEEPSEASCALE
Flags = InheritFormFromMother
#-------------------------------
[DARMANITAN,1]
FormName = Zen Mode
@@ -1210,9 +1160,6 @@ BaseExp = 189
EVs = 0,0,0,0,2,0
Color = Blue
Pokedex = When wounded, it stops moving. It goes as still as stone to meditate, sharpening its mind and spirit.
BattlerPlayerX = 1
BattlerEnemyY = 30
BattlerShadowSize = 2
#-------------------------------
[DEERLING,1]
FormName = Summer Form
@@ -1243,9 +1190,6 @@ Abilities = REGENERATOR
HiddenAbilities = REGENERATOR
Height = 1.4
Shape = Winged
BattlerPlayerX = -2
BattlerEnemyX = 8
BattlerEnemyY = 11
#-------------------------------
[THUNDURUS,1]
FormName = Therian Forme
@@ -1256,9 +1200,6 @@ HiddenAbilities = VOLTABSORB
TutorMoves = ATTRACT,BRICKBREAK,BRUTALSWING,BULKUP,CHARGEBEAM,CONFIDE,DARKPULSE,DEFOG,DOUBLETEAM,ELECTROWEB,EMBARGO,FACADE,FLASHCANNON,FLING,FLY,FOCUSBLAST,FOULPLAY,FRUSTRATION,GIGAIMPACT,GRASSKNOT,HIDDENPOWER,HYPERBEAM,IRONTAIL,KNOCKOFF,PAYBACK,PROTECT,PSYCHIC,RAINDANCE,REST,RETURN,ROCKSMASH,ROLEPLAY,ROUND,SHOCKWAVE,SKYDROP,SLEEPTALK,SLUDGEBOMB,SLUDGEWAVE,SMACKDOWN,SNORE,STRENGTH,SUBSTITUTE,SUPERPOWER,SWAGGER,TAUNT,THIEF,THUNDER,THUNDERBOLT,THUNDERPUNCH,THUNDERWAVE,TORMENT,TOXIC,UPROAR,UTURN,VOLTSWITCH,WILDCHARGE
Height = 3.0
Shape = BipedalTail
BattlerPlayerX = -3
BattlerEnemyX = 2
BattlerEnemyY = 5
#-------------------------------
[LANDORUS,1]
FormName = Therian Forme
@@ -1268,9 +1209,6 @@ Abilities = INTIMIDATE
HiddenAbilities = INTIMIDATE
Height = 1.3
Shape = Quadruped
BattlerPlayerX = -8
BattlerEnemyX = 3
BattlerEnemyY = 14
#-------------------------------
[KYUREM,1]
FormName = White Kyurem
@@ -1281,9 +1219,6 @@ Abilities = TURBOBLAZE
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONFLARE,50,ICEBURN,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.6
Pokedex = It has foreseen that a world of truth will arrive for people and Pokémon. It strives to protect that future.
BattlerPlayerX = 0
BattlerEnemyX = 9
BattlerEnemyY = 7
#-------------------------------
[KYUREM,2]
FormName = Black Kyurem
@@ -1294,8 +1229,6 @@ Abilities = TERAVOLT
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONBOLT,50,FREEZESHOCK,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.3
Pokedex = It's said that this Pokémon battles in order to protect the ideal world that will exist in the future for people and Pokémon.
BattlerEnemyX = 5
BattlerEnemyY = 4
#-------------------------------
[KYUREM,3]
PokedexForm = 1
@@ -1305,9 +1238,6 @@ EVs = 0,0,0,0,3,0
Abilities = TURBOBLAZE
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONFLARE,50,ICEBURN,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.6
BattlerPlayerX = 0
BattlerEnemyX = 9
BattlerEnemyY = 7
#-------------------------------
[KYUREM,4]
PokedexForm = 2
@@ -1317,16 +1247,11 @@ EVs = 0,3,0,0,0,0
Abilities = TERAVOLT
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONBOLT,50,FREEZESHOCK,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.3
BattlerEnemyX = 5
BattlerEnemyY = 4
#-------------------------------
[KELDEO,1]
FormName = Resolute Form
TutorMoves = AERIALACE,AQUATAIL,BOUNCE,CALMMIND,CONFIDE,COVET,CUT,DOUBLETEAM,ENDEAVOR,FACADE,FALSESWIPE,FOCUSBLAST,FRUSTRATION,GIGAIMPACT,HAIL,HELPINGHAND,HIDDENPOWER,HYPERBEAM,ICYWIND,LASTRESORT,LIQUIDATION,LOWKICK,POISONJAB,PROTECT,PSYCHUP,RAINDANCE,REFLECT,REST,RETURN,ROAR,ROCKSMASH,ROUND,SAFEGUARD,SCALD,SLEEPTALK,SNORE,STONEEDGE,STRENGTH,SUBSTITUTE,SUPERPOWER,SURF,SWAGGER,SWORDSDANCE,TAUNT,TOXIC,WATERPULSE,WORKUP,XSCISSOR
Pokedex = The power that lay hidden in its body now covers its horn, turning it into a sword that can slice through anything.
BattlerPlayerX = 1
BattlerEnemyX = 0
BattlerEnemyY = 19
#-------------------------------
[MELOETTA,1]
FormName = Pirouette Forme
@@ -1334,8 +1259,6 @@ Type1 = NORMAL
Type2 = FIGHTING
BaseStats = 100,128,90,128,77,77
EVs = 0,1,1,1,0,0
BattlerEnemyX = 1
BattlerEnemyY = 15
#-------------------------------
[GENESECT,1]
FormName = Shock Drive
@@ -1421,35 +1344,27 @@ FormName = Poké Ball Pattern
#-------------------------------
[FLABEBE,1]
FormName = Yellow Flower
Flags = InheritFormFromMother
#-------------------------------
[FLABEBE,2]
FormName = Orange Flower
Flags = InheritFormFromMother
#-------------------------------
[FLABEBE,3]
FormName = Blue Flower
Flags = InheritFormFromMother
#-------------------------------
[FLABEBE,4]
FormName = White Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,1]
FormName = Yellow Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,2]
FormName = Orange Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,3]
FormName = Blue Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,4]
FormName = White Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,5]
FormName = Eternal Flower
@@ -1462,19 +1377,15 @@ Evolutions = FLORGES,None,
#-------------------------------
[FLORGES,1]
FormName = Yellow Flower
Flags = InheritFormFromMother
#-------------------------------
[FLORGES,2]
FormName = Orange Flower
Flags = InheritFormFromMother
#-------------------------------
[FLORGES,3]
FormName = Blue Flower
Flags = InheritFormFromMother
#-------------------------------
[FLORGES,4]
FormName = White Flower
Flags = InheritFormFromMother
#-------------------------------
[FURFROU,1]
FormName = Heart Trim
@@ -1520,14 +1431,12 @@ BaseStats = 49,66,70,51,44,55
HiddenAbilities = INSOMNIA
Height = 0.4
Weight = 5.0
Flags = InheritFormFromMother
#-------------------------------
[PUMPKABOO,2]
FormName = Large Size
BaseStats = 54,66,70,46,44,55
Height = 0.5
Weight = 7.5
Flags = InheritFormFromMother
#-------------------------------
[PUMPKABOO,3]
FormName = Super Size
@@ -1538,7 +1447,6 @@ Weight = 15.0
WildItemCommon = MIRACLESEED
WildItemUncommon = MIRACLESEED
WildItemRare = MIRACLESEED
Flags = InheritFormFromMother
#-------------------------------
[GOURGEIST,1]
FormName = Average Size
@@ -1546,14 +1454,12 @@ BaseStats = 65,90,122,84,58,75
HiddenAbilities = INSOMNIA
Height = 0.9
Weight = 12.5
Flags = InheritFormFromMother
#-------------------------------
[GOURGEIST,2]
FormName = Large Size
BaseStats = 75,95,122,69,58,75
Height = 1.1
Weight = 14.0
Flags = InheritFormFromMother
#-------------------------------
[GOURGEIST,3]
FormName = Super Size
@@ -1564,7 +1470,6 @@ Weight = 39.0
WildItemCommon = MIRACLESEED
WildItemUncommon = MIRACLESEED
WildItemRare = MIRACLESEED
Flags = InheritFormFromMother
#-------------------------------
[XERNEAS,1]
FormName = Active Mode
@@ -1631,7 +1536,6 @@ Type1 = ELECTRIC
Type2 = FLYING
Color = Yellow
Pokedex = It creates an electric charge by rubbing its feathers together. It dances over to its enemies and delivers shocking electrical punches.
Flags = InheritFormFromMother
#-------------------------------
[ORICORIO,2]
FormName = Pa'u Style
@@ -1639,7 +1543,6 @@ Type1 = PSYCHIC
Type2 = FLYING
Color = Pink
Pokedex = This Oricorio relaxes by swaying gently. This increases its psychic energy, which it then fires at its enemies.
Flags = InheritFormFromMother
#-------------------------------
[ORICORIO,3]
FormName = Sensu Style
@@ -1647,7 +1550,6 @@ Type1 = GHOST
Type2 = FLYING
Color = Purple
Pokedex = It summons the dead with its dreamy dancing. From their malice, it draws power with which to curse its enemies.
Flags = InheritFormFromMother
#-------------------------------
[ROCKRUFF,2]
Abilities = OWNTEMPO

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,69 @@
# See the documentation on the wiki to learn how to edit this file.
#-------------------------------
CHERIBERRY = 3,15,2,5
CHESTOBERRY = 3,15,2,5
PECHABERRY = 3,15,2,5
RAWSTBERRY = 3,15,2,5
ASPEARBERRY = 3,15,2,5
LEPPABERRY = 4,15,2,5
ORANBERRY = 4,15,2,5
PERSIMBERRY = 4,15,2,5
LUMBERRY = 12,8,2,5
SITRUSBERRY = 8,7,2,5
FIGYBERRY = 5,10,1,5
WIKIBERRY = 5,10,1,5
MAGOBERRY = 5,10,1,5
AGUAVBERRY = 5,10,1,5
IAPAPABERRY = 5,10,1,5
RAZZBERRY = 2,35,2,10
BLUKBERRY = 2,35,2,10
NANABBERRY = 2,35,2,10
WEPEARBERRY = 2,35,2,10
PINAPBERRY = 2,35,2,10
POMEGBERRY = 8,8,1,5
KELPSYBERRY = 8,8,1,5
QUALOTBERRY = 8,8,1,5
HONDEWBERRY = 8,8,1,5
GREPABERRY = 8,8,1,5
TAMATOBERRY = 8,8,1,5
CORNNBERRY = 6,10,2,10
MAGOSTBERRY = 6,10,2,10
RABUTABERRY = 6,10,2,10
NOMELBERRY = 6,10,2,10
SPELONBERRY = 15,8,2,15
PAMTREBERRY = 15,8,3,15
WATMELBERRY = 15,8,2,15
DURINBERRY = 15,8,3,15
BELUEBERRY = 15,8,2,15
OCCABERRY = 18,6,1,5
PASSHOBERRY = 18,6,1,5
WACANBERRY = 18,6,1,5
RINDOBERRY = 18,6,1,5
YACHEBERRY = 18,6,1,5
CHOPLEBERRY = 18,6,1,5
KEBIABERRY = 18,6,1,5
SHUCABERRY = 18,6,1,5
COBABERRY = 18,6,1,5
PAYAPABERRY = 18,6,1,5
TANGABERRY = 18,6,1,5
CHARTIBERRY = 18,6,1,5
KASIBBERRY = 18,6,1,5
HABANBERRY = 18,6,1,5
COLBURBERRY = 18,6,1,5
BABIRIBERRY = 18,6,1,5
CHILANBERRY = 18,6,1,5
LIECHIBERRY = 24,4,1,5
GANLONBERRY = 24,4,1,5
SALACBERRY = 24,4,1,5
PETAYABERRY = 24,4,1,5
APICOTBERRY = 24,4,1,5
LANSATBERRY = 24,4,1,5
STARFBERRY = 24,4,1,5
ENIGMABERRY = 24,7,1,5
MICLEBERRY = 24,7,1,5
CUSTAPBERRY = 24,7,1,5
JABOCABERRY = 24,7,1,5
ROWAPBERRY = 24,7,1,5
ROSELIBERRY = 18,6,1,5
KEEBERRY = 24,7,1,5
MARANGABERRY = 24,7,1,5

File diff suppressed because it is too large Load Diff

View File

@@ -629,7 +629,6 @@ Generation = 6
[PICHU,2]
FormName = Spiky-Eared
Generation = 4
BattlerEnemyX = 3
Evolutions = PIKACHU,None,
#-------------------------------
[AMPHAROS,1]
@@ -973,25 +972,18 @@ FormName = Sunny Form
Type1 = FIRE
Color = Red
Pokedex = This is the form Castform takes on the brightest of days. Its skin is unexpectedly hot to the touch, so approach with care.
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[CASTFORM,2]
FormName = Rainy Form
Type1 = WATER
Color = Blue
Pokedex = This is the form Castform takes when soaked with rain. When its body is compressed, water will seep out as if from a sponge.
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[CASTFORM,3]
FormName = Snowy Form
Type1 = ICE
Color = White
Pokedex = This is the form Castform takes when covered in snow. Its body becomes an ice-like material, with a temperature near -5 degrees Celsius.
BattlerPlayerX = -1
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[BANETTE,1]
FormName = Mega Banette
@@ -1110,10 +1102,6 @@ BaseStats = 50,180,20,150,180,20
EVs = 0,2,0,0,1,0
Moves = 1,LEER,1,WRAP,7,NIGHTSHADE,13,TELEPORT,19,TAUNT,25,PURSUIT,31,PSYCHIC,37,SUPERPOWER,43,PSYCHOSHIFT,49,ZENHEADBUTT,55,COSMICPOWER,61,ZAPCANNON,67,PSYCHOBOOST,73,HYPERBEAM
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,BRUTALSWING,CALMMIND,CHARGEBEAM,CONFIDE,DARKPULSE,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FLASHCANNON,FLING,FOCUSBLAST,FOCUSPUNCH,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HIDDENPOWER,HYPERBEAM,ICEBEAM,LASERFOCUS,LIGHTSCREEN,LOWKICK,LOWSWEEP,MAGICCOAT,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SHOCKWAVE,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STOMPINGTANTRUM,SUBSTITUTE,SUNNYDAY,SUPERPOWER,SWAGGER,TAUNT,TELEKINESIS,THROATCHOP,THUNDER,THUNDERBOLT,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WATERPULSE,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = 4
BattlerEnemyX = 1
BattlerEnemyY = 5
BattlerShadowSize = 3
#-------------------------------
[DEOXYS,2]
FormName = Defense Forme
@@ -1121,10 +1109,6 @@ BaseStats = 50,70,160,90,70,160
EVs = 0,0,2,0,0,1
Moves = 1,LEER,1,WRAP,7,NIGHTSHADE,13,TELEPORT,19,KNOCKOFF,25,SPIKES,31,PSYCHIC,37,SNATCH,43,PSYCHOSHIFT,49,ZENHEADBUTT,55,IRONDEFENSE,55,AMNESIA,61,RECOVER,67,PSYCHOBOOST,73,COUNTER,73,MIRRORCOAT
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,BRUTALSWING,CALMMIND,CHARGEBEAM,CONFIDE,DARKPULSE,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FLASHCANNON,FLING,FOCUSBLAST,FOCUSPUNCH,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HIDDENPOWER,HYPERBEAM,ICEBEAM,IRONDEFENSE,KNOCKOFF,LASERFOCUS,LIGHTSCREEN,LOWKICK,LOWSWEEP,MAGICCOAT,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SHOCKWAVE,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STOMPINGTANTRUM,SUBSTITUTE,SUNNYDAY,SWAGGER,TAUNT,TELEKINESIS,THROATCHOP,THUNDER,THUNDERBOLT,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WATERPULSE,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = 3
BattlerEnemyX = -2
BattlerEnemyY = 6
BattlerShadowSize = 3
#-------------------------------
[DEOXYS,3]
FormName = Speed Forme
@@ -1132,20 +1116,14 @@ BaseStats = 50,95,90,180,95,90
EVs = 0,0,0,3,0,0
Moves = 1,LEER,1,WRAP,7,NIGHTSHADE,13,DOUBLETEAM,19,KNOCKOFF,25,PURSUIT,31,PSYCHIC,37,SWIFT,43,PSYCHOSHIFT,49,ZENHEADBUTT,55,AGILITY,61,RECOVER,67,PSYCHOBOOST,73,EXTREMESPEED
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,BRUTALSWING,CALMMIND,CHARGEBEAM,CONFIDE,DARKPULSE,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FIREPUNCH,FLASHCANNON,FLING,FOCUSBLAST,FOCUSPUNCH,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HIDDENPOWER,HYPERBEAM,ICEBEAM,ICEPUNCH,KNOCKOFF,LASERFOCUS,LIGHTSCREEN,LOWKICK,LOWSWEEP,MAGICCOAT,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SHOCKWAVE,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STOMPINGTANTRUM,SUBSTITUTE,SUNNYDAY,SWAGGER,TAUNT,TELEKINESIS,THROATCHOP,THUNDER,THUNDERBOLT,THUNDERPUNCH,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WATERPULSE,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = -4
BattlerEnemyX = -4
BattlerEnemyY = 4
BattlerShadowSize = 3
#-------------------------------
[BURMY,1]
FormName = Sandy Cloak
Color = Brown
Flags = InheritFormFromMother
#-------------------------------
[BURMY,2]
FormName = Trash Cloak
Color = Red
Flags = InheritFormFromMother
#-------------------------------
[WORMADAM,1]
FormName = Sandy Cloak
@@ -1156,7 +1134,6 @@ EVs = 0,0,2,0,0,0
Moves = 0,QUIVERDANCE,1,QUIVERDANCE,1,SUCKERPUNCH,1,TACKLE,1,PROTECT,1,BUGBITE,10,PROTECT,15,BUGBITE,20,HIDDENPOWER,23,CONFUSION,26,ROCKBLAST,29,HARDEN,32,PSYBEAM,35,CAPTIVATE,38,FLAIL,41,ATTRACT,44,PSYCHIC,47,FISSURE,50,BUGBUZZ
TutorMoves = ALLYSWITCH,ATTRACT,BUGBITE,BULLDOZE,CONFIDE,DOUBLETEAM,DREAMEATER,EARTHPOWER,EARTHQUAKE,ELECTROWEB,ENDEAVOR,FACADE,FRUSTRATION,GIGAIMPACT,HIDDENPOWER,HYPERBEAM,INFESTATION,PROTECT,PSYCHIC,PSYCHUP,RAINDANCE,REST,RETURN,ROCKTOMB,ROUND,SAFEGUARD,SANDSTORM,SHADOWBALL,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNORE,STEALTHROCK,SUBSTITUTE,SUNNYDAY,SWAGGER,TELEKINESIS,THIEF,TOXIC,UPROAR,VENOSHOCK
Color = Brown
Flags = InheritFormFromMother
#-------------------------------
[WORMADAM,2]
FormName = Trash Cloak
@@ -1167,27 +1144,21 @@ EVs = 0,0,1,0,0,1
Moves = 0,QUIVERDANCE,1,QUIVERDANCE,1,METALBURST,1,SUCKERPUNCH,1,TACKLE,1,PROTECT,1,BUGBITE,10,PROTECT,15,BUGBITE,20,HIDDENPOWER,23,CONFUSION,26,MIRRORSHOT,29,METALSOUND,32,PSYBEAM,35,CAPTIVATE,38,FLAIL,41,ATTRACT,44,PSYCHIC,47,IRONHEAD,50,BUGBUZZ
TutorMoves = ALLYSWITCH,ATTRACT,BUGBITE,CONFIDE,DOUBLETEAM,DREAMEATER,ELECTROWEB,ENDEAVOR,FACADE,FLASHCANNON,FRUSTRATION,GIGAIMPACT,GUNKSHOT,GYROBALL,HIDDENPOWER,HYPERBEAM,INFESTATION,IRONDEFENSE,IRONHEAD,MAGNETRISE,PROTECT,PSYCHIC,PSYCHUP,RAINDANCE,REST,RETURN,ROUND,SAFEGUARD,SHADOWBALL,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNORE,STEALTHROCK,SUBSTITUTE,SUNNYDAY,SWAGGER,TELEKINESIS,THIEF,TOXIC,UPROAR,VENOSHOCK
Color = Red
Flags = InheritFormFromMother
#-------------------------------
[CHERRIM,1]
FormName = Sunshine Form
Color = Pink
Pokedex = After absorbing plenty of sunlight, Cherrim takes this form. It's full of energy while it's like this, and its liveliness will go on until sundown.
BattlerPlayerX = 2
BattlerEnemyX = 2
BattlerEnemyY = 21
#-------------------------------
[SHELLOS,1]
FormName = East Sea
Color = Blue
Pokedex = Its appearance changes depending on the environment. One theory suggests that living in cold seas causes Shellos to take on this form.
Flags = InheritFormFromMother
#-------------------------------
[GASTRODON,1]
FormName = East Sea
Color = Blue
Pokedex = Its body is covered in a sticky slime. It's very susceptible to dehydration, so it can't spend too much time on land.
Flags = InheritFormFromMother
#-------------------------------
[LOPUNNY,1]
FormName = Mega Lopunny
@@ -1252,9 +1223,6 @@ Type2 = FIRE
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = This Rotom has possessed a convection microwave oven that uses a special motor. It also has a flair for manipulating flames.
BattlerEnemyX = 2
BattlerEnemyY = 1
BattlerShadowSize = 2
#-------------------------------
[ROTOM,2]
FormName = Wash Rotom
@@ -1263,8 +1231,6 @@ Type2 = WATER
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = This form of Rotom enjoys coming up with water-based pranks. Be careful with it if you don't want your room flooded.
BattlerPlayerX = 1
BattlerShadowSize = 2
#-------------------------------
[ROTOM,3]
FormName = Frost Rotom
@@ -1273,10 +1239,6 @@ Type2 = ICE
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = Rotom assumes this form when it takes over a refrigerator powered by a special motor. It battles by spewing cold air.
BattlerPlayerX = 0
BattlerEnemyX = 1
BattlerEnemyY = -4
BattlerShadowSize = 2
#-------------------------------
[ROTOM,4]
FormName = Fan Rotom
@@ -1285,10 +1247,6 @@ Type2 = FLYING
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = In this form, Rotom applies its new power over wind to its love of pranks. It will happily blow away any important documents it can find.
BattlerPlayerX = -4
BattlerEnemyX = -2
BattlerEnemyY = 2
BattlerShadowSize = 2
#-------------------------------
[ROTOM,5]
FormName = Mow Rotom
@@ -1297,9 +1255,6 @@ Type2 = GRASS
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = This is Rotom after it's seized control of a lawn mower that has a special motor. As it mows down grass, it scatters the clippings everywhere.
BattlerPlayerX = 1
BattlerEnemyY = 0
BattlerShadowSize = 2
#-------------------------------
[GIRATINA,1]
FormName = Origin Forme
@@ -1310,8 +1265,6 @@ TutorMoves = AERIALACE,AQUATAIL,BRUTALSWING,BULLDOZE,CALMMIND,CHARGEBEAM,CONFIDE
Height = 6.9
Weight = 650.0
Shape = Serpentine
BattlerEnemyX = -2
BattlerEnemyY = -8
#-------------------------------
[SHAYMIN,1]
FormName = Sky Forme
@@ -1324,8 +1277,6 @@ Moves = 1,GROWTH,10,MAGICALLEAF,19,LEECHSEED,28,QUICKATTACK,37,SWEETSCENT,46,NAT
TutorMoves = CONFIDE,COVET,DAZZLINGGLEAM,DOUBLETEAM,ENERGYBALL,FACADE,FRUSTRATION,GIGADRAIN,GIGAIMPACT,GRASSKNOT,HIDDENPOWER,HYPERBEAM,LASERFOCUS,LASTRESORT,NATUREPOWER,PROTECT,PSYCHIC,PSYCHUP,REST,RETURN,ROUND,SAFEGUARD,SEEDBOMB,SLEEPTALK,SNORE,SOLARBEAM,SUBSTITUTE,SUNNYDAY,SWAGGER,SWORDSDANCE,SYNTHESIS,TAILWIND,TOXIC,WORRYSEED,ZENHEADBUTT
Height = 0.4
Weight = 5.2
BattlerEnemyY = 16
BattlerShadowSize = 2
#-------------------------------
[ARCEUS,1]
FormName = Fighting Type
@@ -1420,7 +1371,6 @@ FormName = Blue-Striped
Abilities = ROCKHEAD,ADAPTABILITY
Pokedex = Even Basculin, which devours everything it can with its huge jaws, is nothing more than food to organisms stronger than itself.
WildItemUncommon = DEEPSEASCALE
Flags = InheritFormFromMother
#-------------------------------
[DARUMAKA,2]
FormName = Galarian
@@ -1445,9 +1395,6 @@ BaseExp = 189
EVs = 0,0,0,0,2,0
Color = Blue
Pokedex = When wounded, it stops moving. It goes as still as stone to meditate, sharpening its mind and spirit.
BattlerPlayerX = 1
BattlerEnemyY = 30
BattlerShadowSize = 2
#-------------------------------
[DARMANITAN,2]
FormName = Galarian Standard Mode
@@ -1538,9 +1485,6 @@ Abilities = REGENERATOR
HiddenAbilities = REGENERATOR
Height = 1.4
Shape = Winged
BattlerPlayerX = -2
BattlerEnemyX = 8
BattlerEnemyY = 11
#-------------------------------
[THUNDURUS,1]
FormName = Therian Forme
@@ -1551,9 +1495,6 @@ HiddenAbilities = VOLTABSORB
TutorMoves = ATTRACT,BRICKBREAK,BRUTALSWING,BULKUP,CHARGEBEAM,CONFIDE,DARKPULSE,DEFOG,DOUBLETEAM,ELECTROWEB,EMBARGO,FACADE,FLASHCANNON,FLING,FLY,FOCUSBLAST,FOULPLAY,FRUSTRATION,GIGAIMPACT,GRASSKNOT,HIDDENPOWER,HYPERBEAM,IRONTAIL,KNOCKOFF,PAYBACK,PROTECT,PSYCHIC,RAINDANCE,REST,RETURN,ROCKSMASH,ROLEPLAY,ROUND,SHOCKWAVE,SKYDROP,SLEEPTALK,SLUDGEBOMB,SLUDGEWAVE,SMACKDOWN,SNORE,STRENGTH,SUBSTITUTE,SUPERPOWER,SWAGGER,TAUNT,THIEF,THUNDER,THUNDERBOLT,THUNDERPUNCH,THUNDERWAVE,TORMENT,TOXIC,UPROAR,UTURN,VOLTSWITCH,WILDCHARGE
Height = 3.0
Shape = BipedalTail
BattlerPlayerX = -3
BattlerEnemyX = 2
BattlerEnemyY = 5
#-------------------------------
[LANDORUS,1]
FormName = Therian Forme
@@ -1563,9 +1504,6 @@ Abilities = INTIMIDATE
HiddenAbilities = INTIMIDATE
Height = 1.3
Shape = Quadruped
BattlerPlayerX = -8
BattlerEnemyX = 3
BattlerEnemyY = 14
#-------------------------------
[KYUREM,1]
FormName = White Kyurem
@@ -1576,9 +1514,6 @@ Abilities = TURBOBLAZE
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONFLARE,50,ICEBURN,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.6
Pokedex = It has foreseen that a world of truth will arrive for people and Pokémon. It strives to protect that future.
BattlerPlayerX = 0
BattlerEnemyX = 9
BattlerEnemyY = 7
#-------------------------------
[KYUREM,2]
FormName = Black Kyurem
@@ -1589,8 +1524,6 @@ Abilities = TERAVOLT
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONBOLT,50,FREEZESHOCK,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.3
Pokedex = It's said that this Pokémon battles in order to protect the ideal world that will exist in the future for people and Pokémon.
BattlerEnemyX = 5
BattlerEnemyY = 4
#-------------------------------
[KYUREM,3]
PokedexForm = 1
@@ -1600,9 +1533,6 @@ EVs = 0,0,0,0,3,0
Abilities = TURBOBLAZE
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONFLARE,50,ICEBURN,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.6
BattlerPlayerX = 0
BattlerEnemyX = 9
BattlerEnemyY = 7
#-------------------------------
[KYUREM,4]
PokedexForm = 2
@@ -1612,16 +1542,11 @@ EVs = 0,3,0,0,0,0
Abilities = TERAVOLT
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONBOLT,50,FREEZESHOCK,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.3
BattlerEnemyX = 5
BattlerEnemyY = 4
#-------------------------------
[KELDEO,1]
FormName = Resolute Form
TutorMoves = AERIALACE,AQUATAIL,BOUNCE,CALMMIND,CONFIDE,COVET,CUT,DOUBLETEAM,ENDEAVOR,FACADE,FALSESWIPE,FOCUSBLAST,FRUSTRATION,GIGAIMPACT,HAIL,HELPINGHAND,HIDDENPOWER,HYPERBEAM,ICYWIND,LASTRESORT,LIQUIDATION,LOWKICK,POISONJAB,PROTECT,PSYCHUP,RAINDANCE,REFLECT,REST,RETURN,ROAR,ROCKSMASH,ROUND,SAFEGUARD,SCALD,SLEEPTALK,SNORE,STONEEDGE,STRENGTH,SUBSTITUTE,SUPERPOWER,SURF,SWAGGER,SWORDSDANCE,TAUNT,TOXIC,WATERPULSE,WORKUP,XSCISSOR
Pokedex = The power that lay hidden in its body now covers its horn, turning it into a sword that can slice through anything.
BattlerPlayerX = 1
BattlerEnemyX = 0
BattlerEnemyY = 19
#-------------------------------
[MELOETTA,1]
FormName = Pirouette Forme
@@ -1629,8 +1554,6 @@ Type1 = NORMAL
Type2 = FIGHTING
BaseStats = 100,128,90,128,77,77
EVs = 0,1,1,1,0,0
BattlerEnemyX = 1
BattlerEnemyY = 15
#-------------------------------
[GENESECT,1]
FormName = Shock Drive
@@ -1716,35 +1639,27 @@ FormName = Poké Ball Pattern
#-------------------------------
[FLABEBE,1]
FormName = Yellow Flower
Flags = InheritFormFromMother
#-------------------------------
[FLABEBE,2]
FormName = Orange Flower
Flags = InheritFormFromMother
#-------------------------------
[FLABEBE,3]
FormName = Blue Flower
Flags = InheritFormFromMother
#-------------------------------
[FLABEBE,4]
FormName = White Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,1]
FormName = Yellow Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,2]
FormName = Orange Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,3]
FormName = Blue Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,4]
FormName = White Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,5]
FormName = Eternal Flower
@@ -1757,19 +1672,15 @@ Evolutions = FLORGES,None,
#-------------------------------
[FLORGES,1]
FormName = Yellow Flower
Flags = InheritFormFromMother
#-------------------------------
[FLORGES,2]
FormName = Orange Flower
Flags = InheritFormFromMother
#-------------------------------
[FLORGES,3]
FormName = Blue Flower
Flags = InheritFormFromMother
#-------------------------------
[FLORGES,4]
FormName = White Flower
Flags = InheritFormFromMother
#-------------------------------
[FURFROU,1]
FormName = Heart Trim
@@ -1818,7 +1729,6 @@ HiddenAbilities = INSOMNIA
Height = 0.4
Weight = 5.0
Pokedex = Spirits that wander this world are placed into Pumpkaboo's body. They're then moved on to the afterlife.
Flags = InheritFormFromMother
#-------------------------------
[PUMPKABOO,2]
FormName = Large Size
@@ -1826,7 +1736,6 @@ BaseStats = 54,66,70,46,44,55
Height = 0.5
Weight = 7.5
Pokedex = When taking spirits to the afterlife, large Pumpkaboo prefer the spirits of adults to those of children.
Flags = InheritFormFromMother
#-------------------------------
[PUMPKABOO,3]
FormName = Super Size
@@ -1838,7 +1747,6 @@ Pokedex = Massive Pumpkaboo are said to be the product of areas where a great nu
WildItemCommon = MIRACLESEED
WildItemUncommon = MIRACLESEED
WildItemRare = MIRACLESEED
Flags = InheritFormFromMother
#-------------------------------
[GOURGEIST,1]
FormName = Average Size
@@ -1847,7 +1755,6 @@ HiddenAbilities = INSOMNIA
Height = 0.9
Weight = 12.5
Pokedex = Eerie cries emanate from its body in the dead of night. The sounds are said to be the wails of spirits who are suffering in the afterlife.
Flags = InheritFormFromMother
#-------------------------------
[GOURGEIST,2]
FormName = Large Size
@@ -1855,7 +1762,6 @@ BaseStats = 75,95,122,69,58,75
Height = 1.1
Weight = 14.0
Pokedex = Large Gourgeist put on the guise of adults, taking the hands of children to lead them to the afterlife.
Flags = InheritFormFromMother
#-------------------------------
[GOURGEIST,3]
FormName = Super Size
@@ -1867,7 +1773,6 @@ Pokedex = Supersized Gourgeist aren't picky. They will forcefully drag anyone of
WildItemCommon = MIRACLESEED
WildItemUncommon = MIRACLESEED
WildItemRare = MIRACLESEED
Flags = InheritFormFromMother
#-------------------------------
[XERNEAS,1]
FormName = Active Mode
@@ -1934,7 +1839,6 @@ Type1 = ELECTRIC
Type2 = FLYING
Color = Yellow
Pokedex = It creates an electric charge by rubbing its feathers together. It dances over to its enemies and delivers shocking electrical punches.
Flags = InheritFormFromMother
#-------------------------------
[ORICORIO,2]
FormName = Pa'u Style
@@ -1942,7 +1846,6 @@ Type1 = PSYCHIC
Type2 = FLYING
Color = Pink
Pokedex = This Oricorio relaxes by swaying gently. This increases its psychic energy, which it then fires at its enemies.
Flags = InheritFormFromMother
#-------------------------------
[ORICORIO,3]
FormName = Sensu Style
@@ -1950,7 +1853,6 @@ Type1 = GHOST
Type2 = FLYING
Color = Purple
Pokedex = It summons the dead with its dreamy dancing. From their malice, it draws power with which to curse its enemies.
Flags = InheritFormFromMother
#-------------------------------
[ROCKRUFF,2]
Abilities = OWNTEMPO

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -629,7 +629,6 @@ Generation = 6
[PICHU,2]
FormName = Spiky-Eared
Generation = 4
BattlerEnemyX = 3
Evolutions = PIKACHU,None,
#-------------------------------
[AMPHAROS,1]
@@ -973,25 +972,18 @@ FormName = Sunny Form
Type1 = FIRE
Color = Red
Pokedex = This is the form Castform takes on the brightest of days. Its skin is unexpectedly hot to the touch, so approach with care.
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[CASTFORM,2]
FormName = Rainy Form
Type1 = WATER
Color = Blue
Pokedex = This is the form Castform takes when soaked with rain. When its body is compressed, water will seep out as if from a sponge.
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[CASTFORM,3]
FormName = Snowy Form
Type1 = ICE
Color = White
Pokedex = This is the form Castform takes when covered in snow. Its body becomes an ice-like material, with a temperature near -5 degrees Celsius.
BattlerPlayerX = -1
BattlerEnemyX = 0
BattlerShadowSize = 2
#-------------------------------
[BANETTE,1]
FormName = Mega Banette
@@ -1110,10 +1102,6 @@ BaseStats = 50,180,20,150,180,20
EVs = 0,2,0,0,1,0
Moves = 1,LEER,1,WRAP,7,NIGHTSHADE,13,TELEPORT,19,TAUNT,25,PURSUIT,31,PSYCHIC,37,SUPERPOWER,43,PSYCHOSHIFT,49,ZENHEADBUTT,55,COSMICPOWER,61,ZAPCANNON,67,PSYCHOBOOST,73,HYPERBEAM
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,BRUTALSWING,CALMMIND,CHARGEBEAM,CONFIDE,DARKPULSE,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FLASHCANNON,FLING,FOCUSBLAST,FOCUSPUNCH,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HIDDENPOWER,HYPERBEAM,ICEBEAM,LASERFOCUS,LIGHTSCREEN,LOWKICK,LOWSWEEP,MAGICCOAT,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SHOCKWAVE,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STOMPINGTANTRUM,SUBSTITUTE,SUNNYDAY,SUPERPOWER,SWAGGER,TAUNT,TELEKINESIS,THROATCHOP,THUNDER,THUNDERBOLT,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WATERPULSE,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = 4
BattlerEnemyX = 1
BattlerEnemyY = 5
BattlerShadowSize = 3
#-------------------------------
[DEOXYS,2]
FormName = Defense Forme
@@ -1121,10 +1109,6 @@ BaseStats = 50,70,160,90,70,160
EVs = 0,0,2,0,0,1
Moves = 1,LEER,1,WRAP,7,NIGHTSHADE,13,TELEPORT,19,KNOCKOFF,25,SPIKES,31,PSYCHIC,37,SNATCH,43,PSYCHOSHIFT,49,ZENHEADBUTT,55,IRONDEFENSE,55,AMNESIA,61,RECOVER,67,PSYCHOBOOST,73,COUNTER,73,MIRRORCOAT
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,BRUTALSWING,CALMMIND,CHARGEBEAM,CONFIDE,DARKPULSE,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FLASHCANNON,FLING,FOCUSBLAST,FOCUSPUNCH,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HIDDENPOWER,HYPERBEAM,ICEBEAM,IRONDEFENSE,KNOCKOFF,LASERFOCUS,LIGHTSCREEN,LOWKICK,LOWSWEEP,MAGICCOAT,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SHOCKWAVE,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STOMPINGTANTRUM,SUBSTITUTE,SUNNYDAY,SWAGGER,TAUNT,TELEKINESIS,THROATCHOP,THUNDER,THUNDERBOLT,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WATERPULSE,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = 3
BattlerEnemyX = -2
BattlerEnemyY = 6
BattlerShadowSize = 3
#-------------------------------
[DEOXYS,3]
FormName = Speed Forme
@@ -1132,20 +1116,14 @@ BaseStats = 50,95,90,180,95,90
EVs = 0,0,0,3,0,0
Moves = 1,LEER,1,WRAP,7,NIGHTSHADE,13,DOUBLETEAM,19,KNOCKOFF,25,PURSUIT,31,PSYCHIC,37,SWIFT,43,PSYCHOSHIFT,49,ZENHEADBUTT,55,AGILITY,61,RECOVER,67,PSYCHOBOOST,73,EXTREMESPEED
TutorMoves = AERIALACE,ALLYSWITCH,BIND,BRICKBREAK,BRUTALSWING,CALMMIND,CHARGEBEAM,CONFIDE,DARKPULSE,DOUBLETEAM,DRAINPUNCH,DREAMEATER,ENERGYBALL,FACADE,FIREPUNCH,FLASHCANNON,FLING,FOCUSBLAST,FOCUSPUNCH,FRUSTRATION,GIGAIMPACT,GRASSKNOT,GRAVITY,HIDDENPOWER,HYPERBEAM,ICEBEAM,ICEPUNCH,KNOCKOFF,LASERFOCUS,LIGHTSCREEN,LOWKICK,LOWSWEEP,MAGICCOAT,POISONJAB,PROTECT,PSYCHIC,PSYCHUP,PSYSHOCK,RAINDANCE,RECYCLE,REFLECT,REST,RETURN,ROCKSLIDE,ROCKTOMB,ROLEPLAY,ROUND,SAFEGUARD,SHADOWBALL,SHOCKWAVE,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNATCH,SNORE,SOLARBEAM,STEALTHROCK,STOMPINGTANTRUM,SUBSTITUTE,SUNNYDAY,SWAGGER,TAUNT,TELEKINESIS,THROATCHOP,THUNDER,THUNDERBOLT,THUNDERPUNCH,THUNDERWAVE,TORMENT,TOXIC,TRICK,TRICKROOM,WATERPULSE,WONDERROOM,ZENHEADBUTT
BattlerPlayerX = -4
BattlerEnemyX = -4
BattlerEnemyY = 4
BattlerShadowSize = 3
#-------------------------------
[BURMY,1]
FormName = Sandy Cloak
Color = Brown
Flags = InheritFormFromMother
#-------------------------------
[BURMY,2]
FormName = Trash Cloak
Color = Red
Flags = InheritFormFromMother
#-------------------------------
[WORMADAM,1]
FormName = Sandy Cloak
@@ -1156,7 +1134,6 @@ EVs = 0,0,2,0,0,0
Moves = 0,QUIVERDANCE,1,QUIVERDANCE,1,SUCKERPUNCH,1,TACKLE,1,PROTECT,1,BUGBITE,10,PROTECT,15,BUGBITE,20,HIDDENPOWER,23,CONFUSION,26,ROCKBLAST,29,HARDEN,32,PSYBEAM,35,CAPTIVATE,38,FLAIL,41,ATTRACT,44,PSYCHIC,47,FISSURE,50,BUGBUZZ
TutorMoves = ALLYSWITCH,ATTRACT,BUGBITE,BULLDOZE,CONFIDE,DOUBLETEAM,DREAMEATER,EARTHPOWER,EARTHQUAKE,ELECTROWEB,ENDEAVOR,FACADE,FRUSTRATION,GIGAIMPACT,HIDDENPOWER,HYPERBEAM,INFESTATION,PROTECT,PSYCHIC,PSYCHUP,RAINDANCE,REST,RETURN,ROCKTOMB,ROUND,SAFEGUARD,SANDSTORM,SHADOWBALL,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNORE,STEALTHROCK,SUBSTITUTE,SUNNYDAY,SWAGGER,TELEKINESIS,THIEF,TOXIC,UPROAR,VENOSHOCK
Color = Brown
Flags = InheritFormFromMother
#-------------------------------
[WORMADAM,2]
FormName = Trash Cloak
@@ -1167,27 +1144,21 @@ EVs = 0,0,1,0,0,1
Moves = 0,QUIVERDANCE,1,QUIVERDANCE,1,METALBURST,1,SUCKERPUNCH,1,TACKLE,1,PROTECT,1,BUGBITE,10,PROTECT,15,BUGBITE,20,HIDDENPOWER,23,CONFUSION,26,MIRRORSHOT,29,METALSOUND,32,PSYBEAM,35,CAPTIVATE,38,FLAIL,41,ATTRACT,44,PSYCHIC,47,IRONHEAD,50,BUGBUZZ
TutorMoves = ALLYSWITCH,ATTRACT,BUGBITE,CONFIDE,DOUBLETEAM,DREAMEATER,ELECTROWEB,ENDEAVOR,FACADE,FLASHCANNON,FRUSTRATION,GIGAIMPACT,GUNKSHOT,GYROBALL,HIDDENPOWER,HYPERBEAM,INFESTATION,IRONDEFENSE,IRONHEAD,MAGNETRISE,PROTECT,PSYCHIC,PSYCHUP,RAINDANCE,REST,RETURN,ROUND,SAFEGUARD,SHADOWBALL,SIGNALBEAM,SKILLSWAP,SLEEPTALK,SNORE,STEALTHROCK,SUBSTITUTE,SUNNYDAY,SWAGGER,TELEKINESIS,THIEF,TOXIC,UPROAR,VENOSHOCK
Color = Red
Flags = InheritFormFromMother
#-------------------------------
[CHERRIM,1]
FormName = Sunshine Form
Color = Pink
Pokedex = After absorbing plenty of sunlight, Cherrim takes this form. It's full of energy while it's like this, and its liveliness will go on until sundown.
BattlerPlayerX = 2
BattlerEnemyX = 2
BattlerEnemyY = 21
#-------------------------------
[SHELLOS,1]
FormName = East Sea
Color = Blue
Pokedex = Its appearance changes depending on the environment. One theory suggests that living in cold seas causes Shellos to take on this form.
Flags = InheritFormFromMother
#-------------------------------
[GASTRODON,1]
FormName = East Sea
Color = Blue
Pokedex = Its body is covered in a sticky slime. It's very susceptible to dehydration, so it can't spend too much time on land.
Flags = InheritFormFromMother
#-------------------------------
[LOPUNNY,1]
FormName = Mega Lopunny
@@ -1252,9 +1223,6 @@ Type2 = FIRE
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = This Rotom has possessed a convection microwave oven that uses a special motor. It also has a flair for manipulating flames.
BattlerEnemyX = 2
BattlerEnemyY = 1
BattlerShadowSize = 2
#-------------------------------
[ROTOM,2]
FormName = Wash Rotom
@@ -1263,8 +1231,6 @@ Type2 = WATER
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = This form of Rotom enjoys coming up with water-based pranks. Be careful with it if you don't want your room flooded.
BattlerPlayerX = 1
BattlerShadowSize = 2
#-------------------------------
[ROTOM,3]
FormName = Frost Rotom
@@ -1273,10 +1239,6 @@ Type2 = ICE
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = Rotom assumes this form when it takes over a refrigerator powered by a special motor. It battles by spewing cold air.
BattlerPlayerX = 0
BattlerEnemyX = 1
BattlerEnemyY = -4
BattlerShadowSize = 2
#-------------------------------
[ROTOM,4]
FormName = Fan Rotom
@@ -1285,10 +1247,6 @@ Type2 = FLYING
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = In this form, Rotom applies its new power over wind to its love of pranks. It will happily blow away any important documents it can find.
BattlerPlayerX = -4
BattlerEnemyX = -2
BattlerEnemyY = 2
BattlerShadowSize = 2
#-------------------------------
[ROTOM,5]
FormName = Mow Rotom
@@ -1297,9 +1255,6 @@ Type2 = GRASS
BaseStats = 50,65,107,86,105,107
BaseExp = 182
Pokedex = This is Rotom after it's seized control of a lawn mower that has a special motor. As it mows down grass, it scatters the clippings everywhere.
BattlerPlayerX = 1
BattlerEnemyY = 0
BattlerShadowSize = 2
#-------------------------------
[GIRATINA,1]
FormName = Origin Forme
@@ -1310,8 +1265,6 @@ TutorMoves = AERIALACE,AQUATAIL,BRUTALSWING,BULLDOZE,CALMMIND,CHARGEBEAM,CONFIDE
Height = 6.9
Weight = 650.0
Shape = Serpentine
BattlerEnemyX = -2
BattlerEnemyY = -8
#-------------------------------
[SHAYMIN,1]
FormName = Sky Forme
@@ -1324,8 +1277,6 @@ Moves = 1,GROWTH,10,MAGICALLEAF,19,LEECHSEED,28,QUICKATTACK,37,SWEETSCENT,46,NAT
TutorMoves = CONFIDE,COVET,DAZZLINGGLEAM,DOUBLETEAM,ENERGYBALL,FACADE,FRUSTRATION,GIGADRAIN,GIGAIMPACT,GRASSKNOT,HIDDENPOWER,HYPERBEAM,LASERFOCUS,LASTRESORT,NATUREPOWER,PROTECT,PSYCHIC,PSYCHUP,REST,RETURN,ROUND,SAFEGUARD,SEEDBOMB,SLEEPTALK,SNORE,SOLARBEAM,SUBSTITUTE,SUNNYDAY,SWAGGER,SWORDSDANCE,SYNTHESIS,TAILWIND,TOXIC,WORRYSEED,ZENHEADBUTT
Height = 0.4
Weight = 5.2
BattlerEnemyY = 16
BattlerShadowSize = 2
#-------------------------------
[ARCEUS,1]
FormName = Fighting Type
@@ -1420,7 +1371,6 @@ FormName = Blue-Striped
Abilities = ROCKHEAD,ADAPTABILITY
Pokedex = Even Basculin, which devours everything it can with its huge jaws, is nothing more than food to organisms stronger than itself.
WildItemUncommon = DEEPSEASCALE
Flags = InheritFormFromMother
#-------------------------------
[DARUMAKA,2]
FormName = Galarian
@@ -1445,9 +1395,6 @@ BaseExp = 189
EVs = 0,0,0,0,2,0
Color = Blue
Pokedex = When wounded, it stops moving. It goes as still as stone to meditate, sharpening its mind and spirit.
BattlerPlayerX = 1
BattlerEnemyY = 30
BattlerShadowSize = 2
#-------------------------------
[DARMANITAN,2]
FormName = Galarian Standard Mode
@@ -1538,9 +1485,6 @@ Abilities = REGENERATOR
HiddenAbilities = REGENERATOR
Height = 1.4
Shape = Winged
BattlerPlayerX = -2
BattlerEnemyX = 8
BattlerEnemyY = 11
#-------------------------------
[THUNDURUS,1]
FormName = Therian Forme
@@ -1551,9 +1495,6 @@ HiddenAbilities = VOLTABSORB
TutorMoves = ATTRACT,BRICKBREAK,BRUTALSWING,BULKUP,CHARGEBEAM,CONFIDE,DARKPULSE,DEFOG,DOUBLETEAM,ELECTROWEB,EMBARGO,FACADE,FLASHCANNON,FLING,FLY,FOCUSBLAST,FOULPLAY,FRUSTRATION,GIGAIMPACT,GRASSKNOT,HIDDENPOWER,HYPERBEAM,IRONTAIL,KNOCKOFF,PAYBACK,PROTECT,PSYCHIC,RAINDANCE,REST,RETURN,ROCKSMASH,ROLEPLAY,ROUND,SHOCKWAVE,SKYDROP,SLEEPTALK,SLUDGEBOMB,SLUDGEWAVE,SMACKDOWN,SNORE,STRENGTH,SUBSTITUTE,SUPERPOWER,SWAGGER,TAUNT,THIEF,THUNDER,THUNDERBOLT,THUNDERPUNCH,THUNDERWAVE,TORMENT,TOXIC,UPROAR,UTURN,VOLTSWITCH,WILDCHARGE
Height = 3.0
Shape = BipedalTail
BattlerPlayerX = -3
BattlerEnemyX = 2
BattlerEnemyY = 5
#-------------------------------
[LANDORUS,1]
FormName = Therian Forme
@@ -1563,9 +1504,6 @@ Abilities = INTIMIDATE
HiddenAbilities = INTIMIDATE
Height = 1.3
Shape = Quadruped
BattlerPlayerX = -8
BattlerEnemyX = 3
BattlerEnemyY = 14
#-------------------------------
[KYUREM,1]
FormName = White Kyurem
@@ -1576,9 +1514,6 @@ Abilities = TURBOBLAZE
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONFLARE,50,ICEBURN,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.6
Pokedex = It has foreseen that a world of truth will arrive for people and Pokémon. It strives to protect that future.
BattlerPlayerX = 0
BattlerEnemyX = 9
BattlerEnemyY = 7
#-------------------------------
[KYUREM,2]
FormName = Black Kyurem
@@ -1589,8 +1524,6 @@ Abilities = TERAVOLT
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONBOLT,50,FREEZESHOCK,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.3
Pokedex = It's said that this Pokémon battles in order to protect the ideal world that will exist in the future for people and Pokémon.
BattlerEnemyX = 5
BattlerEnemyY = 4
#-------------------------------
[KYUREM,3]
PokedexForm = 1
@@ -1600,9 +1533,6 @@ EVs = 0,0,0,0,3,0
Abilities = TURBOBLAZE
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONFLARE,50,ICEBURN,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.6
BattlerPlayerX = 0
BattlerEnemyX = 9
BattlerEnemyY = 7
#-------------------------------
[KYUREM,4]
PokedexForm = 2
@@ -1612,16 +1542,11 @@ EVs = 0,3,0,0,0,0
Abilities = TERAVOLT
Moves = 1,ICYWIND,1,DRAGONRAGE,8,IMPRISON,15,ANCIENTPOWER,22,ICEBEAM,29,DRAGONBREATH,36,SLASH,43,FUSIONBOLT,50,FREEZESHOCK,57,DRAGONPULSE,64,NOBLEROAR,71,ENDEAVOR,78,BLIZZARD,85,OUTRAGE,92,HYPERVOICE
Height = 3.3
BattlerEnemyX = 5
BattlerEnemyY = 4
#-------------------------------
[KELDEO,1]
FormName = Resolute Form
TutorMoves = AERIALACE,AQUATAIL,BOUNCE,CALMMIND,CONFIDE,COVET,CUT,DOUBLETEAM,ENDEAVOR,FACADE,FALSESWIPE,FOCUSBLAST,FRUSTRATION,GIGAIMPACT,HAIL,HELPINGHAND,HIDDENPOWER,HYPERBEAM,ICYWIND,LASTRESORT,LIQUIDATION,LOWKICK,POISONJAB,PROTECT,PSYCHUP,RAINDANCE,REFLECT,REST,RETURN,ROAR,ROCKSMASH,ROUND,SAFEGUARD,SCALD,SLEEPTALK,SNORE,STONEEDGE,STRENGTH,SUBSTITUTE,SUPERPOWER,SURF,SWAGGER,SWORDSDANCE,TAUNT,TOXIC,WATERPULSE,WORKUP,XSCISSOR
Pokedex = The power that lay hidden in its body now covers its horn, turning it into a sword that can slice through anything.
BattlerPlayerX = 1
BattlerEnemyX = 0
BattlerEnemyY = 19
#-------------------------------
[MELOETTA,1]
FormName = Pirouette Forme
@@ -1629,8 +1554,6 @@ Type1 = NORMAL
Type2 = FIGHTING
BaseStats = 100,128,90,128,77,77
EVs = 0,1,1,1,0,0
BattlerEnemyX = 1
BattlerEnemyY = 15
#-------------------------------
[GENESECT,1]
FormName = Shock Drive
@@ -1716,35 +1639,27 @@ FormName = Poké Ball Pattern
#-------------------------------
[FLABEBE,1]
FormName = Yellow Flower
Flags = InheritFormFromMother
#-------------------------------
[FLABEBE,2]
FormName = Orange Flower
Flags = InheritFormFromMother
#-------------------------------
[FLABEBE,3]
FormName = Blue Flower
Flags = InheritFormFromMother
#-------------------------------
[FLABEBE,4]
FormName = White Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,1]
FormName = Yellow Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,2]
FormName = Orange Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,3]
FormName = Blue Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,4]
FormName = White Flower
Flags = InheritFormFromMother
#-------------------------------
[FLOETTE,5]
FormName = Eternal Flower
@@ -1757,19 +1672,15 @@ Evolutions = FLORGES,None,
#-------------------------------
[FLORGES,1]
FormName = Yellow Flower
Flags = InheritFormFromMother
#-------------------------------
[FLORGES,2]
FormName = Orange Flower
Flags = InheritFormFromMother
#-------------------------------
[FLORGES,3]
FormName = Blue Flower
Flags = InheritFormFromMother
#-------------------------------
[FLORGES,4]
FormName = White Flower
Flags = InheritFormFromMother
#-------------------------------
[FURFROU,1]
FormName = Heart Trim
@@ -1818,7 +1729,6 @@ HiddenAbilities = INSOMNIA
Height = 0.4
Weight = 5.0
Pokedex = Spirits that wander this world are placed into Pumpkaboo's body. They're then moved on to the afterlife.
Flags = InheritFormFromMother
#-------------------------------
[PUMPKABOO,2]
FormName = Large Size
@@ -1826,7 +1736,6 @@ BaseStats = 54,66,70,46,44,55
Height = 0.5
Weight = 7.5
Pokedex = When taking spirits to the afterlife, large Pumpkaboo prefer the spirits of adults to those of children.
Flags = InheritFormFromMother
#-------------------------------
[PUMPKABOO,3]
FormName = Super Size
@@ -1838,7 +1747,6 @@ Pokedex = Massive Pumpkaboo are said to be the product of areas where a great nu
WildItemCommon = MIRACLESEED
WildItemUncommon = MIRACLESEED
WildItemRare = MIRACLESEED
Flags = InheritFormFromMother
#-------------------------------
[GOURGEIST,1]
FormName = Average Size
@@ -1847,7 +1755,6 @@ HiddenAbilities = INSOMNIA
Height = 0.9
Weight = 12.5
Pokedex = Eerie cries emanate from its body in the dead of night. The sounds are said to be the wails of spirits who are suffering in the afterlife.
Flags = InheritFormFromMother
#-------------------------------
[GOURGEIST,2]
FormName = Large Size
@@ -1855,7 +1762,6 @@ BaseStats = 75,95,122,69,58,75
Height = 1.1
Weight = 14.0
Pokedex = Large Gourgeist put on the guise of adults, taking the hands of children to lead them to the afterlife.
Flags = InheritFormFromMother
#-------------------------------
[GOURGEIST,3]
FormName = Super Size
@@ -1867,7 +1773,6 @@ Pokedex = Supersized Gourgeist aren't picky. They will forcefully drag anyone of
WildItemCommon = MIRACLESEED
WildItemUncommon = MIRACLESEED
WildItemRare = MIRACLESEED
Flags = InheritFormFromMother
#-------------------------------
[XERNEAS,1]
FormName = Active Mode
@@ -1934,7 +1839,6 @@ Type1 = ELECTRIC
Type2 = FLYING
Color = Yellow
Pokedex = It creates an electric charge by rubbing its feathers together. It dances over to its enemies and delivers shocking electrical punches.
Flags = InheritFormFromMother
#-------------------------------
[ORICORIO,2]
FormName = Pa'u Style
@@ -1942,7 +1846,6 @@ Type1 = PSYCHIC
Type2 = FLYING
Color = Pink
Pokedex = This Oricorio relaxes by swaying gently. This increases its psychic energy, which it then fires at its enemies.
Flags = InheritFormFromMother
#-------------------------------
[ORICORIO,3]
FormName = Sensu Style
@@ -1950,7 +1853,6 @@ Type1 = GHOST
Type2 = FLYING
Color = Purple
Pokedex = It summons the dead with its dreamy dancing. From their malice, it draws power with which to curse its enemies.
Flags = InheritFormFromMother
#-------------------------------
[ROCKRUFF,2]
Abilities = OWNTEMPO

4045
PBS/pokemon_metrics.txt Normal file

File diff suppressed because it is too large Load Diff