Adding Jorge saves.

This commit is contained in:
Sergiotarxz 2023-11-01 13:25:03 +01:00
parent 710178b9cf
commit f9684a8ac1
7 changed files with 531 additions and 8 deletions

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,80 @@
#!/usr/bin/env perl
use v5.34.1;
use strict;
use warnings;
use feature 'signatures';
use Rsaves
qw/read_save check_correct_size get_saves find_current_save_index check_correct_size find_pokemon_substruct change_gender read_pc_storage save_pc_changes enable_eon_ticket save_changes pokemon_set_shiny read_pkm_file_box enable_mirage_island_for_pokemon parse_version_name/;
use Rsaves::Constants::Global
qw/$MOVE_SPIKES $MOVE_DRILL_PECK $MOVE_HIDDEN_POWER $MOVE_TAUNT/;
use Rsaves::Constants::Ruby::Global qw/$MALE $FEMALE/;
my $input = $ARGV[0] or die "No input save";
my $output = $ARGV[1] or die "No output save";
my $version = parse_version_name( $ARGV[2] ) // parse_version_name('ruby');
sub start {
my ( @saves_raw, $extra );
( @saves_raw[ 0, 1 ], $extra ) = read_save($input);
check_correct_size( @saves_raw, $extra );
my @saves = get_saves( @saves_raw, $version );
my $current_save_index = find_current_save_index(@saves);
my $save = $saves[$current_save_index];
my $pc = read_pc_storage($save);
my $pokemon = $pc->{boxes}[0][5];
modifySkarmory($pokemon);
save_pc_changes( $save, $pc );
save_changes( @saves, $extra, $output );
}
sub modifySkarmory ($pokemon) {
print Data::Dumper::Dumper $pokemon;
$pokemon->{personality} = 0x845BABD6;
my $ivs_egg_status_and_ability =
$pokemon->{substructures}[3]{ivs_egg_status_and_ability};
my $ability = $ivs_egg_status_and_ability >> 31 & 1;
my $egg = $ivs_egg_status_and_ability >> 30 & 1;
my $iv_special_defense = $ivs_egg_status_and_ability >> 25 & 0x1F;
my $iv_special_attack = $ivs_egg_status_and_ability >> 20 & 0x1F;
my $iv_speed = $ivs_egg_status_and_ability >> 15 & 0x1F;
my $iv_defense = $ivs_egg_status_and_ability >> 10 & 0x1F;
my $iv_attack = $ivs_egg_status_and_ability >> 5 & 0x1F;
my $iv_hp = $ivs_egg_status_and_ability >> 0 & 0x1F;
(
$iv_hp, $iv_attack, $iv_defense, $iv_special_attack,
$iv_special_defense, $iv_speed
) = ( 31, 31, 29, 30, 22, 31 );
$ivs_egg_status_and_ability = 0;
$ivs_egg_status_and_ability |= ( ( $ability & 1 ) << 31 );
$ivs_egg_status_and_ability |= ( ( $egg & 1 ) << 30 );
$ivs_egg_status_and_ability |= ( ( $iv_special_defense & 0x1F ) << 25 );
$ivs_egg_status_and_ability |= ( ( $iv_special_attack & 0x1F ) << 20 );
$ivs_egg_status_and_ability |= ( ( $iv_speed & 0x1F ) << 15 );
$ivs_egg_status_and_ability |= ( ( $iv_defense & 0x1F ) << 10 );
$ivs_egg_status_and_ability |= ( ( $iv_attack & 0x1F ) << 5 );
$ivs_egg_status_and_ability |= ( ( $iv_hp & 0x1F ) );
$pokemon->{substructures}[3]{ivs_egg_status_and_ability} =
$ivs_egg_status_and_ability;
$pokemon->{substructures}[2]{hp_ev} = 0;
$pokemon->{substructures}[2]{attack_ev} = 0;
$pokemon->{substructures}[2]{defense_ev} = 0;
$pokemon->{substructures}[2]{speed_ev} = 0;
$pokemon->{substructures}[2]{special_attack_ev} = 0;
$pokemon->{substructures}[2]{special_defense_ev} = 0;
$pokemon->{substructures}[1]{movements}[0] = $MOVE_SPIKES;
$pokemon->{substructures}[1]{movements}[1] = $MOVE_DRILL_PECK;
$pokemon->{substructures}[1]{movements}[2] = $MOVE_HIDDEN_POWER;
$pokemon->{substructures}[1]{movements}[3] = $MOVE_TAUNT;
print Data::Dumper::Dumper $pokemon;
}
start;

BIN
firered.gba Normal file

Binary file not shown.

BIN
firered.sav Normal file

Binary file not shown.

View File

@ -354,7 +354,7 @@ sub _read_pokemon_substructures_from_fh {
for my $i (@order_substructures) {
read $fh_raw, my $substruct, 12;
open my $fh_substruct, '<', \$substruct;
push @$substructures,
$substructures->[$i] =
_read_pokemon_substruct_n_from_fh( $fh_substruct, $i );
close $fh_substruct;
}

View File

@ -16,5 +16,448 @@ our $FIRERED_VERSION = 4;
our $LEAFGREEN_VERSION = 5;
our $COLOSSEUM_VERSION = 15;
our @EXPORT_OK = (qw/$SAPPHIRE_VERSION $RUBY_VERSION $EMERALD_VERSION $FIRERED_VERSION $LEAFGREEN_VERSION $COLOSSEUM_VERSION/);
our $MOVE_NONE = 0;
our $MOVE_POUND = 1;
our $MOVE_KARATE_CHOP = 2;
our $MOVE_DOUBLE_SLAP = 3;
our $MOVE_COMET_PUNCH = 4;
our $MOVE_MEGA_PUNCH = 5;
our $MOVE_PAY_DAY = 6;
our $MOVE_FIRE_PUNCH = 7;
our $MOVE_ICE_PUNCH = 8;
our $MOVE_THUNDER_PUNCH = 9;
our $MOVE_SCRATCH = 10;
our $MOVE_VICE_GRIP = 11;
our $MOVE_GUILLOTINE = 12;
our $MOVE_RAZOR_WIND = 13;
our $MOVE_SWORDS_DANCE = 14;
our $MOVE_CUT = 15;
our $MOVE_GUST = 16;
our $MOVE_WING_ATTACK = 17;
our $MOVE_WHIRLWIND = 18;
our $MOVE_FLY = 19;
our $MOVE_BIND = 20;
our $MOVE_SLAM = 21;
our $MOVE_VINE_WHIP = 22;
our $MOVE_STOMP = 23;
our $MOVE_DOUBLE_KICK = 24;
our $MOVE_MEGA_KICK = 25;
our $MOVE_JUMP_KICK = 26;
our $MOVE_ROLLING_KICK = 27;
our $MOVE_SAND_ATTACK = 28;
our $MOVE_HEADBUTT = 29;
our $MOVE_HORN_ATTACK = 30;
our $MOVE_FURY_ATTACK = 31;
our $MOVE_HORN_DRILL = 32;
our $MOVE_TACKLE = 33;
our $MOVE_BODY_SLAM = 34;
our $MOVE_WRAP = 35;
our $MOVE_TAKE_DOWN = 36;
our $MOVE_THRASH = 37;
our $MOVE_DOUBLE_EDGE = 38;
our $MOVE_TAIL_WHIP = 39;
our $MOVE_POISON_STING = 40;
our $MOVE_TWINEEDLE = 41;
our $MOVE_PIN_MISSILE = 42;
our $MOVE_LEER = 43;
our $MOVE_BITE = 44;
our $MOVE_GROWL = 45;
our $MOVE_ROAR = 46;
our $MOVE_SING = 47;
our $MOVE_SUPERSONIC = 48;
our $MOVE_SONIC_BOOM = 49;
our $MOVE_DISABLE = 50;
our $MOVE_ACID = 51;
our $MOVE_EMBER = 52;
our $MOVE_FLAMETHROWER = 53;
our $MOVE_MIST = 54;
our $MOVE_WATER_GUN = 55;
our $MOVE_HYDRO_PUMP = 56;
our $MOVE_SURF = 57;
our $MOVE_ICE_BEAM = 58;
our $MOVE_BLIZZARD = 59;
our $MOVE_PSYBEAM = 60;
our $MOVE_BUBBLE_BEAM = 61;
our $MOVE_AURORA_BEAM = 62;
our $MOVE_HYPER_BEAM = 63;
our $MOVE_PECK = 64;
our $MOVE_DRILL_PECK = 65;
our $MOVE_SUBMISSION = 66;
our $MOVE_LOW_KICK = 67;
our $MOVE_COUNTER = 68;
our $MOVE_SEISMIC_TOSS = 69;
our $MOVE_STRENGTH = 70;
our $MOVE_ABSORB = 71;
our $MOVE_MEGA_DRAIN = 72;
our $MOVE_LEECH_SEED = 73;
our $MOVE_GROWTH = 74;
our $MOVE_RAZOR_LEAF = 75;
our $MOVE_SOLAR_BEAM = 76;
our $MOVE_POISON_POWDER = 77;
our $MOVE_STUN_SPORE = 78;
our $MOVE_SLEEP_POWDER = 79;
our $MOVE_PETAL_DANCE = 80;
our $MOVE_STRING_SHOT = 81;
our $MOVE_DRAGON_RAGE = 82;
our $MOVE_FIRE_SPIN = 83;
our $MOVE_THUNDER_SHOCK = 84;
our $MOVE_THUNDERBOLT = 85;
our $MOVE_THUNDER_WAVE = 86;
our $MOVE_THUNDER = 87;
our $MOVE_ROCK_THROW = 88;
our $MOVE_EARTHQUAKE = 89;
our $MOVE_FISSURE = 90;
our $MOVE_DIG = 91;
our $MOVE_TOXIC = 92;
our $MOVE_CONFUSION = 93;
our $MOVE_PSYCHIC = 94;
our $MOVE_HYPNOSIS = 95;
our $MOVE_MEDITATE = 96;
our $MOVE_AGILITY = 97;
our $MOVE_QUICK_ATTACK = 98;
our $MOVE_RAGE = 99;
our $MOVE_TELEPORT = 100;
our $MOVE_NIGHT_SHADE = 101;
our $MOVE_MIMIC = 102;
our $MOVE_SCREECH = 103;
our $MOVE_DOUBLE_TEAM = 104;
our $MOVE_RECOVER = 105;
our $MOVE_HARDEN = 106;
our $MOVE_MINIMIZE = 107;
our $MOVE_SMOKESCREEN = 108;
our $MOVE_CONFUSE_RAY = 109;
our $MOVE_WITHDRAW = 110;
our $MOVE_DEFENSE_CURL = 111;
our $MOVE_BARRIER = 112;
our $MOVE_LIGHT_SCREEN = 113;
our $MOVE_HAZE = 114;
our $MOVE_REFLECT = 115;
our $MOVE_FOCUS_ENERGY = 116;
our $MOVE_BIDE = 117;
our $MOVE_METRONOME = 118;
our $MOVE_MIRROR_MOVE = 119;
our $MOVE_SELF_DESTRUCT = 120;
our $MOVE_EGG_BOMB = 121;
our $MOVE_LICK = 122;
our $MOVE_SMOG = 123;
our $MOVE_SLUDGE = 124;
our $MOVE_BONE_CLUB = 125;
our $MOVE_FIRE_BLAST = 126;
our $MOVE_WATERFALL = 127;
our $MOVE_CLAMP = 128;
our $MOVE_SWIFT = 129;
our $MOVE_SKULL_BASH = 130;
our $MOVE_SPIKE_CANNON = 131;
our $MOVE_CONSTRICT = 132;
our $MOVE_AMNESIA = 133;
our $MOVE_KINESIS = 134;
our $MOVE_SOFT_BOILED = 135;
our $MOVE_HI_JUMP_KICK = 136;
our $MOVE_GLARE = 137;
our $MOVE_DREAM_EATER = 138;
our $MOVE_POISON_GAS = 139;
our $MOVE_BARRAGE = 140;
our $MOVE_LEECH_LIFE = 141;
our $MOVE_LOVELY_KISS = 142;
our $MOVE_SKY_ATTACK = 143;
our $MOVE_TRANSFORM = 144;
our $MOVE_BUBBLE = 145;
our $MOVE_DIZZY_PUNCH = 146;
our $MOVE_SPORE = 147;
our $MOVE_FLASH = 148;
our $MOVE_PSYWAVE = 149;
our $MOVE_SPLASH = 150;
our $MOVE_ACID_ARMOR = 151;
our $MOVE_CRABHAMMER = 152;
our $MOVE_EXPLOSION = 153;
our $MOVE_FURY_SWIPES = 154;
our $MOVE_BONEMERANG = 155;
our $MOVE_REST = 156;
our $MOVE_ROCK_SLIDE = 157;
our $MOVE_HYPER_FANG = 158;
our $MOVE_SHARPEN = 159;
our $MOVE_CONVERSION = 160;
our $MOVE_TRI_ATTACK = 161;
our $MOVE_SUPER_FANG = 162;
our $MOVE_SLASH = 163;
our $MOVE_SUBSTITUTE = 164;
our $MOVE_STRUGGLE = 165;
our $MOVE_SKETCH = 166;
our $MOVE_TRIPLE_KICK = 167;
our $MOVE_THIEF = 168;
our $MOVE_SPIDER_WEB = 169;
our $MOVE_MIND_READER = 170;
our $MOVE_NIGHTMARE = 171;
our $MOVE_FLAME_WHEEL = 172;
our $MOVE_SNORE = 173;
our $MOVE_CURSE = 174;
our $MOVE_FLAIL = 175;
our $MOVE_CONVERSION_2 = 176;
our $MOVE_AEROBLAST = 177;
our $MOVE_COTTON_SPORE = 178;
our $MOVE_REVERSAL = 179;
our $MOVE_SPITE = 180;
our $MOVE_POWDER_SNOW = 181;
our $MOVE_PROTECT = 182;
our $MOVE_MACH_PUNCH = 183;
our $MOVE_SCARY_FACE = 184;
our $MOVE_FAINT_ATTACK = 185;
our $MOVE_SWEET_KISS = 186;
our $MOVE_BELLY_DRUM = 187;
our $MOVE_SLUDGE_BOMB = 188;
our $MOVE_MUD_SLAP = 189;
our $MOVE_OCTAZOOKA = 190;
our $MOVE_SPIKES = 191;
our $MOVE_ZAP_CANNON = 192;
our $MOVE_FORESIGHT = 193;
our $MOVE_DESTINY_BOND = 194;
our $MOVE_PERISH_SONG = 195;
our $MOVE_ICY_WIND = 196;
our $MOVE_DETECT = 197;
our $MOVE_BONE_RUSH = 198;
our $MOVE_LOCK_ON = 199;
our $MOVE_OUTRAGE = 200;
our $MOVE_SANDSTORM = 201;
our $MOVE_GIGA_DRAIN = 202;
our $MOVE_ENDURE = 203;
our $MOVE_CHARM = 204;
our $MOVE_ROLLOUT = 205;
our $MOVE_FALSE_SWIPE = 206;
our $MOVE_SWAGGER = 207;
our $MOVE_MILK_DRINK = 208;
our $MOVE_SPARK = 209;
our $MOVE_FURY_CUTTER = 210;
our $MOVE_STEEL_WING = 211;
our $MOVE_MEAN_LOOK = 212;
our $MOVE_ATTRACT = 213;
our $MOVE_SLEEP_TALK = 214;
our $MOVE_HEAL_BELL = 215;
our $MOVE_RETURN = 216;
our $MOVE_PRESENT = 217;
our $MOVE_FRUSTRATION = 218;
our $MOVE_SAFEGUARD = 219;
our $MOVE_PAIN_SPLIT = 220;
our $MOVE_SACRED_FIRE = 221;
our $MOVE_MAGNITUDE = 222;
our $MOVE_DYNAMIC_PUNCH = 223;
our $MOVE_MEGAHORN = 224;
our $MOVE_DRAGON_BREATH = 225;
our $MOVE_BATON_PASS = 226;
our $MOVE_ENCORE = 227;
our $MOVE_PURSUIT = 228;
our $MOVE_RAPID_SPIN = 229;
our $MOVE_SWEET_SCENT = 230;
our $MOVE_IRON_TAIL = 231;
our $MOVE_METAL_CLAW = 232;
our $MOVE_VITAL_THROW = 233;
our $MOVE_MORNING_SUN = 234;
our $MOVE_SYNTHESIS = 235;
our $MOVE_MOONLIGHT = 236;
our $MOVE_HIDDEN_POWER = 237;
our $MOVE_CROSS_CHOP = 238;
our $MOVE_TWISTER = 239;
our $MOVE_RAIN_DANCE = 240;
our $MOVE_SUNNY_DAY = 241;
our $MOVE_CRUNCH = 242;
our $MOVE_MIRROR_COAT = 243;
our $MOVE_PSYCH_UP = 244;
our $MOVE_EXTREME_SPEED = 245;
our $MOVE_ANCIENT_POWER = 246;
our $MOVE_SHADOW_BALL = 247;
our $MOVE_FUTURE_SIGHT = 248;
our $MOVE_ROCK_SMASH = 249;
our $MOVE_WHIRLPOOL = 250;
our $MOVE_BEAT_UP = 251;
our $MOVE_FAKE_OUT = 252;
our $MOVE_UPROAR = 253;
our $MOVE_STOCKPILE = 254;
our $MOVE_SPIT_UP = 255;
our $MOVE_SWALLOW = 256;
our $MOVE_HEAT_WAVE = 257;
our $MOVE_HAIL = 258;
our $MOVE_TORMENT = 259;
our $MOVE_FLATTER = 260;
our $MOVE_WILL_O_WISP = 261;
our $MOVE_MEMENTO = 262;
our $MOVE_FACADE = 263;
our $MOVE_FOCUS_PUNCH = 264;
our $MOVE_SMELLING_SALT = 265;
our $MOVE_FOLLOW_ME = 266;
our $MOVE_NATURE_POWER = 267;
our $MOVE_CHARGE = 268;
our $MOVE_TAUNT = 269;
our $MOVE_HELPING_HAND = 270;
our $MOVE_TRICK = 271;
our $MOVE_ROLE_PLAY = 272;
our $MOVE_WISH = 273;
our $MOVE_ASSIST = 274;
our $MOVE_INGRAIN = 275;
our $MOVE_SUPERPOWER = 276;
our $MOVE_MAGIC_COAT = 277;
our $MOVE_RECYCLE = 278;
our $MOVE_REVENGE = 279;
our $MOVE_BRICK_BREAK = 280;
our $MOVE_YAWN = 281;
our $MOVE_KNOCK_OFF = 282;
our $MOVE_ENDEAVOR = 283;
our $MOVE_ERUPTION = 284;
our $MOVE_SKILL_SWAP = 285;
our $MOVE_IMPRISON = 286;
our $MOVE_REFRESH = 287;
our $MOVE_GRUDGE = 288;
our $MOVE_SNATCH = 289;
our $MOVE_SECRET_POWER = 290;
our $MOVE_DIVE = 291;
our $MOVE_ARM_THRUST = 292;
our $MOVE_CAMOUFLAGE = 293;
our $MOVE_TAIL_GLOW = 294;
our $MOVE_LUSTER_PURGE = 295;
our $MOVE_MIST_BALL = 296;
our $MOVE_FEATHER_DANCE = 297;
our $MOVE_TEETER_DANCE = 298;
our $MOVE_BLAZE_KICK = 299;
our $MOVE_MUD_SPORT = 300;
our $MOVE_ICE_BALL = 301;
our $MOVE_NEEDLE_ARM = 302;
our $MOVE_SLACK_OFF = 303;
our $MOVE_HYPER_VOICE = 304;
our $MOVE_POISON_FANG = 305;
our $MOVE_CRUSH_CLAW = 306;
our $MOVE_BLAST_BURN = 307;
our $MOVE_HYDRO_CANNON = 308;
our $MOVE_METEOR_MASH = 309;
our $MOVE_ASTONISH = 310;
our $MOVE_WEATHER_BALL = 311;
our $MOVE_AROMATHERAPY = 312;
our $MOVE_FAKE_TEARS = 313;
our $MOVE_AIR_CUTTER = 314;
our $MOVE_OVERHEAT = 315;
our $MOVE_ODOR_SLEUTH = 316;
our $MOVE_ROCK_TOMB = 317;
our $MOVE_SILVER_WIND = 318;
our $MOVE_METAL_SOUND = 319;
our $MOVE_GRASS_WHISTLE = 320;
our $MOVE_TICKLE = 321;
our $MOVE_COSMIC_POWER = 322;
our $MOVE_WATER_SPOUT = 323;
our $MOVE_SIGNAL_BEAM = 324;
our $MOVE_SHADOW_PUNCH = 325;
our $MOVE_EXTRASENSORY = 326;
our $MOVE_SKY_UPPERCUT = 327;
our $MOVE_SAND_TOMB = 328;
our $MOVE_SHEER_COLD = 329;
our $MOVE_MUDDY_WATER = 330;
our $MOVE_BULLET_SEED = 331;
our $MOVE_AERIAL_ACE = 332;
our $MOVE_ICICLE_SPEAR = 333;
our $MOVE_IRON_DEFENSE = 334;
our $MOVE_BLOCK = 335;
our $MOVE_HOWL = 336;
our $MOVE_DRAGON_CLAW = 337;
our $MOVE_FRENZY_PLANT = 338;
our $MOVE_BULK_UP = 339;
our $MOVE_BOUNCE = 340;
our $MOVE_MUD_SHOT = 341;
our $MOVE_POISON_TAIL = 342;
our $MOVE_COVET = 343;
our $MOVE_VOLT_TACKLE = 344;
our $MOVE_MAGICAL_LEAF = 345;
our $MOVE_WATER_SPORT = 346;
our $MOVE_CALM_MIND = 347;
our $MOVE_LEAF_BLADE = 348;
our $MOVE_DRAGON_DANCE = 349;
our $MOVE_ROCK_BLAST = 350;
our $MOVE_SHOCK_WAVE = 351;
our $MOVE_WATER_PULSE = 352;
our $MOVE_DOOM_DESIRE = 353;
our $MOVE_PSYCHO_BOOST = 354;
our $NUM_MOVES = 355;
our @EXPORT_OK = (
qw/$SAPPHIRE_VERSION $RUBY_VERSION $EMERALD_VERSION
$FIRERED_VERSION $LEAFGREEN_VERSION $COLOSSEUM_VERSION $MOVE_NONE
$MOVE_POUND $MOVE_KARATE_CHOP $MOVE_DOUBLE_SLAP $MOVE_COMET_PUNCH
$MOVE_MEGA_PUNCH $MOVE_PAY_DAY $MOVE_FIRE_PUNCH $MOVE_ICE_PUNCH
$MOVE_THUNDER_PUNCH $MOVE_SCRATCH $MOVE_VICE_GRIP $MOVE_GUILLOTINE
$MOVE_RAZOR_WIND $MOVE_SWORDS_DANCE $MOVE_CUT $MOVE_GUST $MOVE_WING_ATTACK
$MOVE_WHIRLWIND $MOVE_FLY $MOVE_BIND $MOVE_SLAM $MOVE_VINE_WHIP
$MOVE_STOMP $MOVE_DOUBLE_KICK $MOVE_MEGA_KICK $MOVE_JUMP_KICK
$MOVE_ROLLING_KICK $MOVE_SAND_ATTACK $MOVE_HEADBUTT $MOVE_HORN_ATTACK
$MOVE_FURY_ATTACK $MOVE_HORN_DRILL $MOVE_TACKLE $MOVE_BODY_SLAM
$MOVE_WRAP $MOVE_TAKE_DOWN $MOVE_THRASH $MOVE_DOUBLE_EDGE $MOVE_TAIL_WHIP
$MOVE_POISON_STING $MOVE_TWINEEDLE $MOVE_PIN_MISSILE $MOVE_LEER
$MOVE_BITE $MOVE_GROWL $MOVE_ROAR $MOVE_SING $MOVE_SUPERSONIC
$MOVE_SONIC_BOOM $MOVE_DISABLE $MOVE_ACID $MOVE_EMBER $MOVE_FLAMETHROWER
$MOVE_MIST $MOVE_WATER_GUN $MOVE_HYDRO_PUMP $MOVE_SURF $MOVE_ICE_BEAM
$MOVE_BLIZZARD $MOVE_PSYBEAM $MOVE_BUBBLE_BEAM $MOVE_AURORA_BEAM
$MOVE_HYPER_BEAM $MOVE_PECK $MOVE_DRILL_PECK $MOVE_SUBMISSION
$MOVE_LOW_KICK $MOVE_COUNTER $MOVE_SEISMIC_TOSS $MOVE_STRENGTH
$MOVE_ABSORB $MOVE_MEGA_DRAIN $MOVE_LEECH_SEED $MOVE_GROWTH $MOVE_RAZOR_LEAF
$MOVE_SOLAR_BEAM $MOVE_POISON_POWDER $MOVE_STUN_SPORE $MOVE_SLEEP_POWDER
$MOVE_PETAL_DANCE $MOVE_STRING_SHOT $MOVE_DRAGON_RAGE $MOVE_FIRE_SPIN
$MOVE_THUNDER_SHOCK $MOVE_THUNDERBOLT $MOVE_THUNDER_WAVE $MOVE_THUNDER
$MOVE_ROCK_THROW $MOVE_EARTHQUAKE $MOVE_FISSURE $MOVE_DIG $MOVE_TOXIC
$MOVE_CONFUSION $MOVE_PSYCHIC $MOVE_HYPNOSIS $MOVE_MEDITATE $MOVE_AGILITY
$MOVE_QUICK_ATTACK $MOVE_RAGE $MOVE_TELEPORT $MOVE_NIGHT_SHADE
$MOVE_MIMIC $MOVE_SCREECH $MOVE_DOUBLE_TEAM $MOVE_RECOVER $MOVE_HARDEN
$MOVE_MINIMIZE $MOVE_SMOKESCREEN $MOVE_CONFUSE_RAY $MOVE_WITHDRAW
$MOVE_DEFENSE_CURL $MOVE_BARRIER $MOVE_LIGHT_SCREEN $MOVE_HAZE
$MOVE_REFLECT $MOVE_FOCUS_ENERGY $MOVE_BIDE $MOVE_METRONOME $MOVE_MIRROR_MOVE
$MOVE_SELF_DESTRUCT $MOVE_EGG_BOMB $MOVE_LICK $MOVE_SMOG $MOVE_SLUDGE
$MOVE_BONE_CLUB $MOVE_FIRE_BLAST $MOVE_WATERFALL $MOVE_CLAMP
$MOVE_SWIFT $MOVE_SKULL_BASH $MOVE_SPIKE_CANNON $MOVE_CONSTRICT
$MOVE_AMNESIA $MOVE_KINESIS $MOVE_SOFT_BOILED $MOVE_HI_JUMP_KICK
$MOVE_GLARE $MOVE_DREAM_EATER $MOVE_POISON_GAS $MOVE_BARRAGE
$MOVE_LEECH_LIFE $MOVE_LOVELY_KISS $MOVE_SKY_ATTACK $MOVE_TRANSFORM
$MOVE_BUBBLE $MOVE_DIZZY_PUNCH $MOVE_SPORE $MOVE_FLASH $MOVE_PSYWAVE
$MOVE_SPLASH $MOVE_ACID_ARMOR $MOVE_CRABHAMMER $MOVE_EXPLOSION
$MOVE_FURY_SWIPES $MOVE_BONEMERANG $MOVE_REST $MOVE_ROCK_SLIDE
$MOVE_HYPER_FANG $MOVE_SHARPEN $MOVE_CONVERSION $MOVE_TRI_ATTACK
$MOVE_SUPER_FANG $MOVE_SLASH $MOVE_SUBSTITUTE $MOVE_STRUGGLE
$MOVE_SKETCH $MOVE_TRIPLE_KICK $MOVE_THIEF $MOVE_SPIDER_WEB $MOVE_MIND_READER
$MOVE_NIGHTMARE $MOVE_FLAME_WHEEL $MOVE_SNORE $MOVE_CURSE $MOVE_FLAIL
$MOVE_CONVERSION_2 $MOVE_AEROBLAST $MOVE_COTTON_SPORE $MOVE_REVERSAL
$MOVE_SPITE $MOVE_POWDER_SNOW $MOVE_PROTECT $MOVE_MACH_PUNCH
$MOVE_SCARY_FACE $MOVE_FAINT_ATTACK $MOVE_SWEET_KISS $MOVE_BELLY_DRUM
$MOVE_SLUDGE_BOMB $MOVE_MUD_SLAP $MOVE_OCTAZOOKA $MOVE_SPIKES
$MOVE_ZAP_CANNON $MOVE_FORESIGHT $MOVE_DESTINY_BOND $MOVE_PERISH_SONG
$MOVE_ICY_WIND $MOVE_DETECT $MOVE_BONE_RUSH $MOVE_LOCK_ON $MOVE_OUTRAGE
$MOVE_SANDSTORM $MOVE_GIGA_DRAIN $MOVE_ENDURE $MOVE_CHARM $MOVE_ROLLOUT
$MOVE_FALSE_SWIPE $MOVE_SWAGGER $MOVE_MILK_DRINK $MOVE_SPARK
$MOVE_FURY_CUTTER $MOVE_STEEL_WING $MOVE_MEAN_LOOK $MOVE_ATTRACT
$MOVE_SLEEP_TALK $MOVE_HEAL_BELL $MOVE_RETURN $MOVE_PRESENT $MOVE_FRUSTRATION
$MOVE_SAFEGUARD $MOVE_PAIN_SPLIT $MOVE_SACRED_FIRE $MOVE_MAGNITUDE
$MOVE_DYNAMIC_PUNCH $MOVE_MEGAHORN $MOVE_DRAGON_BREATH $MOVE_BATON_PASS
$MOVE_ENCORE $MOVE_PURSUIT $MOVE_RAPID_SPIN $MOVE_SWEET_SCENT
$MOVE_IRON_TAIL $MOVE_METAL_CLAW $MOVE_VITAL_THROW $MOVE_MORNING_SUN
$MOVE_SYNTHESIS $MOVE_MOONLIGHT $MOVE_HIDDEN_POWER $MOVE_CROSS_CHOP
$MOVE_TWISTER $MOVE_RAIN_DANCE $MOVE_SUNNY_DAY $MOVE_CRUNCH $MOVE_MIRROR_COAT
$MOVE_PSYCH_UP $MOVE_EXTREME_SPEED $MOVE_ANCIENT_POWER $MOVE_SHADOW_BALL
$MOVE_FUTURE_SIGHT $MOVE_ROCK_SMASH $MOVE_WHIRLPOOL $MOVE_BEAT_UP
$MOVE_FAKE_OUT $MOVE_UPROAR $MOVE_STOCKPILE $MOVE_SPIT_UP $MOVE_SWALLOW
$MOVE_HEAT_WAVE $MOVE_HAIL $MOVE_TORMENT $MOVE_FLATTER $MOVE_WILL_O_WISP
$MOVE_MEMENTO $MOVE_FACADE $MOVE_FOCUS_PUNCH $MOVE_SMELLING_SALT
$MOVE_FOLLOW_ME $MOVE_NATURE_POWER $MOVE_CHARGE $MOVE_TAUNT $MOVE_HELPING_HAND
$MOVE_TRICK $MOVE_ROLE_PLAY $MOVE_WISH $MOVE_ASSIST $MOVE_INGRAIN
$MOVE_SUPERPOWER $MOVE_MAGIC_COAT $MOVE_RECYCLE $MOVE_REVENGE
$MOVE_BRICK_BREAK $MOVE_YAWN $MOVE_KNOCK_OFF $MOVE_ENDEAVOR $MOVE_ERUPTION
$MOVE_SKILL_SWAP $MOVE_IMPRISON $MOVE_REFRESH $MOVE_GRUDGE $MOVE_SNATCH
$MOVE_SECRET_POWER $MOVE_DIVE $MOVE_ARM_THRUST $MOVE_CAMOUFLAGE
$MOVE_TAIL_GLOW $MOVE_LUSTER_PURGE $MOVE_MIST_BALL $MOVE_FEATHER_DANCE
$MOVE_TEETER_DANCE $MOVE_BLAZE_KICK $MOVE_MUD_SPORT $MOVE_ICE_BALL
$MOVE_NEEDLE_ARM $MOVE_SLACK_OFF $MOVE_HYPER_VOICE $MOVE_POISON_FANG
$MOVE_CRUSH_CLAW $MOVE_BLAST_BURN $MOVE_HYDRO_CANNON $MOVE_METEOR_MASH
$MOVE_ASTONISH $MOVE_WEATHER_BALL $MOVE_AROMATHERAPY $MOVE_FAKE_TEARS
$MOVE_AIR_CUTTER $MOVE_OVERHEAT $MOVE_ODOR_SLEUTH $MOVE_ROCK_TOMB
$MOVE_SILVER_WIND $MOVE_METAL_SOUND $MOVE_GRASS_WHISTLE $MOVE_TICKLE
$MOVE_COSMIC_POWER $MOVE_WATER_SPOUT $MOVE_SIGNAL_BEAM $MOVE_SHADOW_PUNCH
$MOVE_EXTRASENSORY $MOVE_SKY_UPPERCUT $MOVE_SAND_TOMB $MOVE_SHEER_COLD
$MOVE_MUDDY_WATER $MOVE_BULLET_SEED $MOVE_AERIAL_ACE $MOVE_ICICLE_SPEAR
$MOVE_IRON_DEFENSE $MOVE_BLOCK $MOVE_HOWL $MOVE_DRAGON_CLAW $MOVE_FRENZY_PLANT
$MOVE_BULK_UP $MOVE_BOUNCE $MOVE_MUD_SHOT $MOVE_POISON_TAIL
$MOVE_COVET $MOVE_VOLT_TACKLE $MOVE_MAGICAL_LEAF $MOVE_WATER_SPORT
$MOVE_CALM_MIND $MOVE_LEAF_BLADE $MOVE_DRAGON_DANCE $MOVE_ROCK_BLAST
$MOVE_SHOCK_WAVE $MOVE_WATER_PULSE $MOVE_DOOM_DESIRE $MOVE_PSYCHO_BOOST
$NUM_MOVES /
);
1;