mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-08 13:44:59 +00:00
Converted Shadow Pokémon PBS file to a section-based format, improved Shadow Pokémon mechanics
This commit is contained in:
@@ -231,6 +231,7 @@ module GameData
|
|||||||
BerryPlant.load
|
BerryPlant.load
|
||||||
Species.load
|
Species.load
|
||||||
SpeciesMetrics.load
|
SpeciesMetrics.load
|
||||||
|
ShadowPokemon.load
|
||||||
Ribbon.load
|
Ribbon.load
|
||||||
Encounter.load
|
Encounter.load
|
||||||
TrainerType.load
|
TrainerType.load
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
class Game_Temp
|
class Game_Temp
|
||||||
attr_accessor :town_map_data
|
attr_accessor :town_map_data
|
||||||
attr_accessor :phone_messages_data
|
attr_accessor :phone_messages_data
|
||||||
attr_accessor :shadow_movesets_data
|
|
||||||
attr_accessor :regional_dexes_data
|
attr_accessor :regional_dexes_data
|
||||||
attr_accessor :battle_animations_data
|
attr_accessor :battle_animations_data
|
||||||
attr_accessor :move_to_battle_animation_data
|
attr_accessor :move_to_battle_animation_data
|
||||||
@@ -15,7 +14,6 @@ def pbClearData
|
|||||||
if $game_temp
|
if $game_temp
|
||||||
$game_temp.town_map_data = nil
|
$game_temp.town_map_data = nil
|
||||||
$game_temp.phone_messages_data = nil
|
$game_temp.phone_messages_data = nil
|
||||||
$game_temp.shadow_movesets_data = nil
|
|
||||||
$game_temp.regional_dexes_data = nil
|
$game_temp.regional_dexes_data = nil
|
||||||
$game_temp.battle_animations_data = nil
|
$game_temp.battle_animations_data = nil
|
||||||
$game_temp.move_to_battle_animation_data = nil
|
$game_temp.move_to_battle_animation_data = nil
|
||||||
@@ -52,17 +50,6 @@ def pbLoadPhoneData
|
|||||||
return $game_temp.phone_messages_data
|
return $game_temp.phone_messages_data
|
||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
|
||||||
# Method to get Shadow Pokémon moveset data.
|
|
||||||
#===============================================================================
|
|
||||||
def pbLoadShadowMovesets
|
|
||||||
$game_temp = Game_Temp.new if !$game_temp
|
|
||||||
if !$game_temp.shadow_movesets_data
|
|
||||||
$game_temp.shadow_movesets_data = load_data("Data/shadow_movesets.dat") || []
|
|
||||||
end
|
|
||||||
return $game_temp.shadow_movesets_data
|
|
||||||
end
|
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Method to get Regional Dexes data.
|
# Method to get Regional Dexes data.
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|||||||
32
Data/Scripts/010_Data/002_PBS data/011_ShadowPokemon.rb
Normal file
32
Data/Scripts/010_Data/002_PBS data/011_ShadowPokemon.rb
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
module GameData
|
||||||
|
class ShadowPokemon
|
||||||
|
attr_reader :id
|
||||||
|
attr_reader :moves
|
||||||
|
attr_reader :gauge_size
|
||||||
|
attr_reader :flags
|
||||||
|
|
||||||
|
DATA = {}
|
||||||
|
DATA_FILENAME = "shadow_pokemon.dat"
|
||||||
|
|
||||||
|
SCHEMA = {
|
||||||
|
"GaugeSize" => [:gauge_size, "v"],
|
||||||
|
"Moves" => [:moves, "*s"], # Not enumerated when compiled
|
||||||
|
"Flags" => [:flags, "*s"]
|
||||||
|
}
|
||||||
|
HEART_GAUGE_SIZE = 4000 # Default gauge size
|
||||||
|
|
||||||
|
extend ClassMethodsSymbols
|
||||||
|
include InstanceMethods
|
||||||
|
|
||||||
|
def initialize(hash)
|
||||||
|
@id = hash[:id]
|
||||||
|
@moves = hash[:moves] || []
|
||||||
|
@gauge_size = hash[:gauge_size] || HEART_GAUGE_SIZE
|
||||||
|
@flags = hash[:flags] || []
|
||||||
|
end
|
||||||
|
|
||||||
|
def has_flag?(flag)
|
||||||
|
return @flags.any? { |f| f.downcase == flag.downcase }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -71,7 +71,7 @@ class Battle
|
|||||||
evYield.each_key { |stat| evYield[stat] *= 2 }
|
evYield.each_key { |stat| evYield[stat] *= 2 }
|
||||||
end
|
end
|
||||||
# Gain EVs for each stat in turn
|
# Gain EVs for each stat in turn
|
||||||
if pkmn.shadowPokemon? && pkmn.saved_ev
|
if pkmn.shadowPokemon? && pkmn.heartStage <= 3 && pkmn.saved_ev
|
||||||
pkmn.saved_ev.each_value { |e| evTotal += e }
|
pkmn.saved_ev.each_value { |e| evTotal += e }
|
||||||
GameData::Stat.each_main do |s|
|
GameData::Stat.each_main do |s|
|
||||||
evGain = evYield[s.id].clamp(0, Pokemon::EV_STAT_LIMIT - pkmn.ev[s.id] - pkmn.saved_ev[s.id])
|
evGain = evYield[s.id].clamp(0, Pokemon::EV_STAT_LIMIT - pkmn.ev[s.id] - pkmn.saved_ev[s.id])
|
||||||
@@ -178,11 +178,14 @@ class Battle
|
|||||||
pkmn.name,debugInfo))
|
pkmn.name,debugInfo))
|
||||||
end
|
end
|
||||||
# Give Exp
|
# Give Exp
|
||||||
$stats.total_exp_gained += expGained
|
|
||||||
if pkmn.shadowPokemon?
|
if pkmn.shadowPokemon?
|
||||||
pkmn.exp += expGained
|
if pkmn.heartStage <= 3
|
||||||
|
pkmn.exp += expGained
|
||||||
|
$stats.total_exp_gained += expGained
|
||||||
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
$stats.total_exp_gained += expGained
|
||||||
tempExp1 = pkmn.exp
|
tempExp1 = pkmn.exp
|
||||||
battler = pbFindBattler(idxParty)
|
battler = pbFindBattler(idxParty)
|
||||||
loop do # For each level gained in turn...
|
loop do # For each level gained in turn...
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class Battle
|
|||||||
if battler.shadowPokemon?
|
if battler.shadowPokemon?
|
||||||
if battler.inHyperMode?
|
if battler.inHyperMode?
|
||||||
battler.pokemon.hyper_mode = false
|
battler.pokemon.hyper_mode = false
|
||||||
battler.pokemon.adjustHeart(-300)
|
battler.pokemon.change_heart_gauge("call")
|
||||||
pbDisplay(_INTL("{1} came to its senses from the Trainer's call!",battler.pbThis))
|
pbDisplay(_INTL("{1} came to its senses from the Trainer's call!",battler.pbThis))
|
||||||
else
|
else
|
||||||
pbDisplay(_INTL("But nothing happened!"))
|
pbDisplay(_INTL("But nothing happened!"))
|
||||||
|
|||||||
@@ -574,7 +574,6 @@ class Battle
|
|||||||
if b.inHyperMode?
|
if b.inHyperMode?
|
||||||
if pbRandom(100)<10
|
if pbRandom(100)<10
|
||||||
b.pokemon.hyper_mode = false
|
b.pokemon.hyper_mode = false
|
||||||
b.pokemon.adjustHeart(-50)
|
|
||||||
pbDisplay(_INTL("{1} came to its senses!",b.pbThis))
|
pbDisplay(_INTL("{1} came to its senses!",b.pbThis))
|
||||||
else
|
else
|
||||||
pbDisplay(_INTL("{1} is in Hyper Mode!",b.pbThis))
|
pbDisplay(_INTL("{1} is in Hyper Mode!",b.pbThis))
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ class Battle::Move::Confusion < Battle::Move
|
|||||||
@pp = -1
|
@pp = -1
|
||||||
@target = 0
|
@target = 0
|
||||||
@priority = 0
|
@priority = 0
|
||||||
@flags = ""
|
@flags = []
|
||||||
@addlEffect = 0
|
@addlEffect = 0
|
||||||
@calcType = nil
|
@calcType = nil
|
||||||
@powerBoost = false
|
@powerBoost = false
|
||||||
@@ -63,7 +63,7 @@ class Battle::Move::Struggle < Battle::Move
|
|||||||
@pp = -1
|
@pp = -1
|
||||||
@target = 0
|
@target = 0
|
||||||
@priority = 0
|
@priority = 0
|
||||||
@flags = ""
|
@flags = ["Contact", "CanProtect"]
|
||||||
@addlEffect = 0
|
@addlEffect = 0
|
||||||
@calcType = nil
|
@calcType = nil
|
||||||
@powerBoost = false
|
@powerBoost = false
|
||||||
|
|||||||
@@ -187,9 +187,7 @@ class Battle::Battler
|
|||||||
|
|
||||||
def pbInitPokemon(*arg)
|
def pbInitPokemon(*arg)
|
||||||
if self.pokemonIndex>0 && inHyperMode?
|
if self.pokemonIndex>0 && inHyperMode?
|
||||||
# Called out of Hyper Mode
|
|
||||||
self.pokemon.hyper_mode = false
|
self.pokemon.hyper_mode = false
|
||||||
self.pokemon.adjustHeart(-50)
|
|
||||||
end
|
end
|
||||||
__shadow__pbInitPokemon(*arg)
|
__shadow__pbInitPokemon(*arg)
|
||||||
# Called into battle
|
# Called into battle
|
||||||
@@ -198,7 +196,7 @@ class Battle::Battler
|
|||||||
self.type1 = :SHADOW
|
self.type1 = :SHADOW
|
||||||
self.type2 = :SHADOW
|
self.type2 = :SHADOW
|
||||||
end
|
end
|
||||||
self.pokemon.adjustHeart(-30) if pbOwnedByPlayer?
|
self.pokemon.change_heart_gauge("battle") if pbOwnedByPlayer?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -216,7 +214,7 @@ class Battle::Battler
|
|||||||
def pbHyperMode
|
def pbHyperMode
|
||||||
return if fainted? || !shadowPokemon? || inHyperMode? || !pbOwnedByPlayer?
|
return if fainted? || !shadowPokemon? || inHyperMode? || !pbOwnedByPlayer?
|
||||||
p = self.pokemon
|
p = self.pokemon
|
||||||
if @battle.pbRandom(p.heart_gauge) <= Pokemon::HEART_GAUGE_SIZE / 4
|
if @battle.pbRandom(p.heart_gauge) <= p.max_gauge_size / 4
|
||||||
p.hyper_mode = true
|
p.hyper_mode = true
|
||||||
@battle.pbDisplay(_INTL("{1}'s emotions rose to a fever pitch!\nIt entered Hyper Mode!",self.pbThis))
|
@battle.pbDisplay(_INTL("{1}'s emotions rose to a fever pitch!\nIt entered Hyper Mode!",self.pbThis))
|
||||||
end
|
end
|
||||||
@@ -234,39 +232,37 @@ end
|
|||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Shadow item effects.
|
# Shadow item effects.
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
def pbRaiseHappinessAndReduceHeart(pkmn, scene, heart_amount)
|
def pbRaiseHappinessAndReduceHeart(pkmn, scene, multiplier)
|
||||||
if !pkmn.shadowPokemon? || (pkmn.happiness == 255 && pkmn.heart_gauge == 0)
|
if !pkmn.shadowPokemon? || (pkmn.happiness == 255 && pkmn.heart_gauge == 0)
|
||||||
scene.pbDisplay(_INTL("It won't have any effect."))
|
scene.pbDisplay(_INTL("It won't have any effect."))
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
if pkmn.happiness == 255
|
old_gauge = pkmn.heart_gauge
|
||||||
stage = pkmn.heart_gauge
|
old_happiness = pkmn.happiness
|
||||||
pkmn.adjustHeart(-heart_amount)
|
pkmn.changeHappiness("vitamin")
|
||||||
scene.pbDisplay(_INTL("{1} adores you!\nThe door to its heart opened a little.", pkmn.name))
|
pkmn.change_heart_gauge("scent", multiplier)
|
||||||
pkmn.check_ready_to_purify if pkmn.heart_gauge != stage
|
if pkmn.heart_gauge == old_gauge
|
||||||
elsif pkmn.heart_gauge == 0
|
|
||||||
pkmn.changeHappiness("vitamin")
|
|
||||||
scene.pbDisplay(_INTL("{1} turned friendly.", pkmn.name))
|
scene.pbDisplay(_INTL("{1} turned friendly.", pkmn.name))
|
||||||
|
elsif pkmn.happiness == old_happiness
|
||||||
|
scene.pbDisplay(_INTL("{1} adores you!\nThe door to its heart opened a little.", pkmn.name))
|
||||||
|
pkmn.check_ready_to_purify
|
||||||
else
|
else
|
||||||
stage = pkmn.heart_gauge
|
|
||||||
pkmn.changeHappiness("vitamin")
|
|
||||||
pkmn.adjustHeart(-heart_amount)
|
|
||||||
scene.pbDisplay(_INTL("{1} turned friendly.\nThe door to its heart opened a little.", pkmn.name))
|
scene.pbDisplay(_INTL("{1} turned friendly.\nThe door to its heart opened a little.", pkmn.name))
|
||||||
pkmn.check_ready_to_purify if pkmn.heart_gauge != stage
|
pkmn.check_ready_to_purify
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
ItemHandlers::UseOnPokemon.add(:JOYSCENT,proc { |item,pokemon,scene|
|
ItemHandlers::UseOnPokemon.add(:JOYSCENT,proc { |item,pokemon,scene|
|
||||||
pbRaiseHappinessAndReduceHeart(pokemon,scene,500)
|
pbRaiseHappinessAndReduceHeart(pokemon, scene, 1)
|
||||||
})
|
})
|
||||||
|
|
||||||
ItemHandlers::UseOnPokemon.add(:EXCITESCENT,proc { |item,pokemon,scene|
|
ItemHandlers::UseOnPokemon.add(:EXCITESCENT,proc { |item,pokemon,scene|
|
||||||
pbRaiseHappinessAndReduceHeart(pokemon,scene,1000)
|
pbRaiseHappinessAndReduceHeart(pokemon, scene, 2)
|
||||||
})
|
})
|
||||||
|
|
||||||
ItemHandlers::UseOnPokemon.add(:VIVIDSCENT,proc { |item,pokemon,scene|
|
ItemHandlers::UseOnPokemon.add(:VIVIDSCENT,proc { |item,pokemon,scene|
|
||||||
pbRaiseHappinessAndReduceHeart(pokemon,scene,2000)
|
pbRaiseHappinessAndReduceHeart(pokemon, scene, 3)
|
||||||
})
|
})
|
||||||
|
|
||||||
ItemHandlers::UseOnPokemon.add(:TIMEFLUTE,proc { |item,pokemon,scene|
|
ItemHandlers::UseOnPokemon.add(:TIMEFLUTE,proc { |item,pokemon,scene|
|
||||||
@@ -291,21 +287,21 @@ ItemHandlers::CanUseInBattle.copy(:JOYSCENT,:EXCITESCENT,:VIVIDSCENT)
|
|||||||
|
|
||||||
ItemHandlers::BattleUseOnBattler.add(:JOYSCENT,proc { |item,battler,scene|
|
ItemHandlers::BattleUseOnBattler.add(:JOYSCENT,proc { |item,battler,scene|
|
||||||
battler.pokemon.hyper_mode = false
|
battler.pokemon.hyper_mode = false
|
||||||
battler.pokemon.adjustHeart(-100)
|
battler.pokemon.change_heart_gauge("scent", 1)
|
||||||
scene.pbDisplay(_INTL("{1} came to its senses from the {2}!",battler.pbThis,GameData::Item.get(item).name))
|
scene.pbDisplay(_INTL("{1} came to its senses from the {2}!",battler.pbThis,GameData::Item.get(item).name))
|
||||||
next true
|
next true
|
||||||
})
|
})
|
||||||
|
|
||||||
ItemHandlers::BattleUseOnBattler.add(:EXCITESCENT,proc { |item,battler,scene|
|
ItemHandlers::BattleUseOnBattler.add(:EXCITESCENT,proc { |item,battler,scene|
|
||||||
battler.pokemon.hyper_mode = false
|
battler.pokemon.hyper_mode = false
|
||||||
battler.pokemon.adjustHeart(-200)
|
battler.pokemon.change_heart_gauge("scent", 2)
|
||||||
scene.pbDisplay(_INTL("{1} came to its senses from the {2}!",battler.pbThis,GameData::Item.get(item).name))
|
scene.pbDisplay(_INTL("{1} came to its senses from the {2}!",battler.pbThis,GameData::Item.get(item).name))
|
||||||
next true
|
next true
|
||||||
})
|
})
|
||||||
|
|
||||||
ItemHandlers::BattleUseOnBattler.add(:VIVIDSCENT,proc { |item,battler,scene|
|
ItemHandlers::BattleUseOnBattler.add(:VIVIDSCENT,proc { |item,battler,scene|
|
||||||
battler.pokemon.hyper_mode = false
|
battler.pokemon.hyper_mode = false
|
||||||
battler.pokemon.adjustHeart(-300)
|
battler.pokemon.change_heart_gauge("scent", 3)
|
||||||
scene.pbDisplay(_INTL("{1} came to its senses from the {2}!",battler.pbThis,GameData::Item.get(item).name))
|
scene.pbDisplay(_INTL("{1} came to its senses from the {2}!",battler.pbThis,GameData::Item.get(item).name))
|
||||||
next true
|
next true
|
||||||
})
|
})
|
||||||
@@ -416,25 +412,23 @@ Events.onEndBattle += proc { |_sender,_e|
|
|||||||
}
|
}
|
||||||
|
|
||||||
Events.onStepTaken += proc {
|
Events.onStepTaken += proc {
|
||||||
for pkmn in $player.able_party
|
$player.able_party.each do |pkmn|
|
||||||
next if pkmn.heart_gauge == 0
|
next if pkmn.heart_gauge == 0
|
||||||
stage = pkmn.heartStage
|
pkmn.heart_gauge_step_counter = 0 if !pkmn.heart_gauge_step_counter
|
||||||
pkmn.adjustHeart(-1)
|
pkmn.heart_gauge_step_counter += 1
|
||||||
case pkmn.heartStage
|
if pkmn.heart_gauge_step_counter >= 256
|
||||||
when 0
|
old_stage = pkmn.heartStage
|
||||||
pkmn.check_ready_to_purify
|
pkmn.change_heart_gauge("walking")
|
||||||
when stage
|
new_stage = pkmn.heartStage
|
||||||
else
|
if new_stage == 0
|
||||||
pkmn.update_shadow_moves
|
pkmn.check_ready_to_purify
|
||||||
|
elsif new_stage != old_stage
|
||||||
|
pkmn.update_shadow_moves
|
||||||
|
end
|
||||||
|
pkmn.heart_gauge_step_counter = 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if ($PokemonGlobal.purifyChamber rescue nil)
|
if ($PokemonGlobal.purifyChamber rescue nil)
|
||||||
$PokemonGlobal.purifyChamber.update
|
$PokemonGlobal.purifyChamber.update
|
||||||
end
|
end
|
||||||
$PokemonGlobal.day_care.slots.each do |slot|
|
|
||||||
next if !slot.filled? || !slot.pokemon.shadowPokemon?
|
|
||||||
old_stage = slot.pokemon.heartStage
|
|
||||||
slot.pokemon.adjustHeart(-1)
|
|
||||||
slot.pokemon.update_shadow_moves if slot.pokemon.heartStage != old_stage
|
|
||||||
end
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ class Pokemon
|
|||||||
attr_accessor :saved_exp
|
attr_accessor :saved_exp
|
||||||
attr_accessor :saved_ev
|
attr_accessor :saved_ev
|
||||||
attr_accessor :shadow_moves
|
attr_accessor :shadow_moves
|
||||||
HEART_GAUGE_SIZE = 3840
|
attr_accessor :heart_gauge_step_counter
|
||||||
|
|
||||||
alias :__shadow_expeq :exp=
|
alias :__shadow_expeq :exp=
|
||||||
def exp=(value)
|
def exp=(value)
|
||||||
@@ -29,15 +29,74 @@ class Pokemon
|
|||||||
return @heart_gauge || 0
|
return @heart_gauge || 0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def shadow_data
|
||||||
|
ret = GameData::ShadowPokemon.try_get(species_data.id)
|
||||||
|
ret = GameData::ShadowPokemon.try_get(@species) if !ret
|
||||||
|
return ret
|
||||||
|
end
|
||||||
|
|
||||||
|
def max_gauge_size
|
||||||
|
data = shadow_data
|
||||||
|
return (data) ? data.gauge_size : GameData::ShadowPokemon::HEART_GAUGE_SIZE
|
||||||
|
end
|
||||||
|
|
||||||
def adjustHeart(value)
|
def adjustHeart(value)
|
||||||
return if !shadowPokemon?
|
return if !shadowPokemon?
|
||||||
@heart_gauge = (self.heart_gauge + value).clamp(0, HEART_GAUGE_SIZE)
|
@heart_gauge = (self.heart_gauge + value).clamp(0, max_gauge_size)
|
||||||
|
end
|
||||||
|
|
||||||
|
def change_heart_gauge(method, multiplier = 1)
|
||||||
|
return if !shadowPokemon?
|
||||||
|
heart_amounts = {
|
||||||
|
# [sending into battle, call to, walking 256 steps, using scent]
|
||||||
|
:HARDY => [110, 300, 100, 90],
|
||||||
|
:LONELY => [ 70, 330, 100, 130],
|
||||||
|
:BRAVE => [130, 270, 90, 80],
|
||||||
|
:ADAMANT => [110, 270, 110, 80],
|
||||||
|
:NAUGHTY => [120, 270, 110, 70],
|
||||||
|
:BOLD => [110, 270, 90, 100],
|
||||||
|
:DOCILE => [100, 360, 80, 120],
|
||||||
|
:RELAXED => [ 90, 270, 110, 100],
|
||||||
|
:IMPISH => [120, 300, 100, 80],
|
||||||
|
:LAX => [100, 270, 90, 110],
|
||||||
|
:TIMID => [ 70, 330, 110, 120],
|
||||||
|
:HASTY => [130, 300, 70, 100],
|
||||||
|
:SERIOUS => [100, 330, 110, 90],
|
||||||
|
:JOLLY => [120, 300, 90, 90],
|
||||||
|
:NAIVE => [100, 300, 120, 80],
|
||||||
|
:MODEST => [ 70, 300, 120, 110],
|
||||||
|
:MILD => [ 80, 270, 100, 120],
|
||||||
|
:QUIET => [100, 300, 100, 100],
|
||||||
|
:BASHFUL => [ 80, 300, 90, 130],
|
||||||
|
:RASH => [ 90, 300, 90, 120],
|
||||||
|
:CALM => [ 80, 300, 110, 110],
|
||||||
|
:GENTLE => [ 70, 300, 130, 100],
|
||||||
|
:SASSY => [130, 240, 100, 70],
|
||||||
|
:CAREFUL => [ 90, 300, 100, 110],
|
||||||
|
:QUIRKY => [130, 270, 80, 90]
|
||||||
|
}
|
||||||
|
amt = 100
|
||||||
|
case method
|
||||||
|
when "battle"
|
||||||
|
amt = (heart_amounts[@nature]) ? heart_amounts[@nature][0] : 100
|
||||||
|
when "call"
|
||||||
|
amt = (heart_amounts[@nature]) ? heart_amounts[@nature][1] : 300
|
||||||
|
when "walking"
|
||||||
|
amt = (heart_amounts[@nature]) ? heart_amounts[@nature][2] : 100
|
||||||
|
when "scent"
|
||||||
|
amt = (heart_amounts[@nature]) ? heart_amounts[@nature][3] : 100
|
||||||
|
amt *= multiplier
|
||||||
|
else
|
||||||
|
raise _INTL("Unknown heart gauge-changing method: {1}", method.to_s)
|
||||||
|
end
|
||||||
|
adjustHeart(-amt)
|
||||||
end
|
end
|
||||||
|
|
||||||
def heartStage
|
def heartStage
|
||||||
return 0 if !shadowPokemon?
|
return 0 if !shadowPokemon?
|
||||||
stage_size = HEART_GAUGE_SIZE / 5.0
|
max_size = max_gauge_size
|
||||||
return ([self.heart_gauge, HEART_GAUGE_SIZE].min / stage_size).ceil
|
stage_size = max_size / 5.0
|
||||||
|
return ([self.heart_gauge, max_size].min / stage_size).ceil
|
||||||
end
|
end
|
||||||
|
|
||||||
def shadowPokemon?
|
def shadowPokemon?
|
||||||
@@ -48,36 +107,42 @@ class Pokemon
|
|||||||
return (self.heart_gauge == 0 || @hp == 0) ? false : @hyper_mode
|
return (self.heart_gauge == 0 || @hp == 0) ? false : @hyper_mode
|
||||||
end
|
end
|
||||||
|
|
||||||
|
alias __shadow__changeHappiness changeHappiness
|
||||||
|
def changeHappiness(method)
|
||||||
|
return if shadowPokemon? && heartStage >= 4
|
||||||
|
__shadow__changeHappiness(method)
|
||||||
|
end
|
||||||
|
|
||||||
def makeShadow
|
def makeShadow
|
||||||
@shadow = true
|
@shadow = true
|
||||||
@heart_gauge = HEART_GAUGE_SIZE
|
|
||||||
@hyper_mode = false
|
@hyper_mode = false
|
||||||
@saved_exp = 0
|
@saved_exp = 0
|
||||||
@saved_ev = {}
|
@saved_ev = {}
|
||||||
GameData::Stat.each_main { |s| @saved_ev[s.id] = 0 }
|
GameData::Stat.each_main { |s| @saved_ev[s.id] = 0 }
|
||||||
|
@heart_gauge = max_gauge_size
|
||||||
|
@heart_gauge_step_counter = 0
|
||||||
@shadow_moves = []
|
@shadow_moves = []
|
||||||
# Retrieve Shadow moveset for this Pokémon
|
# Retrieve Shadow moveset for this Pokémon
|
||||||
shadow_moveset = pbLoadShadowMovesets[species_data.id]
|
data = shadow_data
|
||||||
shadow_moveset = pbLoadShadowMovesets[@species] if !shadow_moveset || shadow_moveset.length == 0
|
|
||||||
# Record this Pokémon's Shadow moves
|
# Record this Pokémon's Shadow moves
|
||||||
if shadow_moveset && shadow_moveset.length > 0
|
if data
|
||||||
for i in 0...[shadow_moveset.length, MAX_MOVES].min
|
data.moves.each do |m|
|
||||||
@shadow_moves[i] = shadow_moveset[i]
|
@shadow_moves.push(m.to_sym) if GameData::Move.exists?(m.to_sym)
|
||||||
|
break if @shadow_moves.length >= MAX_MOVES
|
||||||
end
|
end
|
||||||
elsif GameData::Move.exists?(:SHADOWRUSH)
|
end
|
||||||
# No Shadow moveset defined; just use Shadow Rush
|
if @shadow_moves.empty? && GameData::Move.exists?(:SHADOWRUSH)
|
||||||
@shadow_moves[0] = :SHADOWRUSH
|
@shadow_moves.push(:SHADOWRUSH)
|
||||||
else
|
|
||||||
raise _INTL("Expected Shadow moves or Shadow Rush to be defined, but they weren't.")
|
|
||||||
end
|
end
|
||||||
# Record this Pokémon's original moves
|
# Record this Pokémon's original moves
|
||||||
@moves.each_with_index { |m, i| @shadow_moves[MAX_MOVES + i] = m.id }
|
if !@shadow_moves.empty?
|
||||||
# Update moves
|
@moves.each_with_index { |m, i| @shadow_moves[MAX_MOVES + i] = m.id }
|
||||||
update_shadow_moves
|
update_shadow_moves
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_shadow_moves(relearn_all_moves = false)
|
def update_shadow_moves(relearn_all_moves = false)
|
||||||
return if !@shadow_moves
|
return if !@shadow_moves || @shadow_moves.empty?
|
||||||
# Not a Shadow Pokémon (any more); relearn all its original moves
|
# Not a Shadow Pokémon (any more); relearn all its original moves
|
||||||
if !shadowPokemon?
|
if !shadowPokemon?
|
||||||
if @shadow_moves.length > MAX_MOVES
|
if @shadow_moves.length > MAX_MOVES
|
||||||
|
|||||||
@@ -375,7 +375,7 @@ class PokemonSummary_Scene
|
|||||||
dexNumShadow = (@pokemon.shiny?) ? Color.new(224,152,144) : Color.new(176,176,176)
|
dexNumShadow = (@pokemon.shiny?) ? Color.new(224,152,144) : Color.new(176,176,176)
|
||||||
# If a Shadow Pokémon, draw the heart gauge area and bar
|
# If a Shadow Pokémon, draw the heart gauge area and bar
|
||||||
if @pokemon.shadowPokemon?
|
if @pokemon.shadowPokemon?
|
||||||
shadowfract = @pokemon.heart_gauge.to_f / Pokemon::HEART_GAUGE_SIZE
|
shadowfract = @pokemon.heart_gauge.to_f / @pokemon.max_gauge_size
|
||||||
imagepos = [
|
imagepos = [
|
||||||
["Graphics/Pictures/Summary/overlay_shadow",224,240],
|
["Graphics/Pictures/Summary/overlay_shadow",224,240],
|
||||||
["Graphics/Pictures/Summary/overlay_shadowbar",242,280,0,0,(shadowfract*248).floor,-1]
|
["Graphics/Pictures/Summary/overlay_shadowbar",242,280,0,0,(shadowfract*248).floor,-1]
|
||||||
@@ -632,7 +632,7 @@ class PokemonSummary_Scene
|
|||||||
# Determine which stats are boosted and lowered by the Pokémon's nature
|
# Determine which stats are boosted and lowered by the Pokémon's nature
|
||||||
statshadows = {}
|
statshadows = {}
|
||||||
GameData::Stat.each_main { |s| statshadows[s.id] = shadow }
|
GameData::Stat.each_main { |s| statshadows[s.id] = shadow }
|
||||||
if !@pokemon.shadowPokemon? || @pokemon.heartStage > 3
|
if !@pokemon.shadowPokemon? || @pokemon.heartStage <= 3
|
||||||
@pokemon.nature_for_stats.stat_changes.each do |change|
|
@pokemon.nature_for_stats.stat_changes.each do |change|
|
||||||
statshadows[change[0]] = Color.new(136,96,72) if change[1] > 0
|
statshadows[change[0]] = Color.new(136,96,72) if change[1] > 0
|
||||||
statshadows[change[0]] = Color.new(64,120,152) if change[1] < 0
|
statshadows[change[0]] = Color.new(64,120,152) if change[1] < 0
|
||||||
|
|||||||
@@ -666,8 +666,9 @@ class Window_PurifyChamberSets < Window_DrawableCommand
|
|||||||
end
|
end
|
||||||
if @chamber.getShadow(index)
|
if @chamber.getShadow(index)
|
||||||
pbDrawGauge(self.contents, Rect.new(rect.x+16,rect.y+18,48,8),
|
pbDrawGauge(self.contents, Rect.new(rect.x+16,rect.y+18,48,8),
|
||||||
Color.new(192,0,256), @chamber.getShadow(index).heart_gauge,
|
Color.new(192,0,256),
|
||||||
Pokemon::HEART_GAUGE_SIZE)
|
@chamber.getShadow(index).heart_gauge,
|
||||||
|
@chamber.getShadow(index).max_gauge_size)
|
||||||
end
|
end
|
||||||
pbDrawTextPositions(self.contents,textpos)
|
pbDrawTextPositions(self.contents,textpos)
|
||||||
end
|
end
|
||||||
@@ -957,7 +958,7 @@ class PurifyChamberSetView < SpriteWrapper
|
|||||||
Color.new(248,248,248),Color.new(128,128,128)])
|
Color.new(248,248,248),Color.new(128,128,128)])
|
||||||
# draw heart gauge
|
# draw heart gauge
|
||||||
pbDrawGauge(@info.bitmap, Rect.new(@info.bitmap.width*3/4,8,@info.bitmap.width*1/4,8),
|
pbDrawGauge(@info.bitmap, Rect.new(@info.bitmap.width*3/4,8,@info.bitmap.width*1/4,8),
|
||||||
Color.new(192,0,256), pkmn.heart_gauge, Pokemon::HEART_GAUGE_SIZE)
|
Color.new(192,0,256), pkmn.heart_gauge, pkmn.max_gauge_size)
|
||||||
# draw flow gauge
|
# draw flow gauge
|
||||||
pbDrawGauge(@info.bitmap,Rect.new(@info.bitmap.width*3/4,24+8,@info.bitmap.width*1/4,8),
|
pbDrawGauge(@info.bitmap,Rect.new(@info.bitmap.width*3/4,24+8,@info.bitmap.width*1/4,8),
|
||||||
Color.new(0,0,248),@chamber.chamberFlow(@set),6)
|
Color.new(0,0,248),@chamber.chamberFlow(@set),6)
|
||||||
|
|||||||
@@ -1144,7 +1144,7 @@ DebugMenuCommands.register("createpbs", {
|
|||||||
"pokemon_metrics.txt",
|
"pokemon_metrics.txt",
|
||||||
"regional_dexes.txt",
|
"regional_dexes.txt",
|
||||||
"ribbons.txt",
|
"ribbons.txt",
|
||||||
"shadow_movesets.txt",
|
"shadow_pokemon.txt",
|
||||||
"town_map.txt",
|
"town_map.txt",
|
||||||
"trainer_types.txt",
|
"trainer_types.txt",
|
||||||
"trainers.txt",
|
"trainers.txt",
|
||||||
@@ -1169,7 +1169,7 @@ DebugMenuCommands.register("createpbs", {
|
|||||||
when 13 then Compiler.write_pokemon_metrics
|
when 13 then Compiler.write_pokemon_metrics
|
||||||
when 14 then Compiler.write_regional_dexes
|
when 14 then Compiler.write_regional_dexes
|
||||||
when 15 then Compiler.write_ribbons
|
when 15 then Compiler.write_ribbons
|
||||||
when 16 then Compiler.write_shadow_movesets
|
when 16 then Compiler.write_shadow_pokemon
|
||||||
when 17 then Compiler.write_town_map
|
when 17 then Compiler.write_town_map
|
||||||
when 18 then Compiler.write_trainer_types
|
when 18 then Compiler.write_trainer_types
|
||||||
when 19 then Compiler.write_trainers
|
when 19 then Compiler.write_trainers
|
||||||
|
|||||||
@@ -1132,10 +1132,10 @@ PokemonDebugMenuCommands.register("shadowpkmn", {
|
|||||||
if pkmn.shadowPokemon?
|
if pkmn.shadowPokemon?
|
||||||
oldheart = pkmn.heart_gauge
|
oldheart = pkmn.heart_gauge
|
||||||
params = ChooseNumberParams.new
|
params = ChooseNumberParams.new
|
||||||
params.setRange(0, Pokemon::HEART_GAUGE_SIZE)
|
params.setRange(0, pkmn.max_gauge_size)
|
||||||
params.setDefaultValue(pkmn.heart_gauge)
|
params.setDefaultValue(pkmn.heart_gauge)
|
||||||
val = pbMessageChooseNumber(
|
val = pbMessageChooseNumber(
|
||||||
_INTL("Set the heart gauge (max. {1}).", Pokemon::HEART_GAUGE_SIZE),
|
_INTL("Set the heart gauge (max. {1}).", pkmn.max_gauge_size),
|
||||||
params) { screen.pbUpdate }
|
params) { screen.pbUpdate }
|
||||||
if val != oldheart
|
if val != oldheart
|
||||||
pkmn.adjustHeart(val - oldheart)
|
pkmn.adjustHeart(val - oldheart)
|
||||||
|
|||||||
@@ -729,7 +729,7 @@ module Compiler
|
|||||||
compile_pokemon # Depends on Move, Item, Type, Ability
|
compile_pokemon # Depends on Move, Item, Type, Ability
|
||||||
compile_pokemon_forms # Depends on Species, Move, Item, Type, Ability
|
compile_pokemon_forms # Depends on Species, Move, Item, Type, Ability
|
||||||
compile_pokemon_metrics # Depends on Species
|
compile_pokemon_metrics # Depends on Species
|
||||||
compile_shadow_movesets # Depends on Species, Move
|
compile_shadow_pokemon # Depends on Species
|
||||||
compile_regional_dexes # Depends on Species
|
compile_regional_dexes # Depends on Species
|
||||||
compile_ribbons # No dependencies
|
compile_ribbons # No dependencies
|
||||||
compile_encounters # Depends on Species
|
compile_encounters # Depends on Species
|
||||||
@@ -768,7 +768,7 @@ module Compiler
|
|||||||
"player_metadata.dat",
|
"player_metadata.dat",
|
||||||
"regional_dexes.dat",
|
"regional_dexes.dat",
|
||||||
"ribbons.dat",
|
"ribbons.dat",
|
||||||
"shadow_movesets.dat",
|
"shadow_pokemon.dat",
|
||||||
"species.dat",
|
"species.dat",
|
||||||
"species_metrics.dat",
|
"species_metrics.dat",
|
||||||
"town_map.dat",
|
"town_map.dat",
|
||||||
@@ -793,7 +793,7 @@ module Compiler
|
|||||||
"pokemon_metrics.txt",
|
"pokemon_metrics.txt",
|
||||||
"regional_dexes.txt",
|
"regional_dexes.txt",
|
||||||
"ribbons.txt",
|
"ribbons.txt",
|
||||||
"shadow_movesets.txt",
|
"shadow_pokemon.txt",
|
||||||
"town_map.txt",
|
"town_map.txt",
|
||||||
"trainer_types.txt",
|
"trainer_types.txt",
|
||||||
"trainers.txt",
|
"trainers.txt",
|
||||||
|
|||||||
@@ -368,8 +368,8 @@ module Compiler
|
|||||||
flags.push("CanMirrorMove") if line[12][/e/]
|
flags.push("CanMirrorMove") if line[12][/e/]
|
||||||
flags.push("ThawsUser") if line[12][/g/]
|
flags.push("ThawsUser") if line[12][/g/]
|
||||||
flags.push("HighCriticalHitRate") if line[12][/h/]
|
flags.push("HighCriticalHitRate") if line[12][/h/]
|
||||||
flags.push("Bite") if line[12][/i/]
|
flags.push("Biting") if line[12][/i/]
|
||||||
flags.push("Punch") if line[12][/j/]
|
flags.push("Punching") if line[12][/j/]
|
||||||
flags.push("Sound") if line[12][/k/]
|
flags.push("Sound") if line[12][/k/]
|
||||||
flags.push("Powder") if line[12][/l/]
|
flags.push("Powder") if line[12][/l/]
|
||||||
flags.push("Pulse") if line[12][/m/]
|
flags.push("Pulse") if line[12][/m/]
|
||||||
@@ -969,33 +969,68 @@ module Compiler
|
|||||||
end
|
end
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Compile Shadow movesets
|
# Compile Shadow Pokémon data
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
def compile_shadow_movesets(path = "PBS/shadow_movesets.txt")
|
def compile_shadow_pokemon(path = "PBS/shadow_pokemon.txt")
|
||||||
compile_pbs_file_message_start(path)
|
compile_pbs_file_message_start(path)
|
||||||
sections = {}
|
GameData::ShadowPokemon::DATA.clear
|
||||||
if safeExists?(path)
|
schema = GameData::ShadowPokemon::SCHEMA
|
||||||
idx = 0
|
shadow_hash = nil
|
||||||
pbCompilerEachCommentedLine(path) { |line, _line_no|
|
old_format = nil
|
||||||
if line[/^\s*(\w+)\s*=\s*(.*)$/]
|
# Read each line of shadow_pokemon.txt at a time and compile it into a
|
||||||
echo "." if idx % 50 == 0
|
# Shadow Pokémon's data
|
||||||
idx += 1
|
idx = 0
|
||||||
Graphics.update if idx % 250 == 0
|
pbCompilerEachPreppedLine(path) { |line, line_no|
|
||||||
|
echo "." if idx % 250 == 0
|
||||||
|
idx += 1
|
||||||
|
if line[/^\s*\[\s*(.+)\s*\]\s*$/] # New section [species_id]
|
||||||
|
old_format = false if old_format.nil?
|
||||||
|
if old_format
|
||||||
|
raise _INTL("Can't mix old and new formats.\r\n{1}", FileLineData.linereport)
|
||||||
|
end
|
||||||
|
# Add previous Shadow Pokémon's data to records
|
||||||
|
GameData::ShadowPokemon.register(shadow_hash) if shadow_hash
|
||||||
|
# Parse species ID
|
||||||
|
species_id = $~[1].to_sym
|
||||||
|
if GameData::ShadowPokemon.exists?(species_id)
|
||||||
|
raise _INTL("Shadow Pokémon data for species '{1}' is defined twice.\r\n{2}", species_id, FileLineData.linereport)
|
||||||
|
end
|
||||||
|
# Construct Shadow Pokémon hash
|
||||||
|
shadow_hash = {
|
||||||
|
:id => species_id
|
||||||
|
}
|
||||||
|
elsif line[/^\s*(\w+)\s*=\s*(.*)\s*$/] # XXX=YYY lines
|
||||||
|
old_format = true if old_format.nil?
|
||||||
|
if old_format
|
||||||
key = $1
|
key = $1
|
||||||
value = $2
|
value = $2
|
||||||
value = value.split(",")
|
value = value.split(",")
|
||||||
species = parseSpecies(key)
|
species = parseSpecies(key)
|
||||||
moves = []
|
value.each { |val| val.strip! }
|
||||||
for i in 0...[Pokemon::MAX_MOVES, value.length].min
|
value.delete_if { |val| nil_or_empty?(val) }
|
||||||
move = parseMove(value[i], true)
|
# Construct Shadow Pokémon hash
|
||||||
moves.push(move) if move
|
shadow_hash = {
|
||||||
end
|
:id => species,
|
||||||
moves.compact!
|
:moves => value
|
||||||
sections[species] = moves if moves.length > 0
|
}
|
||||||
|
# Add Shadow Pokémons data to records
|
||||||
|
GameData::ShadowPokemon.register(shadow_hash)
|
||||||
|
shadow_hash = nil
|
||||||
|
else
|
||||||
|
# Parse property and value
|
||||||
|
property_name = $~[1]
|
||||||
|
line_schema = schema[property_name]
|
||||||
|
next if !line_schema
|
||||||
|
property_value = pbGetCsvRecord($~[2], line_no, line_schema)
|
||||||
|
# Record XXX=YYY setting
|
||||||
|
shadow_hash[line_schema[0]] = property_value
|
||||||
end
|
end
|
||||||
}
|
end
|
||||||
end
|
}
|
||||||
save_data(sections, "Data/shadow_movesets.dat")
|
# Add last item's data to records
|
||||||
|
GameData::ShadowPokemon.register(shadow_hash) if shadow_hash
|
||||||
|
# Save all data
|
||||||
|
GameData::ShadowPokemon.save
|
||||||
process_pbs_file_message_end
|
process_pbs_file_message_end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -513,21 +513,21 @@ module Compiler
|
|||||||
end
|
end
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Save Shadow movesets to PBS file
|
# Save Shadow Pokémon data to PBS file
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
def write_shadow_movesets(path = "PBS/shadow_movesets.txt")
|
def write_shadow_pokemon(path = "PBS/shadow_pokemon.txt")
|
||||||
write_pbs_file_message_start(path)
|
write_pbs_file_message_start(path)
|
||||||
shadow_movesets = pbLoadShadowMovesets
|
|
||||||
File.open(path, "wb") { |f|
|
File.open(path, "wb") { |f|
|
||||||
idx = 0
|
idx = 0
|
||||||
add_PBS_header_to_file(f)
|
add_PBS_header_to_file(f)
|
||||||
f.write("\#-------------------------------\r\n")
|
GameData::ShadowPokemon.each do |shadow|
|
||||||
GameData::Species.each do |species_data|
|
|
||||||
echo "." if idx % 150 == 0
|
echo "." if idx % 150 == 0
|
||||||
idx += 1
|
idx += 1
|
||||||
moveset = shadow_movesets[species_data.id]
|
f.write("\#-------------------------------\r\n")
|
||||||
next if !moveset || moveset.length == 0
|
f.write(sprintf("[%s]\r\n", shadow.id))
|
||||||
f.write(sprintf("%s = %s\r\n", species_data.id, moveset.join(",")))
|
f.write(sprintf("GaugeSize = %d\r\n", shadow.gauge_size))
|
||||||
|
f.write(sprintf("Moves = %s\r\n", shadow.moves.join(","))) if shadow.moves.length > 0
|
||||||
|
f.write(sprintf("Flags = %s\r\n", shadow.flags.join(","))) if shadow.flags.length > 0
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
process_pbs_file_message_end
|
process_pbs_file_message_end
|
||||||
@@ -901,7 +901,7 @@ module Compiler
|
|||||||
write_pokemon
|
write_pokemon
|
||||||
write_pokemon_forms
|
write_pokemon_forms
|
||||||
write_pokemon_metrics
|
write_pokemon_metrics
|
||||||
write_shadow_movesets
|
write_shadow_pokemon
|
||||||
write_regional_dexes
|
write_regional_dexes
|
||||||
write_ribbons
|
write_ribbons
|
||||||
write_encounters
|
write_encounters
|
||||||
|
|||||||
@@ -1,85 +0,0 @@
|
|||||||
# See the documentation on the wiki to learn how to edit this file.
|
|
||||||
#-------------------------------
|
|
||||||
BUTTERFREE = SHADOWRUSH,SHADOWMIST
|
|
||||||
BEEDRILL = SHADOWBLITZ,SHADOWHOLD
|
|
||||||
PIDGEOTTO = SHADOWBLITZ,SHADOWPANIC
|
|
||||||
RATICATE = SHADOWRUSH,SHADOWDOWN
|
|
||||||
SPEAROW = SHADOWBLITZ,SHADOWPANIC
|
|
||||||
ARBOK = SHADOWRUSH,SHADOWHALF
|
|
||||||
VULPIX = SHADOWHOLD,SHADOWWAVE
|
|
||||||
PARAS = SHADOWBLITZ,SHADOWSHED
|
|
||||||
VENOMOTH = SHADOWRUSH,SHADOWMIST
|
|
||||||
DUGTRIO = SHADOWBREAK,SHADOWSHED,SHADOWSKY
|
|
||||||
MEOWTH = SHADOWRUSH,SHADOWHOLD
|
|
||||||
GOLDUCK = SHADOWRAVE,SHADOWMIST
|
|
||||||
PRIMEAPE = SHADOWSTORM,SHADOWRUSH
|
|
||||||
GROWLITHE = SHADOWBLITZ,SHADOWWAVE
|
|
||||||
POLIWRATH = SHADOWSTORM,SHADOWRUSH,SHADOWSKY
|
|
||||||
WEEPINBELL = SHADOWRAVE,SHADOWHOLD
|
|
||||||
RAPIDASH = SHADOWRAVE,SHADOWSKY,SHADOWDOWN
|
|
||||||
MAGNETON = SHADOWHOLD,SHADOWRAVE,SHADOWSKY
|
|
||||||
FARFETCHD = SHADOWBREAK,SHADOWSKY,SHADOWPANIC
|
|
||||||
DODRIO = SHADOWBLITZ,SHADOWSHED
|
|
||||||
SEEL = SHADOWWAVE,SHADOWMIST
|
|
||||||
GRIMER = SHADOWBLITZ,SHADOWHOLD
|
|
||||||
SHELLDER = SHADOWBLITZ,SHADOWSHED
|
|
||||||
HYPNO = SHADOWSTORM,SHADOWDOWN
|
|
||||||
VOLTORB = SHADOWRUSH,SHADOWPANIC
|
|
||||||
EXEGGUTOR = SHADOWSTORM,SHADOWSHED,SHADOWHOLD,SHADOWEND
|
|
||||||
MAROWAK = SHADOWEND,SHADOWPANIC
|
|
||||||
HITMONLEE = SHADOWRUSH,SHADOWDOWN,SHADOWHALF
|
|
||||||
HITMONCHAN = SHADOWRUSH,SHADOWDOWN
|
|
||||||
LICKITUNG = SHADOWRUSH,SHADOWPANIC
|
|
||||||
RHYDON = SHADOWEND,SHADOWPANIC,SHADOWDOWN,SHADOWHOLD
|
|
||||||
CHANSEY = SHADOWRAVE,SHADOWHOLD
|
|
||||||
TANGELA = SHADOWRAVE,SHADOWHOLD
|
|
||||||
KANGASKHAN = SHADOWRUSH,SHADOWMIST
|
|
||||||
STARMIE = SHADOWSTORM,SHADOWMIST,SHADOWBREAK
|
|
||||||
MRMIME = SHADOWSTORM,SHADOWSHED
|
|
||||||
SCYTHER = SHADOWRUSH,SHADOWMIST
|
|
||||||
ELECTABUZZ = SHADOWSTORM,SHADOWMIST,SHADOWHALF,SHADOWBREAK
|
|
||||||
MAGMAR = SHADOWRAVE,SHADOWRUSH,SHADOWSHED
|
|
||||||
PINSIR = SHADOWBREAK,SHADOWSHED
|
|
||||||
TAUROS = SHADOWHOLD,SHADOWSHED,SHADOWRUSH,SHADOWSKY
|
|
||||||
LAPRAS = SHADOWSTORM,SHADOWSHED,SHADOWSKY
|
|
||||||
SNORLAX = SHADOWEND,SHADOWSHED
|
|
||||||
ARTICUNO = SHADOWCHILL,SHADOWSHED,SHADOWRUSH,SHADOWSKY
|
|
||||||
ZAPDOS = SHADOWBOLT,SHADOWRUSH,SHADOWSKY,SHADOWSHED
|
|
||||||
MOLTRES = SHADOWFIRE,SHADOWSHED,SHADOWMIST,SHADOWBREAK
|
|
||||||
DRAGONITE = SHADOWDOWN,SHADOWRUSH,SHADOWSHED,SHADOWSTORM
|
|
||||||
LEDYBA = SHADOWBLITZ,SHADOWSHED
|
|
||||||
SPINARAK = SHADOWBLITZ,SHADOWMIST
|
|
||||||
TOGEPI = SHADOWRAVE,SHADOWSHED
|
|
||||||
NATU = SHADOWBLITZ,SHADOWSHED
|
|
||||||
MAREEP = SHADOWBLITZ,SHADOWSHED
|
|
||||||
PINECO = SHADOWBLITZ,SHADOWSHED
|
|
||||||
TEDDIURSA = SHADOWBLITZ,SHADOWMIST
|
|
||||||
MAGCARGO = SHADOWRAVE,SHADOWSHED
|
|
||||||
SWINUB = SHADOWBLITZ,SHADOWWAVE
|
|
||||||
HOUNDOUR = SHADOWBLITZ,SHADOWSHED
|
|
||||||
LUGIA = SHADOWBLAST,SHADOWSHED,SHADOWDOWN,SHADOWSTORM
|
|
||||||
POOCHYENA = SHADOWBLITZ,SHADOWHOLD
|
|
||||||
SEEDOT = SHADOWWAVE,SHADOWHOLD
|
|
||||||
SWELLOW = SHADOWBREAK,SHADOWMIST,SHADOWHALF,SHADOWSKY
|
|
||||||
RALTS = SHADOWWAVE,SHADOWHOLD
|
|
||||||
SHROOMISH = SHADOWBLITZ,SHADOWMIST
|
|
||||||
MAKUHITA = SHADOWBLITZ,SHADOWSHED
|
|
||||||
NOSEPASS = SHADOWWAVE,SHADOWMIST
|
|
||||||
DELCATTY = SHADOWRUSH,SHADOWWAVE
|
|
||||||
SABLEYE = SHADOWBLITZ,SHADOWHOLD
|
|
||||||
MAWILE = SHADOWRUSH,SHADOWWAVE
|
|
||||||
MANECTRIC = SHADOWMIST,SHADOWEND,SHADOWSKY
|
|
||||||
ROSELIA = SHADOWWAVE,SHADOWSHED
|
|
||||||
GULPIN = SHADOWBLITZ,SHADOWHOLD
|
|
||||||
CARVANHA = SHADOWBLITZ,SHADOWHOLD
|
|
||||||
NUMEL = SHADOWBLITZ,SHADOWSHED
|
|
||||||
ALTARIA = SHADOWBREAK,SHADOWMIST,SHADOWRAVE
|
|
||||||
ZANGOOSE = SHADOWRUSH,SHADOWMIST
|
|
||||||
LUNATONE = SHADOWWAVE,SHADOWSKY
|
|
||||||
SOLROCK = SHADOWRAVE,SHADOWSKY,SHADOWPANIC
|
|
||||||
BALTOY = SHADOWBLITZ,SHADOWMIST
|
|
||||||
BANETTE = SHADOWRUSH,SHADOWHOLD
|
|
||||||
DUSKULL = SHADOWHOLD,SHADOWWAVE
|
|
||||||
SNORUNT = SHADOWSHED,SHADOWWAVE
|
|
||||||
SPHEAL = SHADOWWAVE,SHADOWMIST
|
|
||||||
SALAMENCE = SHADOWRUSH,SHADOWHOLD
|
|
||||||
525
PBS/shadow_pokemon.txt
Normal file
525
PBS/shadow_pokemon.txt
Normal file
@@ -0,0 +1,525 @@
|
|||||||
|
# See the documentation on the wiki to learn how to edit this file.
|
||||||
|
#-------------------------------
|
||||||
|
[BUTTERFREE]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWRUSH,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[BEEDRILL]
|
||||||
|
GaugeSize = 4500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[PIDGEOTTO]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWBLITZ,SHADOWPANIC
|
||||||
|
#-------------------------------
|
||||||
|
[RATICATE]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH,SHADOWDOWN
|
||||||
|
#-------------------------------
|
||||||
|
[SPEAROW]
|
||||||
|
GaugeSize = 4500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWPANIC
|
||||||
|
#-------------------------------
|
||||||
|
[ARBOK]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWRUSH,SHADOWHALF
|
||||||
|
#-------------------------------
|
||||||
|
[VULPIX]
|
||||||
|
GaugeSize = 2000
|
||||||
|
Moves = SHADOWWAVE,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[PARAS]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWBLITZ,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[VENOMOTH]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWRUSH,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[DUGTRIO]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWBREAK,SHADOWSHED,SHADOWSKY
|
||||||
|
#-------------------------------
|
||||||
|
[MEOWTH]
|
||||||
|
GaugeSize = 3500
|
||||||
|
Moves = SHADOWRUSH,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[GOLDUCK]
|
||||||
|
GaugeSize = 6500
|
||||||
|
Moves = SHADOWRAVE,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[PRIMEAPE]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH,SHADOWSTORM
|
||||||
|
#-------------------------------
|
||||||
|
[GROWLITHE]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWBLITZ,SHADOWWAVE
|
||||||
|
#-------------------------------
|
||||||
|
[POLIWRATH]
|
||||||
|
GaugeSize = 7500
|
||||||
|
Moves = SHADOWSTORM,SHADOWRUSH,SHADOWSKY
|
||||||
|
#-------------------------------
|
||||||
|
[WEEPINBELL]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWRAVE,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[RAPIDASH]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRAVE,SHADOWDOWN,SHADOWSKY
|
||||||
|
#-------------------------------
|
||||||
|
[MAGNETON]
|
||||||
|
GaugeSize = 4500
|
||||||
|
Moves = SHADOWRAVE,SHADOWHOLD,SHADOWSKY
|
||||||
|
#-------------------------------
|
||||||
|
[FARFETCHD]
|
||||||
|
GaugeSize = 5500
|
||||||
|
Moves = SHADOWBREAK,SHADOWSKY,SHADOWPANIC
|
||||||
|
#-------------------------------
|
||||||
|
[DODRIO]
|
||||||
|
GaugeSize = 8000
|
||||||
|
Moves = SHADOWBLITZ,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[SEEL]
|
||||||
|
GaugeSize = 3500
|
||||||
|
Moves = SHADOWWAVE,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[GRIMER]
|
||||||
|
GaugeSize = 3000
|
||||||
|
Moves = SHADOWBLITZ,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[SHELLDER]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWBLITZ,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[HYPNO]
|
||||||
|
GaugeSize = 5500
|
||||||
|
Moves = SHADOWSTORM,SHADOWDOWN
|
||||||
|
#-------------------------------
|
||||||
|
[VOLTORB]
|
||||||
|
GaugeSize = 2500
|
||||||
|
Moves = SHADOWRUSH,SHADOWPANIC
|
||||||
|
#-------------------------------
|
||||||
|
[EXEGGUTOR]
|
||||||
|
GaugeSize = 9000
|
||||||
|
Moves = SHADOWSTORM,SHADOWSHED,SHADOWHOLD,SHADOWEND
|
||||||
|
#-------------------------------
|
||||||
|
[MAROWAK]
|
||||||
|
GaugeSize = 6500
|
||||||
|
Moves = SHADOWEND,SHADOWPANIC
|
||||||
|
#-------------------------------
|
||||||
|
[HITMONLEE]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH,SHADOWDOWN,SHADOWHALF
|
||||||
|
#-------------------------------
|
||||||
|
[HITMONCHAN]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH,SHADOWDOWN
|
||||||
|
#-------------------------------
|
||||||
|
[LICKITUNG]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWRUSH,SHADOWPANIC
|
||||||
|
#-------------------------------
|
||||||
|
[RHYDON]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWEND,SHADOWDOWN,SHADOWPANIC,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[CHANSEY]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWRAVE,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[TANGELA]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWRAVE,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[KANGASKHAN]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[STARMIE]
|
||||||
|
GaugeSize = 7500
|
||||||
|
Moves = SHADOWSTORM,SHADOWBREAK,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[MRMIME]
|
||||||
|
GaugeSize = 6500
|
||||||
|
Moves = SHADOWSTORM,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[SCYTHER]
|
||||||
|
GaugeSize = 8000
|
||||||
|
Moves = SHADOWRUSH,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[ELECTABUZZ]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWBREAK,SHADOWMIST,SHADOWHALF,SHADOWSTORM
|
||||||
|
#-------------------------------
|
||||||
|
[MAGMAR]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRAVE,SHADOWRUSH,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[PINSIR]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWBREAK,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[TAUROS]
|
||||||
|
GaugeSize = 9000
|
||||||
|
Moves = SHADOWRUSH,SHADOWHOLD,SHADOWSHED,SHADOWSKY
|
||||||
|
#-------------------------------
|
||||||
|
[LAPRAS]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWSTORM,SHADOWSHED,SHADOWSKY
|
||||||
|
#-------------------------------
|
||||||
|
[SNORLAX]
|
||||||
|
GaugeSize = 9000
|
||||||
|
Moves = SHADOWEND,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[ARTICUNO]
|
||||||
|
GaugeSize = 10000
|
||||||
|
Moves = SHADOWCHILL,SHADOWSHED,SHADOWSKY,SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[ZAPDOS]
|
||||||
|
GaugeSize = 10000
|
||||||
|
Moves = SHADOWBOLT,SHADOWSHED,SHADOWSKY,SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[MOLTRES]
|
||||||
|
GaugeSize = 10000
|
||||||
|
Moves = SHADOWFIRE,SHADOWSHED,SHADOWHOLD,SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[DRAGONITE]
|
||||||
|
GaugeSize = 9000
|
||||||
|
Moves = SHADOWRUSH,SHADOWDOWN,SHADOWSHED,SHADOWSTORM
|
||||||
|
#-------------------------------
|
||||||
|
[BAYLEEF]
|
||||||
|
GaugeSize = 3000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[QUILAVA]
|
||||||
|
GaugeSize = 3000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[CROCONAW]
|
||||||
|
GaugeSize = 3000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[FURRET]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[NOCTOWL]
|
||||||
|
GaugeSize = 3000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[LEDYBA]
|
||||||
|
GaugeSize = 2500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[LEDIAN]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SPINARAK]
|
||||||
|
GaugeSize = 1500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[ARIADOS]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[TOGEPI]
|
||||||
|
GaugeSize = 4500
|
||||||
|
Moves = SHADOWRAVE,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[TOGETIC]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[NATU]
|
||||||
|
GaugeSize = 2500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[MAREEP]
|
||||||
|
GaugeSize = 1500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[FLAAFFY]
|
||||||
|
GaugeSize = 3000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SUDOWOODO]
|
||||||
|
GaugeSize = 10000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SKIPLOOM]
|
||||||
|
GaugeSize = 3000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[AIPOM]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SUNFLORA]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[YANMA]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[QUAGSIRE]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[MURKROW]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[MISDREAVUS]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[PINECO]
|
||||||
|
GaugeSize = 2500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[FORRETRESS]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[DUNSPARCE]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[GLIGAR]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[GRANBULL]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[QWILFISH]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SCIZOR]
|
||||||
|
GaugeSize = 8000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SHUCKLE]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[HERACROSS]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SNEASEL]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[TEDDIURSA]
|
||||||
|
GaugeSize = 3000
|
||||||
|
Moves = SHADOWBLITZ,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[URSARING]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SLUGMA]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[MAGCARGO]
|
||||||
|
GaugeSize = 5500
|
||||||
|
Moves = SHADOWRAVE,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[SWINUB]
|
||||||
|
GaugeSize = 2500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWWAVE
|
||||||
|
#-------------------------------
|
||||||
|
[PILOSWINE]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[REMORAID]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[DELIBIRD]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[MANTINE]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SKARMORY]
|
||||||
|
GaugeSize = 13000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[HOUNDOUR]
|
||||||
|
GaugeSize = 1500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[HOUNDOOM]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[STANTLER]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SMEARGLE]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[HITMONTOP]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[MILTANK]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[RAIKOU]
|
||||||
|
GaugeSize = 13000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[ENTEI]
|
||||||
|
GaugeSize = 13000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SUICUNE]
|
||||||
|
GaugeSize = 13000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[TYRANITAR]
|
||||||
|
GaugeSize = 20000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[LUGIA]
|
||||||
|
GaugeSize = 12000
|
||||||
|
Moves = SHADOWBLAST,SHADOWSHED,SHADOWDOWN,SHADOWSTORM
|
||||||
|
#-------------------------------
|
||||||
|
[POOCHYENA]
|
||||||
|
GaugeSize = 2500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[SEEDOT]
|
||||||
|
GaugeSize = 1500
|
||||||
|
Moves = SHADOWWAVE,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[SWELLOW]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWBREAK,SHADOWSKY,SHADOWHALF,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[RALTS]
|
||||||
|
GaugeSize = 2200
|
||||||
|
Moves = SHADOWWAVE,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[SHROOMISH]
|
||||||
|
GaugeSize = 1800
|
||||||
|
Moves = SHADOWBLITZ,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[MAKUHITA]
|
||||||
|
GaugeSize = 2000
|
||||||
|
Moves = SHADOWBLITZ,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[NOSEPASS]
|
||||||
|
GaugeSize = 4000
|
||||||
|
Moves = SHADOWWAVE,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[DELCATTY]
|
||||||
|
GaugeSize = 2500
|
||||||
|
Moves = SHADOWRUSH,SHADOWWAVE
|
||||||
|
#-------------------------------
|
||||||
|
[SABLEYE]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWBLITZ,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[MAWILE]
|
||||||
|
GaugeSize = 2500
|
||||||
|
Moves = SHADOWRUSH,SHADOWWAVE
|
||||||
|
#-------------------------------
|
||||||
|
[MEDITITE]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[MANECTRIC]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWEND,SHADOWMIST,SHADOWSKY
|
||||||
|
#-------------------------------
|
||||||
|
[ROSELIA]
|
||||||
|
GaugeSize = 3000
|
||||||
|
Moves = SHADOWWAVE,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[GULPIN]
|
||||||
|
GaugeSize = 1500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[CARVANHA]
|
||||||
|
GaugeSize = 1700
|
||||||
|
Moves = SHADOWBLITZ,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[NUMEL]
|
||||||
|
GaugeSize = 1500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[VIBRAVA]
|
||||||
|
GaugeSize = 6000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SWABLU]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[ALTARIA]
|
||||||
|
GaugeSize = 6500
|
||||||
|
Moves = SHADOWBREAK,SHADOWMIST,SHADOWRAVE
|
||||||
|
#-------------------------------
|
||||||
|
[ZANGOOSE]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWRUSH,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[LUNATONE]
|
||||||
|
GaugeSize = 5000
|
||||||
|
Moves = SHADOWWAVE,SHADOWSHED,SHADOWSKY
|
||||||
|
#-------------------------------
|
||||||
|
[SOLROCK]
|
||||||
|
GaugeSize = 7500
|
||||||
|
Moves = SHADOWRAVE,SHADOWPANIC,SHADOWSKY
|
||||||
|
#-------------------------------
|
||||||
|
[BALTOY]
|
||||||
|
GaugeSize = 1500
|
||||||
|
Moves = SHADOWBLITZ,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[BANETTE]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[DUSKULL]
|
||||||
|
GaugeSize = 2200
|
||||||
|
Moves = SHADOWWAVE,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[TROPIUS]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[ABSOL]
|
||||||
|
GaugeSize = 7000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
|
#-------------------------------
|
||||||
|
[SNORUNT]
|
||||||
|
GaugeSize = 2500
|
||||||
|
Moves = SHADOWWAVE,SHADOWSHED
|
||||||
|
#-------------------------------
|
||||||
|
[SPHEAL]
|
||||||
|
GaugeSize = 1500
|
||||||
|
Moves = SHADOWWAVE,SHADOWMIST
|
||||||
|
#-------------------------------
|
||||||
|
[SALAMENCE]
|
||||||
|
GaugeSize = 9000
|
||||||
|
Moves = SHADOWRUSH,SHADOWHOLD
|
||||||
|
#-------------------------------
|
||||||
|
[METAGROSS]
|
||||||
|
GaugeSize = 15000
|
||||||
|
Moves = SHADOWRUSH
|
||||||
Reference in New Issue
Block a user