diff options
author | surskitty <surskitty@gmail.com> | 2017-12-12 00:50:55 -0500 |
---|---|---|
committer | surskitty <surskitty@gmail.com> | 2017-12-12 00:50:55 -0500 |
commit | 096afdcdaca0714612f3670a3c4a670f312c1c3f (patch) | |
tree | 0c0bedcd311ab83262e31cf6d9d4c37257143acc /constants | |
parent | 98128cd4d8457948e7136a16e08bacff0bc3529d (diff) | |
parent | f6942b9a136b2ee3b25159ebc4d54509a42c5266 (diff) |
Merge branch 'master' of github.com:pret/pokecrystal
Diffstat (limited to 'constants')
24 files changed, 1007 insertions, 711 deletions
diff --git a/constants/animation_constants.asm b/constants/animation_constants.asm index 8802cd579..e7c844c12 100644 --- a/constants/animation_constants.asm +++ b/constants/animation_constants.asm @@ -824,13 +824,24 @@ const_value SET 1 const BG_EFFECT_STRUCT_BATTLE_TURN const BG_EFFECT_STRUCT_03 +; battle palettes + const_def + const PAL_BATTLE_BG_PLAYER ; 0 + const PAL_BATTLE_BG_ENEMY ; 1 + const PAL_BATTLE_BG_ENEMY_HP ; 2 + const PAL_BATTLE_BG_PLAYER_HP ; 3 + const PAL_BATTLE_BG_EXP ; 4 + const PAL_BATTLE_BG_5 ; 5 + const PAL_BATTLE_BG_6 ; 6 + const PAL_BATTLE_BG_TEXT ; 7 + ; animation object palettes const_def - const PAL_BATTLE_ENEMY ; 0 - const PAL_BATTLE_PLAYER ; 1 - const PAL_BATTLE_GRAY ; 2 - const PAL_BATTLE_YELLOW ; 3 - const PAL_BATTLE_RED ; 4 - const PAL_BATTLE_GREEN ; 5 - const PAL_BATTLE_BLUE ; 6 - const PAL_BATTLE_BROWN ; 7 + const PAL_BATTLE_OB_ENEMY ; 0 + const PAL_BATTLE_OB_PLAYER ; 1 + const PAL_BATTLE_OB_GRAY ; 2 + const PAL_BATTLE_OB_YELLOW ; 3 + const PAL_BATTLE_OB_RED ; 4 + const PAL_BATTLE_OB_GREEN ; 5 + const PAL_BATTLE_OB_BLUE ; 6 + const PAL_BATTLE_OB_BROWN ; 7 diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index a0c2f05ae..dd39df20f 100755 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -1,4 +1,5 @@ ; pitch +; FrequencyTable indexes (see data/audio/notes.asm) const_def const __ ; 0 const C_ ; 1 diff --git a/constants/deco_constants.asm b/constants/deco_constants.asm index 540920e5c..433b11e25 100644 --- a/constants/deco_constants.asm +++ b/constants/deco_constants.asm @@ -59,7 +59,7 @@ deco: MACRO enum DECOFLAG_\1 endm -; decorations +; decorations (see data/decoration_attribute.asm) const_value = 1 __enum__ = 0 const BEDS diff --git a/constants/effect_command_constants.asm b/constants/effect_command_constants.asm new file mode 100644 index 000000000..0d86e66a1 --- /dev/null +++ b/constants/effect_command_constants.asm @@ -0,0 +1,187 @@ +; BattleCommandPointers indexes (see battle/effect_commands.asm) + +command: macro + enum \1_command +\1 equs "db \1_command" +endm + + enum_start 1 + command checkturn ; 01 + command checkobedience ; 02 + command usedmovetext ; 03 + command doturn ; 04 + command critical ; 05 + command damagestats ; 06 + command stab ; 07 + command damagevariation ; 08 + command checkhit ; 09 + command lowersub ; 0a + command hittargetnosub ; 0b + command raisesub ; 0c + command failuretext ; 0d + command checkfaint ; 0e + command criticaltext ; 0f + command supereffectivetext ; 10 + command checkdestinybond ; 11 + command buildopponentrage ; 12 + command poisontarget ; 13 + command sleeptarget ; 14 + command draintarget ; 15 + command eatdream ; 16 + command burntarget ; 17 + command freezetarget ; 18 + command paralyzetarget ; 19 + command selfdestruct ; 1a + command mirrormove ; 1b + command statup ; 1c + command statdown ; 1d + command payday ; 1e + command conversion ; 1f + command resetstats ; 20 + command storeenergy ; 21 + command unleashenergy ; 22 + command forceswitch ; 23 + command endloop ; 24 + command flinchtarget ; 25 + command ohko ; 26 + command recoil ; 27 + command mist ; 28 + command focusenergy ; 29 + command confuse ; 2a + command confusetarget ; 2b + command heal ; 2c + command transform ; 2d + command screen ; 2e + command poison ; 2f + command paralyze ; 30 + command substitute ; 31 + command rechargenextturn ; 32 + command mimic ; 33 + command metronome ; 34 + command leechseed ; 35 + command splash ; 36 + command disable ; 37 + command cleartext ; 38 + command charge ; 39 + command checkcharge ; 3a + command traptarget ; 3b + command effect0x3c ; 3c + command rampage ; 3d + command checkrampage ; 3e + command constantdamage ; 3f + command counter ; 40 + command encore ; 41 + command painsplit ; 42 + command snore ; 43 + command conversion2 ; 44 + command lockon ; 45 + command sketch ; 46 + command defrostopponent ; 47 + command sleeptalk ; 48 + command destinybond ; 49 + command spite ; 4a + command falseswipe ; 4b + command healbell ; 4c + command kingsrock ; 4d + command triplekick ; 4e + command kickcounter ; 4f + command thief ; 50 + command arenatrap ; 51 + command nightmare ; 52 + command defrost ; 53 + command curse ; 54 + command protect ; 55 + command spikes ; 56 + command foresight ; 57 + command perishsong ; 58 + command startsandstorm ; 59 + command endure ; 5a + command checkcurl ; 5b + command rolloutpower ; 5c + command effect0x5d ; 5d + command furycutter ; 5e + command attract ; 5f + command happinesspower ; 60 + command present ; 61 + command damagecalc ; 62 + command frustrationpower ; 63 + command safeguard ; 64 + command checksafeguard ; 65 + command getmagnitude ; 66 + command batonpass ; 67 + command pursuit ; 68 + command clearhazards ; 69 + command healmorn ; 6a + command healday ; 6b + command healnite ; 6c + command hiddenpower ; 6d + command startrain ; 6e + command startsun ; 6f + command attackup ; 70 + command defenseup ; 71 + command speedup ; 72 + command specialattackup ; 73 + command specialdefenseup ; 74 + command accuracyup ; 75 + command evasionup ; 76 + command attackup2 ; 77 + command defenseup2 ; 78 + command speedup2 ; 79 + command specialattackup2 ; 7a + command specialdefenseup2 ; 7b + command accuracyup2 ; 7c + command evasionup2 ; 7d + command attackdown ; 7e + command defensedown ; 7f + command speeddown ; 80 + command specialattackdown ; 81 + command specialdefensedown ; 82 + command accuracydown ; 83 + command evasiondown ; 84 + command attackdown2 ; 85 + command defensedown2 ; 86 + command speeddown2 ; 87 + command specialattackdown2 ; 88 + command specialdefensedown2 ; 89 + command accuracydown2 ; 8a + command evasiondown2 ; 8b + command statupmessage ; 8c + command statdownmessage ; 8d + command statupfailtext ; 8e + command statdownfailtext ; 8f + command effectchance ; 90 + command statdownanim ; 91 + command statupanim ; 92 + command switchturn ; 93 + command fakeout ; 94 + command bellydrum ; 95 + command psychup ; 96 + command rage ; 97 + command doubleflyingdamage ; 98 + command doubleundergrounddamage ; 99 + command mirrorcoat ; 9a + command checkfuturesight ; 9b + command futuresight ; 9c + command doubleminimizedamage ; 9d + command skipsuncharge ; 9e + command thunderaccuracy ; 9f + command teleport ; a0 + command beatup ; a1 + command ragedamage ; a2 + command resettypematchup ; a3 + command allstatsup ; a4 + command effect0xa5 ; a5 + command raisesubnoanim ; a6 + command lowersubnoanim ; a7 + command effect0xa8 ; a8 + command clearmissdamage ; a9 + command movedelay ; aa + command hittarget ; ab + command tristatuschance ; ac + command supereffectivelooptext ; ad + command startloop ; ae + command curl ; af + + enum_start -1, -1 + command endmove + command endturn diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm index 080939f2c..19f0891a0 100644 --- a/constants/engine_flags.asm +++ b/constants/engine_flags.asm @@ -6,11 +6,11 @@ const ENGINE_PHONE_CARD const ENGINE_EXPN_CARD const ENGINE_POKEGEAR -; wDaycareMan - const ENGINE_DAYCARE_MAN_HAS_EGG - const ENGINE_DAYCARE_MAN_HAS_MON -; wDaycareLady - const ENGINE_DAYCARE_LADY_HAS_MON +; wDayCareMan + const ENGINE_DAY_CARE_MAN_HAS_EGG + const ENGINE_DAY_CARE_MAN_HAS_MON +; wDayCareLady + const ENGINE_DAY_CARE_LADY_HAS_MON ; wMomSavingMoney const ENGINE_MOM_SAVING_MONEY const ENGINE_DST diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 8ec4f46d5..d1aa43610 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -1836,10 +1836,10 @@ const EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3 const EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM const EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM - const EVENT_DAYCARE_MAN_IN_DAYCARE - const EVENT_DAYCARE_MAN_ON_ROUTE_34 - const EVENT_DAYCARE_MON_1 - const EVENT_DAYCARE_MON_2 + const EVENT_DAY_CARE_MAN_IN_DAY_CARE + const EVENT_DAY_CARE_MAN_ON_ROUTE_34 + const EVENT_DAY_CARE_MON_1 + const EVENT_DAY_CARE_MON_2 const EVENT_ILEX_FOREST_FARFETCHD const EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_BEHIND_COUNTER const EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 6b8cc33c9..445f0d815 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -1,3 +1,21 @@ -LEN_2BPP_TILE EQU 16 -LEN_1BPP_TILE EQU 8 -TILES_PER_FRAME EQU 6 +LEN_1BPP_TILE EQU 8 ; bytes +LEN_2BPP_TILE EQU 16 ; bytes + +TILE_WIDTH EQU 8 ; pixels + +NUM_PAL_COLORS EQU 4 + +SCREEN_WIDTH EQU 20 ; tiles +SCREEN_HEIGHT EQU 18 ; tiles +SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels +SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels + +BG_MAP_WIDTH EQU 32 ; tiles +BG_MAP_HEIGHT EQU 32 ; tiles +WMISC_WIDTH EQU 6 * 4 +WMISC_HEIGHT EQU 5 * 4 + +HP_BAR_LENGTH EQU 6 ; tiles +HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * TILE_WIDTH ; pixels +EXP_BAR_LENGTH EQU 8 ; tiles +EXP_BAR_LENGTH_PX EQU EXP_BAR_LENGTH * TILE_WIDTH ; pixels diff --git a/constants/input_constants.asm b/constants/input_constants.asm new file mode 100644 index 000000000..3042c3f89 --- /dev/null +++ b/constants/input_constants.asm @@ -0,0 +1,26 @@ +; joypad buttons + const_def + const A_BUTTON_F ; 0 + const B_BUTTON_F ; 1 + const SELECT_F ; 2 + const START_F ; 3 + const D_RIGHT_F ; 4 + const D_LEFT_F ; 5 + const D_UP_F ; 6 + const D_DOWN_F ; 7 + +NO_INPUT EQU %00000000 +A_BUTTON EQU 1 << A_BUTTON_F +B_BUTTON EQU 1 << B_BUTTON_F +SELECT EQU 1 << SELECT_F +START EQU 1 << START_F +D_RIGHT EQU 1 << D_RIGHT_F +D_LEFT EQU 1 << D_LEFT_F +D_UP EQU 1 << D_UP_F +D_DOWN EQU 1 << D_DOWN_F + +BUTTONS EQU A_BUTTON | B_BUTTON | SELECT | START +D_PAD EQU D_RIGHT | D_LEFT | D_UP | D_DOWN + +R_DPAD EQU %00100000 +R_BUTTONS EQU %00010000 diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 443176f1f..996023e73 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -197,6 +197,7 @@ const MIRAGE_MAIL ; $BD const ITEM_BE ; $BE +; see data/tmhm_moves.asm for moves add_tm DYNAMICPUNCH ; $BF add_tm HEADBUTT ; $C0 add_tm CURSE ; $C1 diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm index f9c840595..e53d44d04 100644 --- a/constants/landmark_constants.asm +++ b/constants/landmark_constants.asm @@ -1,4 +1,4 @@ -; Landmarks indexes (see engine/landmarks.asm) +; Landmarks indexes (see data/landmarks.asm) const_def ; Johto landmarks diff --git a/constants/map_constants.asm b/constants/map_constants.asm index b1b78551c..be73faf9e 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -1,484 +1,8 @@ GROUP_N_A EQU -1 MAP_N_A EQU -1 - GROUP_NONE EQU 0 MAP_NONE EQU 0 -; map group ids -; `newgroup` indexes are for: -; - MapGroupPointers (see maps/map_headers.asm) -; - OutdoorSprites (see engine/overworld.asm) -; - MapGroupRoofs (see tilesets/roofs.asm) -; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm) - const_def - - newgroup ; 1 - - mapgroup OLIVINE_POKECENTER_1F, 4, 5 ; 1 - mapgroup OLIVINE_GYM, 8, 5 ; 2 - mapgroup OLIVINE_TIMS_HOUSE, 4, 4 ; 3 - mapgroup OLIVINE_HOUSE_BETA, 4, 4 ; 4 - mapgroup OLIVINE_PUNISHMENT_SPEECH_HOUSE, 4, 4 ; 5 - mapgroup OLIVINE_GOOD_ROD_HOUSE, 4, 4 ; 6 - mapgroup OLIVINE_CAFE, 4, 4 ; 7 - mapgroup OLIVINE_MART, 4, 6 ; 8 - mapgroup ROUTE_38_ECRUTEAK_GATE, 4, 5 ; 9 - mapgroup ROUTE_39_BARN, 4, 4 ; 10 - mapgroup ROUTE_39_FARMHOUSE, 4, 4 ; 11 - mapgroup ROUTE_38, 9, 20 ; 12 - mapgroup ROUTE_39, 18, 10 ; 13 - mapgroup OLIVINE_CITY, 18, 20 ; 14 - - newgroup ; 2 - - mapgroup MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, 4, 4 ; 1 - mapgroup MAHOGANY_GYM, 9, 5 ; 2 - mapgroup MAHOGANY_POKECENTER_1F, 4, 5 ; 3 - mapgroup ROUTE_42_ECRUTEAK_GATE, 4, 5 ; 4 - mapgroup ROUTE_42, 9, 30 ; 5 - mapgroup ROUTE_44, 9, 30 ; 6 - mapgroup MAHOGANY_TOWN, 9, 10 ; 7 - - newgroup ; 3 - - mapgroup SPROUT_TOWER_1F, 8, 10 ; 1 - mapgroup SPROUT_TOWER_2F, 8, 10 ; 2 - mapgroup SPROUT_TOWER_3F, 8, 10 ; 3 - mapgroup TIN_TOWER_1F, 9, 10 ; 4 - mapgroup TIN_TOWER_2F, 9, 10 ; 5 - mapgroup TIN_TOWER_3F, 9, 10 ; 6 - mapgroup TIN_TOWER_4F, 9, 10 ; 7 - mapgroup TIN_TOWER_5F, 9, 10 ; 8 - mapgroup TIN_TOWER_6F, 9, 10 ; 9 - mapgroup TIN_TOWER_7F, 9, 10 ; 10 - mapgroup TIN_TOWER_8F, 9, 10 ; 11 - mapgroup TIN_TOWER_9F, 9, 10 ; 12 - mapgroup BURNED_TOWER_1F, 9, 10 ; 13 - mapgroup BURNED_TOWER_B1F, 9, 10 ; 14 - mapgroup NATIONAL_PARK, 27, 20 ; 15 - mapgroup NATIONAL_PARK_BUG_CONTEST, 27, 20 ; 16 - mapgroup RADIO_TOWER_1F, 4, 9 ; 17 - mapgroup RADIO_TOWER_2F, 4, 9 ; 18 - mapgroup RADIO_TOWER_3F, 4, 9 ; 19 - mapgroup RADIO_TOWER_4F, 4, 9 ; 20 - mapgroup RADIO_TOWER_5F, 4, 9 ; 21 - mapgroup RUINS_OF_ALPH_OUTSIDE, 18, 10 ; 22 - mapgroup RUINS_OF_ALPH_HO_OH_CHAMBER, 5, 4 ; 23 - mapgroup RUINS_OF_ALPH_KABUTO_CHAMBER, 5, 4 ; 24 - mapgroup RUINS_OF_ALPH_OMANYTE_CHAMBER, 5, 4 ; 25 - mapgroup RUINS_OF_ALPH_AERODACTYL_CHAMBER, 5, 4 ; 26 - mapgroup RUINS_OF_ALPH_INNER_CHAMBER, 14, 10 ; 27 - mapgroup RUINS_OF_ALPH_RESEARCH_CENTER, 4, 4 ; 28 - mapgroup RUINS_OF_ALPH_HO_OH_ITEM_ROOM, 5, 4 ; 29 - mapgroup RUINS_OF_ALPH_KABUTO_ITEM_ROOM, 5, 4 ; 30 - mapgroup RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, 5, 4 ; 31 - mapgroup RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, 5, 4 ; 32 - mapgroup RUINS_OF_ALPH_HO_OH_WORD_ROOM, 12, 10 ; 33 - mapgroup RUINS_OF_ALPH_KABUTO_WORD_ROOM, 7, 10 ; 34 - mapgroup RUINS_OF_ALPH_OMANYTE_WORD_ROOM, 8, 10 ; 35 - mapgroup RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, 7, 10 ; 36 - mapgroup UNION_CAVE_1F, 18, 10 ; 37 - mapgroup UNION_CAVE_B1F, 18, 10 ; 38 - mapgroup UNION_CAVE_B2F, 18, 10 ; 39 - mapgroup SLOWPOKE_WELL_B1F, 9, 10 ; 40 - mapgroup SLOWPOKE_WELL_B2F, 9, 10 ; 41 - mapgroup OLIVINE_LIGHTHOUSE_1F, 9, 10 ; 42 - mapgroup OLIVINE_LIGHTHOUSE_2F, 9, 10 ; 43 - mapgroup OLIVINE_LIGHTHOUSE_3F, 9, 10 ; 44 - mapgroup OLIVINE_LIGHTHOUSE_4F, 9, 10 ; 45 - mapgroup OLIVINE_LIGHTHOUSE_5F, 9, 10 ; 46 - mapgroup OLIVINE_LIGHTHOUSE_6F, 9, 10 ; 47 - mapgroup MAHOGANY_MART_1F, 4, 4 ; 48 - mapgroup TEAM_ROCKET_BASE_B1F, 9, 15 ; 49 - mapgroup TEAM_ROCKET_BASE_B2F, 9, 15 ; 50 - mapgroup TEAM_ROCKET_BASE_B3F, 9, 15 ; 51 - mapgroup ILEX_FOREST, 27, 15 ; 52 - mapgroup WAREHOUSE_ENTRANCE, 18, 15 ; 53 - mapgroup UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, 18, 15 ; 54 - mapgroup GOLDENROD_DEPT_STORE_B1F, 9, 10 ; 55 - mapgroup UNDERGROUND_WAREHOUSE, 9, 10 ; 56 - mapgroup MOUNT_MORTAR_1F_OUTSIDE, 18, 20 ; 57 - mapgroup MOUNT_MORTAR_1F_INSIDE, 27, 20 ; 58 - mapgroup MOUNT_MORTAR_2F_INSIDE, 18, 20 ; 59 - mapgroup MOUNT_MORTAR_B1F, 18, 20 ; 60 - mapgroup ICE_PATH_1F, 18, 20 ; 61 - mapgroup ICE_PATH_B1F, 18, 10 ; 62 - mapgroup ICE_PATH_B2F_MAHOGANY_SIDE, 9, 10 ; 63 - mapgroup ICE_PATH_B2F_BLACKTHORN_SIDE, 9, 5 ; 64 - mapgroup ICE_PATH_B3F, 9, 10 ; 65 - mapgroup WHIRL_ISLAND_NW, 9, 5 ; 66 - mapgroup WHIRL_ISLAND_NE, 9, 10 ; 67 - mapgroup WHIRL_ISLAND_SW, 9, 10 ; 68 - mapgroup WHIRL_ISLAND_CAVE, 9, 5 ; 69 - mapgroup WHIRL_ISLAND_SE, 9, 5 ; 70 - mapgroup WHIRL_ISLAND_B1F, 18, 20 ; 71 - mapgroup WHIRL_ISLAND_B2F, 18, 10 ; 72 - mapgroup WHIRL_ISLAND_LUGIA_CHAMBER, 9, 10 ; 73 - mapgroup SILVER_CAVE_ROOM_1, 18, 10 ; 74 - mapgroup SILVER_CAVE_ROOM_2, 18, 15 ; 75 - mapgroup SILVER_CAVE_ROOM_3, 18, 10 ; 76 - mapgroup SILVER_CAVE_ITEM_ROOMS, 9, 10 ; 77 - mapgroup DARK_CAVE_VIOLET_ENTRANCE, 18, 20 ; 78 - mapgroup DARK_CAVE_BLACKTHORN_ENTRANCE, 18, 15 ; 79 - mapgroup DRAGONS_DEN_1F, 9, 5 ; 80 - mapgroup DRAGONS_DEN_B1F, 18, 20 ; 81 - mapgroup DRAGON_SHRINE, 5, 5 ; 82 - mapgroup TOHJO_FALLS, 9, 15 ; 83 - mapgroup DIGLETTS_CAVE, 18, 10 ; 84 - mapgroup MOUNT_MOON, 9, 15 ; 85 - mapgroup UNDERGROUND, 14, 3 ; 86 - mapgroup ROCK_TUNNEL_1F, 18, 15 ; 87 - mapgroup ROCK_TUNNEL_B1F, 18, 15 ; 88 - mapgroup SAFARI_ZONE_FUCHSIA_GATE_BETA, 4, 5 ; 89 - mapgroup SAFARI_ZONE_BETA, 18, 10 ; 90 - mapgroup VICTORY_ROAD, 36, 10 ; 91 - - newgroup ; 4 - - mapgroup ECRUTEAK_HOUSE, 9, 10 ; 1 - mapgroup WISE_TRIOS_ROOM, 4, 4 ; 2 - mapgroup ECRUTEAK_POKECENTER_1F, 4, 5 ; 3 - mapgroup ECRUTEAK_LUGIA_SPEECH_HOUSE, 4, 4 ; 4 - mapgroup DANCE_THEATRE, 7, 6 ; 5 - mapgroup ECRUTEAK_MART, 4, 6 ; 6 - mapgroup ECRUTEAK_GYM, 9, 5 ; 7 - mapgroup ECRUTEAK_ITEMFINDER_HOUSE, 4, 4 ; 8 - mapgroup ECRUTEAK_CITY, 18, 20 ; 9 - - newgroup ; 5 - - mapgroup BLACKTHORN_GYM_1F, 9, 5 ; 1 - mapgroup BLACKTHORN_GYM_2F, 9, 5 ; 2 - mapgroup BLACKTHORN_DRAGON_SPEECH_HOUSE, 4, 4 ; 3 - mapgroup BLACKTHORN_EMYS_HOUSE, 4, 4 ; 4 - mapgroup BLACKTHORN_MART, 4, 6 ; 5 - mapgroup BLACKTHORN_POKECENTER_1F, 4, 5 ; 6 - mapgroup MOVE_DELETERS_HOUSE, 4, 4 ; 7 - mapgroup ROUTE_45, 45, 10 ; 8 - mapgroup ROUTE_46, 18, 10 ; 9 - mapgroup BLACKTHORN_CITY, 18, 20 ; 10 - - newgroup ; 6 - - mapgroup CINNABAR_POKECENTER_1F, 4, 5 ; 1 - mapgroup CINNABAR_POKECENTER_2F_BETA, 4, 8 ; 2 - mapgroup ROUTE_19___FUCHSIA_GATE, 4, 5 ; 3 - mapgroup SEAFOAM_GYM, 4, 5 ; 4 - mapgroup ROUTE_19, 18, 10 ; 5 - mapgroup ROUTE_20, 9, 30 ; 6 - mapgroup ROUTE_21, 18, 10 ; 7 - mapgroup CINNABAR_ISLAND, 9, 10 ; 8 - - newgroup ; 7 - - mapgroup CERULEAN_GYM_BADGE_SPEECH_HOUSE, 4, 4 ; 1 - mapgroup CERULEAN_POLICE_STATION, 4, 4 ; 2 - mapgroup CERULEAN_TRADE_SPEECH_HOUSE, 4, 4 ; 3 - mapgroup CERULEAN_POKECENTER_1F, 4, 5 ; 4 - mapgroup CERULEAN_POKECENTER_2F_BETA, 4, 8 ; 5 - mapgroup CERULEAN_GYM, 8, 5 ; 6 - mapgroup CERULEAN_MART, 4, 6 ; 7 - mapgroup ROUTE_10_POKECENTER_1F, 4, 5 ; 8 - mapgroup ROUTE_10_POKECENTER_2F_BETA, 4, 8 ; 9 - mapgroup POWER_PLANT, 9, 10 ; 10 - mapgroup BILLS_HOUSE, 4, 4 ; 11 - mapgroup ROUTE_4, 9, 20 ; 12 - mapgroup ROUTE_9, 9, 30 ; 13 - mapgroup ROUTE_10_NORTH, 9, 10 ; 14 - mapgroup ROUTE_24, 9, 10 ; 15 - mapgroup ROUTE_25, 9, 30 ; 16 - mapgroup CERULEAN_CITY, 18, 20 ; 17 - - newgroup ; 8 - - mapgroup AZALEA_POKECENTER_1F, 4, 5 ; 1 - mapgroup CHARCOAL_KILN, 4, 4 ; 2 - mapgroup AZALEA_MART, 4, 6 ; 3 - mapgroup KURTS_HOUSE, 4, 8 ; 4 - mapgroup AZALEA_GYM, 8, 5 ; 5 - mapgroup ROUTE_33, 9, 10 ; 6 - mapgroup AZALEA_TOWN, 9, 20 ; 7 - - newgroup ; 9 - - mapgroup LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 4, 4 ; 1 - mapgroup LAKE_OF_RAGE_MAGIKARP_HOUSE, 4, 4 ; 2 - mapgroup ROUTE_43_MAHOGANY_GATE, 4, 5 ; 3 - mapgroup ROUTE_43_GATE, 4, 5 ; 4 - mapgroup ROUTE_43, 27, 10 ; 5 - mapgroup LAKE_OF_RAGE, 18, 20 ; 6 - - newgroup ; 10 - - mapgroup ROUTE_32, 45, 10 ; 1 - mapgroup ROUTE_35, 18, 10 ; 2 - mapgroup ROUTE_36, 9, 30 ; 3 - mapgroup ROUTE_37, 9, 10 ; 4 - mapgroup VIOLET_CITY, 18, 20 ; 5 - mapgroup VIOLET_MART, 4, 6 ; 6 - mapgroup VIOLET_GYM, 8, 5 ; 7 - mapgroup EARLS_POKEMON_ACADEMY, 8, 4 ; 8 - mapgroup VIOLET_NICKNAME_SPEECH_HOUSE, 4, 4 ; 9 - mapgroup VIOLET_POKECENTER_1F, 4, 5 ; 10 - mapgroup VIOLET_ONIX_TRADE_HOUSE, 4, 4 ; 11 - mapgroup ROUTE_32_RUINS_OF_ALPH_GATE, 4, 5 ; 12 - mapgroup ROUTE_32_POKECENTER_1F, 4, 5 ; 13 - mapgroup ROUTE_35_GOLDENROD_GATE, 4, 5 ; 14 - mapgroup ROUTE_35_NATIONAL_PARK_GATE, 4, 4 ; 15 - mapgroup ROUTE_36_RUINS_OF_ALPH_GATE, 4, 5 ; 16 - mapgroup ROUTE_36_NATIONAL_PARK_GATE, 4, 5 ; 17 - - newgroup ; 11 - - mapgroup ROUTE_34, 27, 10 ; 1 - mapgroup GOLDENROD_CITY, 18, 20 ; 2 - mapgroup GOLDENROD_GYM, 9, 10 ; 3 - mapgroup GOLDENROD_BIKE_SHOP, 4, 4 ; 4 - mapgroup GOLDENROD_HAPPINESS_RATER, 4, 4 ; 5 - mapgroup GOLDENROD_BILLS_HOUSE, 4, 4 ; 6 - mapgroup GOLDENROD_MAGNET_TRAIN_STATION, 9, 10 ; 7 - mapgroup GOLDENROD_FLOWER_SHOP, 4, 4 ; 8 - mapgroup GOLDENROD_PP_SPEECH_HOUSE, 4, 4 ; 9 - mapgroup GOLDENROD_NAME_RATER, 4, 4 ; 10 - mapgroup GOLDENROD_DEPT_STORE_1F, 4, 8 ; 11 - mapgroup GOLDENROD_DEPT_STORE_2F, 4, 8 ; 12 - mapgroup GOLDENROD_DEPT_STORE_3F, 4, 8 ; 13 - mapgroup GOLDENROD_DEPT_STORE_4F, 4, 8 ; 14 - mapgroup GOLDENROD_DEPT_STORE_5F, 4, 8 ; 15 - mapgroup GOLDENROD_DEPT_STORE_6F, 4, 8 ; 16 - mapgroup GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2 ; 17 - mapgroup GOLDENROD_DEPT_STORE_ROOF, 4, 8 ; 18 - mapgroup GOLDENROD_GAME_CORNER, 7, 10 ; 19 - mapgroup GOLDENROD_POKECENTER_1F, 4, 5 ; 20 - mapgroup GOLDENROD_POKECOM_CENTER_2F_MOBILE, 16, 16 ; 21 - mapgroup ILEX_FOREST_AZALEA_GATE, 4, 5 ; 22 - mapgroup ROUTE_34_ILEX_FOREST_GATE, 4, 5 ; 23 - mapgroup DAYCARE, 4, 5 ; 24 - - newgroup ; 12 - - mapgroup ROUTE_6, 9, 10 ; 1 - mapgroup ROUTE_11, 9, 20 ; 2 - mapgroup VERMILION_CITY, 18, 20 ; 3 - mapgroup VERMILION_HOUSE_FISHING_SPEECH_HOUSE, 4, 4 ; 4 - mapgroup VERMILION_POKECENTER_1F, 4, 5 ; 5 - mapgroup VERMILION_POKECENTER_2F_BETA, 4, 8 ; 6 - mapgroup POKEMON_FAN_CLUB, 4, 5 ; 7 - mapgroup VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, 4, 4 ; 8 - mapgroup VERMILION_MART, 4, 6 ; 9 - mapgroup VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, 4, 4 ; 10 - mapgroup VERMILION_GYM, 9, 5 ; 11 - mapgroup ROUTE_6_SAFFRON_GATE, 4, 5 ; 12 - mapgroup ROUTE_6_UNDERGROUND_ENTRANCE, 4, 4 ; 13 - - newgroup ; 13 - - mapgroup ROUTE_1, 18, 10 ; 1 - mapgroup PALLET_TOWN, 9, 10 ; 2 - mapgroup REDS_HOUSE_1F, 4, 4 ; 3 - mapgroup REDS_HOUSE_2F, 4, 4 ; 4 - mapgroup BLUES_HOUSE, 4, 4 ; 5 - mapgroup OAKS_LAB, 6, 5 ; 6 - - newgroup ; 14 - - mapgroup ROUTE_3, 9, 30 ; 1 - mapgroup PEWTER_CITY, 18, 20 ; 2 - mapgroup PEWTER_NIDORAN_SPEECH_HOUSE, 4, 4 ; 3 - mapgroup PEWTER_GYM, 7, 5 ; 4 - mapgroup PEWTER_MART, 4, 6 ; 5 - mapgroup PEWTER_POKECENTER_1F, 4, 5 ; 6 - mapgroup PEWTER_POKECENTER_2F_BETA, 4, 8 ; 7 - mapgroup PEWTER_SNOOZE_SPEECH_HOUSE, 4, 4 ; 8 - - newgroup ; 15 - - mapgroup OLIVINE_PORT, 18, 10 ; 1 - mapgroup VERMILION_PORT, 18, 10 ; 2 - mapgroup FAST_SHIP_1F, 9, 16 ; 3 - mapgroup FAST_SHIP_CABINS_NNW_NNE_NE, 16, 4 ; 4 - mapgroup FAST_SHIP_CABINS_SW_SSW_NW, 16, 4 ; 5 - mapgroup FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 17, 5 ; 6 - mapgroup FAST_SHIP_B1F, 8, 16 ; 7 - mapgroup OLIVINE_PORT_PASSAGE, 9, 10 ; 8 - mapgroup VERMILION_PORT_PASSAGE, 9, 10 ; 9 - mapgroup MOUNT_MOON_SQUARE, 9, 15 ; 10 - mapgroup MOUNT_MOON_GIFT_SHOP, 4, 4 ; 11 - mapgroup TIN_TOWER_ROOF, 9, 10 ; 12 - - newgroup ; 16 - - mapgroup ROUTE_23, 9, 10 ; 1 - mapgroup INDIGO_PLATEAU_POKECENTER_1F, 7, 9 ; 2 - mapgroup WILLS_ROOM, 9, 5 ; 3 - mapgroup KOGAS_ROOM, 9, 5 ; 4 - mapgroup BRUNOS_ROOM, 9, 5 ; 5 - mapgroup KARENS_ROOM, 9, 5 ; 6 - mapgroup LANCES_ROOM, 12, 5 ; 7 - mapgroup HALL_OF_FAME, 7, 5 ; 8 - - newgroup ; 17 - - mapgroup ROUTE_13, 9, 30 ; 1 - mapgroup ROUTE_14, 18, 10 ; 2 - mapgroup ROUTE_15, 9, 20 ; 3 - mapgroup ROUTE_18, 9, 10 ; 4 - mapgroup FUCHSIA_CITY, 18, 20 ; 5 - mapgroup FUCHSIA_MART, 4, 6 ; 6 - mapgroup SAFARI_ZONE_MAIN_OFFICE, 4, 4 ; 7 - mapgroup FUCHSIA_GYM, 9, 5 ; 8 - mapgroup FUCHSIA_BILL_SPEECH_HOUSE, 4, 4 ; 9 - mapgroup FUCHSIA_POKECENTER_1F, 4, 5 ; 10 - mapgroup FUCHSIA_POKECENTER_2F_BETA, 4, 8 ; 11 - mapgroup SAFARI_ZONE_WARDENS_HOME, 4, 5 ; 12 - mapgroup ROUTE_15_FUCHSIA_GATE, 4, 5 ; 13 - - newgroup ; 18 - - mapgroup ROUTE_8, 9, 20 ; 1 - mapgroup ROUTE_12, 27, 10 ; 2 - mapgroup ROUTE_10_SOUTH, 9, 10 ; 3 - mapgroup LAVENDER_TOWN, 9, 10 ; 4 - mapgroup LAVENDER_POKECENTER_1F, 4, 5 ; 5 - mapgroup LAVENDER_POKECENTER_2F_BETA, 4, 8 ; 6 - mapgroup MR_FUJIS_HOUSE, 4, 5 ; 7 - mapgroup LAVENDER_TOWN_SPEECH_HOUSE, 4, 4 ; 8 - mapgroup LAVENDER_NAME_RATER, 4, 4 ; 9 - mapgroup LAVENDER_MART, 4, 6 ; 10 - mapgroup SOUL_HOUSE, 4, 5 ; 11 - mapgroup LAV_RADIO_TOWER_1F, 4, 10 ; 12 - mapgroup ROUTE_8_SAFFRON_GATE, 4, 5 ; 13 - mapgroup ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; 14 - - newgroup ; 19 - - mapgroup ROUTE_28, 9, 20 ; 1 - mapgroup SILVER_CAVE_OUTSIDE, 18, 20 ; 2 - mapgroup SILVER_CAVE_POKECENTER_1F, 4, 5 ; 3 - mapgroup ROUTE_28_FAMOUS_SPEECH_HOUSE, 4, 4 ; 4 - - newgroup ; 20 - - mapgroup POKECENTER_2F, 4, 8 ; 1 - mapgroup TRADE_CENTER, 4, 5 ; 2 - mapgroup COLOSSEUM, 4, 5 ; 3 - mapgroup TIME_CAPSULE, 4, 5 ; 4 - mapgroup MOBILE_TRADE_ROOM_MOBILE, 4, 5 ; 5 - mapgroup MOBILE_BATTLE_ROOM, 4, 5 ; 6 - - newgroup ; 21 - - mapgroup ROUTE_7, 9, 10 ; 1 - mapgroup ROUTE_16, 9, 10 ; 2 - mapgroup ROUTE_17, 45, 10 ; 3 - mapgroup CELADON_CITY, 18, 20 ; 4 - mapgroup CELADON_DEPT_STORE_1F, 4, 8 ; 5 - mapgroup CELADON_DEPT_STORE_2F, 4, 8 ; 6 - mapgroup CELADON_DEPT_STORE_3F, 4, 8 ; 7 - mapgroup CELADON_DEPT_STORE_4F, 4, 8 ; 8 - mapgroup CELADON_DEPT_STORE_5F, 4, 8 ; 9 - mapgroup CELADON_DEPT_STORE_6F, 4, 8 ; 10 - mapgroup CELADON_DEPT_STORE_ELEVATOR, 2, 2 ; 11 - mapgroup CELADON_MANSION_1F, 5, 4 ; 12 - mapgroup CELADON_MANSION_2F, 5, 4 ; 13 - mapgroup CELADON_MANSION_3F, 5, 4 ; 14 - mapgroup CELADON_MANSION_ROOF, 5, 4 ; 15 - mapgroup CELADON_MANSION_ROOF_HOUSE, 4, 4 ; 16 - mapgroup CELADON_POKECENTER_1F, 4, 5 ; 17 - mapgroup CELADON_POKECENTER_2F_BETA, 4, 8 ; 18 - mapgroup CELADON_GAME_CORNER, 7, 10 ; 19 - mapgroup CELADON_GAME_CORNER_PRIZE_ROOM, 3, 3 ; 20 - mapgroup CELADON_GYM, 9, 5 ; 21 - mapgroup CELADON_CAFE, 4, 6 ; 22 - mapgroup ROUTE_16_FUCHSIA_SPEECH_HOUSE, 4, 4 ; 23 - mapgroup ROUTE_16_GATE, 4, 5 ; 24 - mapgroup ROUTE_7_SAFFRON_GATE, 4, 5 ; 25 - mapgroup ROUTE_17_18_GATE, 4, 5 ; 26 - - newgroup ; 22 - - mapgroup ROUTE_40, 18, 10 ; 1 - mapgroup ROUTE_41, 27, 25 ; 2 - mapgroup CIANWOOD_CITY, 27, 15 ; 3 - mapgroup MANIAS_HOUSE, 4, 4 ; 4 - mapgroup CIANWOOD_GYM, 9, 5 ; 5 - mapgroup CIANWOOD_POKECENTER_1F, 4, 5 ; 6 - mapgroup CIANWOOD_PHARMACY, 4, 4 ; 7 - mapgroup CIANWOOD_CITY_PHOTO_STUDIO, 4, 4 ; 8 - mapgroup CIANWOOD_LUGIA_SPEECH_HOUSE, 4, 4 ; 9 - mapgroup POKE_SEERS_HOUSE, 4, 4 ; 10 - mapgroup BATTLE_TOWER_1F, 5, 8 ; 11 - mapgroup BATTLE_TOWER_BATTLE_ROOM, 4, 4 ; 12 - mapgroup BATTLE_TOWER_ELEVATOR, 2, 2 ; 13 - mapgroup BATTLE_TOWER_HALLWAY, 2, 11 ; 14 - mapgroup ROUTE_40_BATTLE_TOWER_GATE, 4, 5 ; 15 - mapgroup BATTLE_TOWER_OUTSIDE, 14, 10 ; 16 - - newgroup ; 23 - - mapgroup ROUTE_2, 27, 10 ; 1 - mapgroup ROUTE_22, 9, 20 ; 2 - mapgroup VIRIDIAN_CITY, 18, 20 ; 3 - mapgroup VIRIDIAN_GYM, 9, 5 ; 4 - mapgroup VIRIDIAN_NICKNAME_SPEECH_HOUSE, 4, 4 ; 5 - mapgroup TRAINER_HOUSE_1F, 7, 5 ; 6 - mapgroup TRAINER_HOUSE_B1F, 8, 5 ; 7 - mapgroup VIRIDIAN_MART, 4, 6 ; 8 - mapgroup VIRIDIAN_POKECENTER_1F, 4, 5 ; 9 - mapgroup VIRIDIAN_POKECENTER_2F_BETA, 4, 8 ; 10 - mapgroup ROUTE_2_NUGGET_SPEECH_HOUSE, 4, 4 ; 11 - mapgroup ROUTE_2_GATE, 4, 5 ; 12 - mapgroup VICTORY_ROAD_GATE, 9, 10 ; 13 - - newgroup ; 24 - - mapgroup ROUTE_26, 54, 10 ; 1 - mapgroup ROUTE_27, 9, 40 ; 2 - mapgroup ROUTE_29, 9, 30 ; 3 - mapgroup NEW_BARK_TOWN, 9, 10 ; 4 - mapgroup ELMS_LAB, 6, 5 ; 5 - mapgroup KRISS_HOUSE_1F, 4, 5 ; 6 - mapgroup KRISS_HOUSE_2F, 3, 4 ; 7 - mapgroup KRISS_NEIGHBORS_HOUSE, 4, 4 ; 8 - mapgroup ELMS_HOUSE, 4, 4 ; 9 - mapgroup ROUTE_26_HEAL_SPEECH_HOUSE, 4, 4 ; 10 - mapgroup ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, 4, 4 ; 11 - mapgroup ROUTE_27_SANDSTORM_HOUSE, 4, 4 ; 12 - mapgroup ROUTE_29_46_GATE, 4, 5 ; 13 - - newgroup ; 25 - - mapgroup ROUTE_5, 9, 10 ; 1 - mapgroup SAFFRON_CITY, 18, 20 ; 2 - mapgroup FIGHTING_DOJO, 6, 5 ; 3 - mapgroup SAFFRON_GYM, 9, 10 ; 4 - mapgroup SAFFRON_MART, 4, 6 ; 5 - mapgroup SAFFRON_POKECENTER_1F, 4, 5 ; 6 - mapgroup SAFFRON_POKECENTER_2F_BETA, 4, 8 ; 7 - mapgroup MR_PSYCHICS_HOUSE, 4, 4 ; 8 - mapgroup SAFFRON_TRAIN_STATION, 9, 10 ; 9 - mapgroup SILPH_CO_1F, 4, 8 ; 10 - mapgroup COPYCATS_HOUSE_1F, 4, 4 ; 11 - mapgroup COPYCATS_HOUSE_2F, 3, 5 ; 12 - mapgroup ROUTE_5_UNDERGROUND_ENTRANCE, 4, 4 ; 13 - mapgroup ROUTE_5_SAFFRON_CITY_GATE, 4, 5 ; 14 - mapgroup ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, 4, 4 ; 15 - - newgroup ; 26 - - mapgroup ROUTE_30, 27, 10 ; 1 - mapgroup ROUTE_31, 9, 20 ; 2 - mapgroup CHERRYGROVE_CITY, 9, 20 ; 3 - mapgroup CHERRYGROVE_MART, 4, 6 ; 4 - mapgroup CHERRYGROVE_POKECENTER_1F, 4, 5 ; 5 - mapgroup CHERRYGROVE_GYM_SPEECH_HOUSE, 4, 4 ; 6 - mapgroup GUIDE_GENTS_HOUSE, 4, 4 ; 7 - mapgroup CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, 4, 4 ; 8 - mapgroup ROUTE_30_BERRY_SPEECH_HOUSE, 4, 4 ; 9 - mapgroup MR_POKEMONS_HOUSE, 4, 4 ; 10 - mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11 - - ; map permissions (wPermission) const_value SET 1 const TOWN @@ -603,7 +127,7 @@ SLIDING EQU 3 EMOTE_OBJECT EQU 7 -; SpawnPoints indexes (see engine/spawn_points.asm) +; SpawnPoints indexes (see data/spawn_points.asm) const_value = -1 const SPAWN_N_A const SPAWN_HOME @@ -679,7 +203,7 @@ NUM_SPAWNS EQU const_value const EMOTE_GRASS_RUSTLE ; 11 EMOTE_MEM EQU -1 -; FruitTreeItems indexes (see engine/fruit_trees.asm) +; FruitTreeItems indexes (see data/fruit_tree_items.asm) const_value SET 1 const FRUITTREE_ROUTE_29 ; 01 const FRUITTREE_ROUTE_30_1 ; 02 @@ -716,22 +240,22 @@ NUM_FRUIT_TREES EQU const_value +- 1 ; elevator floors ; used by `elevfloor` const_def - const _B4F - const _B3F - const _B2F - const _B1F - const _1F - const _2F - const _3F - const _4F - const _5F - const _6F - const _7F - const _8F - const _9F - const _10F - const _11F - const _ROOF + const FLOOR_B4F + const FLOOR_B3F + const FLOOR_B2F + const FLOOR_B1F + const FLOOR_1F + const FLOOR_2F + const FLOOR_3F + const FLOOR_4F + const FLOOR_5F + const FLOOR_6F + const FLOOR_7F + const FLOOR_8F + const FLOOR_9F + const FLOOR_10F + const FLOOR_11F + const FLOOR_ROOF ; command queue members CMDQUEUE_TYPE EQU 0 diff --git a/constants/map_dimension_constants.asm b/constants/map_dimension_constants.asm new file mode 100644 index 000000000..d7fead006 --- /dev/null +++ b/constants/map_dimension_constants.asm @@ -0,0 +1,473 @@ +; map group ids +; `newgroup` indexes are for: +; - MapGroupPointers (see maps/map_headers.asm) +; - OutdoorSprites (see data/outdoor_sprites.asm) +; - MapGroupRoofs (see data/mapgroup_roofs.asm) +; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm) + const_def + + newgroup ; 1 + + mapgroup OLIVINE_POKECENTER_1F, 4, 5 ; 1 + mapgroup OLIVINE_GYM, 8, 5 ; 2 + mapgroup OLIVINE_TIMS_HOUSE, 4, 4 ; 3 + mapgroup OLIVINE_HOUSE_BETA, 4, 4 ; 4 + mapgroup OLIVINE_PUNISHMENT_SPEECH_HOUSE, 4, 4 ; 5 + mapgroup OLIVINE_GOOD_ROD_HOUSE, 4, 4 ; 6 + mapgroup OLIVINE_CAFE, 4, 4 ; 7 + mapgroup OLIVINE_MART, 4, 6 ; 8 + mapgroup ROUTE_38_ECRUTEAK_GATE, 4, 5 ; 9 + mapgroup ROUTE_39_BARN, 4, 4 ; 10 + mapgroup ROUTE_39_FARMHOUSE, 4, 4 ; 11 + mapgroup ROUTE_38, 9, 20 ; 12 + mapgroup ROUTE_39, 18, 10 ; 13 + mapgroup OLIVINE_CITY, 18, 20 ; 14 + + newgroup ; 2 + + mapgroup MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, 4, 4 ; 1 + mapgroup MAHOGANY_GYM, 9, 5 ; 2 + mapgroup MAHOGANY_POKECENTER_1F, 4, 5 ; 3 + mapgroup ROUTE_42_ECRUTEAK_GATE, 4, 5 ; 4 + mapgroup ROUTE_42, 9, 30 ; 5 + mapgroup ROUTE_44, 9, 30 ; 6 + mapgroup MAHOGANY_TOWN, 9, 10 ; 7 + + newgroup ; 3 + + mapgroup SPROUT_TOWER_1F, 8, 10 ; 1 + mapgroup SPROUT_TOWER_2F, 8, 10 ; 2 + mapgroup SPROUT_TOWER_3F, 8, 10 ; 3 + mapgroup TIN_TOWER_1F, 9, 10 ; 4 + mapgroup TIN_TOWER_2F, 9, 10 ; 5 + mapgroup TIN_TOWER_3F, 9, 10 ; 6 + mapgroup TIN_TOWER_4F, 9, 10 ; 7 + mapgroup TIN_TOWER_5F, 9, 10 ; 8 + mapgroup TIN_TOWER_6F, 9, 10 ; 9 + mapgroup TIN_TOWER_7F, 9, 10 ; 10 + mapgroup TIN_TOWER_8F, 9, 10 ; 11 + mapgroup TIN_TOWER_9F, 9, 10 ; 12 + mapgroup BURNED_TOWER_1F, 9, 10 ; 13 + mapgroup BURNED_TOWER_B1F, 9, 10 ; 14 + mapgroup NATIONAL_PARK, 27, 20 ; 15 + mapgroup NATIONAL_PARK_BUG_CONTEST, 27, 20 ; 16 + mapgroup RADIO_TOWER_1F, 4, 9 ; 17 + mapgroup RADIO_TOWER_2F, 4, 9 ; 18 + mapgroup RADIO_TOWER_3F, 4, 9 ; 19 + mapgroup RADIO_TOWER_4F, 4, 9 ; 20 + mapgroup RADIO_TOWER_5F, 4, 9 ; 21 + mapgroup RUINS_OF_ALPH_OUTSIDE, 18, 10 ; 22 + mapgroup RUINS_OF_ALPH_HO_OH_CHAMBER, 5, 4 ; 23 + mapgroup RUINS_OF_ALPH_KABUTO_CHAMBER, 5, 4 ; 24 + mapgroup RUINS_OF_ALPH_OMANYTE_CHAMBER, 5, 4 ; 25 + mapgroup RUINS_OF_ALPH_AERODACTYL_CHAMBER, 5, 4 ; 26 + mapgroup RUINS_OF_ALPH_INNER_CHAMBER, 14, 10 ; 27 + mapgroup RUINS_OF_ALPH_RESEARCH_CENTER, 4, 4 ; 28 + mapgroup RUINS_OF_ALPH_HO_OH_ITEM_ROOM, 5, 4 ; 29 + mapgroup RUINS_OF_ALPH_KABUTO_ITEM_ROOM, 5, 4 ; 30 + mapgroup RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, 5, 4 ; 31 + mapgroup RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, 5, 4 ; 32 + mapgroup RUINS_OF_ALPH_HO_OH_WORD_ROOM, 12, 10 ; 33 + mapgroup RUINS_OF_ALPH_KABUTO_WORD_ROOM, 7, 10 ; 34 + mapgroup RUINS_OF_ALPH_OMANYTE_WORD_ROOM, 8, 10 ; 35 + mapgroup RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, 7, 10 ; 36 + mapgroup UNION_CAVE_1F, 18, 10 ; 37 + mapgroup UNION_CAVE_B1F, 18, 10 ; 38 + mapgroup UNION_CAVE_B2F, 18, 10 ; 39 + mapgroup SLOWPOKE_WELL_B1F, 9, 10 ; 40 + mapgroup SLOWPOKE_WELL_B2F, 9, 10 ; 41 + mapgroup OLIVINE_LIGHTHOUSE_1F, 9, 10 ; 42 + mapgroup OLIVINE_LIGHTHOUSE_2F, 9, 10 ; 43 + mapgroup OLIVINE_LIGHTHOUSE_3F, 9, 10 ; 44 + mapgroup OLIVINE_LIGHTHOUSE_4F, 9, 10 ; 45 + mapgroup OLIVINE_LIGHTHOUSE_5F, 9, 10 ; 46 + mapgroup OLIVINE_LIGHTHOUSE_6F, 9, 10 ; 47 + mapgroup MAHOGANY_MART_1F, 4, 4 ; 48 + mapgroup TEAM_ROCKET_BASE_B1F, 9, 15 ; 49 + mapgroup TEAM_ROCKET_BASE_B2F, 9, 15 ; 50 + mapgroup TEAM_ROCKET_BASE_B3F, 9, 15 ; 51 + mapgroup ILEX_FOREST, 27, 15 ; 52 + mapgroup WAREHOUSE_ENTRANCE, 18, 15 ; 53 + mapgroup UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, 18, 15 ; 54 + mapgroup GOLDENROD_DEPT_STORE_B1F, 9, 10 ; 55 + mapgroup UNDERGROUND_WAREHOUSE, 9, 10 ; 56 + mapgroup MOUNT_MORTAR_1F_OUTSIDE, 18, 20 ; 57 + mapgroup MOUNT_MORTAR_1F_INSIDE, 27, 20 ; 58 + mapgroup MOUNT_MORTAR_2F_INSIDE, 18, 20 ; 59 + mapgroup MOUNT_MORTAR_B1F, 18, 20 ; 60 + mapgroup ICE_PATH_1F, 18, 20 ; 61 + mapgroup ICE_PATH_B1F, 18, 10 ; 62 + mapgroup ICE_PATH_B2F_MAHOGANY_SIDE, 9, 10 ; 63 + mapgroup ICE_PATH_B2F_BLACKTHORN_SIDE, 9, 5 ; 64 + mapgroup ICE_PATH_B3F, 9, 10 ; 65 + mapgroup WHIRL_ISLAND_NW, 9, 5 ; 66 + mapgroup WHIRL_ISLAND_NE, 9, 10 ; 67 + mapgroup WHIRL_ISLAND_SW, 9, 10 ; 68 + mapgroup WHIRL_ISLAND_CAVE, 9, 5 ; 69 + mapgroup WHIRL_ISLAND_SE, 9, 5 ; 70 + mapgroup WHIRL_ISLAND_B1F, 18, 20 ; 71 + mapgroup WHIRL_ISLAND_B2F, 18, 10 ; 72 + mapgroup WHIRL_ISLAND_LUGIA_CHAMBER, 9, 10 ; 73 + mapgroup SILVER_CAVE_ROOM_1, 18, 10 ; 74 + mapgroup SILVER_CAVE_ROOM_2, 18, 15 ; 75 + mapgroup SILVER_CAVE_ROOM_3, 18, 10 ; 76 + mapgroup SILVER_CAVE_ITEM_ROOMS, 9, 10 ; 77 + mapgroup DARK_CAVE_VIOLET_ENTRANCE, 18, 20 ; 78 + mapgroup DARK_CAVE_BLACKTHORN_ENTRANCE, 18, 15 ; 79 + mapgroup DRAGONS_DEN_1F, 9, 5 ; 80 + mapgroup DRAGONS_DEN_B1F, 18, 20 ; 81 + mapgroup DRAGON_SHRINE, 5, 5 ; 82 + mapgroup TOHJO_FALLS, 9, 15 ; 83 + mapgroup DIGLETTS_CAVE, 18, 10 ; 84 + mapgroup MOUNT_MOON, 9, 15 ; 85 + mapgroup UNDERGROUND, 14, 3 ; 86 + mapgroup ROCK_TUNNEL_1F, 18, 15 ; 87 + mapgroup ROCK_TUNNEL_B1F, 18, 15 ; 88 + mapgroup SAFARI_ZONE_FUCHSIA_GATE_BETA, 4, 5 ; 89 + mapgroup SAFARI_ZONE_BETA, 18, 10 ; 90 + mapgroup VICTORY_ROAD, 36, 10 ; 91 + + newgroup ; 4 + + mapgroup ECRUTEAK_HOUSE, 9, 10 ; 1 + mapgroup WISE_TRIOS_ROOM, 4, 4 ; 2 + mapgroup ECRUTEAK_POKECENTER_1F, 4, 5 ; 3 + mapgroup ECRUTEAK_LUGIA_SPEECH_HOUSE, 4, 4 ; 4 + mapgroup DANCE_THEATRE, 7, 6 ; 5 + mapgroup ECRUTEAK_MART, 4, 6 ; 6 + mapgroup ECRUTEAK_GYM, 9, 5 ; 7 + mapgroup ECRUTEAK_ITEMFINDER_HOUSE, 4, 4 ; 8 + mapgroup ECRUTEAK_CITY, 18, 20 ; 9 + + newgroup ; 5 + + mapgroup BLACKTHORN_GYM_1F, 9, 5 ; 1 + mapgroup BLACKTHORN_GYM_2F, 9, 5 ; 2 + mapgroup BLACKTHORN_DRAGON_SPEECH_HOUSE, 4, 4 ; 3 + mapgroup BLACKTHORN_EMYS_HOUSE, 4, 4 ; 4 + mapgroup BLACKTHORN_MART, 4, 6 ; 5 + mapgroup BLACKTHORN_POKECENTER_1F, 4, 5 ; 6 + mapgroup MOVE_DELETERS_HOUSE, 4, 4 ; 7 + mapgroup ROUTE_45, 45, 10 ; 8 + mapgroup ROUTE_46, 18, 10 ; 9 + mapgroup BLACKTHORN_CITY, 18, 20 ; 10 + + newgroup ; 6 + + mapgroup CINNABAR_POKECENTER_1F, 4, 5 ; 1 + mapgroup CINNABAR_POKECENTER_2F_BETA, 4, 8 ; 2 + mapgroup ROUTE_19___FUCHSIA_GATE, 4, 5 ; 3 + mapgroup SEAFOAM_GYM, 4, 5 ; 4 + mapgroup ROUTE_19, 18, 10 ; 5 + mapgroup ROUTE_20, 9, 30 ; 6 + mapgroup ROUTE_21, 18, 10 ; 7 + mapgroup CINNABAR_ISLAND, 9, 10 ; 8 + + newgroup ; 7 + + mapgroup CERULEAN_GYM_BADGE_SPEECH_HOUSE, 4, 4 ; 1 + mapgroup CERULEAN_POLICE_STATION, 4, 4 ; 2 + mapgroup CERULEAN_TRADE_SPEECH_HOUSE, 4, 4 ; 3 + mapgroup CERULEAN_POKECENTER_1F, 4, 5 ; 4 + mapgroup CERULEAN_POKECENTER_2F_BETA, 4, 8 ; 5 + mapgroup CERULEAN_GYM, 8, 5 ; 6 + mapgroup CERULEAN_MART, 4, 6 ; 7 + mapgroup ROUTE_10_POKECENTER_1F, 4, 5 ; 8 + mapgroup ROUTE_10_POKECENTER_2F_BETA, 4, 8 ; 9 + mapgroup POWER_PLANT, 9, 10 ; 10 + mapgroup BILLS_HOUSE, 4, 4 ; 11 + mapgroup ROUTE_4, 9, 20 ; 12 + mapgroup ROUTE_9, 9, 30 ; 13 + mapgroup ROUTE_10_NORTH, 9, 10 ; 14 + mapgroup ROUTE_24, 9, 10 ; 15 + mapgroup ROUTE_25, 9, 30 ; 16 + mapgroup CERULEAN_CITY, 18, 20 ; 17 + + newgroup ; 8 + + mapgroup AZALEA_POKECENTER_1F, 4, 5 ; 1 + mapgroup CHARCOAL_KILN, 4, 4 ; 2 + mapgroup AZALEA_MART, 4, 6 ; 3 + mapgroup KURTS_HOUSE, 4, 8 ; 4 + mapgroup AZALEA_GYM, 8, 5 ; 5 + mapgroup ROUTE_33, 9, 10 ; 6 + mapgroup AZALEA_TOWN, 9, 20 ; 7 + + newgroup ; 9 + + mapgroup LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 4, 4 ; 1 + mapgroup LAKE_OF_RAGE_MAGIKARP_HOUSE, 4, 4 ; 2 + mapgroup ROUTE_43_MAHOGANY_GATE, 4, 5 ; 3 + mapgroup ROUTE_43_GATE, 4, 5 ; 4 + mapgroup ROUTE_43, 27, 10 ; 5 + mapgroup LAKE_OF_RAGE, 18, 20 ; 6 + + newgroup ; 10 + + mapgroup ROUTE_32, 45, 10 ; 1 + mapgroup ROUTE_35, 18, 10 ; 2 + mapgroup ROUTE_36, 9, 30 ; 3 + mapgroup ROUTE_37, 9, 10 ; 4 + mapgroup VIOLET_CITY, 18, 20 ; 5 + mapgroup VIOLET_MART, 4, 6 ; 6 + mapgroup VIOLET_GYM, 8, 5 ; 7 + mapgroup EARLS_POKEMON_ACADEMY, 8, 4 ; 8 + mapgroup VIOLET_NICKNAME_SPEECH_HOUSE, 4, 4 ; 9 + mapgroup VIOLET_POKECENTER_1F, 4, 5 ; 10 + mapgroup VIOLET_ONIX_TRADE_HOUSE, 4, 4 ; 11 + mapgroup ROUTE_32_RUINS_OF_ALPH_GATE, 4, 5 ; 12 + mapgroup ROUTE_32_POKECENTER_1F, 4, 5 ; 13 + mapgroup ROUTE_35_GOLDENROD_GATE, 4, 5 ; 14 + mapgroup ROUTE_35_NATIONAL_PARK_GATE, 4, 4 ; 15 + mapgroup ROUTE_36_RUINS_OF_ALPH_GATE, 4, 5 ; 16 + mapgroup ROUTE_36_NATIONAL_PARK_GATE, 4, 5 ; 17 + + newgroup ; 11 + + mapgroup ROUTE_34, 27, 10 ; 1 + mapgroup GOLDENROD_CITY, 18, 20 ; 2 + mapgroup GOLDENROD_GYM, 9, 10 ; 3 + mapgroup GOLDENROD_BIKE_SHOP, 4, 4 ; 4 + mapgroup GOLDENROD_HAPPINESS_RATER, 4, 4 ; 5 + mapgroup GOLDENROD_BILLS_HOUSE, 4, 4 ; 6 + mapgroup GOLDENROD_MAGNET_TRAIN_STATION, 9, 10 ; 7 + mapgroup GOLDENROD_FLOWER_SHOP, 4, 4 ; 8 + mapgroup GOLDENROD_PP_SPEECH_HOUSE, 4, 4 ; 9 + mapgroup GOLDENROD_NAME_RATER, 4, 4 ; 10 + mapgroup GOLDENROD_DEPT_STORE_1F, 4, 8 ; 11 + mapgroup GOLDENROD_DEPT_STORE_2F, 4, 8 ; 12 + mapgroup GOLDENROD_DEPT_STORE_3F, 4, 8 ; 13 + mapgroup GOLDENROD_DEPT_STORE_4F, 4, 8 ; 14 + mapgroup GOLDENROD_DEPT_STORE_5F, 4, 8 ; 15 + mapgroup GOLDENROD_DEPT_STORE_6F, 4, 8 ; 16 + mapgroup GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2 ; 17 + mapgroup GOLDENROD_DEPT_STORE_ROOF, 4, 8 ; 18 + mapgroup GOLDENROD_GAME_CORNER, 7, 10 ; 19 + mapgroup GOLDENROD_POKECENTER_1F, 4, 5 ; 20 + mapgroup GOLDENROD_POKECOM_CENTER_2F_MOBILE, 16, 16 ; 21 + mapgroup ILEX_FOREST_AZALEA_GATE, 4, 5 ; 22 + mapgroup ROUTE_34_ILEX_FOREST_GATE, 4, 5 ; 23 + mapgroup DAY_CARE, 4, 5 ; 24 + + newgroup ; 12 + + mapgroup ROUTE_6, 9, 10 ; 1 + mapgroup ROUTE_11, 9, 20 ; 2 + mapgroup VERMILION_CITY, 18, 20 ; 3 + mapgroup VERMILION_HOUSE_FISHING_SPEECH_HOUSE, 4, 4 ; 4 + mapgroup VERMILION_POKECENTER_1F, 4, 5 ; 5 + mapgroup VERMILION_POKECENTER_2F_BETA, 4, 8 ; 6 + mapgroup POKEMON_FAN_CLUB, 4, 5 ; 7 + mapgroup VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, 4, 4 ; 8 + mapgroup VERMILION_MART, 4, 6 ; 9 + mapgroup VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, 4, 4 ; 10 + mapgroup VERMILION_GYM, 9, 5 ; 11 + mapgroup ROUTE_6_SAFFRON_GATE, 4, 5 ; 12 + mapgroup ROUTE_6_UNDERGROUND_ENTRANCE, 4, 4 ; 13 + + newgroup ; 13 + + mapgroup ROUTE_1, 18, 10 ; 1 + mapgroup PALLET_TOWN, 9, 10 ; 2 + mapgroup REDS_HOUSE_1F, 4, 4 ; 3 + mapgroup REDS_HOUSE_2F, 4, 4 ; 4 + mapgroup BLUES_HOUSE, 4, 4 ; 5 + mapgroup OAKS_LAB, 6, 5 ; 6 + + newgroup ; 14 + + mapgroup ROUTE_3, 9, 30 ; 1 + mapgroup PEWTER_CITY, 18, 20 ; 2 + mapgroup PEWTER_NIDORAN_SPEECH_HOUSE, 4, 4 ; 3 + mapgroup PEWTER_GYM, 7, 5 ; 4 + mapgroup PEWTER_MART, 4, 6 ; 5 + mapgroup PEWTER_POKECENTER_1F, 4, 5 ; 6 + mapgroup PEWTER_POKECENTER_2F_BETA, 4, 8 ; 7 + mapgroup PEWTER_SNOOZE_SPEECH_HOUSE, 4, 4 ; 8 + + newgroup ; 15 + + mapgroup OLIVINE_PORT, 18, 10 ; 1 + mapgroup VERMILION_PORT, 18, 10 ; 2 + mapgroup FAST_SHIP_1F, 9, 16 ; 3 + mapgroup FAST_SHIP_CABINS_NNW_NNE_NE, 16, 4 ; 4 + mapgroup FAST_SHIP_CABINS_SW_SSW_NW, 16, 4 ; 5 + mapgroup FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 17, 5 ; 6 + mapgroup FAST_SHIP_B1F, 8, 16 ; 7 + mapgroup OLIVINE_PORT_PASSAGE, 9, 10 ; 8 + mapgroup VERMILION_PORT_PASSAGE, 9, 10 ; 9 + mapgroup MOUNT_MOON_SQUARE, 9, 15 ; 10 + mapgroup MOUNT_MOON_GIFT_SHOP, 4, 4 ; 11 + mapgroup TIN_TOWER_ROOF, 9, 10 ; 12 + + newgroup ; 16 + + mapgroup ROUTE_23, 9, 10 ; 1 + mapgroup INDIGO_PLATEAU_POKECENTER_1F, 7, 9 ; 2 + mapgroup WILLS_ROOM, 9, 5 ; 3 + mapgroup KOGAS_ROOM, 9, 5 ; 4 + mapgroup BRUNOS_ROOM, 9, 5 ; 5 + mapgroup KARENS_ROOM, 9, 5 ; 6 + mapgroup LANCES_ROOM, 12, 5 ; 7 + mapgroup HALL_OF_FAME, 7, 5 ; 8 + + newgroup ; 17 + + mapgroup ROUTE_13, 9, 30 ; 1 + mapgroup ROUTE_14, 18, 10 ; 2 + mapgroup ROUTE_15, 9, 20 ; 3 + mapgroup ROUTE_18, 9, 10 ; 4 + mapgroup FUCHSIA_CITY, 18, 20 ; 5 + mapgroup FUCHSIA_MART, 4, 6 ; 6 + mapgroup SAFARI_ZONE_MAIN_OFFICE, 4, 4 ; 7 + mapgroup FUCHSIA_GYM, 9, 5 ; 8 + mapgroup FUCHSIA_BILL_SPEECH_HOUSE, 4, 4 ; 9 + mapgroup FUCHSIA_POKECENTER_1F, 4, 5 ; 10 + mapgroup FUCHSIA_POKECENTER_2F_BETA, 4, 8 ; 11 + mapgroup SAFARI_ZONE_WARDENS_HOME, 4, 5 ; 12 + mapgroup ROUTE_15_FUCHSIA_GATE, 4, 5 ; 13 + + newgroup ; 18 + + mapgroup ROUTE_8, 9, 20 ; 1 + mapgroup ROUTE_12, 27, 10 ; 2 + mapgroup ROUTE_10_SOUTH, 9, 10 ; 3 + mapgroup LAVENDER_TOWN, 9, 10 ; 4 + mapgroup LAVENDER_POKECENTER_1F, 4, 5 ; 5 + mapgroup LAVENDER_POKECENTER_2F_BETA, 4, 8 ; 6 + mapgroup MR_FUJIS_HOUSE, 4, 5 ; 7 + mapgroup LAVENDER_TOWN_SPEECH_HOUSE, 4, 4 ; 8 + mapgroup LAVENDER_NAME_RATER, 4, 4 ; 9 + mapgroup LAVENDER_MART, 4, 6 ; 10 + mapgroup SOUL_HOUSE, 4, 5 ; 11 + mapgroup LAV_RADIO_TOWER_1F, 4, 10 ; 12 + mapgroup ROUTE_8_SAFFRON_GATE, 4, 5 ; 13 + mapgroup ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; 14 + + newgroup ; 19 + + mapgroup ROUTE_28, 9, 20 ; 1 + mapgroup SILVER_CAVE_OUTSIDE, 18, 20 ; 2 + mapgroup SILVER_CAVE_POKECENTER_1F, 4, 5 ; 3 + mapgroup ROUTE_28_FAMOUS_SPEECH_HOUSE, 4, 4 ; 4 + + newgroup ; 20 + + mapgroup POKECENTER_2F, 4, 8 ; 1 + mapgroup TRADE_CENTER, 4, 5 ; 2 + mapgroup COLOSSEUM, 4, 5 ; 3 + mapgroup TIME_CAPSULE, 4, 5 ; 4 + mapgroup MOBILE_TRADE_ROOM_MOBILE, 4, 5 ; 5 + mapgroup MOBILE_BATTLE_ROOM, 4, 5 ; 6 + + newgroup ; 21 + + mapgroup ROUTE_7, 9, 10 ; 1 + mapgroup ROUTE_16, 9, 10 ; 2 + mapgroup ROUTE_17, 45, 10 ; 3 + mapgroup CELADON_CITY, 18, 20 ; 4 + mapgroup CELADON_DEPT_STORE_1F, 4, 8 ; 5 + mapgroup CELADON_DEPT_STORE_2F, 4, 8 ; 6 + mapgroup CELADON_DEPT_STORE_3F, 4, 8 ; 7 + mapgroup CELADON_DEPT_STORE_4F, 4, 8 ; 8 + mapgroup CELADON_DEPT_STORE_5F, 4, 8 ; 9 + mapgroup CELADON_DEPT_STORE_6F, 4, 8 ; 10 + mapgroup CELADON_DEPT_STORE_ELEVATOR, 2, 2 ; 11 + mapgroup CELADON_MANSION_1F, 5, 4 ; 12 + mapgroup CELADON_MANSION_2F, 5, 4 ; 13 + mapgroup CELADON_MANSION_3F, 5, 4 ; 14 + mapgroup CELADON_MANSION_ROOF, 5, 4 ; 15 + mapgroup CELADON_MANSION_ROOF_HOUSE, 4, 4 ; 16 + mapgroup CELADON_POKECENTER_1F, 4, 5 ; 17 + mapgroup CELADON_POKECENTER_2F_BETA, 4, 8 ; 18 + mapgroup CELADON_GAME_CORNER, 7, 10 ; 19 + mapgroup CELADON_GAME_CORNER_PRIZE_ROOM, 3, 3 ; 20 + mapgroup CELADON_GYM, 9, 5 ; 21 + mapgroup CELADON_CAFE, 4, 6 ; 22 + mapgroup ROUTE_16_FUCHSIA_SPEECH_HOUSE, 4, 4 ; 23 + mapgroup ROUTE_16_GATE, 4, 5 ; 24 + mapgroup ROUTE_7_SAFFRON_GATE, 4, 5 ; 25 + mapgroup ROUTE_17_18_GATE, 4, 5 ; 26 + + newgroup ; 22 + + mapgroup ROUTE_40, 18, 10 ; 1 + mapgroup ROUTE_41, 27, 25 ; 2 + mapgroup CIANWOOD_CITY, 27, 15 ; 3 + mapgroup MANIAS_HOUSE, 4, 4 ; 4 + mapgroup CIANWOOD_GYM, 9, 5 ; 5 + mapgroup CIANWOOD_POKECENTER_1F, 4, 5 ; 6 + mapgroup CIANWOOD_PHARMACY, 4, 4 ; 7 + mapgroup CIANWOOD_CITY_PHOTO_STUDIO, 4, 4 ; 8 + mapgroup CIANWOOD_LUGIA_SPEECH_HOUSE, 4, 4 ; 9 + mapgroup POKE_SEERS_HOUSE, 4, 4 ; 10 + mapgroup BATTLE_TOWER_1F, 5, 8 ; 11 + mapgroup BATTLE_TOWER_BATTLE_ROOM, 4, 4 ; 12 + mapgroup BATTLE_TOWER_ELEVATOR, 2, 2 ; 13 + mapgroup BATTLE_TOWER_HALLWAY, 2, 11 ; 14 + mapgroup ROUTE_40_BATTLE_TOWER_GATE, 4, 5 ; 15 + mapgroup BATTLE_TOWER_OUTSIDE, 14, 10 ; 16 + + newgroup ; 23 + + mapgroup ROUTE_2, 27, 10 ; 1 + mapgroup ROUTE_22, 9, 20 ; 2 + mapgroup VIRIDIAN_CITY, 18, 20 ; 3 + mapgroup VIRIDIAN_GYM, 9, 5 ; 4 + mapgroup VIRIDIAN_NICKNAME_SPEECH_HOUSE, 4, 4 ; 5 + mapgroup TRAINER_HOUSE_1F, 7, 5 ; 6 + mapgroup TRAINER_HOUSE_B1F, 8, 5 ; 7 + mapgroup VIRIDIAN_MART, 4, 6 ; 8 + mapgroup VIRIDIAN_POKECENTER_1F, 4, 5 ; 9 + mapgroup VIRIDIAN_POKECENTER_2F_BETA, 4, 8 ; 10 + mapgroup ROUTE_2_NUGGET_SPEECH_HOUSE, 4, 4 ; 11 + mapgroup ROUTE_2_GATE, 4, 5 ; 12 + mapgroup VICTORY_ROAD_GATE, 9, 10 ; 13 + + newgroup ; 24 + + mapgroup ROUTE_26, 54, 10 ; 1 + mapgroup ROUTE_27, 9, 40 ; 2 + mapgroup ROUTE_29, 9, 30 ; 3 + mapgroup NEW_BARK_TOWN, 9, 10 ; 4 + mapgroup ELMS_LAB, 6, 5 ; 5 + mapgroup KRISS_HOUSE_1F, 4, 5 ; 6 + mapgroup KRISS_HOUSE_2F, 3, 4 ; 7 + mapgroup KRISS_NEIGHBORS_HOUSE, 4, 4 ; 8 + mapgroup ELMS_HOUSE, 4, 4 ; 9 + mapgroup ROUTE_26_HEAL_SPEECH_HOUSE, 4, 4 ; 10 + mapgroup ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, 4, 4 ; 11 + mapgroup ROUTE_27_SANDSTORM_HOUSE, 4, 4 ; 12 + mapgroup ROUTE_29_46_GATE, 4, 5 ; 13 + + newgroup ; 25 + + mapgroup ROUTE_5, 9, 10 ; 1 + mapgroup SAFFRON_CITY, 18, 20 ; 2 + mapgroup FIGHTING_DOJO, 6, 5 ; 3 + mapgroup SAFFRON_GYM, 9, 10 ; 4 + mapgroup SAFFRON_MART, 4, 6 ; 5 + mapgroup SAFFRON_POKECENTER_1F, 4, 5 ; 6 + mapgroup SAFFRON_POKECENTER_2F_BETA, 4, 8 ; 7 + mapgroup MR_PSYCHICS_HOUSE, 4, 4 ; 8 + mapgroup SAFFRON_TRAIN_STATION, 9, 10 ; 9 + mapgroup SILPH_CO_1F, 4, 8 ; 10 + mapgroup COPYCATS_HOUSE_1F, 4, 4 ; 11 + mapgroup COPYCATS_HOUSE_2F, 3, 5 ; 12 + mapgroup ROUTE_5_UNDERGROUND_ENTRANCE, 4, 4 ; 13 + mapgroup ROUTE_5_SAFFRON_CITY_GATE, 4, 5 ; 14 + mapgroup ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, 4, 4 ; 15 + + newgroup ; 26 + + mapgroup ROUTE_30, 27, 10 ; 1 + mapgroup ROUTE_31, 9, 20 ; 2 + mapgroup CHERRYGROVE_CITY, 9, 20 ; 3 + mapgroup CHERRYGROVE_MART, 4, 6 ; 4 + mapgroup CHERRYGROVE_POKECENTER_1F, 4, 5 ; 5 + mapgroup CHERRYGROVE_GYM_SPEECH_HOUSE, 4, 4 ; 6 + mapgroup GUIDE_GENTS_HOUSE, 4, 4 ; 7 + mapgroup CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, 4, 4 ; 8 + mapgroup ROUTE_30_BERRY_SPEECH_HOUSE, 4, 4 ; 9 + mapgroup MR_POKEMONS_HOUSE, 4, 4 ; 10 + mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11 diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 6ae41e989..7510fdf50 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -25,6 +25,7 @@ PKMN_NAME_LENGTH EQU 11 MOVE_NAME_LENGTH EQU 13 ITEM_NAME_LENGTH EQU 13 TRAINER_CLASS_NAME_LENGTH EQU 13 +NAME_LENGTH_JAPANESE EQU 6 ; GetName types (see home.asm) PKMN_NAME EQU 1 @@ -37,70 +38,11 @@ TRAINER_NAME EQU 7 ; broken ptr EQU 8 -; boxes -MONS_PER_BOX EQU 20 -NUM_BOXES EQU 14 - -; hall of fame -HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (PKMN_NAME_LENGTH +- 1) ; species, id, dvs, level, nick -HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator -NUM_HOF_TEAMS = 30 - - -; joypad - - const_def - const A_BUTTON_F - const B_BUTTON_F - const SELECT_F - const START_F - const D_RIGHT_F - const D_LEFT_F - const D_UP_F - const D_DOWN_F - -NO_INPUT EQU %00000000 -A_BUTTON EQU 1 << A_BUTTON_F -B_BUTTON EQU 1 << B_BUTTON_F -SELECT EQU 1 << SELECT_F -START EQU 1 << START_F -D_RIGHT EQU 1 << D_RIGHT_F -D_LEFT EQU 1 << D_LEFT_F -D_UP EQU 1 << D_UP_F -D_DOWN EQU 1 << D_DOWN_F - -BUTTONS EQU A_BUTTON | B_BUTTON | SELECT | START -D_PAD EQU D_RIGHT | D_LEFT | D_UP | D_DOWN - -R_DPAD EQU %00100000 -R_BUTTONS EQU %00010000 - - -; screen - -HP_BAR_LENGTH EQU 6 -HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * 8 -EXP_BAR_LENGTH EQU 8 -EXP_BAR_LENGTH_PX EQU EXP_BAR_LENGTH * 8 - -SCREEN_WIDTH EQU 20 -SCREEN_HEIGHT EQU 18 -SCREEN_WIDTH_PX EQU SCREEN_WIDTH * 8 -SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * 8 - -BG_MAP_WIDTH EQU 32 -BG_MAP_HEIGHT EQU 32 -WMISC_WIDTH EQU 6 * 4 -WMISC_HEIGHT EQU 5 * 4 - -TILE_WIDTH EQU 8 - - ; printing text - -PRINTNUM_MONEY_F EQU 5 -PRINTNUM_RIGHTALIGN_F EQU 6 -PRINTNUM_LEADINGZEROS_F EQU 7 +const_value set 5 + const PRINTNUM_MONEY_F ; 5 + const PRINTNUM_RIGHTALIGN_F ; 6 + const PRINTNUM_LEADINGZEROS_F ; 7 PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F @@ -119,7 +61,34 @@ PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F const STEP_WALK_IN_PLACE ; 7 -; ChangeHappiness arguments (see event/happiness_egg.asm) +HMENURETURN_SCRIPT EQU %10000000 +HMENURETURN_ASM EQU %11111111 + + +; time of day boundaries +MORN_HOUR EQU 4 ; 4 AM +DAY_HOUR EQU 10 ; 10 AM +NITE_HOUR EQU 18 ; 6 PM +NOON_HOUR EQU 12 ; 12 PM +MAX_HOUR EQU 24 ; 12 AM + + +; boxes +MONS_PER_BOX EQU 20 +NUM_BOXES EQU 14 + +; hall of fame +HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (PKMN_NAME_LENGTH +- 1) ; species, id, dvs, level, nick +HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator +NUM_HOF_TEAMS = 30 + + +; significant money values +START_MONEY EQU 3000 +MOM_MONEY EQU 2300 + + +; ChangeHappiness arguments (see data/happiness_changes.asm) const_value = 1 const HAPPINESS_GAINLEVEL ; 01 const HAPPINESS_USEDITEM ; 02 @@ -140,19 +109,3 @@ const_value = 1 const HAPPINESS_REVIVALHERB ; 11 const HAPPINESS_MASSAGE ; 12 const HAPPINESS_GAINLEVELATHOME ; 13 - - - const_def - const LINK_NULL ; 0 - const LINK_TIMECAPSULE ; 1 - const LINK_TRADECENTER ; 2 - const LINK_COLOSSEUM ; 3 - const LINK_MOBILE ; 4 - -SERIAL_TIMECAPSULE EQU $60 -SERIAL_TRADECENTER EQU $70 -SERIAL_BATTLE EQU $80 - - -HMENURETURN_SCRIPT EQU %10000000 -HMENURETURN_ASM EQU %11111111 diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 9536ae837..453bf9098 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -110,5 +110,7 @@ ; GetMapHeaderMusic picks music for this value (see home/map.asm) MUSIC_MAHOGANY_MART EQU $64 + ; GetMapHeaderMusic picks music for this bit flag -RADIO_TOWER_MUSIC EQU 7 +RADIO_TOWER_MUSIC_F EQU 7 +RADIO_TOWER_MUSIC EQU 1 << RADIO_TOWER_MUSIC_F diff --git a/constants/npctrade_constants.asm b/constants/npctrade_constants.asm new file mode 100644 index 000000000..2da4abd64 --- /dev/null +++ b/constants/npctrade_constants.asm @@ -0,0 +1,21 @@ +; npctrade struct members (see data/npc_trades.asm) +TRADE_DIALOG EQU 0 +TRADE_GIVEMON EQU 1 +TRADE_GETMON EQU 2 +TRADE_NICK EQU 3 +TRADE_DVS EQU 14 +TRADE_ITEM EQU 16 +TRADE_OT_ID EQU 17 +TRADE_OT_NAME EQU 19 +TRADE_GENDER EQU 30 +TRADE_PADDING EQU 31 + +; NPCTrades indexes (see data/npc_trades.asm) + const_def + const NPCTRADE_MIKE ; 0 + const NPCTRADE_KYLE ; 1 + const NPCTRADE_TIM ; 2 + const NPCTRADE_EMY ; 3 + const NPCTRADE_CHRIS ; 4 + const NPCTRADE_KIM ; 5 + const NPCTRADE_FOREST ; 6 diff --git a/constants/phone_constants.asm b/constants/phone_constants.asm index fe602a413..b2312ab4b 100644 --- a/constants/phone_constants.asm +++ b/constants/phone_constants.asm @@ -1,4 +1,4 @@ -; PhoneContacts indexes (see engine/phone.asm) +; PhoneContacts indexes (see data/phone_contacts.asm) const_def const PHONE_00 const PHONE_MOM @@ -39,7 +39,7 @@ const PHONE_PICNICKER_ERIN const PHONE_BUENA -; SpecialPhoneCallList indexes (see engine/phone.asm) +; SpecialPhoneCallList indexes (see data/phone_special.asm) const_def const SPECIALCALL_NONE const SPECIALCALL_POKERUS diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index fb713507f..14635d729 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -14,7 +14,7 @@ ; - PicPointers (see gfx/pics/pic_pointers.asm) ; - AlphabeticalPokedexOrder (see data/pokedex/order_alpha.asm) ; - NewPokedexOrder (see data/pokedex/order_new.asm) -; - MonMenuIcons (see menu/mon_icons.asm) +; - MonMenuIcons (see data/mon_menu_icons.asm) ; - Pokered_MonIndices (see engine/time_capsule/conversion.asm) ; - SortedPokemon (see misc/fixed_words.asm) const_value set 1 @@ -274,74 +274,5 @@ NUM_POKEMON EQU const_value +- 1 const EGG ; fd const MON_FE ; fe -; party_struct members (see macros/wram.asm) -MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)" -MON_ITEM EQUS "(PartyMon1Item - PartyMon1)" -MON_MOVES EQUS "(PartyMon1Moves - PartyMon1)" -MON_ID EQUS "(PartyMon1ID - PartyMon1)" -MON_EXP EQUS "(PartyMon1Exp - PartyMon1)" -MON_STAT_EXP EQUS "(PartyMon1StatExp - PartyMon1)" -MON_HP_EXP EQUS "(PartyMon1HPExp - PartyMon1)" -MON_ATK_EXP EQUS "(PartyMon1AtkExp - PartyMon1)" -MON_DEF_EXP EQUS "(PartyMon1DefExp - PartyMon1)" -MON_SPD_EXP EQUS "(PartyMon1SpdExp - PartyMon1)" -MON_SPC_EXP EQUS "(PartyMon1SpcExp - PartyMon1)" -MON_DVS EQUS "(PartyMon1DVs - PartyMon1)" -MON_PP EQUS "(PartyMon1PP - PartyMon1)" -MON_HAPPINESS EQUS "(PartyMon1Happiness - PartyMon1)" -MON_PKRUS EQUS "(PartyMon1PokerusStatus - PartyMon1)" -MON_CAUGHTDATA EQUS "(PartyMon1CaughtData - PartyMon1)" -MON_CAUGHTLEVEL EQUS "(PartyMon1CaughtLevel - PartyMon1)" -MON_CAUGHTTIME EQUS "(PartyMon1CaughtTime - PartyMon1)" -MON_CAUGHTGENDER EQUS "(PartyMon1CaughtGender - PartyMon1)" -MON_CAUGHTLOCATION EQUS "(PartyMon1CaughtLocation - PartyMon1)" -MON_LEVEL EQUS "(PartyMon1Level - PartyMon1)" -MON_STATUS EQUS "(PartyMon1Status - PartyMon1)" -MON_HP EQUS "(PartyMon1HP - PartyMon1)" -MON_MAXHP EQUS "(PartyMon1MaxHP - PartyMon1)" -MON_ATK EQUS "(PartyMon1Attack - PartyMon1)" -MON_DEF EQUS "(PartyMon1Defense - PartyMon1)" -MON_SPD EQUS "(PartyMon1Speed - PartyMon1)" -MON_SAT EQUS "(PartyMon1SpclAtk - PartyMon1)" -MON_SDF EQUS "(PartyMon1SpclDef - PartyMon1)" -BOXMON_STRUCT_LENGTH EQUS "(PartyMon1End - PartyMon1)" -PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)" -REDMON_STRUCT_LENGTH EQU 44 - -; MonMenuOptions indexes (see engine/mon_menu.asm) -const_value SET 1 -; moves - const MONMENU_CUT ; 1 - const MONMENU_FLY ; 2 - const MONMENU_SURF ; 3 - const MONMENU_STRENGTH ; 4 - const MONMENU_WATERFALL ; 5 - const MONMENU_FLASH ; 6 - const MONMENU_WHIRLPOOL ; 7 - const MONMENU_DIG ; 8 - const MONMENU_TELEPORT ; 9 - const MONMENU_SOFTBOILED ; 10 - const MONMENU_HEADBUTT ; 11 - const MONMENU_ROCKSMASH ; 12 - const MONMENU_MILKDRINK ; 13 - const MONMENU_SWEETSCENT ; 14 -; options - const MONMENU_STATS ; 15 - const MONMENU_SWITCH ; 16 - const MONMENU_ITEM ; 17 - const MONMENU_CANCEL ; 18 - const MONMENU_MOVE ; 19 - const MONMENU_MAIL ; 20 - const MONMENU_ERROR ; 21 - -; MonMenuOptions types -MONMENU_FIELD_MOVE EQU 0 -MONMENU_MENUOPTION EQU 1 - -NUM_MONMENU_ITEMS EQU 8 - -; maximum number of party pokemon -PARTY_LENGTH EQU 6 - ; number of Unown forms NUM_UNOWN EQU 26 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index c7cf9dccb..3c6b77206 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -1,3 +1,30 @@ +; base data struct members (see data/base_stats/*.asm) +BASE_DEX_NO EQUS "(BaseDexNo - CurBaseData)" +BASE_STATS EQUS "(BaseStats - CurBaseData)" +BASE_HP EQUS "(BaseHP - CurBaseData)" +BASE_ATK EQUS "(BaseAttack - CurBaseData)" +BASE_SPD EQUS "(BaseSpeed - CurBaseData)" +BASE_SAT EQUS "(BaseSpecialAttack - CurBaseData)" +BASE_SDF EQUS "(BaseSpecialDefense - CurBaseData)" +BASE_TYPES EQUS "(BaseType - CurBaseData)" +BASE_TYPE_1 EQUS "(BaseType1 - CurBaseData)" +BASE_TYPE_2 EQUS "(BaseType2 - CurBaseData)" +BASE_CATCH_RATE EQUS "(BaseCatchRate - CurBaseData)" +BASE_EXP EQUS "(BaseExp - CurBaseData)" +BASE_ITEMS EQUS "(BaseItems - CurBaseData)" +BASE_ITEM_1 EQUS "(BaseItem1 - CurBaseData)" +BASE_ITEM_2 EQUS "(BaseItem2 - CurBaseData)" +BASE_GENDER EQUS "(BaseGender - CurBaseData)" +BASE_UNKNOWN_1 EQUS "(BaseUnknown1 - CurBaseData)" +BASE_EGG_STEPS EQUS "(BaseEggSteps - CurBaseData)" +BASE_UNKNOWN_2 EQUS "(BaseUnknown2 - CurBaseData)" +BASE_PIC_SIZE EQUS "(BasePicSize - CurBaseData)" +BASE_PADDING EQUS "(BasePadding - CurBaseData)" +BASE_GROWTH_RATE EQUS "(BaseGrowthRate - CurBaseData)" +BASE_EGG_GROUPS EQUS "(BaseEggGroups - CurBaseData)" +BASE_TMHM EQUS "(BaseTMHM - CurBaseData)" +BASE_DATA_SIZE EQUS "(CurBaseDataEnd - CurBaseData)" + ; BaseGrowthRate values ; GrowthRates indexes (see main.asm) const_def @@ -27,8 +54,48 @@ const_value SET 1 const NO_EGGS ; f -; IconPointers indexes (see menu/mon_icons.asm) -const_value SET 1 +; party_struct members (see macros/wram.asm) +MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)" +MON_ITEM EQUS "(PartyMon1Item - PartyMon1)" +MON_MOVES EQUS "(PartyMon1Moves - PartyMon1)" +MON_ID EQUS "(PartyMon1ID - PartyMon1)" +MON_EXP EQUS "(PartyMon1Exp - PartyMon1)" +MON_STAT_EXP EQUS "(PartyMon1StatExp - PartyMon1)" +MON_HP_EXP EQUS "(PartyMon1HPExp - PartyMon1)" +MON_ATK_EXP EQUS "(PartyMon1AtkExp - PartyMon1)" +MON_DEF_EXP EQUS "(PartyMon1DefExp - PartyMon1)" +MON_SPD_EXP EQUS "(PartyMon1SpdExp - PartyMon1)" +MON_SPC_EXP EQUS "(PartyMon1SpcExp - PartyMon1)" +MON_DVS EQUS "(PartyMon1DVs - PartyMon1)" +MON_PP EQUS "(PartyMon1PP - PartyMon1)" +MON_HAPPINESS EQUS "(PartyMon1Happiness - PartyMon1)" +MON_PKRUS EQUS "(PartyMon1PokerusStatus - PartyMon1)" +MON_CAUGHTDATA EQUS "(PartyMon1CaughtData - PartyMon1)" +MON_CAUGHTLEVEL EQUS "(PartyMon1CaughtLevel - PartyMon1)" +MON_CAUGHTTIME EQUS "(PartyMon1CaughtTime - PartyMon1)" +MON_CAUGHTGENDER EQUS "(PartyMon1CaughtGender - PartyMon1)" +MON_CAUGHTLOCATION EQUS "(PartyMon1CaughtLocation - PartyMon1)" +MON_LEVEL EQUS "(PartyMon1Level - PartyMon1)" +MON_STATUS EQUS "(PartyMon1Status - PartyMon1)" +MON_HP EQUS "(PartyMon1HP - PartyMon1)" +MON_MAXHP EQUS "(PartyMon1MaxHP - PartyMon1)" +MON_ATK EQUS "(PartyMon1Attack - PartyMon1)" +MON_DEF EQUS "(PartyMon1Defense - PartyMon1)" +MON_SPD EQUS "(PartyMon1Speed - PartyMon1)" +MON_SAT EQUS "(PartyMon1SpclAtk - PartyMon1)" +MON_SDF EQUS "(PartyMon1SpclDef - PartyMon1)" +BOXMON_STRUCT_LENGTH EQUS "(PartyMon1End - PartyMon1)" +PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)" +REDMON_STRUCT_LENGTH EQU 44 + + +; maximum number of party pokemon +PARTY_LENGTH EQU 6 + + +; IconPointers indexes (see gfx/icon_pointers.asm) + const_def + const ICON_NULL const ICON_POLIWAG const ICON_JIGGLYPUFF const ICON_DIGLETT @@ -94,7 +161,11 @@ const_value SET 1 BASE_HAPPINESS EQU 70 FRIEND_BALL_HAPPINESS EQU 200 HAPPINESS_TO_EVOLVE EQU 220 +HAPPINESS_THRESHOLD_1 EQU 100 +HAPPINESS_THRESHOLD_2 EQU 200 + +; wild data NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size @@ -110,3 +181,36 @@ SWARM_YANMA EQU 1 FISHSWARM_QWILFISH EQU 1 FISHSWARM_REMORAID EQU 2 + + +; MonMenuOptions indexes (see engine/mon_menu.asm) +const_value SET 1 +; moves + const MONMENU_CUT ; 1 + const MONMENU_FLY ; 2 + const MONMENU_SURF ; 3 + const MONMENU_STRENGTH ; 4 + const MONMENU_WATERFALL ; 5 + const MONMENU_FLASH ; 6 + const MONMENU_WHIRLPOOL ; 7 + const MONMENU_DIG ; 8 + const MONMENU_TELEPORT ; 9 + const MONMENU_SOFTBOILED ; 10 + const MONMENU_HEADBUTT ; 11 + const MONMENU_ROCKSMASH ; 12 + const MONMENU_MILKDRINK ; 13 + const MONMENU_SWEETSCENT ; 14 +; options + const MONMENU_STATS ; 15 + const MONMENU_SWITCH ; 16 + const MONMENU_ITEM ; 17 + const MONMENU_CANCEL ; 18 + const MONMENU_MOVE ; 19 + const MONMENU_MAIL ; 20 + const MONMENU_ERROR ; 21 + +; MonMenuOptions types +MONMENU_FIELD_MOVE EQU 0 +MONMENU_MENUOPTION EQU 1 + +NUM_MONMENU_ITEMS EQU 8 diff --git a/constants/serial_constants.asm b/constants/serial_constants.asm new file mode 100644 index 000000000..e7b4c4b2c --- /dev/null +++ b/constants/serial_constants.asm @@ -0,0 +1,12 @@ +; link types + const_def + const LINK_NULL ; 0 + const LINK_TIMECAPSULE ; 1 + const LINK_TRADECENTER ; 2 + const LINK_COLOSSEUM ; 3 + const LINK_MOBILE ; 4 + + +SERIAL_TIMECAPSULE EQU $60 +SERIAL_TRADECENTER EQU $70 +SERIAL_BATTLE EQU $80 diff --git a/constants/sfx_constants.asm b/constants/sfx_constants.asm index f54235049..0dee70793 100644 --- a/constants/sfx_constants.asm +++ b/constants/sfx_constants.asm @@ -150,8 +150,8 @@ const SFX_FANFARE_2 ; 92 const SFX_REGISTER_PHONE_NUMBER ; 93 const SFX_3RD_PLACE ; 94 - const SFX_GET_EGG_FROM_DAYCARE_MAN ; 95 - const SFX_GET_EGG_FROM_DAYCARE_LADY ; 96 + const SFX_GET_EGG_FROM_DAY_CARE_MAN ; 95 + const SFX_GET_EGG_FROM_DAY_CARE_LADY ; 96 const SFX_MOVE_DELETED ; 97 const SFX_2ND_PLACE ; 98 const SFX_1ST_PLACE ; 99 diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index 8dc63402a..cf8d50a91 100644 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -1,5 +1,5 @@ ; sprite ids -; SpriteHeaders indexes (see gfx/overworld/sprite_headers.asm) +; SpriteHeaders indexes (see gfx/sprite_headers.asm) const_def const SPRITE_NONE ; 00 const SPRITE_CHRIS ; 01 @@ -105,7 +105,7 @@ const SPRITE_RAIKOU ; 65 const SPRITE_STANDING_YOUNGSTER ; 66 -; SpriteMons indexes (see engine/overworld.asm) +; SpriteMons indexes (see data/sprite_mons.asm) const_value SET $80 SPRITE_POKEMON EQU const_value const SPRITE_UNOWN ; 80 @@ -146,8 +146,8 @@ SPRITE_POKEMON EQU const_value ; special GetMonSprite values (see engine/overworld.asm) const_value SET $e0 - const SPRITE_DAYCARE_MON_1 ; e0 - const SPRITE_DAYCARE_MON_2 ; e1 + const SPRITE_DAY_CARE_MON_1 ; e0 + const SPRITE_DAY_CARE_MON_2 ; e1 ; VariableSprites indexes (see wram.asm) const_value SET $f0 @@ -166,7 +166,7 @@ SPRITE_VARS EQU const_value const SPRITE_COPYCAT ; fb const SPRITE_JANINE_IMPERSONATOR ; fc -; sprite_header struct members (see gfx/overworld/sprite_headers.asm) +; sprite_header struct members (see gfx/sprite_headers.asm) const_def const SPRITEHEADER_ADDR_LO const SPRITEHEADER_ADDR_HI @@ -193,6 +193,17 @@ const_value SET 1 const PAL_OW_TREE ; 6 const PAL_OW_ROCK ; 7 +; person_events set bit 3 so as not to use the sprite's default palette +const_value set (1 << 3) + const PAL_NPC_RED ; 8 + const PAL_NPC_BLUE ; 9 + const PAL_NPC_GREEN ; a + const PAL_NPC_BROWN ; b + const PAL_NPC_PINK ; c + const PAL_NPC_SILVER ; d + const PAL_NPC_TREE ; e + const PAL_NPC_ROCK ; f + ; SpriteMovementData indexes (see data/map_objects.asm) const_def const SPRITEMOVEDATA_00 ; 00 @@ -315,7 +326,7 @@ SPRITEMOVEDATA_FIELDS EQU 6 const PERSON_ACTION_GRASS_SHAKE const PERSON_ACTION_SKYFALL -; Facings indexes (see engine/facings.asm) +; Facings indexes (see data/facings.asm) const_def const FACING_STEP_DOWN_0 const FACING_STEP_DOWN_1 @@ -369,7 +380,7 @@ SPRITEMOVEDATA_FIELDS EQU 6 const SPRITEANIMSTRUCT_0E ; e const SPRITEANIMSTRUCT_0F ; f -; SpriteAnimFrameData indexes (see data/sprite_engine.asm) +; SpriteAnimFrameData indexes (see data/sprite_anim_frames.asm) const_def const SPRITE_ANIM_FRAMESET_00 const SPRITE_ANIM_FRAMESET_PARTY_MON @@ -476,7 +487,7 @@ SPRITEMOVEDATA_FIELDS EQU 6 const SPRITE_ANIM_SEQ_INTRO_UNOWN_F const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY -; SpriteAnimSeqData indexes (see engine/sprites.asm) +; SpriteAnimSeqData indexes (see data/sprite_anim_seqs.asm) const_def const SPRITE_ANIM_INDEX_PARTY_MON const SPRITE_ANIM_INDEX_01 @@ -524,7 +535,7 @@ SPRITEMOVEDATA_FIELDS EQU 6 const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY const SPRITE_ANIM_INDEX_CELEBI -; SpriteAnimOAMData indexes (see data/sprite_engine.asm) +; SpriteAnimOAMData indexes (see data/sprite_anim_oam.asm) const_def const SPRITE_ANIM_FRAME_IDX_00 const SPRITE_ANIM_FRAME_IDX_01 diff --git a/constants/tilemap_constants.asm b/constants/tileset_constants.asm index 702dc92bf..d06e22cc6 100644 --- a/constants/tilemap_constants.asm +++ b/constants/tileset_constants.asm @@ -11,7 +11,7 @@ const_value SET 1 const TILESET_KANTO ; 03 const TILESET_BATTLE_TOWER_OUTSIDE ; 04 const TILESET_HOUSE_1 ; 05 - const TILESET_KRISS_HOUSE ; 06 + const TILESET_PLAYERS_HOUSE ; 06 const TILESET_POKECENTER ; 07 const TILESET_GATE ; 08 const TILESET_PORT ; 09 @@ -21,11 +21,11 @@ const_value SET 1 const TILESET_CELADON_MANSION ; 0d const TILESET_GAME_CORNER ; 0e const TILESET_GYM_1 ; 0f - const TILESET_KURT_HOUSE ; 10 + const TILESET_KURTS_HOUSE ; 10 const TILESET_TRAIN_STATION ; 11 const TILESET_OLIVINE_GYM ; 12 const TILESET_LIGHTHOUSE ; 13 - const TILESET_KRISS_HOUSE_2F ; 14 + const TILESET_PLAYERS_HOUSE_2F ; 14 const TILESET_POKECOM_CENTER ; 15 const TILESET_BATTLE_TOWER ; 16 const TILESET_SPROUT_TOWER ; 17 @@ -37,7 +37,7 @@ const_value SET 1 const TILESET_ICE_PATH ; 1d const TILESET_WHIRL_ISLANDS ; 1e const TILESET_ILEX_FOREST ; 1f - const TILESET_32 ; 20 + const TILESET_BETA_WORD_ROOM ; 20 const TILESET_HO_OH_WORD_ROOM ; 21 const TILESET_KABUTO_WORD_ROOM ; 22 const TILESET_OMANYTE_WORD_ROOM ; 23 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 42b499abb..49a0df454 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -2,8 +2,8 @@ ; `trainerclass` indexes are for: ; - TrainerClassAttributes (see trainers/attributes.asm) ; - TrainerClassDVs (see trainers/dvs.asm) +; - TrainerEncounterMusic (see trainers/encounter_music.asm) ; - TrainerGroups (see trainers/trainer_pointers.asm) -; - TrainerEncounterMusic (see audio/trainer_encounters.asm) ; - BTTrainerClassGenders (see misc/battle_tower_47.asm) ; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see trainers/trainers.asm) enum_start diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 5bb1013ac..23692fdef 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -7,27 +7,38 @@ const WILDMON ; 4 ; Options: (bits) ; cfcc -const_value SET 5 - const STEREO ; 5 - const BATTLE_SHIFT ; 6 - const BATTLE_SCENE ; 7 - -; Options: (bits 0-2 values) ; cfcc -FAST_TEXT EQU 0 -MED_TEXT EQU 1 -SLOW_TEXT EQU 2 -NO_TEXT_SCROLL EQU 4 +const_value SET 4 + const NO_TEXT_SCROLL ; 4 + const STEREO ; 5 + const BATTLE_SHIFT ; 6 + const BATTLE_SCENE ; 7 + +; Options: (bits 0-2) +TEXT_DELAY_FAST EQU 1 +TEXT_DELAY_MED EQU 3 +TEXT_DELAY_SLOW EQU 5 + +; TextBoxFrame: ; cfce + const_def + const FRAME_1 ; 0 + const FRAME_2 ; 1 + const FRAME_3 ; 2 + const FRAME_4 ; 3 + const FRAME_5 ; 4 + const FRAME_6 ; 5 + const FRAME_7 ; 6 + const FRAME_8 ; 7 ; Options2: const_def const MENU_ACCOUNT ; 0 ; GBPrinter: -PRINT_LIGHTEST EQU $00 -PRINT_LIGHTER EQU $20 -PRINT_NORMAL EQU $40 -PRINT_DARKER EQU $60 -PRINT_DARKEST EQU $7f +GBPRINTER_LIGHTEST EQU $00 +GBPRINTER_LIGHTER EQU $20 +GBPRINTER_NORMAL EQU $40 +GBPRINTER_DARKER EQU $60 +GBPRINTER_DARKEST EQU $7f ; WalkingDirection: ; d043 const_value SET -1 @@ -37,6 +48,11 @@ const_value SET -1 const LEFT ; 2 const RIGHT ; 3 +DOWN_MASK EQU 1 << DOWN +UP_MASK EQU 1 << UP +LEFT_MASK EQU 1 << LEFT +RIGHT_MASK EQU 1 << RIGHT + ; FacingDirection: ; d044 FACE_CURRENT EQU 0 FACE_DOWN EQU 8 @@ -46,10 +62,15 @@ FACE_RIGHT EQU 1 ; TimeOfDay: ; d269 const_def - const MORN ; 0 - const DAY ; 1 - const NITE ; 2 - const DARKNESS ; 3 + const MORN_F ; 0 + const DAY_F ; 1 + const NITE_F ; 2 + const DARKNESS_F ; 3 + +MORN EQU 1 << MORN_F +DAY EQU 1 << DAY_F +NITE EQU 1 << NITE_F +DARKNESS EQU 1 << DARKNESS_F ; ScriptFlags: ; d434 SCRIPT_RUNNING EQU 2 @@ -95,13 +116,13 @@ NUM_OBJECT_STRUCTS EQU 13 ; After-Champion Spawn SPAWN_LANCE EQU 1 -SPAWN_RED EQU 2 +SPAWN_RED EQU 2 ; wPokemonWithdrawDepositParameter -PC_WITHDRAW EQU 0 -PC_DEPOSIT EQU 1 -DAYCARE_WITHDRAW EQU 2 -DAYCARE_DEPOSIT EQU 3 +PC_WITHDRAW EQU 0 +PC_DEPOSIT EQU 1 +DAY_CARE_WITHDRAW EQU 2 +DAY_CARE_DEPOSIT EQU 3 ; wCurrentDexMode const_def |