Adding moltres.
This commit is contained in:
parent
bbc84c4b4e
commit
63d5d1cdbc
@ -9,7 +9,7 @@ use feature 'signatures';
|
|||||||
use Rsaves
|
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/;
|
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
|
use Rsaves::Constants::Global
|
||||||
qw/$MOVE_SPIKES $MOVE_DRILL_PECK $MOVE_HIDDEN_POWER $MOVE_TAUNT $MOVE_THUNDERBOLT $MOVE_ROAR $MOVE_THUNDER_WAVE $ITEM_LEFTOVERS $MOVE_DRAGON_DANCE $MOVE_ROCK_SLIDE $MOVE_EARTHQUAKE $MOVE_TAUNT/;
|
qw/$MOVE_SPIKES $MOVE_DRILL_PECK $MOVE_HIDDEN_POWER $MOVE_TAUNT $MOVE_THUNDERBOLT $MOVE_ROAR $MOVE_THUNDER_WAVE $ITEM_LEFTOVERS $MOVE_DRAGON_DANCE $MOVE_ROCK_SLIDE $MOVE_EARTHQUAKE $MOVE_TAUNT $MOVE_FLAMETHROWER $MOVE_WILL_O_WISP/;
|
||||||
|
|
||||||
use Rsaves::Constants::Ruby::Global qw/$MALE $FEMALE/;
|
use Rsaves::Constants::Ruby::Global qw/$MALE $FEMALE/;
|
||||||
|
|
||||||
@ -28,16 +28,64 @@ sub start {
|
|||||||
my $pc = read_pc_storage($save);
|
my $pc = read_pc_storage($save);
|
||||||
my $skarmory = $pc->{boxes}[0][5];
|
my $skarmory = $pc->{boxes}[0][5];
|
||||||
my $jolteon = $pc->{boxes}[0][4];
|
my $jolteon = $pc->{boxes}[0][4];
|
||||||
|
my $moltres = $pc->{boxes}[0][3];
|
||||||
my $larvitar = $pc->{boxes}[0][2];
|
my $larvitar = $pc->{boxes}[0][2];
|
||||||
modifySkarmory($skarmory);
|
modifySkarmory($skarmory);
|
||||||
modifyJolteon($jolteon);
|
modifyJolteon($jolteon);
|
||||||
modifyLarvitar($larvitar);
|
modifyLarvitar($larvitar);
|
||||||
|
modifyMoltres($moltres);
|
||||||
save_pc_changes( $save, $pc );
|
save_pc_changes( $save, $pc );
|
||||||
save_changes( @saves, $extra, $output );
|
save_changes( @saves, $extra, $output );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub modifyLarvitar($pokemon) {
|
sub modifyMoltres($pokemon) {
|
||||||
print Data::Dumper::Dumper $pokemon;
|
print Data::Dumper::Dumper $pokemon;
|
||||||
|
$pokemon->{personality} = 0x336E4D34;
|
||||||
|
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, $ability
|
||||||
|
) = ( 30, 18, 31, 30, 31, 31, 0 );
|
||||||
|
|
||||||
|
$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_FLAMETHROWER;
|
||||||
|
$pokemon->{substructures}[1]{movements}[1] = $MOVE_HIDDEN_POWER;
|
||||||
|
$pokemon->{substructures}[1]{movements}[2] = $MOVE_WILL_O_WISP;
|
||||||
|
$pokemon->{substructures}[1]{movements}[3] = $MOVE_ROAR;
|
||||||
|
$pokemon->{substructures}[0]{held_item} = $ITEM_LEFTOVERS;
|
||||||
|
print Data::Dumper::Dumper $pokemon;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub modifyLarvitar($pokemon) {
|
||||||
$pokemon->{personality} = 0x9CF2063B;
|
$pokemon->{personality} = 0x9CF2063B;
|
||||||
my $ivs_egg_status_and_ability =
|
my $ivs_egg_status_and_ability =
|
||||||
$pokemon->{substructures}[3]{ivs_egg_status_and_ability};
|
$pokemon->{substructures}[3]{ivs_egg_status_and_ability};
|
||||||
@ -80,7 +128,6 @@ sub modifyLarvitar($pokemon) {
|
|||||||
$pokemon->{substructures}[1]{movements}[2] = $MOVE_EARTHQUAKE;
|
$pokemon->{substructures}[1]{movements}[2] = $MOVE_EARTHQUAKE;
|
||||||
$pokemon->{substructures}[1]{movements}[3] = $MOVE_TAUNT;
|
$pokemon->{substructures}[1]{movements}[3] = $MOVE_TAUNT;
|
||||||
$pokemon->{substructures}[0]{held_item} = $ITEM_LEFTOVERS;
|
$pokemon->{substructures}[0]{held_item} = $ITEM_LEFTOVERS;
|
||||||
print Data::Dumper::Dumper $pokemon;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub modifyJolteon ($pokemon) {
|
sub modifyJolteon ($pokemon) {
|
||||||
|
BIN
moltres.gba
Normal file
BIN
moltres.gba
Normal file
Binary file not shown.
BIN
moltres.sav
Normal file
BIN
moltres.sav
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user