#!/usr/bin/env perl use v5.34.1; use strict; use warnings; 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 parse_version_name enable_deoxys_firered/; 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]; # Sightly more complex for other flags, take a look to enable_eon_ticket to see how it works. enable_deoxys_firered($save); save_changes( @saves, $extra, $output ); } start;