Compare commits

...

2 Commits

13 changed files with 11110 additions and 0 deletions

16
Build.PL Executable file
View File

@ -0,0 +1,16 @@
#!/usr/bin/env perl
use Module::Build;
my $home = $ENV{HOME};
my $build = Module::Build->new(
module_name => 'GEmeTool',
license => 'AGPLv3',
dist_author => 'Sergio Iglesias <contact@owlcode.tech>',
dist_abstract => 'Emerald save editor lib.',
requires => {
'Glib::IO' => 0,
'Glib::Object::Introspection' => 0,
},
);
$build->create_build_script;

13
lib/GEmeTool.pm Normal file
View File

@ -0,0 +1,13 @@
package Rsaves;
use v5.34.1;
use strict;
use warnings;
use feature 'signatures';
use Data::Dumper;
our $VERSION = 0;
1;

1251
lib/Rsaves.pm Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,169 @@
package Rsaves::Constants::Emerald::Rematches;
use v5.16.3;
use strict;
use warnings;
our $REMATCH_ROSE = 1;
our $REMATCH_ANDRES = 2;
our $REMATCH_DUSTY = 3;
our $REMATCH_LOLA = 4;
our $REMATCH_RICKY = 5;
our $REMATCH_LILA_AND_ROY = 6;
our $REMATCH_CRISTIN = 7;
our $REMATCH_BROOKE = 8;
our $REMATCH_WILTON = 9;
our $REMATCH_VALERIE = 10;
our $REMATCH_CINDY = 11;
our $REMATCH_THALIA = 12;
our $REMATCH_JESSICA = 13;
our $REMATCH_WINSTON = 14;
our $REMATCH_STEVE = 15;
our $REMATCH_TONY = 16;
our $REMATCH_NOB = 17;
our $REMATCH_KOJI = 18;
our $REMATCH_FERNANDO = 19;
our $REMATCH_DALTON = 20;
our $REMATCH_BERNIE = 21;
our $REMATCH_ETHAN = 22;
our $REMATCH_JOHN_AND_JAY = 23;
our $REMATCH_JEFFREY = 24;
our $REMATCH_CAMERON = 25;
our $REMATCH_JACKI = 26;
our $REMATCH_WALTER = 27;
our $REMATCH_KAREN = 28;
our $REMATCH_JERRY = 29;
our $REMATCH_ANNA_AND_MEG = 30;
our $REMATCH_ISABEL = 31;
our $REMATCH_MIGUEL = 32;
our $REMATCH_TIMOTHY = 33;
our $REMATCH_SHELBY = 34;
our $REMATCH_CALVIN = 35;
our $REMATCH_ELLIOT = 36;
our $REMATCH_ISAIAH = 37;
our $REMATCH_MARIA = 38;
our $REMATCH_ABIGAIL = 39;
our $REMATCH_DYLAN = 40;
our $REMATCH_KATELYN = 41;
our $REMATCH_BENJAMIN = 42;
our $REMATCH_PABLO = 43;
our $REMATCH_NICOLAS = 44;
our $REMATCH_ROBERT = 45;
our $REMATCH_LAO = 46;
our $REMATCH_CYNDY = 47;
our $REMATCH_MADELINE = 48;
our $REMATCH_JENNY = 49;
our $REMATCH_DIANA = 50;
our $REMATCH_AMY_AND_LIV = 51;
our $REMATCH_ERNEST = 52;
our $REMATCH_CORY = 53;
our $REMATCH_EDWIN = 54;
our $REMATCH_LYDIA = 55;
our $REMATCH_ISAAC = 56;
our $REMATCH_GABRIELLE = 57;
our $REMATCH_CATHERINE = 58;
our $REMATCH_JACKSON = 59;
our $REMATCH_HALEY = 60;
our $REMATCH_JAMES = 61;
our $REMATCH_TRENT = 62;
our $REMATCH_SAWYER = 63;
our $REMATCH_KIRA_AND_DAN = 64;
our $REMATCH_WALLY_VR = 65;
our $REMATCH_ROXANNE = 66;
our $REMATCH_BRAWLY = 67;
our $REMATCH_WATTSON = 68;
our $REMATCH_FLANNERY = 69;
our $REMATCH_NORMAN = 70;
our $REMATCH_WINONA = 71;
our $REMATCH_TATE_AND_LIZA = 72;
our $REMATCH_JUAN = 73;
our $REMATCH_SIDNEY = 74;
our $REMATCH_PHOEBE = 75;
our $REMATCH_GLACIA = 76;
our $REMATCH_DRAKE = 77;
our $REMATCH_WALLACE = 78;
our @REMATCHES = (
ROSE => $REMATCH_ROSE,
ANDRES => $REMATCH_ANDRES,
DUSTY => $REMATCH_DUSTY,
LOLA => $REMATCH_LOLA,
RICKY => $REMATCH_RICKY,
LILA_AND_ROY => $REMATCH_LILA_AND_ROY,
CRISTIN => $REMATCH_CRISTIN,
BROOKE => $REMATCH_BROOKE,
WILTON => $REMATCH_WILTON,
VALERIE => $REMATCH_VALERIE,
CINDY => $REMATCH_CINDY,
THALIA => $REMATCH_THALIA,
JESSICA => $REMATCH_JESSICA,
WINSTON => $REMATCH_WINSTON,
STEVE => $REMATCH_STEVE,
TONY => $REMATCH_TONY,
NOB => $REMATCH_NOB,
KOJI => $REMATCH_KOJI,
FERNANDO => $REMATCH_FERNANDO,
DALTON => $REMATCH_DALTON,
BERNIE => $REMATCH_BERNIE,
ETHAN => $REMATCH_ETHAN,
JOHN_AND_JAY => $REMATCH_JOHN_AND_JAY,
JEFFREY => $REMATCH_JEFFREY,
CAMERON => $REMATCH_CAMERON,
JACKI => $REMATCH_JACKI,
WALTER => $REMATCH_WALTER,
KAREN => $REMATCH_KAREN,
JERRY => $REMATCH_JERRY,
ANNA_AND_MEG => $REMATCH_ANNA_AND_MEG,
ISABEL => $REMATCH_ISABEL,
MIGUEL => $REMATCH_MIGUEL,
TIMOTHY => $REMATCH_TIMOTHY,
SHELBY => $REMATCH_SHELBY,
CALVIN => $REMATCH_CALVIN,
ELLIOT => $REMATCH_ELLIOT,
ISAIAH => $REMATCH_ISAIAH,
MARIA => $REMATCH_MARIA,
ABIGAIL => $REMATCH_ABIGAIL,
DYLAN => $REMATCH_DYLAN,
KATELYN => $REMATCH_KATELYN,
BENJAMIN => $REMATCH_BENJAMIN,
PABLO => $REMATCH_PABLO,
NICOLAS => $REMATCH_NICOLAS,
ROBERT => $REMATCH_ROBERT,
LAO => $REMATCH_LAO,
CYNDY => $REMATCH_CYNDY,
MADELINE => $REMATCH_MADELINE,
JENNY => $REMATCH_JENNY,
DIANA => $REMATCH_DIANA,
AMY_AND_LIV => $REMATCH_AMY_AND_LIV,
ERNEST => $REMATCH_ERNEST,
CORY => $REMATCH_CORY,
EDWIN => $REMATCH_EDWIN,
LYDIA => $REMATCH_LYDIA,
ISAAC => $REMATCH_ISAAC,
GABRIELLE => $REMATCH_GABRIELLE,
CATHERINE => $REMATCH_CATHERINE,
JACKSON => $REMATCH_JACKSON,
HALEY => $REMATCH_HALEY,
JAMES => $REMATCH_JAMES,
TRENT => $REMATCH_TRENT,
SAWYER => $REMATCH_SAWYER,
KIRA_AND_DAN => $REMATCH_KIRA_AND_DAN,
WALLY_VR => $REMATCH_WALLY_VR,
ROXANNE => $REMATCH_ROXANNE,
BRAWLY => $REMATCH_BRAWLY,
WATTSON => $REMATCH_WATTSON,
FLANNERY => $REMATCH_FLANNERY,
NORMAN => $REMATCH_NORMAN,
WINONA => $REMATCH_WINONA,
TATE_AND_LIZA => $REMATCH_TATE_AND_LIZA,
JUAN => $REMATCH_JUAN,
SIDNEY => $REMATCH_SIDNEY,
PHOEBE => $REMATCH_PHOEBE,
GLACIA => $REMATCH_GLACIA,
DRAKE => $REMATCH_DRAKE,
WALLACE => $REMATCH_WALLACE,
);
@REMATCHES = (@REMATCHES, reverse %{{@REMATCHES}});
1;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,327 @@
package Rsaves::Constants::Firered::Vars;
use v5.34.1;
use strict;
use warnings;
use Exporter;
use parent 'Exporter';
my $text = '#define VARS_START 0x4000
#define TEMP_VARS_START 0x4000
#define VAR_TEMP_0 (TEMP_VARS_START + 0x0)
#define VAR_TEMP_1 (TEMP_VARS_START + 0x1)
#define VAR_TEMP_2 (TEMP_VARS_START + 0x2)
#define VAR_TEMP_3 (TEMP_VARS_START + 0x3)
#define VAR_TEMP_4 (TEMP_VARS_START + 0x4)
#define VAR_TEMP_5 (TEMP_VARS_START + 0x5)
#define VAR_TEMP_6 (TEMP_VARS_START + 0x6)
#define VAR_TEMP_7 (TEMP_VARS_START + 0x7)
#define VAR_TEMP_8 (TEMP_VARS_START + 0x8)
#define VAR_TEMP_9 (TEMP_VARS_START + 0x9)
#define VAR_TEMP_A (TEMP_VARS_START + 0xA)
#define VAR_TEMP_B (TEMP_VARS_START + 0xB)
#define VAR_TEMP_C (TEMP_VARS_START + 0xC)
#define VAR_TEMP_D (TEMP_VARS_START + 0xD)
#define VAR_TEMP_E (TEMP_VARS_START + 0xE)
#define VAR_TEMP_F (TEMP_VARS_START + 0xF)
#define TEMP_VARS_END VAR_TEMP_F
#define VAR_OBJ_GFX_ID_0 0x4010
#define VAR_OBJ_GFX_ID_1 0x4011
#define VAR_OBJ_GFX_ID_2 0x4012
#define VAR_OBJ_GFX_ID_3 0x4013
#define VAR_OBJ_GFX_ID_4 0x4014
#define VAR_OBJ_GFX_ID_5 0x4015
#define VAR_OBJ_GFX_ID_6 0x4016
#define VAR_OBJ_GFX_ID_7 0x4017
#define VAR_OBJ_GFX_ID_8 0x4018
#define VAR_OBJ_GFX_ID_9 0x4019
#define VAR_OBJ_GFX_ID_A 0x401A
#define VAR_OBJ_GFX_ID_B 0x401B
#define VAR_OBJ_GFX_ID_C 0x401C
#define VAR_OBJ_GFX_ID_D 0x401D
#define VAR_OBJ_GFX_ID_E 0x401E
#define VAR_OBJ_GFX_ID_F 0x401F
#define VAR_REPEL_STEP_COUNT 0x4020
#define VAR_HAPPINESS_STEP_COUNTER 0x4021
#define VAR_POISON_STEP_COUNTER 0x4022
#define VAR_RENEWABLE_ITEM_STEP_COUNTER 0x4023
#define VAR_ALTERING_CAVE_WILD_SET 0x4024
#define VAR_MASSAGE_COOLDOWN_STEP_COUNTER 0x4025
#define VAR_DEOXYS_INTERACTION_STEP_COUNTER 0x4026
#define VAR_QUEST_LOG_MON_COUNTS 0x4027
#define VAR_WONDER_NEWS_STEP_COUNTER 0x4028
#define VAR_0x4029 0x4029
#define VAR_0x402A 0x402A
#define VAR_0x402B 0x402B
#define VAR_0x402C 0x402C
#define VAR_0x402D 0x402D
#define VAR_0x402E 0x402E
#define VAR_0x402F 0x402F
#define VAR_ICE_STEP_COUNT 0x4030
#define VAR_STARTER_MON 0x4031
#define VAR_RESET_RTC_ENABLE 0x4032
#define VAR_ENIGMA_BERRY_AVAILABLE 0x4033
#define VAR_0x4034 0x4034
#define VAR_RESORT_GOREGEOUS_STEP_COUNTER 0x4035
#define VAR_RESORT_GORGEOUS_REQUESTED_MON 0x4036
#define VAR_PC_BOX_TO_SEND_MON 0x4037
#define VAR_FANCLUB_FAN_COUNTER 0x4038
#define VAR_FANCLUB_LOSE_FAN_TIMER 0x4039
#define VAR_ELEVATOR_FLOOR 0x403A
#define VAR_RESORT_GORGEOUS_REWARD 0x403B
#define VAR_0x403C 0x403C
#define VAR_HERACROSS_SIZE_RECORD 0x403D
#define VAR_DEOXYS_INTERACTION_NUM 0x403E
#define VAR_0x403F 0x403F
#define VAR_MAGIKARP_SIZE_RECORD 0x4040
#define VAR_0x4041 0x4041
#define VAR_TRAINER_CARD_MON_ICON_TINT_IDX 0x4042
#define VAR_TRAINER_CARD_MON_ICON_1 0x4043
#define VAR_TRAINER_CARD_MON_ICON_2 0x4044
#define VAR_TRAINER_CARD_MON_ICON_3 0x4045
#define VAR_TRAINER_CARD_MON_ICON_4 0x4046
#define VAR_TRAINER_CARD_MON_ICON_5 0x4047
#define VAR_TRAINER_CARD_MON_ICON_6 0x4048
#define VAR_HOF_BRAG_STATE 0x4049
#define VAR_EGG_BRAG_STATE 0x404A
#define VAR_LINK_WIN_BRAG_STATE 0x404B
#define VAR_POKELOT_RND2 0x404C
#define VAR_QL_ENTRANCE 0x404D
#define VAR_NATIONAL_DEX 0x404E
#define VAR_LOTAD_SIZE_RECORD 0x404F
#define VAR_MAP_SCENE_PALLET_TOWN_OAK 0x4050
#define VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN 0x4051
#define VAR_MAP_SCENE_CERULEAN_CITY_RIVAL 0x4052
#define VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER 0x4053
#define VAR_MAP_SCENE_ROUTE22 0x4054
#define VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB 0x4055
#define VAR_MAP_SCENE_PALLET_TOWN_PLAYERS_HOUSE_2F 0x4056
#define VAR_MAP_SCENE_VIRIDIAN_CITY_MART 0x4057
#define VAR_MAP_SCENE_PALLET_TOWN_RIVALS_HOUSE 0x4058
#define VAR_MAP_SCENE_POKEMON_TOWER_6F 0x4059
#define VAR_MAP_SCENE_VIRIDIAN_CITY_GYM_DOOR 0x405A
#define VAR_MAP_SCENE_S_S_ANNE_2F_CORRIDOR 0x405B
#define VAR_MAP_SCENE_SILPH_CO_7F 0x405C
#define VAR_MAP_SCENE_POKEMON_TOWER_2F 0x405D
#define VAR_MAP_SCENE_ROUTE16 0x405E
#define VAR_MAP_SCENE_ROUTE23 0x405F
#define VAR_MAP_SCENE_SILPH_CO_11F 0x4060
#define VAR_MAP_SCENE_PEWTER_CITY_MUSEUM_1F 0x4061
#define VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES 0x4062
#define VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F 0x4063
#define VAR_MAP_SCENE_VICTORY_ROAD_1F 0x4064
#define VAR_MAP_SCENE_VICTORY_ROAD_2F_BOULDER1 0x4065
#define VAR_MAP_SCENE_VICTORY_ROAD_2F_BOULDER2 0x4066
#define VAR_MAP_SCENE_VICTORY_ROAD_3F 0x4067
#define VAR_MAP_SCENE_POKEMON_LEAGUE 0x4068
#define VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL 0x4069
#define VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE 0x406A
#define VAR_MAP_SCENE_ROUTE24 0x406B
#define VAR_MAP_SCENE_PEWTER_CITY 0x406C
#define VAR_0x406D 0x406D
#define VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE 0x406E
#define VAR_CABLE_CLUB_STATE 0x406F
#define VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY 0x4070
#define VAR_MAP_SCENE_CINNABAR_ISLAND 0x4071
#define VAR_0x4072 0x4072
#define VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB 0x4073
#define VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1 0x4074
#define VAR_MAP_SCENE_ONE_ISLAND_HARBOR 0x4075
#define VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F 0x4076
#define VAR_0x4077 0x4077
#define VAR_MAP_SCENE_TWO_ISLAND 0x4078
#define VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER 0x4079
#define VAR_0x407A 0x407A
#define VAR_MAP_SCENE_THREE_ISLAND 0x407B
#define VAR_MAP_SCENE_POKEMON_CENTER_TEALA 0x407C
#define VAR_MAP_SCENE_CERULEAN_CITY_ROCKET 0x407D
#define VAR_MAP_SCENE_VERMILION_CITY 0x407E
#define VAR_MAP_SCENE_MT_EMBER_EXTERIOR 0x407F
#define VAR_MAP_SCENE_ICEFALL_CAVE_BACK 0x4080
#define VAR_MAP_SCENE_SAFFRON_CITY_DOJO 0x4081
#define VAR_MAP_SCENE_TRAINER_TOWER 0x4082
#define VAR_MAP_SCENE_FIVE_ISLAND_LOST_CAVE_ROOM10 0x4083
#define VAR_MAP_SCENE_FIVE_ISLAND_RESORT_GORGEOUS 0x4084
#define VAR_MAP_SCENE_INDIGO_PLATEAU_EXTERIOR 0x4085
#define VAR_MAP_SCENE_FOUR_ISLAND 0x4086
#define VAR_0x4087 0x4087
#define VAR_MAP_SCENE_ROCKET_WAREHOUSE 0x4088
#define VAR_MAP_SCENE_SIX_ISLAND_POKEMON_CENTER_1F 0x4089
#define VAR_MAP_SCENE_CINNABAR_ISLAND_2 0x408A
#define VAR_MAP_SCENE_MT_MOON_B2F 0x408B
#define VAR_0x408C 0x408C
#define VAR_0x408D 0x408D
#define VAR_0x408E 0x408E
#define VAR_0x408F 0x408F
#define VAR_0x4090 0x4090
#define VAR_0x4091 0x4091
#define VAR_0x4092 0x4092
#define VAR_0x4093 0x4093
#define VAR_0x4094 0x4094
#define VAR_0x4095 0x4095
#define VAR_0x4096 0x4096
#define VAR_0x4097 0x4097
#define VAR_0x4098 0x4098
#define VAR_0x4099 0x4099
#define VAR_0x409A 0x409A
#define VAR_0x409B 0x409B
#define VAR_0x409C 0x409C
#define VAR_0x409D 0x409D
#define VAR_0x409E 0x409E
#define VAR_0x409F 0x409F
#define VAR_0x40A0 0x40A0
#define VAR_0x40A1 0x40A1
#define VAR_0x40A2 0x40A2
#define VAR_0x40A3 0x40A3
#define VAR_0x40A4 0x40A4
#define VAR_0x40A5 0x40A5
#define VAR_0x40A6 0x40A6
#define VAR_0x40A7 0x40A7
#define VAR_0x40A8 0x40A8
#define VAR_0x40A9 0x40A9
#define VAR_QLBAK_TRAINER_REMATCHES 0x40AA
#define VAR_QLBAK_MAP_LAYOUT 0x40AE
#define VAR_0x40AF 0x40AF
#define VAR_0x40B0 0x40B0
#define VAR_0x40B1 0x40B1
#define VAR_0x40B2 0x40B2
#define VAR_0x40B3 0x40B3
#define VAR_PORTHOLE 0x40B4
#define VAR_EVENT_PICHU_SLOT 0x40B5
#define VAR_MYSTERY_GIFT_1 0x40B6
#define VAR_MYSTERY_GIFT_2 0x40B7
#define VAR_MYSTERY_GIFT_3 0x40B8
#define VAR_MYSTERY_GIFT_4 0x40B9
#define VAR_MYSTERY_GIFT_5 0x40BA
#define VAR_MYSTERY_GIFT_6 0x40BB
#define VAR_MYSTERY_GIFT_7 0x40BC
#define VAR_0x40BD 0x40BD
#define VAR_0x40BE 0x40BE
#define VAR_0x40BF 0x40BF
#define VAR_0x40C0 0x40C0
#define VAR_0x40C1 0x40C1
#define VAR_0x40C2 0x40C2
#define VAR_0x40C3 0x40C3
#define VAR_0x40C4 0x40C4
#define VAR_0x40C5 0x40C5
#define VAR_0x40C6 0x40C6
#define VAR_0x40C7 0x40C7
#define VAR_0x40C8 0x40C8
#define VAR_0x40C9 0x40C9
#define VAR_0x40CA 0x40CA
#define VAR_0x40CB 0x40CB
#define VAR_0x40CC 0x40CC
#define VAR_0x40CD 0x40CD
#define VAR_0x40CE 0x40CE
#define VAR_FRONTIER_FACILITY 0x40CF
#define VAR_0x40D0 0x40D0
#define VAR_0x40D1 0x40D1
#define VAR_0x40D2 0x40D2
#define VAR_0x40D3 0x40D3
#define VAR_0x40D4 0x40D4
#define VAR_0x40D5 0x40D5
#define VAR_0x40D6 0x40D6
#define VAR_0x40D7 0x40D7
#define VAR_0x40D8 0x40D8
#define VAR_0x40D9 0x40D9
#define VAR_0x40DA 0x40DA
#define VAR_0x40DB 0x40DB
#define VAR_0x40DC 0x40DC
#define VAR_0x40DD 0x40DD
#define VAR_0x40DE 0x40DE
#define VAR_0x40DF 0x40DF
#define VAR_0x40E0 0x40E0
#define VAR_0x40E1 0x40E1
#define VAR_0x40E2 0x40E2
#define VAR_0x40E3 0x40E3
#define VAR_0x40E4 0x40E4
#define VAR_0x40E5 0x40E5
#define VAR_DAILY_SLOTS 0x40E6
#define VAR_DAILY_WILDS 0x40E7
#define VAR_DAILY_BLENDER 0x40E8
#define VAR_DAILY_PLANTED_BERRIES 0x40E9
#define VAR_DAILY_PICKED_BERRIES 0x40EA
#define VAR_DAILY_ROULETTE 0x40EB
#define VAR_0x40EC 0x40EC
#define VAR_0x40ED 0x40ED
#define VAR_0x40EE 0x40EE
#define VAR_0x40EF 0x40EF
#define VAR_0x40F0 0x40F0
#define VAR_DAILY_BP 0x40F1
#define VAR_0x40F2 0x40F2
#define VAR_0x40F3 0x40F3
#define VAR_0x40F4 0x40F4
#define VAR_0x40F5 0x40F5
#define VAR_0x40F6 0x40F6
#define VAR_0x40F7 0x40F7
#define VAR_0x40F8 0x40F8
#define VAR_0x40F9 0x40F9
#define VAR_0x40FA 0x40FA
#define VAR_0x40FB 0x40FB
#define VAR_0x40FC 0x40FC
#define VAR_0x40FD 0x40FD
#define VAR_0x40FE 0x40FE
#define VAR_0x40FF 0x40FF
#define VARS_END 0x40FF
#define VARS_COUNT (VARS_END - VARS_START + 1)
#define SPECIAL_VARS_START 0x8000
#define VAR_0x8000 0x8000
#define VAR_0x8001 0x8001
#define VAR_0x8002 0x8002
#define VAR_0x8003 0x8003
#define VAR_0x8004 0x8004
#define VAR_0x8005 0x8005
#define VAR_0x8006 0x8006
#define VAR_0x8007 0x8007
#define VAR_0x8008 0x8008
#define VAR_0x8009 0x8009
#define VAR_0x800A 0x800A
#define VAR_0x800B 0x800B
#define VAR_FACING 0x800C
#define VAR_RESULT 0x800D
#define VAR_ITEM_ID 0x800E
#define VAR_LAST_TALKED 0x800F
#define VAR_MON_BOX_ID 0x8010
#define VAR_MON_BOX_POS 0x8011
#define VAR_TEXT_COLOR 0x8012
#define VAR_PREV_TEXT_COLOR 0x8013
#define VAR_0x8014 0x8014
#define SPECIAL_VARS_END 0x8014
#define NPC_TEXT_COLOR_MALE 0
#define NPC_TEXT_COLOR_FEMALE 1
#define NPC_TEXT_COLOR_MON 2
#define NPC_TEXT_COLOR_NEUTRAL 3
#define NPC_TEXT_COLOR_DEFAULT 255';
our @EXPORT_OK;
open my $fh, '<', \$text;
my $eval = "";
my @vars;
while (my $line = <$fh>) {
next if $line =~ /^\s*$/;
my ($var, $value) = $line =~ /^\s*#define\s+(\w+)\s+(.*)$/;
push @vars, "\$$var";
$value =~ s/\b([_a-zA-Z]+)\b/\$$1/g;
$eval.="our \$$var = $value;\n";
$eval.="push \@EXPORT_OK, \"\\\$$var\";\n";
}
close $fh;
eval $eval;
if ($@) {
die $@;
}
1;

View File

@ -0,0 +1,901 @@
package Rsaves::Constants::Global;
use v5.34.1;
use strict;
use warnings;
use Exporter;
use parent 'Exporter';
our $SAPPHIRE_VERSION = 1;
our $RUBY_VERSION = 2;
our $EMERALD_VERSION = 3;
our $FIRERED_VERSION = 4;
our $LEAFGREEN_VERSION = 5;
our $COLOSSEUM_VERSION = 15;
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 $ITEM_NONE = 0;
our $ITEM_MASTER_BALL = 1;
our $ITEM_ULTRA_BALL = 2;
our $ITEM_GREAT_BALL = 3;
our $ITEM_POKE_BALL = 4;
our $ITEM_SAFARI_BALL = 5;
our $ITEM_NET_BALL = 6;
our $ITEM_DIVE_BALL = 7;
our $ITEM_NEST_BALL = 8;
our $ITEM_REPEAT_BALL = 9;
our $ITEM_TIMER_BALL = 10;
our $ITEM_LUXURY_BALL = 11;
our $ITEM_PREMIER_BALL = 12;
our $ITEM_POTION = 13;
our $ITEM_ANTIDOTE = 14;
our $ITEM_BURN_HEAL = 15;
our $ITEM_ICE_HEAL = 16;
our $ITEM_AWAKENING = 17;
our $ITEM_PARALYZE_HEAL = 18;
our $ITEM_FULL_RESTORE = 19;
our $ITEM_MAX_POTION = 20;
our $ITEM_HYPER_POTION = 21;
our $ITEM_SUPER_POTION = 22;
our $ITEM_FULL_HEAL = 23;
our $ITEM_REVIVE = 24;
our $ITEM_MAX_REVIVE = 25;
our $ITEM_FRESH_WATER = 26;
our $ITEM_SODA_POP = 27;
our $ITEM_LEMONADE = 28;
our $ITEM_MOOMOO_MILK = 29;
our $ITEM_ENERGY_POWDER = 30;
our $ITEM_ENERGY_ROOT = 31;
our $ITEM_HEAL_POWDER = 32;
our $ITEM_REVIVAL_HERB = 33;
our $ITEM_ETHER = 34;
our $ITEM_MAX_ETHER = 35;
our $ITEM_ELIXIR = 36;
our $ITEM_MAX_ELIXIR = 37;
our $ITEM_LAVA_COOKIE = 38;
our $ITEM_BLUE_FLUTE = 39;
our $ITEM_YELLOW_FLUTE = 40;
our $ITEM_RED_FLUTE = 41;
our $ITEM_BLACK_FLUTE = 42;
our $ITEM_WHITE_FLUTE = 43;
our $ITEM_BERRY_JUICE = 44;
our $ITEM_SACRED_ASH = 45;
our $ITEM_SHOAL_SALT = 46;
our $ITEM_SHOAL_SHELL = 47;
our $ITEM_RED_SHARD = 48;
our $ITEM_BLUE_SHARD = 49;
our $ITEM_YELLOW_SHARD = 50;
our $ITEM_GREEN_SHARD = 51;
our $ITEM_034 = 52;
our $ITEM_035 = 53;
our $ITEM_036 = 54;
our $ITEM_037 = 55;
our $ITEM_038 = 56;
our $ITEM_039 = 57;
our $ITEM_03A = 58;
our $ITEM_03B = 59;
our $ITEM_03C = 60;
our $ITEM_03D = 61;
our $ITEM_03E = 62;
our $ITEM_HP_UP = 63;
our $ITEM_PROTEIN = 64;
our $ITEM_IRON = 65;
our $ITEM_CARBOS = 66;
our $ITEM_CALCIUM = 67;
our $ITEM_RARE_CANDY = 68;
our $ITEM_PP_UP = 69;
our $ITEM_ZINC = 70;
our $ITEM_PP_MAX = 71;
our $ITEM_048 = 72;
our $ITEM_GUARD_SPEC = 73;
our $ITEM_DIRE_HIT = 74;
our $ITEM_X_ATTACK = 75;
our $ITEM_X_DEFEND = 76;
our $ITEM_X_SPEED = 77;
our $ITEM_X_ACCURACY = 78;
our $ITEM_X_SPECIAL = 79;
our $ITEM_POKE_DOLL = 80;
our $ITEM_FLUFFY_TAIL = 81;
our $ITEM_052 = 82;
our $ITEM_SUPER_REPEL = 83;
our $ITEM_MAX_REPEL = 84;
our $ITEM_ESCAPE_ROPE = 85;
our $ITEM_REPEL = 86;
our $ITEM_057 = 87;
our $ITEM_058 = 88;
our $ITEM_059 = 89;
our $ITEM_05A = 90;
our $ITEM_05B = 91;
our $ITEM_05C = 92;
our $ITEM_SUN_STONE = 93;
our $ITEM_MOON_STONE = 94;
our $ITEM_FIRE_STONE = 95;
our $ITEM_THUNDER_STONE = 96;
our $ITEM_WATER_STONE = 97;
our $ITEM_LEAF_STONE = 98;
our $ITEM_063 = 99;
our $ITEM_064 = 100;
our $ITEM_065 = 101;
our $ITEM_066 = 102;
our $ITEM_TINY_MUSHROOM = 103;
our $ITEM_BIG_MUSHROOM = 104;
our $ITEM_069 = 105;
our $ITEM_PEARL = 106;
our $ITEM_BIG_PEARL = 107;
our $ITEM_STARDUST = 108;
our $ITEM_STAR_PIECE = 109;
our $ITEM_NUGGET = 110;
our $ITEM_HEART_SCALE = 111;
our $ITEM_070 = 112;
our $ITEM_071 = 113;
our $ITEM_072 = 114;
our $ITEM_073 = 115;
our $ITEM_074 = 116;
our $ITEM_075 = 117;
our $ITEM_076 = 118;
our $ITEM_077 = 119;
our $ITEM_078 = 120;
our $ITEM_ORANGE_MAIL = 121;
our $ITEM_HARBOR_MAIL = 122;
our $ITEM_GLITTER_MAIL = 123;
our $ITEM_MECH_MAIL = 124;
our $ITEM_WOOD_MAIL = 125;
our $ITEM_WAVE_MAIL = 126;
our $ITEM_BEAD_MAIL = 127;
our $ITEM_SHADOW_MAIL = 128;
our $ITEM_TROPIC_MAIL = 129;
our $ITEM_DREAM_MAIL = 130;
our $ITEM_FAB_MAIL = 131;
our $ITEM_RETRO_MAIL = 132;
our $ITEM_CHERI_BERRY = 133;
our $ITEM_CHESTO_BERRY = 134;
our $ITEM_PECHA_BERRY = 135;
our $ITEM_RAWST_BERRY = 136;
our $ITEM_ASPEAR_BERRY = 137;
our $ITEM_LEPPA_BERRY = 138;
our $ITEM_ORAN_BERRY = 139;
our $ITEM_PERSIM_BERRY = 140;
our $ITEM_LUM_BERRY = 141;
our $ITEM_SITRUS_BERRY = 142;
our $ITEM_FIGY_BERRY = 143;
our $ITEM_WIKI_BERRY = 144;
our $ITEM_MAGO_BERRY = 145;
our $ITEM_AGUAV_BERRY = 146;
our $ITEM_IAPAPA_BERRY = 147;
our $ITEM_RAZZ_BERRY = 148;
our $ITEM_BLUK_BERRY = 149;
our $ITEM_NANAB_BERRY = 150;
our $ITEM_WEPEAR_BERRY = 151;
our $ITEM_PINAP_BERRY = 152;
our $ITEM_POMEG_BERRY = 153;
our $ITEM_KELPSY_BERRY = 154;
our $ITEM_QUALOT_BERRY = 155;
our $ITEM_HONDEW_BERRY = 156;
our $ITEM_GREPA_BERRY = 157;
our $ITEM_TAMATO_BERRY = 158;
our $ITEM_CORNN_BERRY = 159;
our $ITEM_MAGOST_BERRY = 160;
our $ITEM_RABUTA_BERRY = 161;
our $ITEM_NOMEL_BERRY = 162;
our $ITEM_SPELON_BERRY = 163;
our $ITEM_PAMTRE_BERRY = 164;
our $ITEM_WATMEL_BERRY = 165;
our $ITEM_DURIN_BERRY = 166;
our $ITEM_BELUE_BERRY = 167;
our $ITEM_LIECHI_BERRY = 168;
our $ITEM_GANLON_BERRY = 169;
our $ITEM_SALAC_BERRY = 170;
our $ITEM_PETAYA_BERRY = 171;
our $ITEM_APICOT_BERRY = 172;
our $ITEM_LANSAT_BERRY = 173;
our $ITEM_STARF_BERRY = 174;
our $ITEM_ENIGMA_BERRY = 175;
our $ITEM_0B0 = 176;
our $ITEM_0B1 = 177;
our $ITEM_0B2 = 178;
our $ITEM_BRIGHT_POWDER = 179;
our $ITEM_WHITE_HERB = 180;
our $ITEM_MACHO_BRACE = 181;
our $ITEM_EXP_SHARE = 182;
our $ITEM_QUICK_CLAW = 183;
our $ITEM_SOOTHE_BELL = 184;
our $ITEM_MENTAL_HERB = 185;
our $ITEM_CHOICE_BAND = 186;
our $ITEM_KINGS_ROCK = 187;
our $ITEM_SILVER_POWDER = 188;
our $ITEM_AMULET_COIN = 189;
our $ITEM_CLEANSE_TAG = 190;
our $ITEM_SOUL_DEW = 191;
our $ITEM_DEEP_SEA_TOOTH = 192;
our $ITEM_DEEP_SEA_SCALE = 193;
our $ITEM_SMOKE_BALL = 194;
our $ITEM_EVERSTONE = 195;
our $ITEM_FOCUS_BAND = 196;
our $ITEM_LUCKY_EGG = 197;
our $ITEM_SCOPE_LENS = 198;
our $ITEM_METAL_COAT = 199;
our $ITEM_LEFTOVERS = 200;
our $ITEM_DRAGON_SCALE = 201;
our $ITEM_LIGHT_BALL = 202;
our $ITEM_SOFT_SAND = 203;
our $ITEM_HARD_STONE = 204;
our $ITEM_MIRACLE_SEED = 205;
our $ITEM_BLACK_GLASSES = 206;
our $ITEM_BLACK_BELT = 207;
our $ITEM_MAGNET = 208;
our $ITEM_MYSTIC_WATER = 209;
our $ITEM_SHARP_BEAK = 210;
our $ITEM_POISON_BARB = 211;
our $ITEM_NEVER_MELT_ICE = 212;
our $ITEM_SPELL_TAG = 213;
our $ITEM_TWISTED_SPOON = 214;
our $ITEM_CHARCOAL = 215;
our $ITEM_DRAGON_FANG = 216;
our $ITEM_SILK_SCARF = 217;
our $ITEM_UP_GRADE = 218;
our $ITEM_SHELL_BELL = 219;
our $ITEM_SEA_INCENSE = 220;
our $ITEM_LAX_INCENSE = 221;
our $ITEM_LUCKY_PUNCH = 222;
our $ITEM_METAL_POWDER = 223;
our $ITEM_THICK_CLUB = 224;
our $ITEM_STICK = 225;
our $ITEM_0E2 = 226;
our $ITEM_0E3 = 227;
our $ITEM_0E4 = 228;
our $ITEM_0E5 = 229;
our $ITEM_0E6 = 230;
our $ITEM_0E7 = 231;
our $ITEM_0E8 = 232;
our $ITEM_0E9 = 233;
our $ITEM_0EA = 234;
our $ITEM_0EB = 235;
our $ITEM_0EC = 236;
our $ITEM_0ED = 237;
our $ITEM_0EE = 238;
our $ITEM_0EF = 239;
our $ITEM_0F0 = 240;
our $ITEM_0F1 = 241;
our $ITEM_0F2 = 242;
our $ITEM_0F3 = 243;
our $ITEM_0F4 = 244;
our $ITEM_0F5 = 245;
our $ITEM_0F6 = 246;
our $ITEM_0F7 = 247;
our $ITEM_0F8 = 248;
our $ITEM_0F9 = 249;
our $ITEM_0FA = 250;
our $ITEM_0FB = 251;
our $ITEM_0FC = 252;
our $ITEM_0FD = 253;
our $ITEM_RED_SCARF = 254;
our $ITEM_BLUE_SCARF = 255;
our $ITEM_PINK_SCARF = 256;
our $ITEM_GREEN_SCARF = 257;
our $ITEM_YELLOW_SCARF = 258;
our $ITEM_MACH_BIKE = 259;
our $ITEM_COIN_CASE = 260;
our $ITEM_ITEMFINDER = 261;
our $ITEM_OLD_ROD = 262;
our $ITEM_GOOD_ROD = 263;
our $ITEM_SUPER_ROD = 264;
our $ITEM_SS_TICKET = 265;
our $ITEM_CONTEST_PASS = 266;
our $ITEM_10B = 267;
our $ITEM_WAILMER_PAIL = 268;
our $ITEM_DEVON_GOODS = 269;
our $ITEM_SOOT_SACK = 270;
our $ITEM_BASEMENT_KEY = 271;
our $ITEM_ACRO_BIKE = 272;
our $ITEM_POKEBLOCK_CASE = 273;
our $ITEM_LETTER = 274;
our $ITEM_EON_TICKET = 275;
our $ITEM_RED_ORB = 276;
our $ITEM_BLUE_ORB = 277;
our $ITEM_SCANNER = 278;
our $ITEM_GO_GOGGLES = 279;
our $ITEM_METEORITE = 280;
our $ITEM_ROOM_1_KEY = 281;
our $ITEM_ROOM_2_KEY = 282;
our $ITEM_ROOM_4_KEY = 283;
our $ITEM_ROOM_6_KEY = 284;
our $ITEM_STORAGE_KEY = 285;
our $ITEM_ROOT_FOSSIL = 286;
our $ITEM_CLAW_FOSSIL = 287;
our $ITEM_DEVON_SCOPE = 288;
our $ITEM_TM01_FOCUS_PUNCH = 289;
our $ITEM_TM02_DRAGON_CLAW = 290;
our $ITEM_TM03_WATER_PULSE = 291;
our $ITEM_TM04_CALM_MIND = 292;
our $ITEM_TM05_ROAR = 293;
our $ITEM_TM06_TOXIC = 294;
our $ITEM_TM07_HAIL = 295;
our $ITEM_TM08_BULK_UP = 296;
our $ITEM_TM09_BULLET_SEED = 297;
our $ITEM_TM10_HIDDEN_POWER = 298;
our $ITEM_TM11_SUNNY_DAY = 299;
our $ITEM_TM12_TAUNT = 300;
our $ITEM_TM13_ICE_BEAM = 301;
our $ITEM_TM14_BLIZZARD = 302;
our $ITEM_TM15_HYPER_BEAM = 303;
our $ITEM_TM16_LIGHT_SCREEN = 304;
our $ITEM_TM17_PROTECT = 305;
our $ITEM_TM18_RAIN_DANCE = 306;
our $ITEM_TM19_GIGA_DRAIN = 307;
our $ITEM_TM20_SAFEGUARD = 308;
our $ITEM_TM21_FRUSTRATION = 309;
our $ITEM_TM22_SOLARBEAM = 310;
our $ITEM_TM23_IRON_TAIL = 311;
our $ITEM_TM24_THUNDERBOLT = 312;
our $ITEM_TM25_THUNDER = 313;
our $ITEM_TM26_EARTHQUAKE = 314;
our $ITEM_TM27_RETURN = 315;
our $ITEM_TM28_DIG = 316;
our $ITEM_TM29_PSYCHIC = 317;
our $ITEM_TM30_SHADOW_BALL = 318;
our $ITEM_TM31_BRICK_BREAK = 319;
our $ITEM_TM32_DOUBLE_TEAM = 320;
our $ITEM_TM33_REFLECT = 321;
our $ITEM_TM34_SHOCK_WAVE = 322;
our $ITEM_TM35_FLAMETHROWER = 323;
our $ITEM_TM36_SLUDGE_BOMB = 324;
our $ITEM_TM37_SANDSTORM = 325;
our $ITEM_TM38_FIRE_BLAST = 326;
our $ITEM_TM39_ROCK_TOMB = 327;
our $ITEM_TM40_AERIAL_ACE = 328;
our $ITEM_TM41_TORMENT = 329;
our $ITEM_TM42_FACADE = 330;
our $ITEM_TM43_SECRET_POWER = 331;
our $ITEM_TM44_REST = 332;
our $ITEM_TM45_ATTRACT = 333;
our $ITEM_TM46_THIEF = 334;
our $ITEM_TM47_STEEL_WING = 335;
our $ITEM_TM48_SKILL_SWAP = 336;
our $ITEM_TM49_SNATCH = 337;
our $ITEM_TM50_OVERHEAT = 338;
our $ITEM_HM01_CUT = 339;
our $ITEM_HM02_FLY = 340;
our $ITEM_HM03_SURF = 341;
our $ITEM_HM04_STRENGTH = 342;
our $ITEM_HM05_FLASH = 343;
our $ITEM_HM06_ROCK_SMASH = 344;
our $ITEM_HM07_WATERFALL = 345;
our $ITEM_HM08_DIVE = 346;
our $ITEM_15B = 347;
our $ITEM_15C = 348;
our $ITEMS_COUNT = 349;
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 $ITEM_NONE $ITEM_MASTER_BALL $ITEM_ULTRA_BALL
$ITEM_GREAT_BALL $ITEM_POKE_BALL $ITEM_SAFARI_BALL $ITEM_NET_BALL
$ITEM_DIVE_BALL $ITEM_NEST_BALL $ITEM_REPEAT_BALL $ITEM_TIMER_BALL
$ITEM_LUXURY_BALL $ITEM_PREMIER_BALL $ITEM_POTION $ITEM_ANTIDOTE
$ITEM_BURN_HEAL $ITEM_ICE_HEAL $ITEM_AWAKENING $ITEM_PARALYZE_HEAL
$ITEM_FULL_RESTORE $ITEM_MAX_POTION $ITEM_HYPER_POTION $ITEM_SUPER_POTION
$ITEM_FULL_HEAL $ITEM_REVIVE $ITEM_MAX_REVIVE $ITEM_FRESH_WATER
$ITEM_SODA_POP $ITEM_LEMONADE $ITEM_MOOMOO_MILK $ITEM_ENERGY_POWDER
$ITEM_ENERGY_ROOT $ITEM_HEAL_POWDER $ITEM_REVIVAL_HERB $ITEM_ETHER
$ITEM_MAX_ETHER $ITEM_ELIXIR $ITEM_MAX_ELIXIR $ITEM_LAVA_COOKIE
$ITEM_BLUE_FLUTE $ITEM_YELLOW_FLUTE $ITEM_RED_FLUTE $ITEM_BLACK_FLUTE
$ITEM_WHITE_FLUTE $ITEM_BERRY_JUICE $ITEM_SACRED_ASH $ITEM_SHOAL_SALT
$ITEM_SHOAL_SHELL $ITEM_RED_SHARD $ITEM_BLUE_SHARD $ITEM_YELLOW_SHARD
$ITEM_GREEN_SHARD $ITEM_034 $ITEM_035 $ITEM_036 $ITEM_037 $ITEM_038
$ITEM_039 $ITEM_03A $ITEM_03B $ITEM_03C $ITEM_03D $ITEM_03E $ITEM_HP_UP
$ITEM_PROTEIN $ITEM_IRON $ITEM_CARBOS $ITEM_CALCIUM $ITEM_RARE_CANDY
$ITEM_PP_UP $ITEM_ZINC $ITEM_PP_MAX $ITEM_048 $ITEM_GUARD_SPEC
$ITEM_DIRE_HIT $ITEM_X_ATTACK $ITEM_X_DEFEND $ITEM_X_SPEED $ITEM_X_ACCURACY
$ITEM_X_SPECIAL $ITEM_POKE_DOLL $ITEM_FLUFFY_TAIL $ITEM_052 $ITEM_SUPER_REPEL
$ITEM_MAX_REPEL $ITEM_ESCAPE_ROPE $ITEM_REPEL $ITEM_057 $ITEM_058
$ITEM_059 $ITEM_05A $ITEM_05B $ITEM_05C $ITEM_SUN_STONE $ITEM_MOON_STONE
$ITEM_FIRE_STONE $ITEM_THUNDER_STONE $ITEM_WATER_STONE $ITEM_LEAF_STONE
$ITEM_063 $ITEM_064 $ITEM_065 $ITEM_066 $ITEM_TINY_MUSHROOM $ITEM_BIG_MUSHROOM
$ITEM_069 $ITEM_PEARL $ITEM_BIG_PEARL $ITEM_STARDUST $ITEM_STAR_PIECE
$ITEM_NUGGET $ITEM_HEART_SCALE $ITEM_070 $ITEM_071 $ITEM_072
$ITEM_073 $ITEM_074 $ITEM_075 $ITEM_076 $ITEM_077 $ITEM_078 $ITEM_ORANGE_MAIL
$ITEM_HARBOR_MAIL $ITEM_GLITTER_MAIL $ITEM_MECH_MAIL $ITEM_WOOD_MAIL
$ITEM_WAVE_MAIL $ITEM_BEAD_MAIL $ITEM_SHADOW_MAIL $ITEM_TROPIC_MAIL
$ITEM_DREAM_MAIL $ITEM_FAB_MAIL $ITEM_RETRO_MAIL $ITEM_CHERI_BERRY
$ITEM_CHESTO_BERRY $ITEM_PECHA_BERRY $ITEM_RAWST_BERRY $ITEM_ASPEAR_BERRY
$ITEM_LEPPA_BERRY $ITEM_ORAN_BERRY $ITEM_PERSIM_BERRY $ITEM_LUM_BERRY
$ITEM_SITRUS_BERRY $ITEM_FIGY_BERRY $ITEM_WIKI_BERRY $ITEM_MAGO_BERRY
$ITEM_AGUAV_BERRY $ITEM_IAPAPA_BERRY $ITEM_RAZZ_BERRY $ITEM_BLUK_BERRY
$ITEM_NANAB_BERRY $ITEM_WEPEAR_BERRY $ITEM_PINAP_BERRY $ITEM_POMEG_BERRY
$ITEM_KELPSY_BERRY $ITEM_QUALOT_BERRY $ITEM_HONDEW_BERRY $ITEM_GREPA_BERRY
$ITEM_TAMATO_BERRY $ITEM_CORNN_BERRY $ITEM_MAGOST_BERRY $ITEM_RABUTA_BERRY
$ITEM_NOMEL_BERRY $ITEM_SPELON_BERRY $ITEM_PAMTRE_BERRY $ITEM_WATMEL_BERRY
$ITEM_DURIN_BERRY $ITEM_BELUE_BERRY $ITEM_LIECHI_BERRY $ITEM_GANLON_BERRY
$ITEM_SALAC_BERRY $ITEM_PETAYA_BERRY $ITEM_APICOT_BERRY $ITEM_LANSAT_BERRY
$ITEM_STARF_BERRY $ITEM_ENIGMA_BERRY $ITEM_0B0 $ITEM_0B1 $ITEM_0B2
$ITEM_BRIGHT_POWDER $ITEM_WHITE_HERB $ITEM_MACHO_BRACE $ITEM_EXP_SHARE
$ITEM_QUICK_CLAW $ITEM_SOOTHE_BELL $ITEM_MENTAL_HERB $ITEM_CHOICE_BAND
$ITEM_KINGS_ROCK $ITEM_SILVER_POWDER $ITEM_AMULET_COIN $ITEM_CLEANSE_TAG
$ITEM_SOUL_DEW $ITEM_DEEP_SEA_TOOTH $ITEM_DEEP_SEA_SCALE $ITEM_SMOKE_BALL
$ITEM_EVERSTONE $ITEM_FOCUS_BAND $ITEM_LUCKY_EGG $ITEM_SCOPE_LENS
$ITEM_METAL_COAT $ITEM_LEFTOVERS $ITEM_DRAGON_SCALE $ITEM_LIGHT_BALL
$ITEM_SOFT_SAND $ITEM_HARD_STONE $ITEM_MIRACLE_SEED $ITEM_BLACK_GLASSES
$ITEM_BLACK_BELT $ITEM_MAGNET $ITEM_MYSTIC_WATER $ITEM_SHARP_BEAK
$ITEM_POISON_BARB $ITEM_NEVER_MELT_ICE $ITEM_SPELL_TAG $ITEM_TWISTED_SPOON
$ITEM_CHARCOAL $ITEM_DRAGON_FANG $ITEM_SILK_SCARF $ITEM_UP_GRADE
$ITEM_SHELL_BELL $ITEM_SEA_INCENSE $ITEM_LAX_INCENSE $ITEM_LUCKY_PUNCH
$ITEM_METAL_POWDER $ITEM_THICK_CLUB $ITEM_STICK $ITEM_0E2 $ITEM_0E3
$ITEM_0E4 $ITEM_0E5 $ITEM_0E6 $ITEM_0E7 $ITEM_0E8 $ITEM_0E9 $ITEM_0EA
$ITEM_0EB $ITEM_0EC $ITEM_0ED $ITEM_0EE $ITEM_0EF $ITEM_0F0 $ITEM_0F1
$ITEM_0F2 $ITEM_0F3 $ITEM_0F4 $ITEM_0F5 $ITEM_0F6 $ITEM_0F7 $ITEM_0F8
$ITEM_0F9 $ITEM_0FA $ITEM_0FB $ITEM_0FC $ITEM_0FD $ITEM_RED_SCARF
$ITEM_BLUE_SCARF $ITEM_PINK_SCARF $ITEM_GREEN_SCARF $ITEM_YELLOW_SCARF
$ITEM_MACH_BIKE $ITEM_COIN_CASE $ITEM_ITEMFINDER $ITEM_OLD_ROD
$ITEM_GOOD_ROD $ITEM_SUPER_ROD $ITEM_SS_TICKET $ITEM_CONTEST_PASS
$ITEM_10B $ITEM_WAILMER_PAIL $ITEM_DEVON_GOODS $ITEM_SOOT_SACK
$ITEM_BASEMENT_KEY $ITEM_ACRO_BIKE $ITEM_POKEBLOCK_CASE $ITEM_LETTER
$ITEM_EON_TICKET $ITEM_RED_ORB $ITEM_BLUE_ORB $ITEM_SCANNER $ITEM_GO_GOGGLES
$ITEM_METEORITE $ITEM_ROOM_1_KEY $ITEM_ROOM_2_KEY $ITEM_ROOM_4_KEY
$ITEM_ROOM_6_KEY $ITEM_STORAGE_KEY $ITEM_ROOT_FOSSIL $ITEM_CLAW_FOSSIL
$ITEM_DEVON_SCOPE $ITEM_TM01_FOCUS_PUNCH $ITEM_TM02_DRAGON_CLAW
$ITEM_TM03_WATER_PULSE $ITEM_TM04_CALM_MIND $ITEM_TM05_ROAR $ITEM_TM06_TOXIC
$ITEM_TM07_HAIL $ITEM_TM08_BULK_UP $ITEM_TM09_BULLET_SEED $ITEM_TM10_HIDDEN_POWER
$ITEM_TM11_SUNNY_DAY $ITEM_TM12_TAUNT $ITEM_TM13_ICE_BEAM $ITEM_TM14_BLIZZARD
$ITEM_TM15_HYPER_BEAM $ITEM_TM16_LIGHT_SCREEN $ITEM_TM17_PROTECT
$ITEM_TM18_RAIN_DANCE $ITEM_TM19_GIGA_DRAIN $ITEM_TM20_SAFEGUARD
$ITEM_TM21_FRUSTRATION $ITEM_TM22_SOLARBEAM $ITEM_TM23_IRON_TAIL
$ITEM_TM24_THUNDERBOLT $ITEM_TM25_THUNDER $ITEM_TM26_EARTHQUAKE
$ITEM_TM27_RETURN $ITEM_TM28_DIG $ITEM_TM29_PSYCHIC $ITEM_TM30_SHADOW_BALL
$ITEM_TM31_BRICK_BREAK $ITEM_TM32_DOUBLE_TEAM $ITEM_TM33_REFLECT
$ITEM_TM34_SHOCK_WAVE $ITEM_TM35_FLAMETHROWER $ITEM_TM36_SLUDGE_BOMB
$ITEM_TM37_SANDSTORM $ITEM_TM38_FIRE_BLAST $ITEM_TM39_ROCK_TOMB
$ITEM_TM40_AERIAL_ACE $ITEM_TM41_TORMENT $ITEM_TM42_FACADE $ITEM_TM43_SECRET_POWER
$ITEM_TM44_REST $ITEM_TM45_ATTRACT $ITEM_TM46_THIEF $ITEM_TM47_STEEL_WING
$ITEM_TM48_SKILL_SWAP $ITEM_TM49_SNATCH $ITEM_TM50_OVERHEAT $ITEM_HM01_CUT
$ITEM_HM02_FLY $ITEM_HM03_SURF $ITEM_HM04_STRENGTH $ITEM_HM05_FLASH
$ITEM_HM06_ROCK_SMASH $ITEM_HM07_WATERFALL $ITEM_HM08_DIVE $ITEM_15B
$ITEM_15C $ITEMS_COUNT/
);
1;

View File

@ -0,0 +1,370 @@
package Rsaves::Constants::MoveAttributes;
use v5.36.0;
use strict;
use warnings;
use Rsaves::Constants::Global;
use parent 'Exporter';
my $move_attributes = [];
$move_attributes->[$Rsaves::Constants::Global::MOVE_NONE]{pp} = 0;
$move_attributes->[$Rsaves::Constants::Global::MOVE_POUND]{pp} = 35;
$move_attributes->[$Rsaves::Constants::Global::MOVE_KARATE_CHOP]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DOUBLE_SLAP]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_COMET_PUNCH]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MEGA_PUNCH]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PAY_DAY]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FIRE_PUNCH]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ICE_PUNCH]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_THUNDER_PUNCH]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SCRATCH]{pp} = 35;
$move_attributes->[$Rsaves::Constants::Global::MOVE_VICE_GRIP]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_GUILLOTINE]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_RAZOR_WIND]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SWORDS_DANCE]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CUT]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_GUST]{pp} = 35;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WING_ATTACK]{pp} = 35;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WHIRLWIND]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FLY]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BIND]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SLAM]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_VINE_WHIP]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_STOMP]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DOUBLE_KICK]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MEGA_KICK]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_JUMP_KICK]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ROLLING_KICK]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SAND_ATTACK]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HEADBUTT]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HORN_ATTACK]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FURY_ATTACK]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HORN_DRILL]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TACKLE]{pp} = 35;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BODY_SLAM]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WRAP]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TAKE_DOWN]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_THRASH]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DOUBLE_EDGE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TAIL_WHIP]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_POISON_STING]{pp} = 35;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TWINEEDLE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PIN_MISSILE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_LEER]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BITE]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_GROWL]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ROAR]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SING]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SUPERSONIC]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SONIC_BOOM]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DISABLE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ACID]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_EMBER]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FLAMETHROWER]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MIST]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WATER_GUN]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HYDRO_PUMP]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SURF]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ICE_BEAM]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BLIZZARD]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PSYBEAM]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BUBBLE_BEAM]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_AURORA_BEAM]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HYPER_BEAM]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PECK]{pp} = 35;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DRILL_PECK]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SUBMISSION]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_LOW_KICK]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_COUNTER]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SEISMIC_TOSS]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_STRENGTH]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ABSORB]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MEGA_DRAIN]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_LEECH_SEED]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_GROWTH]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_RAZOR_LEAF]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SOLAR_BEAM]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_POISON_POWDER]{pp} = 35;
$move_attributes->[$Rsaves::Constants::Global::MOVE_STUN_SPORE]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SLEEP_POWDER]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PETAL_DANCE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_STRING_SHOT]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DRAGON_RAGE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FIRE_SPIN]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_THUNDER_SHOCK]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_THUNDERBOLT]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_THUNDER_WAVE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_THUNDER]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ROCK_THROW]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_EARTHQUAKE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FISSURE]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DIG]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TOXIC]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CONFUSION]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PSYCHIC]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HYPNOSIS]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MEDITATE]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_AGILITY]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_QUICK_ATTACK]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_RAGE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TELEPORT]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_NIGHT_SHADE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MIMIC]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SCREECH]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DOUBLE_TEAM]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_RECOVER]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HARDEN]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MINIMIZE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SMOKESCREEN]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CONFUSE_RAY]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WITHDRAW]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DEFENSE_CURL]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BARRIER]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_LIGHT_SCREEN]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HAZE]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_REFLECT]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FOCUS_ENERGY]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BIDE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_METRONOME]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MIRROR_MOVE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SELF_DESTRUCT]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_EGG_BOMB]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_LICK]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SMOG]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SLUDGE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BONE_CLUB]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FIRE_BLAST]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WATERFALL]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CLAMP]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SWIFT]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SKULL_BASH]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SPIKE_CANNON]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CONSTRICT]{pp} = 35;
$move_attributes->[$Rsaves::Constants::Global::MOVE_AMNESIA]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_KINESIS]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SOFT_BOILED]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HI_JUMP_KICK]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_GLARE]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DREAM_EATER]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_POISON_GAS]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BARRAGE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_LEECH_LIFE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_LOVELY_KISS]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SKY_ATTACK]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TRANSFORM]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BUBBLE]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DIZZY_PUNCH]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SPORE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FLASH]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PSYWAVE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SPLASH]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ACID_ARMOR]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CRABHAMMER]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_EXPLOSION]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FURY_SWIPES]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BONEMERANG]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_REST]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ROCK_SLIDE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HYPER_FANG]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SHARPEN]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CONVERSION]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TRI_ATTACK]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SUPER_FANG]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SLASH]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SUBSTITUTE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_STRUGGLE]{pp} = 1;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SKETCH]{pp} = 1;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TRIPLE_KICK]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_THIEF]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SPIDER_WEB]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MIND_READER]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_NIGHTMARE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FLAME_WHEEL]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SNORE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CURSE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FLAIL]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CONVERSION_2]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_AEROBLAST]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_COTTON_SPORE]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_REVERSAL]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SPITE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_POWDER_SNOW]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PROTECT]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MACH_PUNCH]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SCARY_FACE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FAINT_ATTACK]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SWEET_KISS]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BELLY_DRUM]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SLUDGE_BOMB]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MUD_SLAP]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_OCTAZOOKA]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SPIKES]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ZAP_CANNON]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FORESIGHT]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DESTINY_BOND]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PERISH_SONG]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ICY_WIND]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DETECT]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BONE_RUSH]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_LOCK_ON]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_OUTRAGE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SANDSTORM]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_GIGA_DRAIN]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ENDURE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CHARM]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ROLLOUT]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FALSE_SWIPE]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SWAGGER]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MILK_DRINK]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SPARK]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FURY_CUTTER]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_STEEL_WING]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MEAN_LOOK]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ATTRACT]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SLEEP_TALK]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HEAL_BELL]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_RETURN]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PRESENT]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FRUSTRATION]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SAFEGUARD]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PAIN_SPLIT]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SACRED_FIRE]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MAGNITUDE]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DYNAMIC_PUNCH]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MEGAHORN]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DRAGON_BREATH]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BATON_PASS]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ENCORE]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PURSUIT]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_RAPID_SPIN]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SWEET_SCENT]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_IRON_TAIL]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_METAL_CLAW]{pp} = 35;
$move_attributes->[$Rsaves::Constants::Global::MOVE_VITAL_THROW]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MORNING_SUN]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SYNTHESIS]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MOONLIGHT]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HIDDEN_POWER]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CROSS_CHOP]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TWISTER]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_RAIN_DANCE]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SUNNY_DAY]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CRUNCH]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MIRROR_COAT]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PSYCH_UP]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_EXTREME_SPEED]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ANCIENT_POWER]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SHADOW_BALL]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FUTURE_SIGHT]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ROCK_SMASH]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WHIRLPOOL]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BEAT_UP]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FAKE_OUT]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_UPROAR]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_STOCKPILE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SPIT_UP]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SWALLOW]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HEAT_WAVE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HAIL]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TORMENT]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FLATTER]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WILL_O_WISP]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MEMENTO]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FACADE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FOCUS_PUNCH]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SMELLING_SALT]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FOLLOW_ME]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_NATURE_POWER]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CHARGE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TAUNT]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HELPING_HAND]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TRICK]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ROLE_PLAY]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WISH]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ASSIST]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_INGRAIN]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SUPERPOWER]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MAGIC_COAT]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_RECYCLE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_REVENGE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BRICK_BREAK]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_YAWN]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_KNOCK_OFF]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ENDEAVOR]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ERUPTION]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SKILL_SWAP]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_IMPRISON]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_REFRESH]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_GRUDGE]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SNATCH]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SECRET_POWER]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DIVE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ARM_THRUST]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CAMOUFLAGE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TAIL_GLOW]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_LUSTER_PURGE]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MIST_BALL]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FEATHER_DANCE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TEETER_DANCE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BLAZE_KICK]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MUD_SPORT]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ICE_BALL]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_NEEDLE_ARM]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SLACK_OFF]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HYPER_VOICE]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_POISON_FANG]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CRUSH_CLAW]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BLAST_BURN]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HYDRO_CANNON]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_METEOR_MASH]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ASTONISH]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WEATHER_BALL]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_AROMATHERAPY]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FAKE_TEARS]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_AIR_CUTTER]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_OVERHEAT]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ODOR_SLEUTH]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ROCK_TOMB]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SILVER_WIND]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_METAL_SOUND]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_GRASS_WHISTLE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_TICKLE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_COSMIC_POWER]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WATER_SPOUT]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SIGNAL_BEAM]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SHADOW_PUNCH]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_EXTRASENSORY]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SKY_UPPERCUT]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SAND_TOMB]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SHEER_COLD]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MUDDY_WATER]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BULLET_SEED]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_AERIAL_ACE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ICICLE_SPEAR]{pp} = 30;
$move_attributes->[$Rsaves::Constants::Global::MOVE_IRON_DEFENSE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BLOCK]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_HOWL]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DRAGON_CLAW]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_FRENZY_PLANT]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BULK_UP]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_BOUNCE]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MUD_SHOT]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_POISON_TAIL]{pp} = 25;
$move_attributes->[$Rsaves::Constants::Global::MOVE_COVET]{pp} = 40;
$move_attributes->[$Rsaves::Constants::Global::MOVE_VOLT_TACKLE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_MAGICAL_LEAF]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WATER_SPORT]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_CALM_MIND]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_LEAF_BLADE]{pp} = 15;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DRAGON_DANCE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_ROCK_BLAST]{pp} = 10;
$move_attributes->[$Rsaves::Constants::Global::MOVE_SHOCK_WAVE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_WATER_PULSE]{pp} = 20;
$move_attributes->[$Rsaves::Constants::Global::MOVE_DOOM_DESIRE]{pp} = 5;
$move_attributes->[$Rsaves::Constants::Global::MOVE_PSYCHO_BOOST]{pp} = 5;
sub get_move_attributes ($move_identifier) {
return $move_attributes->[$move_identifier];
}
our @EXPORT_OK = (qw/get_move_attributes/);

View File

@ -0,0 +1,812 @@
package Rsaves::Constants::Ruby::Flags;
use v5.34.1;
use strict;
use warnings;
use Exporter;
use parent 'Exporter';
our $FLAG_SET_WALL_CLOCK = 0x51;
our $FLAG_RESCUED_BIRCH = 0x52;
our $FLAG_LINK_CONTEST_ROOM_POKEBALL = 0x56;
our $FLAG_MET_RIVAL_MOM = 0x57;
our $FLAG_BIRCH_AIDE_MET = 0x58;
our $FLAG_DECLINED_BIKE = 0x59;
our $FLAG_RECEIVED_BIKE = 0x5A;
our $FLAG_RECEIVED_WAILMER_PAIL = 0x5E;
our $FLAG_RECEIVED_POKEBLOCK_CASE = 0x5F;
our $FLAG_RECEIVED_SECRET_POWER = 0x60;
our $FLAG_TV_EXPLAINED = 0x62;
our $FLAG_MAUVILLE_GYM_BARRIERS_STATE = 0x63;
our $FLAG_MOSSDEEP_GYM_SWITCH_1 = 0x64;
our $FLAG_MOSSDEEP_GYM_SWITCH_2 = 0x65;
our $FLAG_MOSSDEEP_GYM_SWITCH_3 = 0x66;
our $FLAG_MOSSDEEP_GYM_SWITCH_4 = 0x67;
our $FLAG_OCEANIC_MUSEUM_MET_REPORTER = 0x69;
our $FLAG_RECEIVED_HM04 = 0x6A;
our $FLAG_RECEIVED_HM06 = 0x6B;
our $FLAG_RECEIVED_HM05 = 0x6D;
our $FLAG_RECEIVED_HM02 = 0x6E;
our $FLAG_MT_PYRE_ORB_STOLEN = 0x6F;
our $FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE = 0x70;
our $FLAG_LEGENDARY_BATTLE_COMPLETED = 0x71;
our $FLAG_RECEIVED_METEORITE = 0x73;
our $FLAG_ADVENTURE_STARTED = 0x74;
our $FLAG_MET_HIDDEN_POWER_GIVER = 0x76;
our $FLAG_RECEIVED_TM31 = 0x79;
our $FLAG_RECEIVED_HM03 = 0x7A;
our $FLAG_RECEIVED_HM08 = 0x7B;
our $FLAG_DEFEATED_WALLY_VICTORY_ROAD = 0x7E;
our $FLAG_MET_PRETTY_PETAL_SHOP_OWNER = 0x7F;
our $FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN = 0x81;
our $FLAG_DEFEATED_RIVAL_ROUTE103 = 0x82;
our $FLAG_RECEIVED_DOLL_LANETTE = 0x83;
our $FLAG_RECEIVED_POTION_OLDALE = 0x84;
our $FLAG_RECEIVED_AMULET_COIN = 0x85;
our $FLAG_PENDING_DAYCARE_EGG = 0x86;
our $FLAG_THANKED_FOR_PLAYING_WITH_WALLY = 0x87;
our $FLAG_RECEIVED_HM01 = 0x89;
our $FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY = 0x8B;
our $FLAG_RECEIVED_6_SODA_POP = 0x8C;
our $FLAG_DEFEATED_SEASHORE_HOUSE_TRAINERS = 0x8D;
our $FLAG_DEVON_GOODS_STOLEN = 0x8E;
our $FLAG_RECOVERED_DEVON_GOODS = 0x8F;
our $FLAG_RETURNED_DEVON_GOODS = 0x90;
our $FLAG_MR_BRINEY_SAILING_INTRO = 0x93;
our $FLAG_DOCK_REJECTED_DEVON_GOODS = 0x94;
our $FLAG_DELIVERED_DEVON_GOODS = 0x95;
our $FLAG_RECEIVED_CONTEST_PASS = 0x96;
our $FLAG_RECEIVED_CASTFORM = 0x97;
our $FLAG_RECEIVED_SUPER_ROD = 0x98;
our $FLAG_RUSTBORO_NPC_TRADE_COMPLETED = 0x99;
our $FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED = 0x9A;
our $FLAG_FORTREE_NPC_TRADE_COMPLETED = 0x9B;
our $FLAG_UNKNOWN_9F = 0x9F;
our $FLAG_COOL_PAINTING_MADE = 0xA0;
our $FLAG_BEAUTY_PAINTING_MADE = 0xA1;
our $FLAG_CUTE_PAINTING_MADE = 0xA2;
our $FLAG_SMART_PAINTING_MADE = 0xA3;
our $FLAG_TOUGH_PAINTING_MADE = 0xA4;
our $FLAG_RECEIVED_TM39 = 0xA5;
our $FLAG_RECEIVED_TM08 = 0xA6;
our $FLAG_RECEIVED_TM34 = 0xA7;
our $FLAG_RECEIVED_TM50 = 0xA8;
our $FLAG_RECEIVED_TM42 = 0xA9;
our $FLAG_RECEIVED_TM40 = 0xAA;
our $FLAG_RECEIVED_TM04 = 0xAB;
our $FLAG_RECEIVED_TM03 = 0xAC;
our $FLAG_DECORATION_1 = 0xAD;
our $FLAG_DECORATION_2 = 0xAE;
our $FLAG_DECORATION_3 = 0xAF;
our $FLAG_DECORATION_4 = 0xB0;
our $FLAG_DECORATION_5 = 0xB1;
our $FLAG_DECORATION_6 = 0xB2;
our $FLAG_DECORATION_7 = 0xB3;
our $FLAG_DECORATION_8 = 0xB4;
our $FLAG_DECORATION_9 = 0xB5;
our $FLAG_DECORATION_10 = 0xB6;
our $FLAG_DECORATION_11 = 0xB7;
our $FLAG_DECORATION_12 = 0xB8;
our $FLAG_DECORATION_13 = 0xB9;
our $FLAG_DECORATION_14 = 0xBA;
our $FLAG_DECORATION_15 = 0xBB;
our $FLAG_RECEIVED_POKENAV = 0xBC;
our $FLAG_DELIVERED_STEVEN_LETTER = 0xBD;
our $FLAG_DEFEATED_WALLY_MAUVILLE = 0xBE;
our $FLAG_RECEIVED_SUN_STONE_MOSSDEEP = 0xC0;
our $FLAG_WALLY_SPEECH = 0xC1;
our $FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 = 0xC2;
our $FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 = 0xC3;
our $FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 = 0xC4;
our $FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 = 0xC5;
our $FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 = 0xC6;
our $FLAG_RUSTURF_TUNNEL_OPENED = 0xC7;
our $FLAG_RECEIVED_RED_SCARF = 0xC8;
our $FLAG_RECEIVED_BLUE_SCARF = 0xC9;
our $FLAG_RECEIVED_PINK_SCARF = 0xCA;
our $FLAG_RECEIVED_GREEN_SCARF = 0xCB;
our $FLAG_RECEIVED_YELLOW_SCARF = 0xCC;
our $FLAG_ENCOUNTERED_LATIAS_OR_LATIOS = 0xCE;
our $FLAG_RECEIVED_BASEMENT_KEY = 0xD0;
our $FLAG_RECEIVED_TM24 = 0xD1;
our $FLAG_RECEIVED_RED_OR_BLUE_ORB = 0xD4;
our $FLAG_RECEIVED_PREMIER_BALL_RUSTBORO = 0xD5;
our $FLAG_ROUTE104_PROTOTYPE_COMPLETED_1 = 0xD7;
our $FLAG_ROUTE104_PROTOTYPE_COMPLETED_2 = 0xD8;
our $FLAG_MET_DIVING_TREASURE_HUNTER = 0xD9;
our $FLAG_MET_WAILMER_TRAINER = 0xDA;
our $FLAG_EVIL_LEADER_PLEASE_STOP = 0xDB;
our $FLAG_RECEIVED_GO_GOGGLES = 0xDD;
our $FLAG_WINGULL_SENT_ON_ERRAND = 0xDE;
our $FLAG_RECEIVED_MENTAL_HERB = 0xDF;
our $FLAG_WINGULL_DELIVERED_MAIL = 0xE0;
our $FLAG_RECEIVED_20_COINS = 0xE1;
our $FLAG_RECEIVED_STARTER_DOLL = 0xE2;
our $FLAG_RECEIVED_GOOD_ROD = 0xE3;
our $FLAG_REGI_DOORS_OPENED = 0xE4;
our $FLAG_RECEIVED_TM27 = 0xE5;
our $FLAG_RECEIVED_TM36 = 0xE6;
our $FLAG_RECEIVED_TM05 = 0xE7;
our $FLAG_RECEIVED_TM19 = 0xE8;
our $FLAG_RECEIVED_TM44 = 0xEA;
our $FLAG_RECEIVED_TM45 = 0xEB;
our $FLAG_RECEIVED_GLASS_ORNAMENT = 0xEC;
our $FLAG_RECEIVED_SILVER_SHIELD = 0xED;
our $FLAG_RECEIVED_GOLD_SHIELD = 0xEE;
our $FLAG_USED_STORAGE_KEY = 0xEF;
our $FLAG_USED_ROOM_1_KEY = 0xF0;
our $FLAG_USED_ROOM_2_KEY = 0xF1;
our $FLAG_USED_ROOM_4_KEY = 0xF2;
our $FLAG_USED_ROOM_6_KEY = 0xF3;
our $FLAG_MET_PROF_COSMO = 0xF4;
our $FLAG_RECEIVED_WAILMER_DOLL = 0xF5;
our $FLAG_RECEIVED_CHESTO_BERRY_ROUTE104 = 0xF6;
our $FLAG_DEFEATED_SS_TIDAL_TRAINERS = 0xF7;
our $FLAG_RECEIVED_SPELON_BERRY = 0xF8;
our $FLAG_RECEIVED_PAMTRE_BERRY = 0xF9;
our $FLAG_RECEIVED_WATMEL_BERRY = 0xFA;
our $FLAG_RECEIVED_DURIN_BERRY = 0xFB;
our $FLAG_RECEIVED_BELUE_BERRY = 0xFC;
our $FLAG_RECEIVED_CHARCOAL = 0xFE;
our $FLAG_LATIOS_OR_LATIAS_ROAMING = 0xFF;
our $FLAG_RECEIVED_REPEAT_BALL = 0x100;
our $FLAG_RECEIVED_OLD_ROD = 0x101;
our $FLAG_RECEIVED_COIN_CASE = 0x102;
our $FLAG_RETURNED_RED_OR_BLUE_ORB = 0x103;
our $FLAG_RECEIVED_TM49 = 0x104;
our $FLAG_RECEIVED_TM28 = 0x105;
our $FLAG_RECEIVED_TM09 = 0x106;
our $FLAG_ENTERED_ELITE_FOUR = 0x107;
our $FLAG_RECEIVED_TM10 = 0x108;
our $FLAG_RECEIVED_TM41 = 0x109;
our $FLAG_RECEIVED_LAVARIDGE_EGG = 0x10A;
our $FLAG_RECEIVED_FOSSIL_MON = 0x10B;
our $FLAG_SECRET_BASE_REGISTRY_ENABLED = 0x10C;
our $FLAG_RECEIVED_TM46 = 0x10D;
our $FLAG_CONTEST_SKETCH_CREATED = 0x10E;
our $FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE = 0x10F;
our $FLAG_RECEIVED_EXP_SHARE = 0x110;
our $FLAG_POKERUS_EXPLAINED = 0x111;
our $FLAG_RECEIVED_RUNNING_SHOES = 0x112;
our $FLAG_RECEIVED_QUICK_CLAW = 0x113;
our $FLAG_RECEIVED_KINGS_ROCK = 0x114;
our $FLAG_RECEIVED_MACHO_BRACE = 0x115;
our $FLAG_RECEIVED_SOOTHE_BELL = 0x116;
our $FLAG_RECEIVED_WHITE_HERB = 0x117;
our $FLAG_RECEIVED_SOFT_SAND = 0x118;
our $FLAG_RECEIVED_CLEANSE_TAG = 0x11A;
our $FLAG_RECEIVED_FOCUS_BAND = 0x11B;
our $FLAG_DECLINED_WALLY_BATTLE_MAUVILLE = 0x11C;
our $FLAG_RECEIVED_DEVON_SCOPE = 0x11D;
our $FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE = 0x11E;
our $FLAG_MET_DEVON_EMPLOYEE = 0x11F;
our $FLAG_MET_RIVAL_RUSTBORO = 0x120;
our $FLAG_RECEIVED_SILK_SCARF = 0x121;
our $FLAG_NOT_READY_FOR_BATTLE_ROUTE120 = 0x122;
our $FLAG_RECEIVED_SS_TICKET = 0x123;
our $FLAG_MET_RIVAL_LILYCOVE = 0x124;
our $FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE = 0x125;
our $FLAG_EXCHANGED_SCANNER = 0x126;
our $FLAG_KECLEON_FLED_FORTREE = 0x127;
our $FLAG_PETALBURG_MART_EXPANDED_ITEMS = 0x128;
our $FLAG_RECEIVED_MIRACLE_SEED = 0x129;
our $FLAG_RECEIVED_BELDUM = 0x12A;
our $FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK = 0x12B;
our $FLAG_MET_FANCLUB_YOUNGER_BROTHER = 0x12C;
our $FLAG_RIVAL_LEFT_FOR_ROUTE103 = 0x12D;
our $FLAG_OMIT_DIVE_FROM_STEVEN_LETTER = 0x12E;
our $FLAG_HIDDEN_ITEMS_START = 0x258;
our $FLAG_HIDDEN_ITEM_0 = 0x258;
our $FLAG_HIDDEN_ITEM_1 = 0x259;
our $FLAG_HIDDEN_ITEM_2 = 0x25A;
our $FLAG_HIDDEN_ITEM_3 = 0x25B;
our $FLAG_HIDDEN_ITEM_4 = 0x25C;
our $FLAG_HIDDEN_ITEM_5 = 0x25D;
our $FLAG_HIDDEN_ITEM_6 = 0x25E;
our $FLAG_HIDDEN_ITEM_7 = 0x25F;
our $FLAG_HIDDEN_ITEM_8 = 0x260;
our $FLAG_HIDDEN_ITEM_9 = 0x261;
our $FLAG_HIDDEN_ITEM_A = 0x262;
our $FLAG_HIDDEN_ITEM_B = 0x263;
our $FLAG_HIDDEN_ITEM_C = 0x264;
our $FLAG_HIDDEN_ITEM_D = 0x265;
our $FLAG_HIDDEN_ITEM_E = 0x266;
our $FLAG_HIDDEN_ITEM_F = 0x267;
our $FLAG_HIDDEN_ITEM_10 = 0x268;
our $FLAG_HIDDEN_ITEM_11 = 0x269;
our $FLAG_HIDDEN_ITEM_12 = 0x26A;
our $FLAG_HIDDEN_ITEM_13 = 0x26B;
our $FLAG_HIDDEN_ITEM_14 = 0x26C;
our $FLAG_HIDDEN_ITEM_15 = 0x26D;
our $FLAG_HIDDEN_ITEM_16 = 0x26E;
our $FLAG_HIDDEN_ITEM_17 = 0x26F;
our $FLAG_HIDDEN_ITEM_18 = 0x270;
our $FLAG_HIDDEN_ITEM_19 = 0x271;
our $FLAG_HIDDEN_ITEM_1A = 0x272;
our $FLAG_HIDDEN_ITEM_1B = 0x273;
our $FLAG_HIDDEN_ITEM_1C = 0x274;
our $FLAG_HIDDEN_ITEM_1D = 0x275;
our $FLAG_HIDDEN_ITEM_1E = 0x276;
our $FLAG_HIDDEN_ITEM_1F = 0x277;
our $FLAG_HIDDEN_ITEM_20 = 0x278;
our $FLAG_HIDDEN_ITEM_21 = 0x279;
our $FLAG_HIDDEN_ITEM_22 = 0x27A;
our $FLAG_HIDDEN_ITEM_23 = 0x27B;
our $FLAG_HIDDEN_ITEM_24 = 0x27C;
our $FLAG_HIDDEN_ITEM_25 = 0x27D;
our $FLAG_HIDDEN_ITEM_26 = 0x27E;
our $FLAG_HIDDEN_ITEM_27 = 0x27F;
our $FLAG_HIDDEN_ITEM_28 = 0x280;
our $FLAG_HIDDEN_ITEM_29 = 0x281;
our $FLAG_HIDDEN_ITEM_2A = 0x282;
our $FLAG_HIDDEN_ITEM_2B = 0x283;
our $FLAG_HIDDEN_ITEM_2C = 0x284;
our $FLAG_HIDDEN_ITEM_2D = 0x285;
our $FLAG_HIDDEN_ITEM_2E = 0x286;
our $FLAG_HIDDEN_ITEM_2F = 0x287;
our $FLAG_HIDDEN_ITEM_30 = 0x288;
our $FLAG_HIDDEN_ITEM_31 = 0x289;
our $FLAG_HIDDEN_ITEM_32 = 0x28A;
our $FLAG_HIDDEN_ITEM_33 = 0x28B;
our $FLAG_HIDDEN_ITEM_34 = 0x28C;
our $FLAG_HIDDEN_ITEM_35 = 0x28D;
our $FLAG_HIDDEN_ITEM_36 = 0x28E;
our $FLAG_HIDDEN_ITEM_37 = 0x28F;
our $FLAG_HIDDEN_ITEM_38 = 0x290;
our $FLAG_HIDDEN_ITEM_39 = 0x291;
our $FLAG_HIDDEN_ITEM_3A = 0x292;
our $FLAG_HIDDEN_ITEM_3B = 0x293;
our $FLAG_HIDDEN_ITEM_3C = 0x294;
our $FLAG_HIDDEN_ITEM_3D = 0x295;
our $FLAG_HIDDEN_ITEM_3E = 0x296;
our $FLAG_HIDDEN_ITEM_3F = 0x297;
our $FLAG_HIDDEN_ITEM_40 = 0x298;
our $FLAG_HIDDEN_ITEM_41 = 0x299;
our $FLAG_HIDDEN_ITEM_42 = 0x29A;
our $FLAG_HIDDEN_ITEM_43 = 0x29B;
our $FLAG_HIDDEN_ITEM_44 = 0x29C;
our $FLAG_HIDDEN_ITEM_45 = 0x29D;
our $FLAG_HIDDEN_ITEM_46 = 0x29E;
our $FLAG_HIDDEN_ITEM_47 = 0x29F;
our $FLAG_HIDDEN_ITEM_48 = 0x2A0;
our $FLAG_HIDDEN_ITEM_49 = 0x2A1;
our $FLAG_HIDDEN_ITEM_4A = 0x2A2;
our $FLAG_HIDDEN_ITEM_4B = 0x2A3;
our $FLAG_HIDDEN_ITEM_4C = 0x2A4;
our $FLAG_HIDDEN_ITEM_4D = 0x2A5;
our $FLAG_HIDDEN_ITEM_4E = 0x2A6;
our $FLAG_HIDDEN_ITEM_4F = 0x2A7;
our $FLAG_HIDDEN_ITEM_50 = 0x2A8;
our $FLAG_HIDDEN_ITEM_51 = 0x2A9;
our $FLAG_HIDDEN_ITEM_52 = 0x2AA;
our $FLAG_HIDDEN_ITEM_53 = 0x2AB;
our $FLAG_HIDDEN_ITEM_54 = 0x2AC;
our $FLAG_HIDDEN_ITEM_55 = 0x2AD;
our $FLAG_HIDDEN_ITEM_56 = 0x2AE;
our $FLAG_HIDDEN_ITEM_57 = 0x2AF;
our $FLAG_HIDDEN_ITEM_58 = 0x2B0;
our $FLAG_HIDDEN_ITEM_59 = 0x2B1;
our $FLAG_HIDDEN_ITEM_5A = 0x2B2;
our $FLAG_HIDDEN_ITEM_5B = 0x2B3;
our $FLAG_HIDDEN_ITEM_5C = 0x2B4;
our $FLAG_HIDDEN_ITEM_5D = 0x2B5;
our $FLAG_HIDDEN_ITEM_5E = 0x2B6;
our $FLAG_HIDDEN_ITEM_5F = 0x2B7;
our $FLAG_HIDDEN_ITEM_BLACK_GLASSES = 0x2B8;
our $FLAG_HIDDEN_ITEM_61 = 0x2B9;
our $FLAG_HIDE_BIRCH_STARTERS_BAG = 0x2BC;
our $FLAG_HIDE_BIRCH_BATTLE_POOCHYENA = 0x2D0;
our $FLAG_HIDE_BIRCH_IN_LAB = 0x2D1;
our $FLAG_HIDE_MAY_UPSTAIRS = 0x2D2;
our $FLAG_HIDE_RIVAL_ROUTE103 = 0x2D3;
our $FLAG_HIDE_DEVON_PETALBURG_WOODS = 0x2D4;
our $FLAG_HIDE_EVIL_TEAM_PETALBURG_WOODS = 0x2D5;
our $FLAG_HIDE_WALLY_PETALBURG = 0x2D6;
our $FLAG_HIDE_STEVENS_LETTER = 0x2D7;
our $FLAG_HIDE_WALLY_MOM_PETALBURG_1 = 0x2D8;
our $FLAG_HIDE_GRUNT_RUSTBORO = 0x2DB;
our $FLAG_HIDE_DEVON_RUSTBORO = 0x2DC;
our $FLAG_HIDE_SLEEPING_MON_SEAFLOOR_CAVERN = 0x2DD;
our $FLAG_HIDE_NORMAN_LITTLEROOT = 0x2DE;
our $FLAG_UNKNOWN_2E1 = 0x2E1;
our $FLAG_HIDE_MR_BRINEY_ROUTE104 = 0x2E2;
our $FLAG_HIDE_MR_BRINEY_ROUTE104_HOUSE = 0x2E3;
our $FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN = 0x2E4;
our $FLAG_HIDE_MR_BRINEY_ROUTE109 = 0x2E5;
our $FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104 = 0x2E6;
our $FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD = 0x2E7;
our $FLAG_HIDE_MR_BRINEY_BOAT_ROUTE109 = 0x2E8;
our $FLAG_UNKNOWN_2EB = 0x2EB;
our $FLAG_UNKNOWN_2EC = 0x2EC;
our $FLAG_UNKNOWN_2ED = 0x2ED;
our $FLAG_HIDE_POOCHYENA_ROUTE101 = 0x2EE;
our $FLAG_HIDE_WALLY_DEFEATED_VICTORY_ROAD = 0x2EF;
our $FLAG_HIDE_MOM_LITTLEROOT = 0x2F0;
our $FLAG_HIDE_MACHOKE_MOVER_1 = 0x2F2;
our $FLAG_HIDE_MACHOKE_MOVER_2 = 0x2F3;
our $FLAG_UNKNOWN_2F4 = 0x2F4;
our $FLAG_HIDE_MOM_UPSTAIRS = 0x2F5;
our $FLAG_HIDE_BRENDAN_MOM_DOWNSTAIRS = 0x2F6;
our $FLAG_HIDE_MAY_MOM_DOWNSTAIRS = 0x2F7;
our $FLAG_HIDE_BRENDAN_UPSTAIRS = 0x2F8;
our $FLAG_HIDE_MOVING_TRUCK_BRENDAN = 0x2F9;
our $FLAG_HIDE_MOVING_TRUCK_MAY = 0x2FA;
our $FLAG_HIDE_VICTOR_WINSTRATE = 0x300;
our $FLAG_HIDE_VICTORIA_WINSTRATE = 0x301;
our $FLAG_HIDE_VIVI_WINSTRATE = 0x302;
our $FLAG_HIDE_VICKI_WINSTRATE = 0x303;
our $FLAG_HIDE_NORMAN_PETALBURG_GYM = 0x304;
our $FLAG_HIDE_RAYQUAZA = 0x305;
our $FLAG_HIDE_LILYCOVE_CONTEST_ATTENDENT_1 = 0x306;
our $FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR = 0x307;
our $FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_LADY = 0x308;
our $FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_GIRL = 0x309;
our $FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_MAN = 0x30A;
our $FLAG_HIDE_LILYCOVE_MUSEUM_PAINTER = 0x30B;
our $FLAG_HIDE_LILYCOVE_MUSEUM_VISITORS = 0x30C;
our $FLAG_HIDE_PETALBURG_GYM_GUIDE = 0x30D;
our $FLAG_UNKNOWN_30E = 0x30E;
our $FLAG_UNKNOWN_30F = 0x30F;
our $FLAG_HIDE_BRENDAN_MOM = 0x310;
our $FLAG_HIDE_MAY_MOM = 0x311;
our $FLAG_HIDE_FANCLUB_OLD_LADY = 0x315;
our $FLAG_HIDE_FANCLUB_BOY = 0x316;
our $FLAG_HIDE_FANCLUB_LITTLE_BOY = 0x317;
our $FLAG_HIDE_FANCLUB_LADY = 0x318;
our $FLAG_HIDE_GABBY_AND_TY_ROUTE111_1 = 0x31C;
our $FLAG_HIDE_GABBY_AND_TY_ROUTE118_1 = 0x31D;
our $FLAG_HIDE_GABBY_AND_TY_ROUTE120_1 = 0x31E;
our $FLAG_HIDE_GABBY_AND_TY_ROUTE111_2 = 0x31F;
our $FLAG_HIDE_CONTEST_REPORTER_FALLARBOR = 0x320;
our $FLAG_HIDE_CONTEST_REPORTER_VERDANTURF = 0x321;
our $FLAG_HIDE_CONTEST_REPORTER_LILYCOVE = 0x322;
our $FLAG_HIDE_CONTEST_REPORTER_SLATEPORT = 0x323;
our $FLAG_HIDE_WALLY_MAUVILLE = 0x324;
our $FLAG_HIDE_WALLY_FATHER_MAUVILLE = 0x325;
our $FLAG_HIDE_WALLY_WANDAS_HOUSE = 0x326;
our $FLAG_HIDE_BOYFRIEND_RUSTURF_TUNNEL = 0x327;
our $FLAG_HIDE_BOYFRIEND_WANDAS_HOUSE = 0x328;
our $FLAG_HIDE_WALLY_FATHER_WANDAS_HOUSE = 0x329;
our $FLAG_HIDE_WALLY_FATHER_PETALBURG = 0x32B;
our $FLAG_HIDE_WALLY_MOTHER_PETALBURG = 0x32C;
our $FLAG_HIDE_LOST_GLASSES_MAN = 0x32D;
our $FLAG_HIDE_RIVAL_RUSTBORO = 0x32E;
our $FLAG_HIDE_WALLACE_SOOTOPOLIS_GYM = 0x32F;
our $FLAG_HIDE_WALLACE_SOOTOPOLIS = 0x330;
our $FLAG_HIDE_GRUNTS_BLOCKING_CABLE_CAR = 0x333;
our $FLAG_HIDE_GRUNT_1_BLOCKING_HIDEOUT = 0x335;
our $FLAG_HIDE_GRUNT_2_BLOCKING_HIDEOUT = 0x336;
our $FLAG_UNKNOWN_337 = 0x337;
our $FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN = 0x339;
our $FLAG_HIDE_EVIL_LEADER_SEAFLOOR_CAVERN = 0x33C;
our $FLAG_HIDE_OTHER_LEADER_SEAFLOOR_CAVERN = 0x33D;
our $FLAG_HIDE_OTHER_TEAM_GRUNTS_SEAFLOOR_CAVERN = 0x33F;
our $FLAG_HIDE_STEVEN_GRANITE_CAVE = 0x341;
our $FLAG_HIDE_STEVEN_ROUTE128 = 0x342;
our $FLAG_HIDE_GABBY_AND_TY_SLATEPORT = 0x343;
our $FLAG_HIDE_STERN_SLATEPORT = 0x348;
our $FLAG_HIDE_STERN_SLATEPORT_HARBOR = 0x349;
our $FLAG_UNKNOWN_34B = 0x34B;
our $FLAG_UNKNOWN_34C = 0x34C;
our $FLAG_HIDE_GRUNT_1_SLATEPORT_HARBOR = 0x34D;
our $FLAG_HIDE_GRUNT_2_SLATEPORT_HARBOR = 0x34E;
our $FLAG_UNKNOWN_34F = 0x34F;
our $FLAG_HIDE_SUBMARINE_SHADOW_SLATEPORT_HARBOR = 0x350;
our $FLAG_HIDE_MAY_PICHU_DOLL = 0x351;
our $FLAG_HIDE_RIVAL_ROUTE119 = 0x353;
our $FLAG_HIDE_GRUNTS_LILYCOVE = 0x354;
our $FLAG_HIDE_SOOTOPOLIS_RESIDENTS = 0x356;
our $FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_1 = 0x357;
our $FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_2 = 0x358;
our $FLAG_HIDE_WALLY_BATTLE_VICTORY_ROAD = 0x35A;
our $FLAG_HIDE_AWAKENED_MON_SEAFLOOR_CAVERN = 0x35B;
our $FLAG_HIDE_SS_TIDAL_SLATEPORT_HARBOR = 0x35C;
our $FLAG_HIDE_SS_TIDAL_LILYCOVE_HARBOR = 0x35D;
our $FLAG_HIDE_WALLY_PETALBURG_GYM = 0x362;
our $FLAG_UNKNOWN_363 = 0x363;
our $FLAG_HIDE_FAT_MAN_LITTLEROOT = 0x364;
our $FLAG_HIDE_BRINEY_SLATEPORT_SHIPYARD = 0x365;
our $FLAG_HIDE_LANETTE = 0x366;
our $FLAG_HIDE_LANETTE_FALLARBOR = 0x367;
our $FLAG_HIDE_TRICKMASTER_ENTRANCE = 0x368;
our $FLAG_HIDE_MT_CHIMNEY_PEOPLE = 0x36D;
our $FLAG_HIDE_GRUNT_RUSTURF_TUNNEL = 0x36E;
our $FLAG_HIDE_BRINEY_RUSTURF_TUNNEL = 0x36F;
our $FLAG_HIDE_PEEKO_RUSTURF_TUNNEL = 0x370;
our $FLAG_HIDE_PEEKO_BRINEY_HOUSE = 0x371;
our $FLAG_HIDE_EVIL_TEAM_SLATEPORT = 0x372;
our $FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM = 0x373;
our $FLAG_HIDE_GRUNT_1_OCEANIC_MUSEUM_2F = 0x374;
our $FLAG_HIDE_GRUNT_2_OCEANIC_MUSEUM_2F = 0x375;
our $FLAG_HIDE_EVIL_TEAM_LEADER_OCEANIC_MUSEUM_2F = 0x376;
our $FLAG_HIDE_STERN_OCEANIC_MUSEUM_2F = 0x377;
our $FLAG_HIDE_BATTLE_TOWER_OPPONENT = 0x378;
our $FLAG_HIDE_RIVAL_BIRCH_LAB = 0x379;
our $FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE = 0x37A;
our $FLAG_HIDE_BRINEY_ROUTE116 = 0x37B;
our $FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_1F = 0x37C;
our $FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_2F = 0x37D;
our $FLAG_HIDE_TUNNER_DIGGER_ROUTE116 = 0x37E;
our $FLAG_HIDE_ARTIST_LILCOVE_CONTEST = 0x37F;
our $FLAG_UNKNOWN_BIRCH_380 = 0x380;
our $FLAG_HIDE_BIRCH_ROUTE101 = 0x381;
our $FLAG_HIDE_BIRCH_ROUTE103 = 0x382;
our $FLAG_HIDE_TRICKMASTER_END = 0x383;
our $FLAG_HIDE_EVIL_TEAM_ROUTE110 = 0x384;
our $FLAG_HIDE_GABBY_AND_TY_ROUTE118_2 = 0x385;
our $FLAG_HIDE_GABBY_AND_TY_ROUTE120_2 = 0x386;
our $FLAG_HIDE_GABBY_AND_TY_ROUTE111_3 = 0x387;
our $FLAG_HIDE_GABBY_AND_TY_ROUTE118_3 = 0x388;
our $FLAG_HIDE_WORKERS_SLATEPORT_HARBOR = 0x389;
our $FLAG_HIDE_FLOWER_SHOP_WORKER_OUTSIDE = 0x38A;
our $FLAG_HIDE_AZURILL_FALLARBOR = 0x38B;
our $FLAG_HIDE_FERRY_ATTENDANT_LILYCOVE = 0x38C;
our $FLAG_HIDE_FERRY_SAILOR_LILYCOVE = 0x38D;
our $FLAG_HIDE_LATIOS_OR_LATIAS_FLYING = 0x38E;
our $FLAG_HIDE_LATIOS_OR_LATIAS_STATIONARY = 0x38F;
our $FLAG_HIDE_WATTSON_MAUVILLE = 0x390;
our $FLAG_HIDE_WATTSON_MAUVILLE_GYM = 0x391;
our $FLAG_HIDE_GRUNTS_ROUTE121 = 0x392;
our $FLAG_UNKNOWN_393 = 0x393;
our $FLAG_HIDE_LEADER_MT_PYRE_SUMMIT = 0x394;
our $FLAG_HIDE_GRUNTS_MT_PYRE_SUMMIT = 0x395;
our $FLAG_HIDE_REPORTER_BATTLE_TOWER = 0x396;
our $FLAG_HIDE_RIVAL_ROUTE110 = 0x397;
our $FLAG_HIDE_RIVAL_CHAMPIONS_ROOM = 0x398;
our $FLAG_HIDE_BIRCH_CHAMPIONS_ROOM = 0x399;
our $FLAG_HIDE_RIVAL_ON_BIKE_ROUTE110 = 0x39A;
our $FLAG_HIDE_RIVAL_ROUTE119_ON_BIKE = 0x39B;
our $FLAG_HIDE_GRUNTS_HIDEOUTS = 0x39C;
our $FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE = 0x39D;
our $FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY = 0x39E;
our $FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY = 0x39F;
our $FLAG_HIDE_PROF_COSMO_FALLARBOR = 0x3A0;
our $FLAG_HIDE_RIVAL_LAVARIDGE_1 = 0x3A1;
our $FLAG_HIDE_RIVAL_LAVARIDGE_2 = 0x3A2;
our $FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 = 0x3A3;
our $FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 = 0x3A4;
our $FLAG_HIDE_WINGULL_FORTREE_HOUSE = 0x3A5;
our $FLAG_HIDE_WINGULL_MOSSDEEP_HOUSE = 0x3A6;
our $FLAG_HIDE_REGIROCK = 0x3A7;
our $FLAG_HIDE_REGICE = 0x3A8;
our $FLAG_HIDE_REGISTEEL = 0x3A9;
our $FLAG_HIDE_GRUNTS_METEOR_FALLS_1F = 0x3AA;
our $FLAG_HIDE_OTHER_TEAM_METEOR_FALLS_1F = 0x3AB;
our $FLAG_HIDE_SLUDGE_BOMB_MAN_DEWFORD_HALL = 0x3AC;
our $FLAG_HIDE_AWARD_MAN_BATTLE_TOWER = 0x3AD;
our $FLAG_HIDE_PROF_COSMO_METEOR_FALLS = 0x3AE;
our $FLAG_HIDE_SUBMARINE_SHADOW_HIDEOUT = 0x3AF;
our $FLAG_HIDE_EVIL_LEADER_ROUTE128 = 0x3B0;
our $FLAG_HIDE_OTHER_LEADER_ROUTE128 = 0x3B1;
our $FLAG_HIDE_EVIL_TEAM_GRUNTS_SEAFLOOR_CAVERN = 0x3B2;
our $FLAG_HIDE_DEVON_EMPLOYEE_ROUTE116 = 0x3B3;
our $FLAG_HIDE_TM_SALESMAN_SLATEPORT = 0x3B4;
our $FLAG_HIDE_EMPLOYEE_DEVON_CORP_3F = 0x3B5;
our $FLAG_HIDE_BRINEY_AND_PEEKO_SS_TIDAL = 0x3B6;
our $FLAG_HIDE_TM_49_GIVER_SS_TIDAL = 0x3B7;
our $FLAG_HIDE_TOOK_SHOAL_SALT_1 = 0x3B8;
our $FLAG_HIDE_TOOK_SHOAL_SALT_2 = 0x3B9;
our $FLAG_HIDE_TOOK_SHOAL_SALT_3 = 0x3BA;
our $FLAG_HIDE_TOOK_SHOAL_SALT_4 = 0x3BB;
our $FLAG_HIDE_TOOK_SHOAL_SHELL_1 = 0x3BC;
our $FLAG_HIDE_TOOK_SHOAL_SHELL_2 = 0x3BD;
our $FLAG_HIDE_TOOK_SHOAL_SHELL_3 = 0x3BE;
our $FLAG_HIDE_TOOK_SHOAL_SHELL_4 = 0x3BF;
our $FLAG_HIDE_SECRET_POWER_MAN = 0x3C0;
our $FLAG_HIDE_OCEANIC_MUSEUM_VISITORS = 0x3C1;
our $FLAG_HIDE_ROOFTOP_LADY_LILYCOVE_MART = 0x3C2;
our $FLAG_HIDE_ROOT_FOSSIL = 0x3C3;
our $FLAG_HIDE_CLAW_FOSSIL = 0x3C4;
our $FLAG_HIDE_SCARED_GRUNT_OCEANIC_MUSEUM = 0x3C5;
our $FLAG_HIDE_STEVEN_ROUTE118 = 0x3C6;
our $FLAG_HIDE_STEVEN_STEVENS_HOUSE = 0x3C7;
our $FLAG_HIDE_BELDUM_BALL_STEVENS_HOUSE = 0x3C8;
our $FLAG_HIDE_KECLEON_FORTREE = 0x3C9;
our $FLAG_HIDE_KECLEON_ROUTE120_1 = 0x3CA;
our $FLAG_HIDE_RIVAL_LILYCOVE_MART = 0x3CB;
our $FLAG_HIDE_STEVEN_ROUTE120 = 0x3CC;
our $FLAG_HIDE_STEVEN_SOOTOPOLIS = 0x3CD;
our $FLAG_HIDE_VOLTORB_1_NEW_MAUVILLE = 0x3CE;
our $FLAG_HIDE_VOLTORB_2_NEW_MAUVILLE = 0x3CF;
our $FLAG_HIDE_VOLTORB_3_NEW_MAUVILLE = 0x3D0;
our $FLAG_HIDE_ELECTRODE_1_HIDEOUT = 0x3D1;
our $FLAG_HIDE_ELECTRODE_2_HIDEOUT = 0x3D2;
our $FLAG_HIDE_RIVAL_OLDALE_TOWN = 0x3D3;
our $FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION = 0x3D4;
our $FLAG_HIDE_KECLEON_ROUTE120_2 = 0x3D5;
our $FLAG_HIDE_KECLEON_ROUTE120_3 = 0x3D6;
our $FLAG_HIDE_GIRLFRIEND_RUSTURF_TUNNEL = 0x3D7;
our $FLAG_HIDE_GIRLFRIEND_WANDAS_HOUSE = 0x3D8;
our $FLAG_HIDE_KECLEON_ROUTE120_4 = 0x3D9;
our $FLAG_HIDE_KECLEON_ROUTE120_5 = 0x3DA;
our $FLAG_HIDE_KECLEON_ROUTE120_6 = 0x3DB;
our $FLAG_HIDE_KECLEON_ROUTE120_7 = 0x3DC;
our $FLAG_HIDE_KECLEON_ROUTE119_1 = 0x3DD;
our $FLAG_HIDE_KECLEON_ROUTE119_2 = 0x3DE;
our $FLAG_HIDE_BOY_ROUTE101 = 0x3DF;
our $FLAG_ITEM_ROUTE102_1 = 0x3E8;
our $FLAG_ITEM_ROUTE116_1 = 0x3E9;
our $FLAG_ITEM_ROUTE104_1 = 0x3EA;
our $FLAG_ITEM_ROUTE105_1 = 0x3EB;
our $FLAG_ITEM_ROUTE106_1 = 0x3EC;
our $FLAG_ITEM_ROUTE109_1 = 0x3ED;
our $FLAG_ITEM_ROUTE110_1 = 0x3EE;
our $FLAG_ITEM_ROUTE110_2 = 0x3EF;
our $FLAG_ITEM_ROUTE111_1 = 0x3F0;
our $FLAG_ITEM_ROUTE111_2 = 0x3F1;
our $FLAG_ITEM_ROUTE111_3 = 0x3F2;
our $FLAG_ITEM_ROUTE112_1 = 0x3F3;
our $FLAG_ITEM_ROUTE113_1 = 0x3F4;
our $FLAG_ITEM_ROUTE113_2 = 0x3F5;
our $FLAG_ITEM_ROUTE114_1 = 0x3F6;
our $FLAG_ITEM_ROUTE114_2 = 0x3F7;
our $FLAG_ITEM_ROUTE115_1 = 0x3F8;
our $FLAG_ITEM_ROUTE115_2 = 0x3F9;
our $FLAG_ITEM_ROUTE115_3 = 0x3FA;
our $FLAG_ITEM_ROUTE116_2 = 0x3FB;
our $FLAG_ITEM_ROUTE116_3 = 0x3FC;
our $FLAG_ITEM_ROUTE116_4 = 0x3FD;
our $FLAG_ITEM_ROUTE117_1 = 0x3FE;
our $FLAG_ITEM_ROUTE117_2 = 0x3FF;
our $FLAG_ITEM_ROUTE119_1 = 0x400;
our $FLAG_ITEM_ROUTE119_2 = 0x401;
our $FLAG_ITEM_ROUTE119_3 = 0x402;
our $FLAG_ITEM_ROUTE119_4 = 0x403;
our $FLAG_ITEM_ROUTE119_5 = 0x404;
our $FLAG_ITEM_ROUTE119_6 = 0x405;
our $FLAG_ITEM_ROUTE120_1 = 0x406;
our $FLAG_ITEM_ROUTE120_2 = 0x407;
our $FLAG_ITEM_ROUTE123_1 = 0x408;
our $FLAG_ITEM_ROUTE123_2 = 0x409;
our $FLAG_ITEM_ROUTE127_1 = 0x40A;
our $FLAG_ITEM_ROUTE127_2 = 0x40B;
our $FLAG_ITEM_ROUTE132_1 = 0x40C;
our $FLAG_ITEM_ROUTE133_1 = 0x40D;
our $FLAG_ITEM_ROUTE133_2 = 0x40E;
our $FLAG_ITEM_PETALBURG_1 = 0x40F;
our $FLAG_ITEM_PETALBURG_2 = 0x410;
our $FLAG_ITEM_RUSTBORO_1 = 0x411;
our $FLAG_ITEM_LILYCOVE_1 = 0x412;
our $FLAG_ITEM_MOSSDEEP_1 = 0x413;
our $FLAG_ITEM_METEOR_FALLS_1F_1R_1 = 0x414;
our $FLAG_ITEM_METEOR_FALLS_1F_1R_2 = 0x415;
our $FLAG_ITEM_METEOR_FALLS_1F_1R_3 = 0x416;
our $FLAG_ITEM_METEOR_FALLS_1F_1R_4 = 0x417;
our $FLAG_ITEM_RUSTURF_TUNNEL_1 = 0x418;
our $FLAG_ITEM_RUSTURF_TUNNEL_2 = 0x419;
our $FLAG_ITEM_GRANITE_CAVE_1F_1 = 0x41A;
our $FLAG_ITEM_GRANITE_CAVE_B1F_1 = 0x41B;
our $FLAG_ITEM_MT_PYRE_5F_1 = 0x41C;
our $FLAG_ITEM_GRANITE_CAVE_B2F_1 = 0x41D;
our $FLAG_ITEM_GRANITE_CAVE_B2F_2 = 0x41E;
our $FLAG_ITEM_PETALBURG_WOODS_1 = 0x41F;
our $FLAG_ITEM_PETALBURG_WOODS_2 = 0x420;
our $FLAG_ITEM_ROUTE104_2 = 0x421;
our $FLAG_ITEM_PETALBURG_WOODS_3 = 0x422;
our $FLAG_ITEM_CAVE_OF_ORIGIN_B3F_1 = 0x423;
our $FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_1 = 0x424;
our $FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_1 = 0x425;
our $FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_2 = 0x426;
our $FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_1 = 0x427;
our $FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_2 = 0x428;
our $FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_1 = 0x429;
our $FLAG_ITEM_ROUTE124_1 = 0x42A;
our $FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_1 = 0x42B;
our $FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_1 = 0x42C;
our $FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_1 = 0x42D;
our $FLAG_ITEM_JAGGED_PASS_1 = 0x42E;
our $FLAG_ITEM_AQUA_HIDEOUT_B1F_1 = 0x42F;
our $FLAG_ITEM_AQUA_HIDEOUT_B2F_1 = 0x430;
our $FLAG_ITEM_MT_PYRE_EXTERIOR_1 = 0x431;
our $FLAG_ITEM_MT_PYRE_EXTERIOR_2 = 0x432;
our $FLAG_ITEM_NEW_MAUVILLE_INSIDE_1 = 0x433;
our $FLAG_ITEM_NEW_MAUVILLE_INSIDE_2 = 0x434;
our $FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_1 = 0x435;
our $FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_2 = 0x436;
our $FLAG_ITEM_SCORCHED_SLAB_1 = 0x437;
our $FLAG_ITEM_METEOR_FALLS_B1F_2R_1 = 0x438;
our $FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ENTRANCE_1 = 0x439;
our $FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_INNER_ROOM_1 = 0x43A;
our $FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM_1 = 0x43B;
our $FLAG_ITEM_VICTORY_ROAD_1F_1 = 0x43C;
our $FLAG_ITEM_VICTORY_ROAD_1F_2 = 0x43D;
our $FLAG_ITEM_VICTORY_ROAD_B1F_1 = 0x43E;
our $FLAG_ITEM_VICTORY_ROAD_B1F_2 = 0x43F;
our $FLAG_ITEM_VICTORY_ROAD_B2F_1 = 0x440;
our $FLAG_ITEM_MT_PYRE_6F_1 = 0x441;
our $FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_1 = 0x442;
our $FLAG_ITEM_FIERY_PATH_1 = 0x443;
our $FLAG_ITEM_ROUTE124_2 = 0x444;
our $FLAG_ITEM_ROUTE124_3 = 0x445;
our $FLAG_ITEM_SAFARI_ZONE_NORTHWEST_1 = 0x446;
our $FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_1 = 0x447;
our $FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_1 = 0x448;
our $FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_1 = 0x449;
our $FLAG_ITEM_ABANDONED_SHIP_ROOM_B1F_1 = 0x44A;
our $FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_1 = 0x44B;
our $FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_1 = 0x44C;
our $FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_3 = 0x44D;
our $FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_4 = 0x44E;
our $FLAG_ITEM_ROUTE121_1 = 0x44F;
our $FLAG_ITEM_ROUTE123_3 = 0x450;
our $FLAG_ITEM_ROUTE126_1 = 0x451;
our $FLAG_ITEM_ROUTE119_7 = 0x452;
our $FLAG_ITEM_ROUTE120_3 = 0x453;
our $FLAG_ITEM_ROUTE120_4 = 0x454;
our $FLAG_ITEM_ROUTE123_4 = 0x455;
our $FLAG_ITEM_NEW_MAUVILLE_INSIDE_3 = 0x456;
our $FLAG_ITEM_FIERY_PATH_2 = 0x457;
our $FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ICE_ROOM_1 = 0x458;
our $FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ICE_ROOM_2 = 0x459;
our $FLAG_ITEM_ROUTE103_1 = 0x45A;
our $FLAG_ITEM_ROUTE104_3 = 0x45B;
our $FLAG_ITEM_MAUVILLE_1 = 0x45C;
our $FLAG_ITEM_PETALBURG_WOODS_4 = 0x45D;
our $FLAG_ITEM_ROUTE115_4 = 0x45E;
our $FLAG_ITEM_SAFARI_ZONE_NORTHEAST_1 = 0x45F;
our $FLAG_ITEM_MT_PYRE_3F_1 = 0x460;
our $FLAG_ITEM_ROUTE118_1 = 0x461;
our $FLAG_ITEM_NEW_MAUVILLE_INSIDE_4 = 0x462;
our $FLAG_ITEM_NEW_MAUVILLE_INSIDE_5 = 0x463;
our $FLAG_ITEM_AQUA_HIDEOUT_B1F_2 = 0x464;
our $FLAG_ITEM_MAGMA_HIDEOUT_B1F_1 = 0x465;
our $FLAG_ITEM_MAGMA_HIDEOUT_B1F_2 = 0x466;
our $FLAG_ITEM_MAGMA_HIDEOUT_B2F_1 = 0x467;
our $FLAG_ITEM_MT_PYRE_2F_1 = 0x469;
our $FLAG_ITEM_MT_PYRE_4F_1 = 0x46A;
our $FLAG_ITEM_SAFARI_ZONE_SOUTHWEST = 0x46B;
our $FLAG_ITEM_AQUA_HIDEOUT_B1F_3 = 0x46C;
our $FLAG_ITEM_MOSSDEEP_STEVENS_HOUSE_HM08 = 0x46D;
our $FLAG_ITEM_MAGMA_HIDEOUT_B1F_3 = 0x46E;
our $FLAG_ITEM_ROUTE104_4 = 0x46F;
our $FLAG_DEFEATED_RUSTBORO_GYM = 0x4B1;
our $FLAG_DEFEATED_DEWFORD_GYM = 0x4B4;
our $FLAG_DEFEATED_MAUVILLE_GYM = 0x4B8;
our $FLAG_DEFEATED_LAVARIDGE_GYM = 0x4BD;
our $FLAG_DEFEATED_PETALBURG_GYM = 0x4C1;
our $FLAG_DEFEATED_FORTREE_GYM = 0x4C9;
our $FLAG_DEFEATED_MOSSDEEP_GYM = 0x4CD;
our $FLAG_DEFEATED_SOOTOPOLIS_GYM = 0x4D4;
our $FLAG_DEFEATED_ELITE_4_SYDNEY = 0x4DD;
our $FLAG_DEFEATED_ELITE_4_PHOEBE = 0x4DE;
our $FLAG_DEFEATED_ELITE_4_GLACIA = 0x4DF;
our $FLAG_DEFEATED_ELITE_4_DRAKE = 0x4E0;
our $TRAINER_FLAG_START = 0x500;
our $NUMBER_OF_TRAINERS = 693;
our $SYSTEM_FLAGS = ( $TRAINER_FLAG_START + $NUMBER_OF_TRAINERS + 0x4B );
our $FLAG_SYS_POKEMON_GET = ( $SYSTEM_FLAGS + 0x00 );
our $FLAG_SYS_POKEDEX_GET = ( $SYSTEM_FLAGS + 0x01 );
our $FLAG_SYS_POKENAV_GET = ( $SYSTEM_FLAGS + 0x02 );
our $FLAG_SYS_GAME_CLEAR = ( $SYSTEM_FLAGS + 0x04 );
our $FLAG_SYS_CHAT_USED = ( $SYSTEM_FLAGS + 0x05 );
our $FLAG_SYS_HIPSTER_MEET = ( $SYSTEM_FLAGS + 0x06 );
our $FLAG_BADGE01_GET = ( $SYSTEM_FLAGS + 0x07 );
our $FLAG_BADGE02_GET = ( $SYSTEM_FLAGS + 0x08 );
our $FLAG_BADGE03_GET = ( $SYSTEM_FLAGS + 0x09 );
our $FLAG_BADGE04_GET = ( $SYSTEM_FLAGS + 0x0A );
our $FLAG_BADGE05_GET = ( $SYSTEM_FLAGS + 0x0B );
our $FLAG_BADGE06_GET = ( $SYSTEM_FLAGS + 0x0C );
our $FLAG_BADGE07_GET = ( $SYSTEM_FLAGS + 0x0D );
our $FLAG_BADGE08_GET = ( $SYSTEM_FLAGS + 0x0E );
our $FLAG_VISITED_LITTLEROOT_TOWN = ( $SYSTEM_FLAGS + 0x0F );
our $FLAG_VISITED_OLDALE_TOWN = ( $SYSTEM_FLAGS + 0x10 );
our $FLAG_VISITED_DEWFORD_TOWN = ( $SYSTEM_FLAGS + 0x11 );
our $FLAG_VISITED_LAVARIDGE_TOWN = ( $SYSTEM_FLAGS + 0x12 );
our $FLAG_VISITED_FALLARBOR_TOWN = ( $SYSTEM_FLAGS + 0x13 );
our $FLAG_VISITED_VERDANTURF_TOWN = ( $SYSTEM_FLAGS + 0x14 );
our $FLAG_VISITED_PACIFIDLOG_TOWN = ( $SYSTEM_FLAGS + 0x15 );
our $FLAG_VISITED_PETALBURG_CITY = ( $SYSTEM_FLAGS + 0x16 );
our $FLAG_VISITED_SLATEPORT_CITY = ( $SYSTEM_FLAGS + 0x17 );
our $FLAG_VISITED_MAUVILLE_CITY = ( $SYSTEM_FLAGS + 0x18 );
our $FLAG_VISITED_RUSTBORO_CITY = ( $SYSTEM_FLAGS + 0x19 );
our $FLAG_VISITED_FORTREE_CITY = ( $SYSTEM_FLAGS + 0x1A );
our $FLAG_VISITED_LILYCOVE_CITY = ( $SYSTEM_FLAGS + 0x1B );
our $FLAG_VISITED_MOSSDEEP_CITY = ( $SYSTEM_FLAGS + 0x1C );
our $FLAG_VISITED_SOOTOPOLIS_CITY = ( $SYSTEM_FLAGS + 0x1D );
our $FLAG_VISITED_EVER_GRANDE_CITY = ( $SYSTEM_FLAGS + 0x1E );
our $FLAG_SYS_USE_FLASH = ( $SYSTEM_FLAGS + 0x28 );
our $FLAG_SYS_USE_STRENGTH = ( $SYSTEM_FLAGS + 0x29 );
our $FLAG_SYS_WEATHER_CTRL = ( $SYSTEM_FLAGS + 0x2A );
our $FLAG_SYS_CYCLING_ROAD = ( $SYSTEM_FLAGS + 0x2B );
our $FLAG_SYS_SAFARI_MODE = ( $SYSTEM_FLAGS + 0x2C );
our $FLAG_SYS_CRUISE_MODE = ( $SYSTEM_FLAGS + 0x2D );
our $FLAG_SYS_TV_HOME = ( $SYSTEM_FLAGS + 0x30 );
our $FLAG_SYS_TV_WATCH = ( $SYSTEM_FLAGS + 0x31 );
our $FLAG_SYS_TV_START = ( $SYSTEM_FLAGS + 0x32 );
our $FLAG_SYS_POPWORD_INPUT = ( $SYSTEM_FLAGS + 0x33 );
our $FLAG_SYS_MIX_RECORD = ( $SYSTEM_FLAGS + 0x34 );
our $FLAG_SYS_CLOCK_SET = ( $SYSTEM_FLAGS + 0x35 );
our $FLAG_SYS_NATIONAL_DEX = ( $SYSTEM_FLAGS + 0x36 );
our $FLAG_SYS_CAVE_SHIP = ( $SYSTEM_FLAGS + 0x37 );
our $FLAG_SYS_CAVE_WONDER = ( $SYSTEM_FLAGS + 0x38 );
our $FLAG_SYS_CAVE_BATTLE = ( $SYSTEM_FLAGS + 0x39 );
our $FLAG_SYS_SHOAL_TIDE = ( $SYSTEM_FLAGS + 0x3A );
our $FLAG_SYS_RIBBON_GET = ( $SYSTEM_FLAGS + 0x3B );
our $FLAG_LANDMARK_FLOWER_SHOP = ( $SYSTEM_FLAGS + 0x3C );
our $FLAG_LANDMARK_MR_BRINEY_HOUSE = ( $SYSTEM_FLAGS + 0x3D );
our $FLAG_LANDMARK_ABANDONED_SHIP = ( $SYSTEM_FLAGS + 0x3E );
our $FLAG_LANDMARK_SEASHORE_HOUSE = ( $SYSTEM_FLAGS + 0x3F );
our $FLAG_LANDMARK_NEW_MAUVILLE = ( $SYSTEM_FLAGS + 0x40 );
our $FLAG_LANDMARK_OLD_LADY_REST_SHOP = ( $SYSTEM_FLAGS + 0x41 );
our $FLAG_LANDMARK_TRICK_HOUSE = ( $SYSTEM_FLAGS + 0x42 );
our $FLAG_LANDMARK_WINSTRATE_FAMILY = ( $SYSTEM_FLAGS + 0x43 );
our $FLAG_LANDMARK_GLASS_WORKSHOP = ( $SYSTEM_FLAGS + 0x44 );
our $FLAG_LANDMARK_LANETTES_HOUSE = ( $SYSTEM_FLAGS + 0x45 );
our $FLAG_LANDMARK_POKEMON_DAYCARE = ( $SYSTEM_FLAGS + 0x46 );
our $FLAG_LANDMARK_SEAFLOOR_CAVERN = ( $SYSTEM_FLAGS + 0x47 );
our $FLAG_LANDMARK_BATTLE_TOWER = ( $SYSTEM_FLAGS + 0x48 );
our $FLAG_LANDMARK_SOUTHERN_ISLAND = ( $SYSTEM_FLAGS + 0x49 );
our $FLAG_LANDMARK_FIERY_PATH = ( $SYSTEM_FLAGS + 0x4A );
our $FLAG_SYS_PC_LANETTE = ( $SYSTEM_FLAGS + 0x4B );
our $FLAG_SYS_EXDATA_ENABLE = ( $SYSTEM_FLAGS + 0x4C );
our $FLAG_SYS_ENC_UP_ITEM = ( $SYSTEM_FLAGS + 0x4D );
our $FLAG_SYS_ENC_DOWN_ITEM = ( $SYSTEM_FLAGS + 0x4E );
our $FLAG_SYS_BRAILLE_DIG = ( $SYSTEM_FLAGS + 0x4F );
our $FLAG_SYS_BRAILLE_STRENGTH = ( $SYSTEM_FLAGS + 0x50 );
our $FLAG_SYS_BRAILLE_WAIT = ( $SYSTEM_FLAGS + 0x51 );
our $FLAG_SYS_BRAILLE_FLY = ( $SYSTEM_FLAGS + 0x52 );
our $FLAG_SYS_HAS_EON_TICKET = ( $SYSTEM_FLAGS + 0x53 );
our $FLAG_SYS_POKEMON_LEAGUE_FLY = ( $SYSTEM_FLAGS + 0x54 );
our $FLAG_LANDMARK_ISLAND_CAVE = ( $SYSTEM_FLAGS + 0x55 );
our $FLAG_LANDMARK_DESERT_RUINS = ( $SYSTEM_FLAGS + 0x56 );
our $FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE = ( $SYSTEM_FLAGS + 0x57 );
our $FLAG_LANDMARK_SCORCHED_SLAB = ( $SYSTEM_FLAGS + 0x58 );
our $FLAG_LANDMARK_ANCIENT_TOMB = ( $SYSTEM_FLAGS + 0x59 );
our $FLAG_LANDMARK_TUNNELERS_REST_HOUSE = ( $SYSTEM_FLAGS + 0x5A );
our $FLAG_LANDMARK_HUNTERS_HOUSE = ( $SYSTEM_FLAGS + 0x5B );
our $FLAG_LANDMARK_SEALED_CHAMBER = ( $SYSTEM_FLAGS + 0x5C );
our $FLAG_SYS_TV_LATI = ( $SYSTEM_FLAGS + 0x5D );
our $FLAG_LANDMARK_SKY_PILLAR = ( $SYSTEM_FLAGS + 0x5E );
our $FLAG_SYS_SHOAL_ITEM = ( $SYSTEM_FLAGS + 0x5F );
our $FLAG_SYS_B_DASH = ( $SYSTEM_FLAGS + 0x60 );
our $FLAG_SYS_CTRL_OBJ_DELETE = ( $SYSTEM_FLAGS + 0x61 );
our $FLAG_SYS_RESET_RTC_ENABLE = ( $SYSTEM_FLAGS + 0x62 );
our $FLAG_LANDMARK_BERRY_MASTERS_HOUSE = ( $SYSTEM_FLAGS + 0x63 );
our $DAILY_FLAGS_START = ( $SYSTEM_FLAGS + 0xC0 );
our $FLAG_DAILY_RECEIVED_BERRY_FALLARBOR = ( $SYSTEM_FLAGS + 0xC1 );
our $FLAG_DAILY_UNKNOWN_8C2 = ( $SYSTEM_FLAGS + 0xC2 );
our $FLAG_DAILY_PICKED_LOTTO_TICKET = ( $SYSTEM_FLAGS + 0xCA );
our $FLAG_DAILY_RECEIVED_BERRY_ROUTE114 = ( $SYSTEM_FLAGS + 0xCB );
our $FLAG_DAILY_RECEIVED_BERRY_ROUTE111 = ( $SYSTEM_FLAGS + 0xCC );
our $FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER = ( $SYSTEM_FLAGS + 0xCD );
our $FLAG_DAILY_RECEIVED_BERRY_ROUTE120 = ( $SYSTEM_FLAGS + 0xCE );
our $FLAG_DAILY_RECEIVED_BERRY_LILYCOVE = ( $SYSTEM_FLAGS + 0xCF );
our $FLAG_DAILY_RECEIVED_BERRY_FLOWER_SHOP = ( $SYSTEM_FLAGS + 0xD0 );
our $FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER_WIFE = ( $SYSTEM_FLAGS + 0xD1 );
our $FLAG_DAILY_RECEIVED_BERRY_SOOTOPOLIS = ( $SYSTEM_FLAGS + 0xD2 );
our @EXPORT_OK =
qw/$FLAG_SET_WALL_CLOCK $FLAG_RESCUED_BIRCH $FLAG_LINK_CONTEST_ROOM_POKEBALL $FLAG_MET_RIVAL_MOM $FLAG_BIRCH_AIDE_MET $FLAG_DECLINED_BIKE $FLAG_RECEIVED_BIKE $FLAG_RECEIVED_WAILMER_PAIL $FLAG_RECEIVED_POKEBLOCK_CASE $FLAG_RECEIVED_SECRET_POWER $FLAG_TV_EXPLAINED $FLAG_MAUVILLE_GYM_BARRIERS_STATE $FLAG_MOSSDEEP_GYM_SWITCH_1 $FLAG_MOSSDEEP_GYM_SWITCH_2 $FLAG_MOSSDEEP_GYM_SWITCH_3 $FLAG_MOSSDEEP_GYM_SWITCH_4 $FLAG_OCEANIC_MUSEUM_MET_REPORTER $FLAG_RECEIVED_HM04 $FLAG_RECEIVED_HM06 $FLAG_RECEIVED_HM05 $FLAG_RECEIVED_HM02 $FLAG_MT_PYRE_ORB_STOLEN $FLAG_EVIL_TEAM_ESCAPED_IN_SUBMARINE $FLAG_LEGENDARY_BATTLE_COMPLETED $FLAG_RECEIVED_METEORITE $FLAG_ADVENTURE_STARTED $FLAG_MET_HIDDEN_POWER_GIVER $FLAG_RECEIVED_TM31 $FLAG_RECEIVED_HM03 $FLAG_RECEIVED_HM08 $FLAG_DEFEATED_WALLY_VICTORY_ROAD $FLAG_MET_PRETTY_PETAL_SHOP_OWNER $FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN $FLAG_DEFEATED_RIVAL_ROUTE103 $FLAG_RECEIVED_DOLL_LANETTE $FLAG_RECEIVED_POTION_OLDALE $FLAG_RECEIVED_AMULET_COIN $FLAG_PENDING_DAYCARE_EGG $FLAG_THANKED_FOR_PLAYING_WITH_WALLY $FLAG_RECEIVED_HM01 $FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY $FLAG_RECEIVED_6_SODA_POP $FLAG_DEFEATED_SEASHORE_HOUSE_TRAINER $FLAG_DEVON_GOODS_STOLEN $FLAG_RECOVERED_DEVON_GOODS $FLAG_RETURNED_DEVON_GOODS $FLAG_MR_BRINEY_SAILING_INTRO $FLAG_DOCK_REJECTED_DEVON_GOODS $FLAG_DELIVERED_DEVON_GOODS $FLAG_RECEIVED_CONTEST_PASS $FLAG_RECEIVED_CASTFORM $FLAG_RECEIVED_SUPER_ROD $FLAG_RUSTBORO_NPC_TRADE_COMPLETED $FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED $FLAG_FORTREE_NPC_TRADE_COMPLETED $FLAG_UNKNOWN_9F $FLAG_COOL_PAINTING_MADE $FLAG_BEAUTY_PAINTING_MADE $FLAG_CUTE_PAINTING_MADE $FLAG_SMART_PAINTING_MADE $FLAG_TOUGH_PAINTING_MADE $FLAG_RECEIVED_TM39 $FLAG_RECEIVED_TM08 $FLAG_RECEIVED_TM34 $FLAG_RECEIVED_TM50 $FLAG_RECEIVED_TM42 $FLAG_RECEIVED_TM40 $FLAG_RECEIVED_TM04 $FLAG_RECEIVED_TM03 $FLAG_DECORATION_1 $FLAG_DECORATION_2 $FLAG_DECORATION_3 $FLAG_DECORATION_4 $FLAG_DECORATION_5 $FLAG_DECORATION_6 $FLAG_DECORATION_7 $FLAG_DECORATION_8 $FLAG_DECORATION_9 $FLAG_DECORATION_10 $FLAG_DECORATION_11 $FLAG_DECORATION_12 $FLAG_DECORATION_13 $FLAG_DECORATION_14 $FLAG_DECORATION_15 $FLAG_RECEIVED_POKENAV $FLAG_DELIVERED_STEVEN_LETTER $FLAG_DEFEATED_WALLY_MAUVILLE $FLAG_RECEIVED_SUN_STONE_MOSSDEEP $FLAG_WALLY_SPEECH $FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 $FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 $FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 $FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 $FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 $FLAG_RUSTURF_TUNNEL_OPENED $FLAG_RECEIVED_RED_SCARF $FLAG_RECEIVED_BLUE_SCARF $FLAG_RECEIVED_PINK_SCARF $FLAG_RECEIVED_GREEN_SCARF $FLAG_RECEIVED_YELLOW_SCARF $FLAG_ENCOUNTERED_LATIAS_OR_LATIOS $FLAG_RECEIVED_BASEMENT_KEY $FLAG_RECEIVED_TM24 $FLAG_RECEIVED_RED_OR_BLUE_ORB $FLAG_RECEIVED_PREMIER_BALL_RUSTBORO $FLAG_ROUTE104_PROTOTYPE_COMPLETED_1 $FLAG_ROUTE104_PROTOTYPE_COMPLETED_2 $FLAG_MET_DIVING_TREASURE_HUNTER $FLAG_MET_WAILMER_TRAINER $FLAG_EVIL_LEADER_PLEASE_STOP $FLAG_RECEIVED_GO_GOGGLES $FLAG_WINGULL_SENT_ON_ERRAND $FLAG_RECEIVED_MENTAL_HERB/;
@EXPORT_OK = (
@EXPORT_OK,
qw/$FLAG_WINGULL_DELIVERED_MAIL $FLAG_RECEIVED_20_COINS $FLAG_RECEIVED_STARTER_DOLL $FLAG_RECEIVED_GOOD_ROD $FLAG_REGI_DOORS_OPENED $FLAG_RECEIVED_TM27 $FLAG_RECEIVED_TM36 $FLAG_RECEIVED_TM05 $FLAG_RECEIVED_TM19 $FLAG_RECEIVED_TM44 $FLAG_RECEIVED_TM45 $FLAG_RECEIVED_GLASS_ORNAMENT $FLAG_RECEIVED_SILVER_SHIELD $FLAG_RECEIVED_GOLD_SHIELD $FLAG_USED_STORAGE_KEY $FLAG_USED_ROOM_1_KEY $FLAG_USED_ROOM_2_KEY $FLAG_USED_ROOM_4_KEY $FLAG_USED_ROOM_6_KEY $FLAG_MET_PROF_COSMO $FLAG_RECEIVED_WAILMER_DOLL $FLAG_RECEIVED_CHESTO_BERRY_ROUTE104 $FLAG_DEFEATED_SS_TIDAL_TRAINERS $FLAG_RECEIVED_SPELON_BERRY $FLAG_RECEIVED_PAMTRE_BERRY $FLAG_RECEIVED_WATMEL_BERRY $FLAG_RECEIVED_DURIN_BERRY $FLAG_RECEIVED_BELUE_BERRY $FLAG_RECEIVED_CHARCOAL $FLAG_LATIOS_OR_LATIAS_ROAMING $FLAG_RECEIVED_REPEAT_BALL $FLAG_RECEIVED_OLD_ROD $FLAG_RECEIVED_COIN_CASE $FLAG_RETURNED_RED_OR_BLUE_ORB $FLAG_RECEIVED_TM49 $FLAG_RECEIVED_TM28 $FLAG_RECEIVED_TM09 $FLAG_ENTERED_ELITE_FOUR $FLAG_RECEIVED_TM10 $FLAG_RECEIVED_TM41 $FLAG_RECEIVED_LAVARIDGE_EGG $FLAG_RECEIVED_FOSSIL_MON $FLAG_SECRET_BASE_REGISTRY_ENABLED $FLAG_RECEIVED_TM46 $FLAG_CONTEST_SKETCH_CREATED $FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE $FLAG_RECEIVED_EXP_SHARE $FLAG_POKERUS_EXPLAINED $FLAG_RECEIVED_RUNNING_SHOES $FLAG_RECEIVED_QUICK_CLAW $FLAG_RECEIVED_KINGS_ROCK $FLAG_RECEIVED_MACHO_BRACE $FLAG_RECEIVED_SOOTHE_BELL $FLAG_RECEIVED_WHITE_HERB $FLAG_RECEIVED_SOFT_SAND $FLAG_RECEIVED_CLEANSE_TAG $FLAG_RECEIVED_FOCUS_BAND $FLAG_DECLINED_WALLY_BATTLE_MAUVILLE $FLAG_RECEIVED_DEVON_SCOPE $FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE $FLAG_MET_DEVON_EMPLOYEE $FLAG_MET_RIVAL_RUSTBORO $FLAG_RECEIVED_SILK_SCARF $FLAG_NOT_READY_FOR_BATTLE_ROUTE120 $FLAG_RECEIVED_SS_TICKET $FLAG_MET_RIVAL_LILYCOVE $FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE $FLAG_EXCHANGED_SCANNER $FLAG_KECLEON_FLED_FORTREE $FLAG_PETALBURG_MART_EXPANDED_ITEMS $FLAG_RECEIVED_MIRACLE_SEED $FLAG_RECEIVED_BELDUM $FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK $FLAG_MET_FANCLUB_YOUNGER_BROTHER $FLAG_RIVAL_LEFT_FOR_ROUTE103 $FLAG_OMIT_DIVE_FROM_STEVEN_LETTER $FLAG_HIDDEN_ITEMS_START $FLAG_HIDDEN_ITEM_0 $FLAG_HIDDEN_ITEM_1 $FLAG_HIDDEN_ITEM_2 $FLAG_HIDDEN_ITEM_3 $FLAG_HIDDEN_ITEM_4 $FLAG_HIDDEN_ITEM_5 $FLAG_HIDDEN_ITEM_6 $FLAG_HIDDEN_ITEM_7 $FLAG_HIDDEN_ITEM_8 $FLAG_HIDDEN_ITEM_9 $FLAG_HIDDEN_ITEM_A $FLAG_HIDDEN_ITEM_B $FLAG_HIDDEN_ITEM_C $FLAG_HIDDEN_ITEM_D $FLAG_HIDDEN_ITEM_E $FLAG_HIDDEN_ITEM_F $FLAG_HIDDEN_ITEM_10 $FLAG_HIDDEN_ITEM_11 $FLAG_HIDDEN_ITEM_12 $FLAG_HIDDEN_ITEM_13 $FLAG_HIDDEN_ITEM_14 $FLAG_HIDDEN_ITEM_15 $FLAG_HIDDEN_ITEM_16 $FLAG_HIDDEN_ITEM_17 $FLAG_HIDDEN_ITEM_18 $FLAG_HIDDEN_ITEM_19 $FLAG_HIDDEN_ITEM_1A $FLAG_HIDDEN_ITEM_1B $FLAG_HIDDEN_ITEM_1C $FLAG_HIDDEN_ITEM_1D $FLAG_HIDDEN_ITEM_1E $FLAG_HIDDEN_ITEM_1F $FLAG_HIDDEN_ITEM_20 $FLAG_HIDDEN_ITEM_21 $FLAG_HIDDEN_ITEM_22 $FLAG_HIDDEN_ITEM_23 $FLAG_HIDDEN_ITEM_24 $FLAG_HIDDEN_ITEM_25 $FLAG_HIDDEN_ITEM_26 $FLAG_HIDDEN_ITEM_27 $FLAG_HIDDEN_ITEM_28 $FLAG_HIDDEN_ITEM_29 $FLAG_HIDDEN_ITEM_2A $FLAG_HIDDEN_ITEM_2B/
);
@EXPORT_OK = (
@EXPORT_OK,
qw/$FLAG_HIDDEN_ITEM_2C $FLAG_HIDDEN_ITEM_2D $FLAG_HIDDEN_ITEM_2E $FLAG_HIDDEN_ITEM_2F $FLAG_HIDDEN_ITEM_30 $FLAG_HIDDEN_ITEM_31 $FLAG_HIDDEN_ITEM_32 $FLAG_HIDDEN_ITEM_33 $FLAG_HIDDEN_ITEM_34 $FLAG_HIDDEN_ITEM_35 $FLAG_HIDDEN_ITEM_36 $FLAG_HIDDEN_ITEM_37 $FLAG_HIDDEN_ITEM_38 $FLAG_HIDDEN_ITEM_39 $FLAG_HIDDEN_ITEM_3A $FLAG_HIDDEN_ITEM_3B $FLAG_HIDDEN_ITEM_3C $FLAG_HIDDEN_ITEM_3D $FLAG_HIDDEN_ITEM_3E $FLAG_HIDDEN_ITEM_3F $FLAG_HIDDEN_ITEM_40 $FLAG_HIDDEN_ITEM_41 $FLAG_HIDDEN_ITEM_42 $FLAG_HIDDEN_ITEM_43 $FLAG_HIDDEN_ITEM_44 $FLAG_HIDDEN_ITEM_45 $FLAG_HIDDEN_ITEM_46 $FLAG_HIDDEN_ITEM_47 $FLAG_HIDDEN_ITEM_48 $FLAG_HIDDEN_ITEM_49 $FLAG_HIDDEN_ITEM_4A $FLAG_HIDDEN_ITEM_4B $FLAG_HIDDEN_ITEM_4C $FLAG_HIDDEN_ITEM_4D $FLAG_HIDDEN_ITEM_4E $FLAG_HIDDEN_ITEM_4F $FLAG_HIDDEN_ITEM_50 $FLAG_HIDDEN_ITEM_51 $FLAG_HIDDEN_ITEM_52 $FLAG_HIDDEN_ITEM_53 $FLAG_HIDDEN_ITEM_54 $FLAG_HIDDEN_ITEM_55 $FLAG_HIDDEN_ITEM_56 $FLAG_HIDDEN_ITEM_57 $FLAG_HIDDEN_ITEM_58 $FLAG_HIDDEN_ITEM_59 $FLAG_HIDDEN_ITEM_5A $FLAG_HIDDEN_ITEM_5B $FLAG_HIDDEN_ITEM_5C $FLAG_HIDDEN_ITEM_5D $FLAG_HIDDEN_ITEM_5E $FLAG_HIDDEN_ITEM_5F $FLAG_HIDDEN_ITEM_BLACK_GLASSES $FLAG_HIDDEN_ITEM_61 $FLAG_HIDE_BIRCH_STARTERS_BAG $FLAG_HIDE_BIRCH_BATTLE_POOCHYENA $FLAG_HIDE_BIRCH_IN_LAB $FLAG_HIDE_MAY_UPSTAIRS $FLAG_HIDE_RIVAL_ROUTE103 $FLAG_HIDE_DEVON_PETALBURG_WOODS $FLAG_HIDE_EVIL_TEAM_PETALBURG_WOODS $FLAG_HIDE_WALLY_PETALBURG $FLAG_HIDE_STEVENS_LETTER $FLAG_HIDE_WALLY_MOM_PETALBURG_1 $FLAG_HIDE_GRUNT_RUSTBORO $FLAG_HIDE_DEVON_RUSTBORO $FLAG_HIDE_SLEEPING_MON_SEAFLOOR_CAVERN $FLAG_HIDE_NORMAN_LITTLEROOT $FLAG_UNKNOWN_2E1 $FLAG_HIDE_MR_BRINEY_ROUTE104 $FLAG_HIDE_MR_BRINEY_ROUTE104_HOUSE $FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN $FLAG_HIDE_MR_BRINEY_ROUTE109 $FLAG_HIDE_MR_BRINEY_BOAT_ROUTE104 $FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD $FLAG_HIDE_MR_BRINEY_BOAT_ROUTE109 $FLAG_UNKNOWN_2EB $FLAG_UNKNOWN_2EC $FLAG_UNKNOWN_2ED $FLAG_HIDE_POOCHYENA_ROUTE101 $FLAG_HIDE_WALLY_DEFEATED_VICTORY_ROAD $FLAG_HIDE_MOM_LITTLEROOT $FLAG_HIDE_MACHOKE_MOVER_1 $FLAG_HIDE_MACHOKE_MOVER_2 $FLAG_UNKNOWN_2F4 $FLAG_HIDE_MOM_UPSTAIRS $FLAG_HIDE_BRENDAN_MOM_DOWNSTAIRS $FLAG_HIDE_MAY_MOM_DOWNSTAIRS $FLAG_HIDE_BRENDAN_UPSTAIRS $FLAG_HIDE_MOVING_TRUCK_BRENDAN $FLAG_HIDE_MOVING_TRUCK_MAY $FLAG_HIDE_VICTOR_WINSTRATE $FLAG_HIDE_VICTORIA_WINSTRATE $FLAG_HIDE_VIVI_WINSTRATE $FLAG_HIDE_VICKI_WINSTRATE $FLAG_HIDE_NORMAN_PETALBURG_GYM $FLAG_HIDE_RAYQUAZA $FLAG_HIDE_LILYCOVE_CONTEST_ATTENDENT_1 $FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR $FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_LADY $FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_GIRL $FLAG_HIDE_LILYCOVE_MUSEUM_PAINTING_MAN $FLAG_HIDE_LILYCOVE_MUSEUM_PAINTER $FLAG_HIDE_LILYCOVE_MUSEUM_VISITORS $FLAG_HIDE_PETALBURG_GYM_GUIDE $FLAG_UNKNOWN_30E $FLAG_UNKNOWN_30F $FLAG_HIDE_BRENDAN_MOM $FLAG_HIDE_MAY_MOM $FLAG_HIDE_FANCLUB_OLD_LADY $FLAG_HIDE_FANCLUB_BOY $FLAG_HIDE_FANCLUB_LITTLE_BOY $FLAG_HIDE_FANCLUB_LADY $FLAG_HIDE_GABBY_AND_TY_ROUTE111_1 $FLAG_HIDE_GABBY_AND_TY_ROUTE118_1 $FLAG_HIDE_GABBY_AND_TY_ROUTE120_1/
);
@EXPORT_OK = (
@EXPORT_OK,
qw/$FLAG_HIDE_GABBY_AND_TY_ROUTE111_2 $FLAG_HIDE_CONTEST_REPORTER_FALLARBOR $FLAG_HIDE_CONTEST_REPORTER_VERDANTURF $FLAG_HIDE_CONTEST_REPORTER_LILYCOVE $FLAG_HIDE_CONTEST_REPORTER_SLATEPORT $FLAG_HIDE_WALLY_MAUVILLE $FLAG_HIDE_WALLY_FATHER_MAUVILLE $FLAG_HIDE_WALLY_WANDAS_HOUSE $FLAG_HIDE_BOYFRIEND_RUSTURF_TUNNEL $FLAG_HIDE_BOYFRIEND_WANDAS_HOUSE $FLAG_HIDE_WALLY_FATHER_WANDAS_HOUSE $FLAG_HIDE_WALLY_FATHER_PETALBURG $FLAG_HIDE_WALLY_MOTHER_PETALBURG $FLAG_HIDE_LOST_GLASSES_MAN $FLAG_HIDE_RIVAL_RUSTBORO $FLAG_HIDE_WALLACE_SOOTOPOLIS_GYM $FLAG_HIDE_WALLACE_SOOTOPOLIS $FLAG_HIDE_GRUNTS_BLOCKING_CABLE_CAR $FLAG_HIDE_GRUNT_1_BLOCKING_HIDEOUT $FLAG_HIDE_GRUNT_2_BLOCKING_HIDEOUT $FLAG_UNKNOWN_337 $FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN $FLAG_HIDE_EVIL_LEADER_SEAFLOOR_CAVERN $FLAG_HIDE_OTHER_LEADER_SEAFLOOR_CAVERN $FLAG_HIDE_OTHER_TEAM_GRUNTS_SEAFLOOR_CAVERN $FLAG_HIDE_STEVEN_GRANITE_CAVE $FLAG_HIDE_STEVEN_ROUTE128 $FLAG_HIDE_GABBY_AND_TY_SLATEPORT $FLAG_HIDE_STERN_SLATEPORT $FLAG_HIDE_STERN_SLATEPORT_HARBOR $FLAG_UNKNOWN_34B $FLAG_UNKNOWN_34C $FLAG_HIDE_GRUNT_1_SLATEPORT_HARBOR $FLAG_HIDE_GRUNT_2_SLATEPORT_HARBOR $FLAG_UNKNOWN_34F $FLAG_HIDE_SUBMARINE_SHADOW_SLATEPORT_HARBOR $FLAG_HIDE_MAY_PICHU_DOLL $FLAG_HIDE_RIVAL_ROUTE119 $FLAG_HIDE_GRUNTS_LILYCOVE $FLAG_HIDE_SOOTOPOLIS_RESIDENTS $FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_1 $FLAG_HIDE_CAVE_OF_ORIGIN_ENTRANCE_WOMAN_2 $FLAG_HIDE_WALLY_BATTLE_VICTORY_ROAD $FLAG_HIDE_AWAKENED_MON_SEAFLOOR_CAVERN $FLAG_HIDE_SS_TIDAL_SLATEPORT_HARBOR $FLAG_HIDE_SS_TIDAL_LILYCOVE_HARBOR $FLAG_HIDE_WALLY_PETALBURG_GYM $FLAG_UNKNOWN_363 $FLAG_HIDE_FAT_MAN_LITTLEROOT $FLAG_HIDE_BRINEY_SLATEPORT_SHIPYARD $FLAG_HIDE_LANETTE $FLAG_HIDE_LANETTE_FALLARBOR $FLAG_HIDE_TRICKMASTER_ENTRANCE $FLAG_HIDE_MT_CHIMNEY_PEOPLE $FLAG_HIDE_GRUNT_RUSTURF_TUNNEL $FLAG_HIDE_BRINEY_RUSTURF_TUNNEL $FLAG_HIDE_PEEKO_RUSTURF_TUNNEL $FLAG_HIDE_PEEKO_BRINEY_HOUSE $FLAG_HIDE_EVIL_TEAM_SLATEPORT $FLAG_HIDE_EVIL_TEAM_OCEANIC_MUSEUM $FLAG_HIDE_GRUNT_1_OCEANIC_MUSEUM_2F $FLAG_HIDE_GRUNT_2_OCEANIC_MUSEUM_2F $FLAG_HIDE_EVIL_TEAM_LEADER_OCEANIC_MUSEUM_2F $FLAG_HIDE_STERN_OCEANIC_MUSEUM_2F $FLAG_HIDE_BATTLE_TOWER_OPPONENT $FLAG_HIDE_RIVAL_BIRCH_LAB $FLAG_HIDE_EVIL_TEAM_WEATHER_INSTITUTE $FLAG_HIDE_BRINEY_ROUTE116 $FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_1F $FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_2F $FLAG_HIDE_TUNNER_DIGGER_ROUTE116 $FLAG_HIDE_ARTIST_LILCOVE_CONTEST $FLAG_UNKNOWN_BIRCH_380 $FLAG_HIDE_BIRCH_ROUTE101 $FLAG_HIDE_BIRCH_ROUTE103 $FLAG_HIDE_TRICKMASTER_END $FLAG_HIDE_EVIL_TEAM_ROUTE110 $FLAG_HIDE_GABBY_AND_TY_ROUTE118_2 $FLAG_HIDE_GABBY_AND_TY_ROUTE120_2 $FLAG_HIDE_GABBY_AND_TY_ROUTE111_3 $FLAG_HIDE_GABBY_AND_TY_ROUTE118_3 $FLAG_HIDE_WORKERS_SLATEPORT_HARBOR $FLAG_HIDE_FLOWER_SHOP_WORKER_OUTSIDE $FLAG_HIDE_AZURILL_FALLARBOR $FLAG_HIDE_FERRY_ATTENDANT_LILYCOVE $FLAG_HIDE_FERRY_SAILOR_LILYCOVE $FLAG_HIDE_LATIOS_OR_LATIAS_FLYING $FLAG_HIDE_LATIOS_OR_LATIAS_STATIONARY $FLAG_HIDE_WATTSON_MAUVILLE $FLAG_HIDE_WATTSON_MAUVILLE_GYM/
);
@EXPORT_OK = (
@EXPORT_OK,
qw/$FLAG_HIDE_GRUNTS_ROUTE121 $FLAG_UNKNOWN_393 $FLAG_HIDE_LEADER_MT_PYRE_SUMMIT $FLAG_HIDE_GRUNTS_MT_PYRE_SUMMIT $FLAG_HIDE_REPORTER_BATTLE_TOWER $FLAG_HIDE_RIVAL_ROUTE110 $FLAG_HIDE_RIVAL_CHAMPIONS_ROOM $FLAG_HIDE_BIRCH_CHAMPIONS_ROOM $FLAG_HIDE_RIVAL_ON_BIKE_ROUTE110 $FLAG_HIDE_RIVAL_ROUTE119_ON_BIKE $FLAG_HIDE_GRUNTS_HIDEOUTS $FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE $FLAG_HIDE_EVIL_TEAM_MT_CHIMNEY $FLAG_HIDE_OTHER_TEAM_MT_CHIMNEY $FLAG_HIDE_PROF_COSMO_FALLARBOR $FLAG_HIDE_RIVAL_LAVARIDGE_1 $FLAG_HIDE_RIVAL_LAVARIDGE_2 $FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 $FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 $FLAG_HIDE_WINGULL_FORTREE_HOUSE $FLAG_HIDE_WINGULL_MOSSDEEP_HOUSE $FLAG_HIDE_REGIROCK $FLAG_HIDE_REGICE $FLAG_HIDE_REGISTEEL $FLAG_HIDE_GRUNTS_METEOR_FALLS_1F $FLAG_HIDE_OTHER_TEAM_METEOR_FALLS_1F $FLAG_HIDE_SLUDGE_BOMB_MAN_DEWFORD_HALL $FLAG_HIDE_AWARD_MAN_BATTLE_TOWER $FLAG_HIDE_PROF_COSMO_METEOR_FALLS $FLAG_HIDE_SUBMARINE_SHADOW_HIDEOUT $FLAG_HIDE_EVIL_LEADER_ROUTE128 $FLAG_HIDE_OTHER_LEADER_ROUTE128 $FLAG_HIDE_EVIL_TEAM_GRUNTS_SEAFLOOR_CAVERN $FLAG_HIDE_DEVON_EMPLOYEE_ROUTE116 $FLAG_HIDE_TM_SALESMAN_SLATEPORT $FLAG_HIDE_EMPLOYEE_DEVON_CORP_3F $FLAG_HIDE_BRINEY_AND_PEEKO_SS_TIDAL $FLAG_HIDE_TM_49_GIVER_SS_TIDAL $FLAG_HIDE_TOOK_SHOAL_SALT_1 $FLAG_HIDE_TOOK_SHOAL_SALT_2 $FLAG_HIDE_TOOK_SHOAL_SALT_3 $FLAG_HIDE_TOOK_SHOAL_SALT_4 $FLAG_HIDE_TOOK_SHOAL_SHELL_1 $FLAG_HIDE_TOOK_SHOAL_SHELL_2 $FLAG_HIDE_TOOK_SHOAL_SHELL_3 $FLAG_HIDE_TOOK_SHOAL_SHELL_4 $FLAG_HIDE_SECRET_POWER_MAN $FLAG_HIDE_OCEANIC_MUSEUM_VISITORS $FLAG_HIDE_ROOFTOP_LADY_LILYCOVE_MART $FLAG_HIDE_ROOT_FOSSIL $FLAG_HIDE_CLAW_FOSSIL $FLAG_HIDE_SCARED_GRUNT_OCEANIC_MUSEUM $FLAG_HIDE_STEVEN_ROUTE118 $FLAG_HIDE_STEVEN_STEVENS_HOUSE $FLAG_HIDE_BELDUM_BALL_STEVENS_HOUSE $FLAG_HIDE_KECLEON_FORTREE $FLAG_HIDE_KECLEON_ROUTE120_1 $FLAG_HIDE_RIVAL_LILYCOVE_MART $FLAG_HIDE_STEVEN_ROUTE120 $FLAG_HIDE_STEVEN_SOOTOPOLIS $FLAG_HIDE_VOLTORB_1_NEW_MAUVILLE $FLAG_HIDE_VOLTORB_2_NEW_MAUVILLE $FLAG_HIDE_VOLTORB_3_NEW_MAUVILLE $FLAG_HIDE_ELECTRODE_1_HIDEOUT $FLAG_HIDE_ELECTRODE_2_HIDEOUT $FLAG_HIDE_RIVAL_OLDALE_TOWN $FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION $FLAG_HIDE_KECLEON_ROUTE120_2 $FLAG_HIDE_KECLEON_ROUTE120_3 $FLAG_HIDE_GIRLFRIEND_RUSTURF_TUNNEL $FLAG_HIDE_GIRLFRIEND_WANDAS_HOUSE $FLAG_HIDE_KECLEON_ROUTE120_4 $FLAG_HIDE_KECLEON_ROUTE120_5 $FLAG_HIDE_KECLEON_ROUTE120_6 $FLAG_HIDE_KECLEON_ROUTE120_7 $FLAG_HIDE_KECLEON_ROUTE119_1 $FLAG_HIDE_KECLEON_ROUTE119_2 $FLAG_HIDE_BOY_ROUTE101 $FLAG_ITEM_ROUTE102_1 $FLAG_ITEM_ROUTE116_1 $FLAG_ITEM_ROUTE104_1 $FLAG_ITEM_ROUTE105_1 $FLAG_ITEM_ROUTE106_1 $FLAG_ITEM_ROUTE109_1 $FLAG_ITEM_ROUTE110_1 $FLAG_ITEM_ROUTE110_2 $FLAG_ITEM_ROUTE111_1 $FLAG_ITEM_ROUTE111_2 $FLAG_ITEM_ROUTE111_3 $FLAG_ITEM_ROUTE112_1 $FLAG_ITEM_ROUTE113_1 $FLAG_ITEM_ROUTE113_2 $FLAG_ITEM_ROUTE114_1 $FLAG_ITEM_ROUTE114_2 $FLAG_ITEM_ROUTE115_1 $FLAG_ITEM_ROUTE115_2 $FLAG_ITEM_ROUTE115_3 $FLAG_ITEM_ROUTE116_2 $FLAG_ITEM_ROUTE116_3 $FLAG_ITEM_ROUTE116_4 $FLAG_ITEM_ROUTE117_1 $FLAG_ITEM_ROUTE117_2/
);
@EXPORT_OK = (
@EXPORT_OK,
qw/$FLAG_ITEM_ROUTE119_1 $FLAG_ITEM_ROUTE119_2 $FLAG_ITEM_ROUTE119_3 $FLAG_ITEM_ROUTE119_4 $FLAG_ITEM_ROUTE119_5 $FLAG_ITEM_ROUTE119_6 $FLAG_ITEM_ROUTE120_1 $FLAG_ITEM_ROUTE120_2 $FLAG_ITEM_ROUTE123_1 $FLAG_ITEM_ROUTE123_2 $FLAG_ITEM_ROUTE127_1 $FLAG_ITEM_ROUTE127_2 $FLAG_ITEM_ROUTE132_1 $FLAG_ITEM_ROUTE133_1 $FLAG_ITEM_ROUTE133_2 $FLAG_ITEM_PETALBURG_1 $FLAG_ITEM_PETALBURG_2 $FLAG_ITEM_RUSTBORO_1 $FLAG_ITEM_LILYCOVE_1 $FLAG_ITEM_MOSSDEEP_1 $FLAG_ITEM_METEOR_FALLS_1F_1R_1 $FLAG_ITEM_METEOR_FALLS_1F_1R_2 $FLAG_ITEM_METEOR_FALLS_1F_1R_3 $FLAG_ITEM_METEOR_FALLS_1F_1R_4 $FLAG_ITEM_RUSTURF_TUNNEL_1 $FLAG_ITEM_RUSTURF_TUNNEL_2 $FLAG_ITEM_GRANITE_CAVE_1F_1 $FLAG_ITEM_GRANITE_CAVE_B1F_1 $FLAG_ITEM_MT_PYRE_5F_1 $FLAG_ITEM_GRANITE_CAVE_B2F_1 $FLAG_ITEM_GRANITE_CAVE_B2F_2 $FLAG_ITEM_PETALBURG_WOODS_1 $FLAG_ITEM_PETALBURG_WOODS_2 $FLAG_ITEM_ROUTE104_2 $FLAG_ITEM_PETALBURG_WOODS_3 $FLAG_ITEM_CAVE_OF_ORIGIN_B3F_1 $FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_1 $FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_1 $FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_2 $FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_1 $FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_2 $FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_1 $FLAG_ITEM_ROUTE124_1 $FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_1 $FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_1 $FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_1 $FLAG_ITEM_JAGGED_PASS_1 $FLAG_ITEM_AQUA_HIDEOUT_B1F_1 $FLAG_ITEM_AQUA_HIDEOUT_B2F_1 $FLAG_ITEM_MT_PYRE_EXTERIOR_1 $FLAG_ITEM_MT_PYRE_EXTERIOR_2 $FLAG_ITEM_NEW_MAUVILLE_INSIDE_1 $FLAG_ITEM_NEW_MAUVILLE_INSIDE_2 $FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_1 $FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_2 $FLAG_ITEM_SCORCHED_SLAB_1 $FLAG_ITEM_METEOR_FALLS_B1F_2R_1 $FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ENTRANCE_1 $FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_INNER_ROOM_1 $FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM_1 $FLAG_ITEM_VICTORY_ROAD_1F_1 $FLAG_ITEM_VICTORY_ROAD_1F_2 $FLAG_ITEM_VICTORY_ROAD_B1F_1 $FLAG_ITEM_VICTORY_ROAD_B1F_2 $FLAG_ITEM_VICTORY_ROAD_B2F_1 $FLAG_ITEM_MT_PYRE_6F_1 $FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_1 $FLAG_ITEM_FIERY_PATH_1 $FLAG_ITEM_ROUTE124_2 $FLAG_ITEM_ROUTE124_3 $FLAG_ITEM_SAFARI_ZONE_NORTHWEST_1 $FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_1 $FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_1 $FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_1 $FLAG_ITEM_ABANDONED_SHIP_ROOM_B1F_1 $FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_1 $FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_1 $FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_3 $FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_4 $FLAG_ITEM_ROUTE121_1 $FLAG_ITEM_ROUTE123_3 $FLAG_ITEM_ROUTE126_1 $FLAG_ITEM_ROUTE119_7 $FLAG_ITEM_ROUTE120_3 $FLAG_ITEM_ROUTE120_4 $FLAG_ITEM_ROUTE123_4 $FLAG_ITEM_NEW_MAUVILLE_INSIDE_3 $FLAG_ITEM_FIERY_PATH_2 $FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ICE_ROOM_1 $FLAG_ITEM_SHOAL_CAVE_LOW_TIDE_ICE_ROOM_2 $FLAG_ITEM_ROUTE103_1 $FLAG_ITEM_ROUTE104_3 $FLAG_ITEM_MAUVILLE_1 $FLAG_ITEM_PETALBURG_WOODS_4 $FLAG_ITEM_ROUTE115_4 $FLAG_ITEM_SAFARI_ZONE_NORTHEAST_1 $FLAG_ITEM_MT_PYRE_3F_1 $FLAG_ITEM_ROUTE118_1 $FLAG_ITEM_NEW_MAUVILLE_INSIDE_4 $FLAG_ITEM_NEW_MAUVILLE_INSIDE_5 $FLAG_ITEM_AQUA_HIDEOUT_B1F_2/
);
@EXPORT_OK = (
@EXPORT_OK,
qw/$FLAG_ITEM_MAGMA_HIDEOUT_B1F_1 $FLAG_ITEM_MAGMA_HIDEOUT_B1F_2 $FLAG_ITEM_MAGMA_HIDEOUT_B2F_1 $FLAG_ITEM_MT_PYRE_2F_1 $FLAG_ITEM_MT_PYRE_4F_1 $FLAG_ITEM_SAFARI_ZONE_SOUTHWEST $FLAG_ITEM_AQUA_HIDEOUT_B1F_3 $FLAG_ITEM_MOSSDEEP_STEVENS_HOUSE_HM08 $FLAG_ITEM_MAGMA_HIDEOUT_B1F_3 $FLAG_ITEM_ROUTE104_4 $FLAG_DEFEATED_RUSTBORO_GYM $FLAG_DEFEATED_DEWFORD_GYM $FLAG_DEFEATED_MAUVILLE_GYM $FLAG_DEFEATED_LAVARIDGE_GYM $FLAG_DEFEATED_PETALBURG_GYM $FLAG_DEFEATED_FORTREE_GYM $FLAG_DEFEATED_MOSSDEEP_GYM $FLAG_DEFEATED_SOOTOPOLIS_GYM $FLAG_DEFEATED_ELITE_4_SYDNEY $FLAG_DEFEATED_ELITE_4_PHOEBE $FLAG_DEFEATED_ELITE_4_GLACIA $FLAG_DEFEATED_ELITE_4_DRAKE $TRAINER_FLAG_START $NUMBER_OF_TRAINERS $SYSTEM_FLAGS $FLAG_SYS_POKEMON_GET $FLAG_SYS_POKEDEX_GET $FLAG_SYS_POKENAV_GET $FLAG_SYS_GAME_CLEAR $FLAG_SYS_CHAT_USED $FLAG_SYS_HIPSTER_MEET $FLAG_BADGE01_GET $FLAG_BADGE02_GET $FLAG_BADGE03_GET $FLAG_BADGE04_GET $FLAG_BADGE05_GET $FLAG_BADGE06_GET $FLAG_BADGE07_GET $FLAG_BADGE08_GET $FLAG_VISITED_LITTLEROOT_TOWN $FLAG_VISITED_OLDALE_TOWN $FLAG_VISITED_DEWFORD_TOWN $FLAG_VISITED_LAVARIDGE_TOWN $FLAG_VISITED_FALLARBOR_TOWN $FLAG_VISITED_VERDANTURF_TOWN $FLAG_VISITED_PACIFIDLOG_TOWN $FLAG_VISITED_PETALBURG_CITY $FLAG_VISITED_SLATEPORT_CITY $FLAG_VISITED_MAUVILLE_CITY $FLAG_VISITED_RUSTBORO_CITY $FLAG_VISITED_FORTREE_CITY $FLAG_VISITED_LILYCOVE_CITY $FLAG_VISITED_MOSSDEEP_CITY $FLAG_VISITED_SOOTOPOLIS_CITY $FLAG_VISITED_EVER_GRANDE_CITY $FLAG_SYS_USE_FLASH $FLAG_SYS_USE_STRENGTH $FLAG_SYS_WEATHER_CTRL $FLAG_SYS_CYCLING_ROAD $FLAG_SYS_SAFARI_MODE $FLAG_SYS_CRUISE_MODE $FLAG_SYS_TV_HOME $FLAG_SYS_TV_WATCH $FLAG_SYS_TV_START $FLAG_SYS_POPWORD_INPUT $FLAG_SYS_MIX_RECORD $FLAG_SYS_CLOCK_SET $FLAG_SYS_NATIONAL_DEX $FLAG_SYS_CAVE_SHIP $FLAG_SYS_CAVE_WONDER $FLAG_SYS_CAVE_BATTLE $FLAG_SYS_SHOAL_TIDE $FLAG_SYS_RIBBON_GET $FLAG_LANDMARK_FLOWER_SHOP $FLAG_LANDMARK_MR_BRINEY_HOUSE $FLAG_LANDMARK_ABANDONED_SHIP $FLAG_LANDMARK_SEASHORE_HOUSE $FLAG_LANDMARK_NEW_MAUVILLE $FLAG_LANDMARK_OLD_LADY_REST_SHOP $FLAG_LANDMARK_TRICK_HOUSE $FLAG_LANDMARK_WINSTRATE_FAMILY $FLAG_LANDMARK_GLASS_WORKSHOP $FLAG_LANDMARK_LANETTES_HOUSE $FLAG_LANDMARK_POKEMON_DAYCARE $FLAG_LANDMARK_SEAFLOOR_CAVERN $FLAG_LANDMARK_BATTLE_TOWER $FLAG_LANDMARK_SOUTHERN_ISLAND $FLAG_LANDMARK_FIERY_PATH $FLAG_SYS_PC_LANETTE $FLAG_SYS_EXDATA_ENABLE $FLAG_SYS_ENC_UP_ITEM $FLAG_SYS_ENC_DOWN_ITEM $FLAG_SYS_BRAILLE_DIG $FLAG_SYS_BRAILLE_STRENGTH $FLAG_SYS_BRAILLE_WAIT $FLAG_SYS_BRAILLE_FLY $FLAG_SYS_HAS_EON_TICKET $FLAG_SYS_POKEMON_LEAGUE_FLY $FLAG_LANDMARK_ISLAND_CAVE $FLAG_LANDMARK_DESERT_RUINS $FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE $FLAG_LANDMARK_SCORCHED_SLAB $FLAG_LANDMARK_ANCIENT_TOMB $FLAG_LANDMARK_TUNNELERS_REST_HOUSE $FLAG_LANDMARK_HUNTERS_HOUSE $FLAG_LANDMARK_SEALED_CHAMBER $FLAG_SYS_TV_LATI $FLAG_LANDMARK_SKY_PILLAR $FLAG_SYS_SHOAL_ITEM $FLAG_SYS_B_DASH $FLAG_SYS_CTRL_OBJ_DELETE $FLAG_SYS_RESET_RTC_ENABLE $FLAG_LANDMARK_BERRY_MASTERS_HOUSE $DAILY_FLAGS_START $FLAG_DAILY_RECEIVED_BERRY_FALLARBOR/
);
@EXPORT_OK = (
@EXPORT_OK,
qw/$FLAG_DAILY_UNKNOWN_8C2 $FLAG_DAILY_PICKED_LOTTO_TICKET $FLAG_DAILY_RECEIVED_BERRY_ROUTE114 $FLAG_DAILY_RECEIVED_BERRY_ROUTE111 $FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER $FLAG_DAILY_RECEIVED_BERRY_ROUTE120 $FLAG_DAILY_RECEIVED_BERRY_LILYCOVE $FLAG_DAILY_RECEIVED_BERRY_FLOWER_SHOP $FLAG_DAILY_RECEIVED_BERRY_FROM_BERRYMASTER_WIFE $FLAG_DAILY_RECEIVED_BERRY_SOOTOPOLIS/
);
1;

View File

@ -0,0 +1,16 @@
package Rsaves::Constants::Ruby::Global;
use v5.34.1;
use strict;
use warnings;
use Exporter;
use parent 'Exporter';
our $MALE = 0;
our $FEMALE = 1;
our @EXPORT_OK = qw/$MALE $FEMALE/;
1;

View File

@ -0,0 +1,174 @@
package Rsaves::Constants::Ruby::Vars;
use v5.34.1;
use strict;
use warnings;
use Exporter;
use parent 'Exporter';
our $VARS_START = 0x4000;
our $VAR_TEMP_0 = 0x4000;
our $VAR_TEMP_1 = 0x4001;
our $VAR_TEMP_2 = 0x4002;
our $VAR_TEMP_3 = 0x4003;
our $VAR_TEMP_4 = 0x4004;
our $VAR_TEMP_5 = 0x4005;
our $VAR_TEMP_6 = 0x4006;
our $VAR_TEMP_7 = 0x4007;
our $VAR_TEMP_8 = 0x4008;
our $VAR_TEMP_9 = 0x4009;
our $VAR_TEMP_A = 0x400A;
our $VAR_TEMP_B = 0x400B;
our $VAR_TEMP_C = 0x400C;
our $VAR_TEMP_D = 0x400D;
our $VAR_TEMP_E = 0x400E;
our $VAR_TEMP_F = 0x400F;
our $VAR_OBJ_GFX_ID_0 = 0x4010;
our $VAR_OBJ_GFX_ID_1 = 0x4011;
our $VAR_OBJ_GFX_ID_2 = 0x4012;
our $VAR_OBJ_GFX_ID_3 = 0x4013;
our $VAR_OBJ_GFX_ID_4 = 0x4014;
our $VAR_OBJ_GFX_ID_5 = 0x4015;
our $VAR_OBJ_GFX_ID_6 = 0x4016;
our $VAR_OBJ_GFX_ID_7 = 0x4017;
our $VAR_OBJ_GFX_ID_8 = 0x4018;
our $VAR_OBJ_GFX_ID_9 = 0x4019;
our $VAR_OBJ_GFX_ID_A = 0x401A;
our $VAR_OBJ_GFX_ID_B = 0x401B;
our $VAR_OBJ_GFX_ID_C = 0x401C;
our $VAR_OBJ_GFX_ID_D = 0x401D;
our $VAR_OBJ_GFX_ID_E = 0x401E;
our $VAR_OBJ_GFX_ID_F = 0x401F;
our $VAR_RECYCLE_GOODS = 0x4020;
our $VAR_REPEL_STEP_COUNT = 0x4021;
our $VAR_ICE_STEP_COUNT = 0x4022;
our $VAR_STARTER_MON = 0x4023;
our $VAR_MIRAGE_RND_H = 0x4024;
our $VAR_MIRAGE_RND_L = 0x4025;
our $VAR_SECRET_BASE_MAP = 0x4026;
our $VAR_CYCLING_ROAD_RECORD_COLLISIONS = 0x4027;
our $VAR_CYCLING_ROAD_RECORD_TIME_L = 0x4028;
our $VAR_CYCLING_ROAD_RECORD_TIME_H = 0x4029;
our $VAR_HAPPINESS_STEP_COUNTER = 0x402A;
our $VAR_POISON_STEP_COUNTER = 0x402B;
our $VAR_RESET_RTC_ENABLE = 0x402C;
our $VAR_ENIGMA_BERRY_AVAILABLE = 0x402D;
our $VAR_DAYS = 0x4040;
our $VAR_FANCLUB_UNKNOWN_1 = 0x4041;
our $VAR_FANCLUB_UNKNOWN_2 = 0x4042;
our $VAR_DEPT_STORE_FLOOR = 0x4043;
our $VAR_TRICK_HOUSE_ROOMS_COMPLETED = 0x4044;
our $VAR_LOTTERY_PRIZE = 0x4045;
our $VAR_NATIONAL_DEX = 0x4046;
our $VAR_SHROOMISH_SIZE_RECORD = 0x4047;
our $VAR_ASH_GATHER_COUNT = 0x4048;
our $VAR_BIRCH_STATE = 0x4049;
our $VAR_CRUISE_STEP_COUNT = 0x404A;
our $VAR_LOTTERY_RND_L = 0x404B;
our $VAR_LOTTERY_RND_H = 0x404C;
our $VAR_BARBOACH_SIZE_RECORD = 0x404F;
our $VAR_LITTLEROOT_STATE = 0x4050;
our $VAR_ROUTE102_ACCESSIBLE = 0x4051;
our $VAR_LAVARIDGE_RIVAL_STATE = 0x4053;
our $VAR_CURRENT_SECRET_BASE = 0x4054;
our $VAR_PETALBURG_STATE = 0x4057;
our $VAR_SLATEPORT_STATE = 0x4058;
our $VAR_RUSTBORO_STATE = 0x405A;
our $VAR_SOOTOPOLIS_STATE = 0x405E;
our $VAR_ROUTE101_STATE = 0x4060;
our $VAR_ROUTE103_STATE = 0x4062;
our $VAR_ROUTE110_STATE = 0x4069;
our $VAR_ROUTE116_STATE = 0x406F;
our $VAR_ROUTE118_STATE = 0x4071;
our $VAR_ROUTE119_STATE = 0x4072;
our $VAR_ROUTE121_STATE = 0x4074;
our $VAR_ROUTE128_STATE = 0x407B;
our $VAR_LITTLEROOT_HOUSES_STATE = 0x4082;
our $VAR_BIRCH_LAB_STATE = 0x4084;
our $VAR_PETALBURG_GYM_STATE = 0x4085;
our $VAR_LINK_CONTEST_ROOM_STATE = 0x4086;
our $VAR_CABLE_CLUB_STATE = 0x4087;
our $VAR_CONTEST_LOCATION = 0x4088;
our $VAR_SECRET_BASE_INITIALIZED = 0x4089;
our $VAR_CONTEST_PRIZE_PICKUP = 0x408A;
our $VAR_LITTLEROOT_HOUSES_STATE_2 = 0x408C;
our $VAR_LITTLEROOT_RIVAL_STATE = 0x408D;
our $VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE = 0x408E;
our $VAR_DEVON_CORP_3F_STATE = 0x408F;
our $VAR_BRINEY_HOUSE_STATE = 0x4090;
our $VAR_LITTLEROOT_INTRO_STATE = 0x4092;
our $VAR_MAUVILLE_GYM_STATE = 0x4093;
our $VAR_LILYCOVE_MUSEUM_2F_STATE = 0x4094;
our $VAR_LILYCOVE_FAN_CLUB_STATE = 0x4095;
our $VAR_BRINEY_LOCATION = 0x4096;
our $VAR_INIT_SECRET_BASE = 0x4097;
our $VAR_PETALBURG_WOODS_STATE = 0x4098;
our $VAR_LILYCOVE_CONTEST_LOBBY_STATE = 0x4099;
our $VAR_RUSTURF_TUNNEL_STATE = 0x409a;
our $VAR_CAVE_OF_ORIGIN_B4F_STATE = 0x409B;
our $VAR_ELITE_4_STATE = 0x409C;
our $VAR_SLATEPORT_HARBOR_STATE = 0x40A0;
our $VAR_SEAFLOOR_CAVERN_STATE = 0x40A2;
our $VAR_CABLE_CAR_STATION_STATE = 0x40A3;
our $VAR_SAFARI_ZONE_STATE = 0x40A4;
our $VAR_TRICK_HOUSE_ENTRANCE_STATE = 0x40A5;
our $VAR_TRICK_HOUSE_ENTRANCE_STATE_2 = 0x40A6;
our $VAR_TRICK_HOUSE_ENTRANCE_STATE_3 = 0x40A7;
our $VAR_CYCLING_CHALLENGE_STATE = 0x40A9;
our $VAR_SLATEPORT_MUSEUM_1F_STATE = 0x40AA;
our $VAR_TRICK_HOUSE_PUZZLE_1_STATE = 0x40AB;
our $VAR_TRICK_HOUSE_PUZZLE_2_STATE = 0x40AC;
our $VAR_TRICK_HOUSE_PUZZLE_3_STATE = 0x40AD;
our $VAR_TRICK_HOUSE_PUZZLE_4_STATE = 0x40AE;
our $VAR_TRICK_HOUSE_PUZZLE_5_STATE = 0x40AF;
our $VAR_TRICK_HOUSE_PUZZLE_6_STATE = 0x40B0;
our $VAR_TRICK_HOUSE_PUZZLE_7_STATE = 0x40B1;
our $VAR_TRICK_HOUSE_PUZZLE_8_STATE = 0x40B2;
our $VAR_WEATHER_INSTITUTE_STATE = 0x40B3;
our $VAR_PORTHOLE_STATE = 0x40B4;
our $VAR_TRICK_HOUSE_STATE = 0x40B5;
our $VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 = 0x40B6;
our $VAR_SLATEPORT_FAN_CLUB_STATE = 0x40B7;
our $VAR_MT_PYRE_STATE = 0x40B9;
our $VAR_NEW_MAUVILLE_STATE = 0x40BA;
our $VAR_BRAVO_TRAINER_BATTLE_TOWER_ON = 0x40BC;
our $VAR_JAGGED_PASS_ASH_WEATHER = 0x40BD;
our $VAR_GLASS_WORKSHOP_STATE = 0x40BE;
our $VAR_METEOR_FALLS_STATE = 0x40BF;
our $VAR_GAME_CORNER_STATE = 0x40C0;
our $VAR_TRICK_HOUSE_PRIZE_PICKUP = 0x40C1;
our $VAR_PACIFIDLOG_TM_RECEIVED_DAY = 0x40C2;
our $VAR_VICTORY_ROAD_1F_STATE = 0x40C3;
our $VAR_FOSSIL_RESURRECTION_STATE = 0x40C4;
our $VAR_WHICH_FOSSIL_REVIVED = 0x40C5;
our $VAR_STEVENS_HOUSE_STATE = 0x40C6;
our $VAR_OLDALE_STATE = 0x40C7;
our @EXPORT_OK = (qw/ $VAR_TEMP_0 $VAR_TEMP_1 $VAR_TEMP_2 $VAR_TEMP_3 $VAR_TEMP_4 $VAR_TEMP_5 $VAR_TEMP_6 $VAR_TEMP_7 $VAR_TEMP_8 $VAR_TEMP_9 $VAR_TEMP_A $VAR_TEMP_B $VAR_TEMP_C $VAR_TEMP_D $VAR_TEMP_E $VAR_TEMP_F $VAR_OBJ_GFX_ID_0 $VAR_OBJ_GFX_ID_1 $VAR_OBJ_GFX_ID_2 $VAR_OBJ_GFX_ID_3 $VAR_OBJ_GFX_ID_4 $VAR_OBJ_GFX_ID_5 $VAR_OBJ_GFX_ID_6 $VAR_OBJ_GFX_ID_7 $VAR_OBJ_GFX_ID_8 $VAR_OBJ_GFX_ID_9 $VAR_OBJ_GFX_ID_A $VAR_OBJ_GFX_ID_B $VAR_OBJ_GFX_ID_C $VAR_OBJ_GFX_ID_D $VAR_OBJ_GFX_ID_E $VAR_OBJ_GFX_ID_F $VAR_RECYCLE_GOODS $VAR_REPEL_STEP_COUNT $VAR_ICE_STEP_COUNT $VAR_STARTER_MON $VAR_MIRAGE_RND_H $VAR_MIRAGE_RND_L $VAR_SECRET_BASE_MAP $VAR_CYCLING_ROAD_RECORD_COLLISIONS $VAR_CYCLING_ROAD_RECORD_TIME_L $VAR_CYCLING_ROAD_RECORD_TIME_H $VAR_HAPPINESS_STEP_COUNTER $VAR_POISON_STEP_COUNTER $VAR_RESET_RTC_ENABLE $VAR_ENIGMA_BERRY_AVAILABLE $VAR_DAYS $VAR_FANCLUB_UNKNOWN_1 $VAR_FANCLUB_UNKNOWN_2 $VAR_DEPT_STORE_FLOOR $VAR_TRICK_HOUSE_ROOMS_COMPLETED $VAR_LOTTERY_PRIZE $VAR_NATIONAL_DEX $VAR_SHROOMISH_SIZE_RECORD $VAR_ASH_GATHER_COUNT $VAR_BIRCH_STATE $VAR_CRUISE_STEP_COUNT $VAR_LOTTERY_RND_L $VAR_LOTTERY_RND_H $VAR_BARBOACH_SIZE_RECORD $VAR_LITTLEROOT_STATE $VAR_ROUTE102_ACCESSIBLE $VAR_LAVARIDGE_RIVAL_STATE $VAR_CURRENT_SECRET_BASE $VAR_PETALBURG_STATE $VAR_SLATEPORT_STATE $VAR_RUSTBORO_STATE $VAR_SOOTOPOLIS_STATE $VAR_ROUTE101_STATE $VAR_ROUTE103_STATE $VAR_ROUTE110_STATE $VAR_ROUTE116_STATE $VAR_ROUTE118_STATE $VAR_ROUTE119_STATE $VAR_ROUTE121_STATE $VAR_ROUTE128_STATE $VAR_LITTLEROOT_HOUSES_STATE $VAR_BIRCH_LAB_STATE $VAR_PETALBURG_GYM_STATE $VAR_LINK_CONTEST_ROOM_STATE $VAR_CABLE_CLUB_STATE $VAR_CONTEST_LOCATION $VAR_SECRET_BASE_INITIALIZED $VAR_CONTEST_PRIZE_PICKUP $VAR_LITTLEROOT_HOUSES_STATE_2 $VAR_LITTLEROOT_RIVAL_STATE $VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE $VAR_DEVON_CORP_3F_STATE $VAR_BRINEY_HOUSE_STATE $VAR_LITTLEROOT_INTRO_STATE $VAR_MAUVILLE_GYM_STATE $VAR_LILYCOVE_MUSEUM_2F_STATE $VAR_LILYCOVE_FAN_CLUB_STATE $VAR_BRINEY_LOCATION $VAR_INIT_SECRET_BASE $VAR_PETALBURG_WOODS_STATE $VAR_LILYCOVE_CONTEST_LOBBY_STATE $VAR_RUSTURF_TUNNEL_STATE $VAR_CAVE_OF_ORIGIN_B4F_STATE $VAR_ELITE_4_STATE $VAR_SLATEPORT_HARBOR_STATE $VAR_SEAFLOOR_CAVERN_STATE $VAR_CABLE_CAR_STATION_STATE $VAR_SAFARI_ZONE_STATE $VAR_TRICK_HOUSE_ENTRANCE_STATE $VAR_TRICK_HOUSE_ENTRANCE_STATE_2 $VAR_TRICK_HOUSE_ENTRANCE_STATE_3 $VAR_CYCLING_CHALLENGE_STATE $VAR_SLATEPORT_MUSEUM_1F_STATE $VAR_TRICK_HOUSE_PUZZLE_1_STATE $VAR_TRICK_HOUSE_PUZZLE_2_STATE $VAR_TRICK_HOUSE_PUZZLE_3_STATE $VAR_TRICK_HOUSE_PUZZLE_4_STATE $VAR_TRICK_HOUSE_PUZZLE_5_STATE $VAR_TRICK_HOUSE_PUZZLE_6_STATE $VAR_TRICK_HOUSE_PUZZLE_7_STATE $VAR_TRICK_HOUSE_PUZZLE_8_STATE $VAR_WEATHER_INSTITUTE_STATE $VAR_PORTHOLE_STATE $VAR_TRICK_HOUSE_STATE $VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 $VAR_SLATEPORT_FAN_CLUB_STATE $VAR_MT_PYRE_STATE $VAR_NEW_MAUVILLE_STATE $VAR_BRAVO_TRAINER_BATTLE_TOWER_ON $VAR_JAGGED_PASS_ASH_WEATHER $VAR_GLASS_WORKSHOP_STATE $VAR_METEOR_FALLS_STATE $VAR_GAME_CORNER_STATE $VAR_TRICK_HOUSE_PRIZE_PICKUP/);
@EXPORT_OK = (@EXPORT_OK, qw/$VAR_PACIFIDLOG_TM_RECEIVED_DAY $VAR_VICTORY_ROAD_1F_STATE $VAR_FOSSIL_RESURRECTION_STATE $VAR_WHICH_FOSSIL_REVIVED $VAR_STEVENS_HOUSE_STATE $VAR_OLDALE_STATE $VARS_START/);

181
scripts/start.pl Normal file
View File

@ -0,0 +1,181 @@
#!/usr/bin/env perl
use v5.16.3;
use strict;
use warnings;
use Glib;
use Glib::IO;
use Glib::Object::Introspection;
use Data::Dumper;
use Path::Tiny;
use utf8;
Glib::Object::Introspection->setup(
basename => 'Gtk',
version => '4.0',
package => 'Gtk4',
);
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 check_flag_id get_first_super_data check_rematch/;
use Rsaves::Constants::Global
qw/$SAPPHIRE_VERSION $RUBY_VERSION $EMERALD_VERSION $FIRERED_VERSION $LEAFGREEN_VERSION $COLOSSEUM_VERSION/;
use Rsaves::Constants::Emerald::Flags;
use Rsaves::Constants::Emerald::Rematches;
my %rematches = @Rsaves::Constants::Emerald::Rematches::REMATCHES;
my $app = Gtk4::Application->new( 'tech.owlcode.GEmeTool', 'default-flags' );
$app->signal_connect( activate => \&activate );
$app->run;
sub activate {
my $win;
my $menu = Glib::IO::Menu->new;
my $about = Glib::IO::SimpleAction->new( 'about', undef );
my $open = Glib::IO::SimpleAction->new( 'open', undef );
my $save_as = Glib::IO::SimpleAction->new( 'save_as', undef );
$save_as->set_enabled(0);
$app->add_action($about);
$app->add_action($open);
$app->add_action($save_as);
my @saves;
my $extra;
my $save_menu_item = Glib::IO::MenuItem->new( 'Save as', 'app.save_as' );
$open->signal_connect(
activate => sub {
activate_open( $win, \@saves, \$extra, $save_as );
}
);
$save_as->signal_connect(
activate => sub {
activate_save( $win, \@saves, $extra );
}
);
$about->signal_connect( activate => \&activate_about, );
my $about_menu_item = Glib::IO::MenuItem->new( 'About', 'app.about' );
my $open_menu_item = Glib::IO::MenuItem->new( 'Open', 'app.open' );
my $submenu_file = Glib::IO::Menu->new;
my $submenu_help = Glib::IO::Menu->new;
$submenu_help->append_item($about_menu_item);
$submenu_file->append_item($open_menu_item);
$submenu_file->append_item($save_menu_item);
$menu->append_submenu( 'File', $submenu_file );
$menu->append_submenu( 'Help', $submenu_help );
$app->set_menubar($menu);
my $box = Gtk4::Box->new( 'vertical', 0 );
$box->append(
Gtk4::Label->new('You have to load a Pokemon Emerald Save.') );
$win = Gtk4::ApplicationWindow->new($app);
$win->set_title('GEmeTool');
$win->set_show_menubar(1);
$win->set_default_size( 600, 600 );
$win->set_child($box);
$win->present;
}
sub activate_open {
my $win = shift;
my $saves = shift;
my $extra = shift;
my $save_as = shift;
my $dialog = Gtk4::FileDialog->new;
my $curdir = Glib::IO::File::new_for_path('.');
$dialog->set_initial_folder($curdir);
$dialog->open(
$win, undef,
sub {
my ( $self, $res ) = @_;
my $file = $dialog->open_finish($res);
return if !defined $file;
$file = path( $file->get_path );
start_editing_file( $win, $file, $saves, $extra, $save_as );
}
);
}
sub activate_save {
my $win = shift;
my $saves = shift;
my $extra = shift;
my $dialog = Gtk4::FileDialog->new;
my $curdir = Glib::IO::File::new_for_path('.');
$dialog->set_initial_folder($curdir);
$dialog->open(
$win, undef,
sub {
my ( $self, $res ) = @_;
my $file = $dialog->open_finish($res);
return if !defined $file;
$file = path( $file->get_path );
save( $file, $saves, $extra );
}
);
}
sub save {
my ( $file, $saves, $extra ) = @_;
save_changes( @$saves, $extra, $file );
}
sub start_editing_file {
my $win = shift;
my $file = shift;
my $saves = shift;
my $extra = shift;
my $save_as = shift;
my (@saves_raw);
( @saves_raw[ 0, 1 ], ${$extra} ) = read_save($file);
@$saves = get_saves( @saves_raw, $EMERALD_VERSION );
my $current_save_index = find_current_save_index(@$saves);
my $save = $saves->[$current_save_index];
my %flags = @Rsaves::Constants::Emerald::Flags::FLAGS;
my $box_flags = Gtk4::Box->new( 'vertical', 0 );
my $superdata = get_first_super_data($save);
for my $rematch_id (
sort { $a <=> $b }
grep { $_ =~ /^\d+$/ } keys %rematches
)
{
my $toggle =
Gtk4::ToggleButton->new_with_label( $rematches{$rematch_id} );
$toggle->set_active( check_rematch( $save, $superdata, $rematch_id ) );
$toggle->signal_connect(
toggled => sub {
my $active = $toggle->get_active;
Rsaves::set_rematch( $save, $superdata, $rematch_id, $active );
Rsaves::set_first_super_data( $save, $superdata );
}
);
$box_flags->append($toggle);
}
# for my $flag_id ( sort { $a <=> $b } grep { $_ =~ /^\d+$/ } keys %flags ) {
# my $toggle = Gtk4::ToggleButton->new_with_label( $flags{$flag_id} );
# $toggle->set_active( check_flag_id( $save, $superdata, $flag_id ) );
#
# $box_flags->append($toggle);
# }
my $scroll = Gtk4::ScrolledWindow->new;
$scroll->set_child($box_flags);
$win->set_child($scroll);
$save_as->set_enabled(1);
}
sub activate_about {
my $about = Gtk4::AboutDialog->new;
$about->set_program_name('GEmeTool');
$about->set_copyright( "©Sergio Iglesias 2024\n" . "GPLv3 or later" );
my $header_bar = Gtk4::HeaderBar->new;
$header_bar->set_property(
'title-widget' => Gtk4::Label->new('About GEmeTool') );
$about->set_titlebar($header_bar);
$about->present;
}