summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/battle/stat_mod_names.asm17
-rw-r--r--data/battle/stat_names.asm17
-rw-r--r--data/battle_anims/base_coords.asm2
-rw-r--r--data/battle_anims/frame_blocks.asm2
-rw-r--r--data/battle_anims/subanimations.asm2
-rw-r--r--data/credits/credits_mons.asm1
-rw-r--r--data/credits/credits_text.asm2
-rw-r--r--data/events/trades.asm2
-rw-r--r--data/growth_rates.asm2
-rw-r--r--data/items/key_items.asm2
-rw-r--r--data/items/names.asm197
-rw-r--r--data/items/prices.asm3
-rw-r--r--data/items/tm_prices.asm2
-rw-r--r--data/maps/hide_show_data.asm4
-rw-r--r--data/maps/map_header_banks.asm2
-rw-r--r--data/maps/map_header_pointers.asm4
-rw-r--r--data/maps/names.asm1
-rw-r--r--data/maps/songs.asm2
-rw-r--r--data/maps/sprite_sets.asm26
-rw-r--r--data/maps/town_map_entries.asm2
-rw-r--r--data/moves/animations.asm3
-rw-r--r--data/moves/effects_pointers.asm2
-rw-r--r--data/moves/field_move_names.asm1
-rw-r--r--data/moves/moves.asm8
-rw-r--r--data/moves/names.asm332
-rw-r--r--data/moves/sfx.asm2
-rw-r--r--data/moves/tmhm_moves.asm3
-rw-r--r--data/pokemon/base_stats.asm6
-rw-r--r--data/pokemon/cries.asm2
-rw-r--r--data/pokemon/dex_entries.asm2
-rw-r--r--data/pokemon/dex_order.asm2
-rw-r--r--data/pokemon/evos_moves.asm2
-rw-r--r--data/pokemon/menu_icons.asm2
-rw-r--r--data/pokemon/names.asm2
-rw-r--r--data/pokemon/palettes.asm2
-rw-r--r--data/sgb/sgb_palettes.asm4
-rw-r--r--data/sprites/sprites.asm2
-rw-r--r--data/tilemaps.asm2
-rw-r--r--data/tilesets/tileset_headers.asm2
-rw-r--r--data/tilesets/warp_tile_ids.asm2
-rw-r--r--data/trainers/ai_pointers.asm2
-rw-r--r--data/trainers/move_choices.asm3
-rw-r--r--data/trainers/pic_pointers_money.asm2
-rw-r--r--data/types/names.asm3
-rw-r--r--data/wild/grass_water.asm2
-rw-r--r--data/wild/maps/CeruleanCave1F.asm6
-rw-r--r--data/wild/maps/CeruleanCave2F.asm6
-rw-r--r--data/wild/maps/CeruleanCaveB1F.asm6
-rw-r--r--data/wild/maps/DiglettsCave.asm6
-rw-r--r--data/wild/maps/MtMoon1F.asm6
-rw-r--r--data/wild/maps/MtMoonB1F.asm6
-rw-r--r--data/wild/maps/MtMoonB2F.asm6
-rw-r--r--data/wild/maps/PokemonMansion1F.asm6
-rw-r--r--data/wild/maps/PokemonMansion2F.asm6
-rw-r--r--data/wild/maps/PokemonMansion3F.asm6
-rw-r--r--data/wild/maps/PokemonMansionB1F.asm6
-rw-r--r--data/wild/maps/PokemonTower1F.asm6
-rw-r--r--data/wild/maps/PokemonTower2F.asm6
-rw-r--r--data/wild/maps/PokemonTower3F.asm6
-rw-r--r--data/wild/maps/PokemonTower4F.asm6
-rw-r--r--data/wild/maps/PokemonTower5F.asm6
-rw-r--r--data/wild/maps/PokemonTower6F.asm6
-rw-r--r--data/wild/maps/PokemonTower7F.asm6
-rw-r--r--data/wild/maps/PowerPlant.asm6
-rw-r--r--data/wild/maps/RockTunnel1F.asm6
-rw-r--r--data/wild/maps/RockTunnelB1F.asm6
-rw-r--r--data/wild/maps/Route1.asm6
-rw-r--r--data/wild/maps/Route10.asm6
-rw-r--r--data/wild/maps/Route11.asm6
-rw-r--r--data/wild/maps/Route12.asm6
-rw-r--r--data/wild/maps/Route13.asm6
-rw-r--r--data/wild/maps/Route14.asm6
-rw-r--r--data/wild/maps/Route15.asm6
-rw-r--r--data/wild/maps/Route16.asm6
-rw-r--r--data/wild/maps/Route17.asm6
-rw-r--r--data/wild/maps/Route18.asm6
-rw-r--r--data/wild/maps/Route19.asm6
-rw-r--r--data/wild/maps/Route2.asm6
-rw-r--r--data/wild/maps/Route21.asm6
-rw-r--r--data/wild/maps/Route22.asm6
-rw-r--r--data/wild/maps/Route23.asm6
-rw-r--r--data/wild/maps/Route24.asm6
-rw-r--r--data/wild/maps/Route25.asm6
-rw-r--r--data/wild/maps/Route3.asm6
-rw-r--r--data/wild/maps/Route4.asm6
-rw-r--r--data/wild/maps/Route5.asm6
-rw-r--r--data/wild/maps/Route6.asm6
-rw-r--r--data/wild/maps/Route7.asm6
-rw-r--r--data/wild/maps/Route8.asm6
-rw-r--r--data/wild/maps/Route9.asm6
-rw-r--r--data/wild/maps/SafariZoneCenter.asm6
-rw-r--r--data/wild/maps/SafariZoneEast.asm6
-rw-r--r--data/wild/maps/SafariZoneNorth.asm6
-rw-r--r--data/wild/maps/SafariZoneWest.asm6
-rw-r--r--data/wild/maps/SeafoamIslands1F.asm6
-rw-r--r--data/wild/maps/SeafoamIslandsB1F.asm6
-rw-r--r--data/wild/maps/SeafoamIslandsB2F.asm6
-rw-r--r--data/wild/maps/SeafoamIslandsB3F.asm6
-rw-r--r--data/wild/maps/SeafoamIslandsB4F.asm6
-rw-r--r--data/wild/maps/VictoryRoad1F.asm6
-rw-r--r--data/wild/maps/VictoryRoad2F.asm6
-rw-r--r--data/wild/maps/VictoryRoad3F.asm6
-rw-r--r--data/wild/maps/ViridianForest.asm6
-rw-r--r--data/wild/maps/nothing.asm6
-rw-r--r--data/yes_no_menu_strings.asm2
105 files changed, 646 insertions, 397 deletions
diff --git a/data/battle/stat_mod_names.asm b/data/battle/stat_mod_names.asm
new file mode 100644
index 00000000..287e87e3
--- /dev/null
+++ b/data/battle/stat_mod_names.asm
@@ -0,0 +1,17 @@
+; Stats that move effects can raise or lower
+; The relevant move effect IDs correspond to the stats
+
+StatModTextStrings:
+ list_start StatModTextStrings
+ li "ATTACK"
+ li "DEFENSE"
+ li "SPEED"
+ li "SPECIAL"
+ assert_list_length SPECIAL_DOWN_SIDE_EFFECT - ATTACK_DOWN_SIDE_EFFECT + 1
+ li "ACCURACY"
+ li "EVADE"
+ assert_list_length NUM_STAT_MODS - 2 ; two bytes are unused
+ assert_list_length EVASION_UP1_EFFECT - ATTACK_UP1_EFFECT + 1
+ assert_list_length EVASION_DOWN1_EFFECT - ATTACK_DOWN1_EFFECT + 1
+ assert_list_length EVASION_UP2_EFFECT - ATTACK_UP2_EFFECT + 1
+ assert_list_length EVASION_DOWN2_EFFECT - ATTACK_DOWN2_EFFECT + 1
diff --git a/data/battle/stat_names.asm b/data/battle/stat_names.asm
index 854780c6..413ab991 100644
--- a/data/battle/stat_names.asm
+++ b/data/battle/stat_names.asm
@@ -1,7 +1,10 @@
-StatsTextStrings:
- db "ATTACK@"
- db "DEFENSE@"
- db "SPEED@"
- db "SPECIAL@"
- db "ACCURACY@"
- db "EVADE@"
+; Stats that vitamins can raise or lower
+
+VitaminStats:
+ list_start VitaminStats
+ li "HEALTH"
+ li "ATTACK"
+ li "DEFENSE"
+ li "SPEED"
+ li "SPECIAL"
+ assert_list_length NUM_STATS
diff --git a/data/battle_anims/base_coords.asm b/data/battle_anims/base_coords.asm
index ad67baff..109a06e8 100644
--- a/data/battle_anims/base_coords.asm
+++ b/data/battle_anims/base_coords.asm
@@ -1,4 +1,5 @@
FrameBlockBaseCoords:
+ table_width 2, FrameBlockBaseCoords
db $10, $68 ; BASECOORD_00
db $10, $70 ; BASECOORD_01
db $10, $78 ; BASECOORD_02
@@ -176,3 +177,4 @@ FrameBlockBaseCoords:
db $18, $4C ; BASECOORD_AE
db $1C, $48 ; BASECOORD_AF
db $48, $28 ; BASECOORD_B0
+ assert_table_length NUM_BASECOORDS
diff --git a/data/battle_anims/frame_blocks.asm b/data/battle_anims/frame_blocks.asm
index 8b9b0919..549c1c3c 100644
--- a/data/battle_anims/frame_blocks.asm
+++ b/data/battle_anims/frame_blocks.asm
@@ -1,4 +1,5 @@
FrameBlockPointers:
+ table_width 2, FrameBlockPointers
dw FrameBlock00
dw FrameBlock01
dw FrameBlock02
@@ -121,6 +122,7 @@ FrameBlockPointers:
dw FrameBlock77
dw FrameBlock78
dw FrameBlock79
+ assert_table_length NUM_FRAMEBLOCKS
FrameBlock01:
db 9 ; #
diff --git a/data/battle_anims/subanimations.asm b/data/battle_anims/subanimations.asm
index bbdc45c0..530192f6 100644
--- a/data/battle_anims/subanimations.asm
+++ b/data/battle_anims/subanimations.asm
@@ -1,4 +1,5 @@
SubanimationPointers:
+ table_width 2, SubanimationPointers
dw Subanimation00
dw Subanimation01
dw Subanimation02
@@ -85,6 +86,7 @@ SubanimationPointers:
dw Subanimation53
dw Subanimation54
dw Subanimation55
+ assert_table_length NUM_SUBANIMS
; format:
; subanim type, count
diff --git a/data/credits/credits_mons.asm b/data/credits/credits_mons.asm
index 4dd69409..4e2711be 100644
--- a/data/credits/credits_mons.asm
+++ b/data/credits/credits_mons.asm
@@ -1,4 +1,5 @@
CreditsMons:
+; one entry per CRED_TEXT_MON or CRED_TEXT_FADE_MON in CreditsOrder
db VENUSAUR
db ARBOK
db RHYHORN
diff --git a/data/credits/credits_text.asm b/data/credits/credits_text.asm
index 766690df..0dcc1d5a 100644
--- a/data/credits/credits_text.asm
+++ b/data/credits/credits_text.asm
@@ -1,5 +1,6 @@
CreditsTextPointers:
; entries correspond to CRED_* constants
+ table_width 2, CreditsTextPointers
dw CreditsText_Version
dw CreditsText_Tajiri
dw CreditsText_Oota
@@ -86,6 +87,7 @@ CreditsTextPointers:
dw CreditsText_Nakamichi
dw CreditsText_Yoshimura
dw CreditsText_Yamazaki
+ assert_table_length NUM_CRED_STRINGS
CreditsText_Version:
db -6, "YELLOW VERSION"
diff --git a/data/events/trades.asm b/data/events/trades.asm
index 44f7ec21..d7afa5ff 100644
--- a/data/events/trades.asm
+++ b/data/events/trades.asm
@@ -1,5 +1,6 @@
TradeMons:
; entries correspond to TRADE_FOR_* constants
+ table_width 3 + NAME_LENGTH, TradeMons
; give mon, get mon, dialog id, nickname
db LICKITUNG, DUGTRIO, TRADE_DIALOGSET_CASUAL, "GURIO@@@@@@"
db CLEFAIRY, MR_MIME, TRADE_DIALOGSET_CASUAL, "MILES@@@@@@"
@@ -11,3 +12,4 @@ TradeMons:
db GOLDUCK, RHYDON, TRADE_DIALOGSET_POLITE, "BUFFY@@@@@@"
db GROWLITHE, DEWGONG, TRADE_DIALOGSET_HAPPY, "CEZANNE@@@@"
db CUBONE, MACHOKE, TRADE_DIALOGSET_HAPPY, "RICKY@@@@@@"
+ assert_table_length NUM_NPC_TRADES
diff --git a/data/growth_rates.asm b/data/growth_rates.asm
index e2cb8c90..cc0955e4 100644
--- a/data/growth_rates.asm
+++ b/data/growth_rates.asm
@@ -11,9 +11,11 @@ ENDM
GrowthRateTable:
; entries correspond to GROWTH_* (see constants/pokemon_data_constants.asm)
+ table_width 4, GrowthRateTable
growth_rate 1, 1, 0, 0, 0 ; Medium Fast
growth_rate 3, 4, 10, 0, 30 ; Slightly Fast
growth_rate 3, 4, 20, 0, 70 ; Slightly Slow
growth_rate 6, 5, -15, 100, 140 ; Medium Slow
growth_rate 4, 5, 0, 0, 0 ; Fast
growth_rate 5, 4, 0, 0, 0 ; Slow
+ assert_table_length NUM_GROWTH_RATES
diff --git a/data/items/key_items.asm b/data/items/key_items.asm
index aca8cf81..13a69ea4 100644
--- a/data/items/key_items.asm
+++ b/data/items/key_items.asm
@@ -17,6 +17,7 @@ ENDC
ENDM
KeyItemBitfield:
+ table_width 1, KeyItemBitfield
key_item_bits \
FALSE, \ ; MASTER_BALL
FALSE, \ ; ULTRA_BALL
@@ -101,3 +102,4 @@ KeyItemBitfield:
FALSE, \ ; MAX_ETHER
FALSE, \ ; ELIXER
FALSE ; MAX_ELIXER
+ assert_table_length (NUM_ITEMS + 7) / 8
diff --git a/data/items/names.asm b/data/items/names.asm
index 0c07fe5d..af51446b 100644
--- a/data/items/names.asm
+++ b/data/items/names.asm
@@ -1,98 +1,101 @@
ItemNames::
- db "MASTER BALL@"
- db "ULTRA BALL@"
- db "GREAT BALL@"
- db "POKé BALL@"
- db "TOWN MAP@"
- db "BICYCLE@"
- db "?????@"
- db "SAFARI BALL@"
- db "POKéDEX@"
- db "MOON STONE@"
- db "ANTIDOTE@"
- db "BURN HEAL@"
- db "ICE HEAL@"
- db "AWAKENING@"
- db "PARLYZ HEAL@"
- db "FULL RESTORE@"
- db "MAX POTION@"
- db "HYPER POTION@"
- db "SUPER POTION@"
- db "POTION@"
- db "BOULDERBADGE@"
- db "CASCADEBADGE@"
- db "THUNDERBADGE@"
- db "RAINBOWBADGE@"
- db "SOULBADGE@"
- db "MARSHBADGE@"
- db "VOLCANOBADGE@"
- db "EARTHBADGE@"
- db "ESCAPE ROPE@"
- db "REPEL@"
- db "OLD AMBER@"
- db "FIRE STONE@"
- db "THUNDERSTONE@"
- db "WATER STONE@"
- db "HP UP@"
- db "PROTEIN@"
- db "IRON@"
- db "CARBOS@"
- db "CALCIUM@"
- db "RARE CANDY@"
- db "DOME FOSSIL@"
- db "HELIX FOSSIL@"
- db "SECRET KEY@"
- db "?????@"
- db "BIKE VOUCHER@"
- db "X ACCURACY@"
- db "LEAF STONE@"
- db "CARD KEY@"
- db "NUGGET@"
- db "PP UP@"
- db "POKé DOLL@"
- db "FULL HEAL@"
- db "REVIVE@"
- db "MAX REVIVE@"
- db "GUARD SPEC.@"
- db "SUPER REPEL@"
- db "MAX REPEL@"
- db "DIRE HIT@"
- db "COIN@"
- db "FRESH WATER@"
- db "SODA POP@"
- db "LEMONADE@"
- db "S.S.TICKET@"
- db "GOLD TEETH@"
- db "X ATTACK@"
- db "X DEFEND@"
- db "X SPEED@"
- db "X SPECIAL@"
- db "COIN CASE@"
- db "OAK's PARCEL@"
- db "ITEMFINDER@"
- db "SILPH SCOPE@"
- db "POKé FLUTE@"
- db "LIFT KEY@"
- db "EXP.ALL@"
- db "OLD ROD@"
- db "GOOD ROD@"
- db "SUPER ROD@"
- db "PP UP@"
- db "ETHER@"
- db "MAX ETHER@"
- db "ELIXER@"
- db "MAX ELIXER@"
- db "B2F@"
- db "B1F@"
- db "1F@"
- db "2F@"
- db "3F@"
- db "4F@"
- db "5F@"
- db "6F@"
- db "7F@"
- db "8F@"
- db "9F@"
- db "10F@"
- db "11F@"
- db "B4F@"
+ list_start ItemNames
+ li "MASTER BALL"
+ li "ULTRA BALL"
+ li "GREAT BALL"
+ li "POKé BALL"
+ li "TOWN MAP"
+ li "BICYCLE"
+ li "?????"
+ li "SAFARI BALL"
+ li "POKéDEX"
+ li "MOON STONE"
+ li "ANTIDOTE"
+ li "BURN HEAL"
+ li "ICE HEAL"
+ li "AWAKENING"
+ li "PARLYZ HEAL"
+ li "FULL RESTORE"
+ li "MAX POTION"
+ li "HYPER POTION"
+ li "SUPER POTION"
+ li "POTION"
+ li "BOULDERBADGE"
+ li "CASCADEBADGE"
+ li "THUNDERBADGE"
+ li "RAINBOWBADGE"
+ li "SOULBADGE"
+ li "MARSHBADGE"
+ li "VOLCANOBADGE"
+ li "EARTHBADGE"
+ li "ESCAPE ROPE"
+ li "REPEL"
+ li "OLD AMBER"
+ li "FIRE STONE"
+ li "THUNDERSTONE"
+ li "WATER STONE"
+ li "HP UP"
+ li "PROTEIN"
+ li "IRON"
+ li "CARBOS"
+ li "CALCIUM"
+ li "RARE CANDY"
+ li "DOME FOSSIL"
+ li "HELIX FOSSIL"
+ li "SECRET KEY"
+ li "?????"
+ li "BIKE VOUCHER"
+ li "X ACCURACY"
+ li "LEAF STONE"
+ li "CARD KEY"
+ li "NUGGET"
+ li "PP UP"
+ li "POKé DOLL"
+ li "FULL HEAL"
+ li "REVIVE"
+ li "MAX REVIVE"
+ li "GUARD SPEC."
+ li "SUPER REPEL"
+ li "MAX REPEL"
+ li "DIRE HIT"
+ li "COIN"
+ li "FRESH WATER"
+ li "SODA POP"
+ li "LEMONADE"
+ li "S.S.TICKET"
+ li "GOLD TEETH"
+ li "X ATTACK"
+ li "X DEFEND"
+ li "X SPEED"
+ li "X SPECIAL"
+ li "COIN CASE"
+ li "OAK's PARCEL"
+ li "ITEMFINDER"
+ li "SILPH SCOPE"
+ li "POKé FLUTE"
+ li "LIFT KEY"
+ li "EXP.ALL"
+ li "OLD ROD"
+ li "GOOD ROD"
+ li "SUPER ROD"
+ li "PP UP"
+ li "ETHER"
+ li "MAX ETHER"
+ li "ELIXER"
+ li "MAX ELIXER"
+ assert_list_length NUM_ITEMS
+ li "B2F"
+ li "B1F"
+ li "1F"
+ li "2F"
+ li "3F"
+ li "4F"
+ li "5F"
+ li "6F"
+ li "7F"
+ li "8F"
+ li "9F"
+ li "10F"
+ li "11F"
+ li "B4F"
+ assert_list_length NUM_ITEMS + NUM_FLOORS
diff --git a/data/items/prices.asm b/data/items/prices.asm
index f3d8f76b..3740df8a 100644
--- a/data/items/prices.asm
+++ b/data/items/prices.asm
@@ -1,4 +1,5 @@
ItemPrices::
+ table_width 3, ItemPrices
money 0 ; MASTER_BALL
money 1200 ; ULTRA_BALL
money 600 ; GREAT_BALL
@@ -82,6 +83,7 @@ ItemPrices::
money 0 ; MAX_ETHER
money 0 ; ELIXER
money 0 ; MAX_ELIXER
+ assert_table_length NUM_ITEMS
money 0 ; FLOOR_B2F
money 0 ; FLOOR_B1F
money 0 ; FLOOR_1F
@@ -96,3 +98,4 @@ ItemPrices::
money 0 ; FLOOR_10F
money 0 ; FLOOR_11F
money 0 ; FLOOR_B4F
+ assert_table_length NUM_ITEMS + NUM_FLOORS
diff --git a/data/items/tm_prices.asm b/data/items/tm_prices.asm
index 7f007e9d..22bcb074 100644
--- a/data/items/tm_prices.asm
+++ b/data/items/tm_prices.asm
@@ -1,5 +1,6 @@
TechnicalMachinePrices:
; In thousands (nybbles).
+ table_width 1, TechnicalMachinePrices
dn 3, 2 ; TM01, TM02
dn 2, 1 ; TM03, TM04
dn 3, 4 ; TM05, TM06
@@ -25,3 +26,4 @@ TechnicalMachinePrices:
dn 2, 4 ; TM45, TM46
dn 3, 4 ; TM47, TM48
dn 4, 2 ; TM49, TM50
+ assert_table_length (NUM_TMS + 1) / 2
diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm
index 39e8cab4..810da263 100644
--- a/data/maps/hide_show_data.asm
+++ b/data/maps/hide_show_data.asm
@@ -2,6 +2,7 @@
MapHSPointers:
; entries correspond to map ids
+ table_width 2, MapHSPointers
dw PalletTownHS
dw ViridianCityHS
dw PewterCityHS
@@ -251,6 +252,7 @@ MapHSPointers:
dw NoHS
dw NoHS
dw NoHS ; beach house
+ assert_table_length NUM_MAPS
dw -1 ; end
NoHS:
@@ -258,6 +260,7 @@ NoHS:
MissableObjects:
; entries correspond to HS_* constants (see constants/hide_show_constants)
+ table_width 3, MissableObjects
; format: map id, object id, HIDE/SHOW
PalletTownHS:
@@ -576,3 +579,4 @@ BluesHouseHSCopy: ; unreferenced
db BLUES_HOUSE, $02, HIDE
db BLUES_HOUSE, $03, SHOW
db $FF, $01, SHOW ; end
+ assert_table_length NUM_HS_OBJECTS + 1
diff --git a/data/maps/map_header_banks.asm b/data/maps/map_header_banks.asm
index f9a107e3..454e3260 100644
--- a/data/maps/map_header_banks.asm
+++ b/data/maps/map_header_banks.asm
@@ -1,5 +1,6 @@
; see also MapHeaderPointers
MapHeaderBanks::
+ table_width 1, MapHeaderBanks
db BANK(PalletTown_h)
db BANK(ViridianCity_h)
db BANK(PewterCity_h)
@@ -249,3 +250,4 @@ MapHeaderBanks::
db BANK(BrunosRoom_h)
db BANK(AgathasRoom_h)
db BANK(SummerBeachHouse_h)
+ assert_table_length NUM_MAPS
diff --git a/data/maps/map_header_pointers.asm b/data/maps/map_header_pointers.asm
index cf02e5cc..0f37b129 100644
--- a/data/maps/map_header_pointers.asm
+++ b/data/maps/map_header_pointers.asm
@@ -1,5 +1,6 @@
; see also MapHeaderBanks
MapHeaderPointers::
+ table_width 2, MapHeaderPointers
dw PalletTown_h
dw ViridianCity_h
dw PewterCity_h
@@ -247,5 +248,6 @@ MapHeaderPointers::
dw SilphCo2F_h ; UNUSED_MAP_F4
dw LoreleisRoom_h
dw BrunosRoom_h
- dw AgathasRoom_h ;247
+ dw AgathasRoom_h
dw SummerBeachHouse_h
+ assert_table_length NUM_MAPS
diff --git a/data/maps/names.asm b/data/maps/names.asm
index 6bdb66d5..805c57c9 100644
--- a/data/maps/names.asm
+++ b/data/maps/names.asm
@@ -1,4 +1,3 @@
-MapNames:
PalletTownName: db "PALLET TOWN@"
ViridianCityName: db "VIRIDIAN CITY@"
PewterCityName: db "PEWTER CITY@"
diff --git a/data/maps/songs.asm b/data/maps/songs.asm
index 4305fc2f..7378804e 100644
--- a/data/maps/songs.asm
+++ b/data/maps/songs.asm
@@ -1,4 +1,5 @@
MapSongBanks::
+ table_width 2, MapSongBanks
db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; PALLET_TOWN
db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_CITY
db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_CITY
@@ -248,3 +249,4 @@ MapSongBanks::
db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; BRUNOS_ROOM
db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; AGATHAS_ROOM
db MUSIC_ROUTES3, BANK(Music_Routes3) ; SUMMER_BEACH_HOUSE
+ assert_table_length NUM_MAPS
diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm
index cce86d1a..b42e9245 100644
--- a/data/maps/sprite_sets.asm
+++ b/data/maps/sprite_sets.asm
@@ -1,4 +1,5 @@
MapSpriteSets:
+ table_width 1, MapSpriteSets
db $01 ; PALLET_TOWN
db $01 ; VIRIDIAN_CITY
db $02 ; PEWTER_CITY
@@ -36,6 +37,7 @@ MapSpriteSets:
db $06 ; ROUTE_23
db $02 ; ROUTE_24
db $02 ; ROUTE_25
+ assert_table_length FIRST_INDOOR_MAP
EAST_WEST EQU 1
NORTH_SOUTH EQU 2
@@ -60,7 +62,12 @@ SplitMapSpriteSets:
db EAST_WEST, 3, $07, $03 ; $fc
SpriteSets:
+
+; each sprite set has 9 walking sprites and 2 still sprites
+SPRITE_SET_LENGTH EQU 9 + 2
+
; sprite set $01
+ table_width 1
db SPRITE_PIKACHU
db SPRITE_BLUE
db SPRITE_YOUNGSTER
@@ -72,8 +79,10 @@ SpriteSets:
db SPRITE_SWIMMER
db SPRITE_POKE_BALL
db SPRITE_GAMBLER_ASLEEP
+ assert_table_length SPRITE_SET_LENGTH
; sprite set $02
+ table_width 1
db SPRITE_PIKACHU
db SPRITE_YOUNGSTER
db SPRITE_ROCKET
@@ -85,8 +94,10 @@ SpriteSets:
db SPRITE_COOLTRAINER_M
db SPRITE_POKE_BALL
db SPRITE_UNUSED_GAMBLER_ASLEEP_2
+ assert_table_length SPRITE_SET_LENGTH
; sprite set $03
+ table_width 1
db SPRITE_PIKACHU
db SPRITE_LITTLE_GIRL
db SPRITE_GIRL
@@ -98,8 +109,10 @@ SpriteSets:
db SPRITE_COOLTRAINER_M
db SPRITE_POKE_BALL
db SPRITE_UNUSED_GAMBLER_ASLEEP_2
+ assert_table_length SPRITE_SET_LENGTH
; sprite set $04
+ table_width 1
db SPRITE_PIKACHU
db SPRITE_OFFICER_JENNY
db SPRITE_SUPER_NERD
@@ -111,8 +124,10 @@ SpriteSets:
db SPRITE_COOLTRAINER_M
db SPRITE_POKE_BALL
db SPRITE_UNUSED_GAMBLER_ASLEEP_2
+ assert_table_length SPRITE_SET_LENGTH
; sprite set $05
+ table_width 1
db SPRITE_PIKACHU
db SPRITE_LITTLE_GIRL
db SPRITE_LITTLE_BOY
@@ -124,8 +139,10 @@ SpriteSets:
db SPRITE_ROCKET
db SPRITE_POKE_BALL
db SPRITE_SNORLAX
+ assert_table_length SPRITE_SET_LENGTH
; sprite set $06
+ table_width 1
db SPRITE_PIKACHU
db SPRITE_GYM_GUIDE
db SPRITE_MONSTER
@@ -137,8 +154,10 @@ SpriteSets:
db SPRITE_GAMBLER
db SPRITE_POKE_BALL
db SPRITE_UNUSED_GAMBLER_ASLEEP_2
+ assert_table_length SPRITE_SET_LENGTH
; sprite set $07
+ table_width 1
db SPRITE_PIKACHU
db SPRITE_ROCKET
db SPRITE_SCIENTIST
@@ -150,8 +169,10 @@ SpriteSets:
db SPRITE_COOLTRAINER_M
db SPRITE_POKE_BALL
db SPRITE_UNUSED_GAMBLER_ASLEEP_2
+ assert_table_length SPRITE_SET_LENGTH
; sprite set $08
+ table_width 1
db SPRITE_PIKACHU
db SPRITE_BIKER
db SPRITE_SUPER_NERD
@@ -163,8 +184,10 @@ SpriteSets:
db SPRITE_ROCKER
db SPRITE_POKE_BALL
db SPRITE_SNORLAX
+ assert_table_length SPRITE_SET_LENGTH
; sprite set $09
+ table_width 1
db SPRITE_PIKACHU
db SPRITE_BIKER
db SPRITE_COOLTRAINER_M
@@ -176,8 +199,10 @@ SpriteSets:
db SPRITE_MIDDLE_AGED_MAN
db SPRITE_POKE_BALL
db SPRITE_SNORLAX
+ assert_table_length SPRITE_SET_LENGTH
; sprite set $0a
+ table_width 1
db SPRITE_PIKACHU
db SPRITE_COOLTRAINER_M
db SPRITE_CHANSEY
@@ -189,3 +214,4 @@ SpriteSets:
db SPRITE_YOUNGSTER
db SPRITE_POKE_BALL
db SPRITE_FOSSIL
+ assert_table_length SPRITE_SET_LENGTH
diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm
index 8ad4bc28..954a3ee9 100644
--- a/data/maps/town_map_entries.asm
+++ b/data/maps/town_map_entries.asm
@@ -5,6 +5,7 @@ ENDM
; the appearance of towns and routes in the town map
ExternalMapEntries:
+ table_width 3, ExternalMapEntries
; x, y, name
external_map 2, 11, PalletTownName
external_map 2, 8, ViridianCityName
@@ -43,6 +44,7 @@ ExternalMapEntries:
external_map 0, 6, Route23Name
external_map 10, 1, Route24Name
external_map 11, 0, Route25Name
+ assert_table_length FIRST_INDOOR_MAP
internal_map: MACRO
diff --git a/data/moves/animations.asm b/data/moves/animations.asm
index 34191472..15f1ad52 100644
--- a/data/moves/animations.asm
+++ b/data/moves/animations.asm
@@ -1,4 +1,5 @@
AttackAnimationPointers:
+ table_width 2, AttackAnimationPointers
dw PoundAnim
dw KarateChopAnim
dw DoubleSlapAnim
@@ -164,6 +165,7 @@ AttackAnimationPointers:
dw SlashAnim
dw SubstituteAnim
dw StruggleAnim
+ assert_table_length NUM_ATTACKS
dw ShowPicAnim
dw EnemyFlashAnim
dw PlayerFlashAnim
@@ -201,6 +203,7 @@ AttackAnimationPointers:
dw HidePicAnim
dw ThrowRockAnim
dw ThrowBaitAnim
+ assert_table_length NUM_ATTACK_ANIMS
; each animation is a list of subanimations
; and/or special effects, terminated by -1
diff --git a/data/moves/effects_pointers.asm b/data/moves/effects_pointers.asm
index a5e3d852..c33a5fd6 100644
--- a/data/moves/effects_pointers.asm
+++ b/data/moves/effects_pointers.asm
@@ -1,5 +1,6 @@
MoveEffectPointerTable:
; entries correspond to *_EFFECT constants
+ table_width 2, MoveEffectPointerTable
dw SleepEffect ; EFFECT_01
dw PoisonEffect ; POISON_SIDE_EFFECT1
dw DrainHPEffect ; DRAIN_HP_EFFECT
@@ -86,3 +87,4 @@ MoveEffectPointerTable:
dw LeechSeedEffect ; LEECH_SEED_EFFECT
dw SplashEffect ; SPLASH_EFFECT
dw DisableEffect ; DISABLE_EFFECT
+ assert_table_length NUM_MOVE_EFFECTS
diff --git a/data/moves/field_move_names.asm b/data/moves/field_move_names.asm
index b68ed828..f8966733 100644
--- a/data/moves/field_move_names.asm
+++ b/data/moves/field_move_names.asm
@@ -1,3 +1,4 @@
+; see also FieldMoveDisplayData
FieldMoveNames:
db "CUT@"
db "FLY@"
diff --git a/data/moves/moves.asm b/data/moves/moves.asm
index 85b6dcfc..0e52e01c 100644
--- a/data/moves/moves.asm
+++ b/data/moves/moves.asm
@@ -1,6 +1,3 @@
-Moves:
-; Characteristics of each move.
-
move: MACRO
db \1 ; animation (interchangeable with move id)
db \2 ; effect
@@ -10,8 +7,10 @@ move: MACRO
db \6 ; pp
ENDM
+Moves:
+; Characteristics of each move.
+ table_width MOVE_LENGTH, Moves
move POUND, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35
-MoveEnd:
move KARATE_CHOP, NO_ADDITIONAL_EFFECT, 50, NORMAL, 100, 25
move DOUBLESLAP, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 10
move COMET_PUNCH, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 85, 15
@@ -176,3 +175,4 @@ MoveEnd:
move SLASH, NO_ADDITIONAL_EFFECT, 70, NORMAL, 100, 20
move SUBSTITUTE, SUBSTITUTE_EFFECT, 0, NORMAL, 100, 10
move STRUGGLE, RECOIL_EFFECT, 50, NORMAL, 100, 10
+ assert_table_length NUM_ATTACKS
diff --git a/data/moves/names.asm b/data/moves/names.asm
index cbb1a322..e9591619 100644
--- a/data/moves/names.asm
+++ b/data/moves/names.asm
@@ -1,166 +1,168 @@
MoveNames::
- db "POUND@"
- db "KARATE CHOP@"
- db "DOUBLESLAP@"
- db "COMET PUNCH@"
- db "MEGA PUNCH@"
- db "PAY DAY@"
- db "FIRE PUNCH@"
- db "ICE PUNCH@"
- db "THUNDERPUNCH@"
- db "SCRATCH@"
- db "VICEGRIP@"
- db "GUILLOTINE@"
- db "RAZOR WIND@"
- db "SWORDS DANCE@"
- db "CUT@"
- db "GUST@"
- db "WING ATTACK@"
- db "WHIRLWIND@"
- db "FLY@"
- db "BIND@"
- db "SLAM@"
- db "VINE WHIP@"
- db "STOMP@"
- db "DOUBLE KICK@"
- db "MEGA KICK@"
- db "JUMP KICK@"
- db "ROLLING KICK@"
- db "SAND-ATTACK@"
- db "HEADBUTT@"
- db "HORN ATTACK@"
- db "FURY ATTACK@"
- db "HORN DRILL@"
- db "TACKLE@"
- db "BODY SLAM@"
- db "WRAP@"
- db "TAKE DOWN@"
- db "THRASH@"
- db "DOUBLE-EDGE@"
- db "TAIL WHIP@"
- db "POISON STING@"
- db "TWINEEDLE@"
- db "PIN MISSILE@"
- db "LEER@"
- db "BITE@"
- db "GROWL@"
- db "ROAR@"
- db "SING@"
- db "SUPERSONIC@"
- db "SONICBOOM@"
- db "DISABLE@"
- db "ACID@"
- db "EMBER@"
- db "FLAMETHROWER@"
- db "MIST@"
- db "WATER GUN@"
- db "HYDRO PUMP@"
- db "SURF@"
- db "ICE BEAM@"
- db "BLIZZARD@"
- db "PSYBEAM@"
- db "BUBBLEBEAM@"
- db "AURORA BEAM@"
- db "HYPER BEAM@"
- db "PECK@"
- db "DRILL PECK@"
- db "SUBMISSION@"
- db "LOW KICK@"
- db "COUNTER@"
- db "SEISMIC TOSS@"
- db "STRENGTH@"
- db "ABSORB@"
- db "MEGA DRAIN@"
- db "LEECH SEED@"
- db "GROWTH@"
- db "RAZOR LEAF@"
- db "SOLARBEAM@"
- db "POISONPOWDER@"
- db "STUN SPORE@"
- db "SLEEP POWDER@"
- db "PETAL DANCE@"
- db "STRING SHOT@"
- db "DRAGON RAGE@"
- db "FIRE SPIN@"
- db "THUNDERSHOCK@"
- db "THUNDERBOLT@"
- db "THUNDER WAVE@"
- db "THUNDER@"
- db "ROCK THROW@"
- db "EARTHQUAKE@"
- db "FISSURE@"
- db "DIG@"
- db "TOXIC@"
- db "CONFUSION@"
- db "PSYCHIC@"
- db "HYPNOSIS@"
- db "MEDITATE@"
- db "AGILITY@"
- db "QUICK ATTACK@"
- db "RAGE@"
- db "TELEPORT@"
- db "NIGHT SHADE@"
- db "MIMIC@"
- db "SCREECH@"
- db "DOUBLE TEAM@"
- db "RECOVER@"
- db "HARDEN@"
- db "MINIMIZE@"
- db "SMOKESCREEN@"
- db "CONFUSE RAY@"
- db "WITHDRAW@"
- db "DEFENSE CURL@"
- db "BARRIER@"
- db "LIGHT SCREEN@"
- db "HAZE@"
- db "REFLECT@"
- db "FOCUS ENERGY@"
- db "BIDE@"
- db "METRONOME@"
- db "MIRROR MOVE@"
- db "SELFDESTRUCT@"
- db "EGG BOMB@"
- db "LICK@"
- db "SMOG@"
- db "SLUDGE@"
- db "BONE CLUB@"
- db "FIRE BLAST@"
- db "WATERFALL@"
- db "CLAMP@"
- db "SWIFT@"
- db "SKULL BASH@"
- db "SPIKE CANNON@"
- db "CONSTRICT@"
- db "AMNESIA@"
- db "KINESIS@"
- db "SOFTBOILED@"
- db "HI JUMP KICK@"
- db "GLARE@"
- db "DREAM EATER@"
- db "POISON GAS@"
- db "BARRAGE@"
- db "LEECH LIFE@"
- db "LOVELY KISS@"
- db "SKY ATTACK@"
- db "TRANSFORM@"
- db "BUBBLE@"
- db "DIZZY PUNCH@"
- db "SPORE@"
- db "FLASH@"
- db "PSYWAVE@"
- db "SPLASH@"
- db "ACID ARMOR@"
- db "CRABHAMMER@"
- db "EXPLOSION@"
- db "FURY SWIPES@"
- db "BONEMERANG@"
- db "REST@"
- db "ROCK SLIDE@"
- db "HYPER FANG@"
- db "SHARPEN@"
- db "CONVERSION@"
- db "TRI ATTACK@"
- db "SUPER FANG@"
- db "SLASH@"
- db "SUBSTITUTE@"
- db "STRUGGLE@"
+ list_start MoveNames
+ li "POUND"
+ li "KARATE CHOP"
+ li "DOUBLESLAP"
+ li "COMET PUNCH"
+ li "MEGA PUNCH"
+ li "PAY DAY"
+ li "FIRE PUNCH"
+ li "ICE PUNCH"
+ li "THUNDERPUNCH"
+ li "SCRATCH"
+ li "VICEGRIP"
+ li "GUILLOTINE"
+ li "RAZOR WIND"
+ li "SWORDS DANCE"
+ li "CUT"
+ li "GUST"
+ li "WING ATTACK"
+ li "WHIRLWIND"
+ li "FLY"
+ li "BIND"
+ li "SLAM"
+ li "VINE WHIP"
+ li "STOMP"
+ li "DOUBLE KICK"
+ li "MEGA KICK"
+ li "JUMP KICK"
+ li "ROLLING KICK"
+ li "SAND-ATTACK"
+ li "HEADBUTT"
+ li "HORN ATTACK"
+ li "FURY ATTACK"
+ li "HORN DRILL"
+ li "TACKLE"
+ li "BODY SLAM"
+ li "WRAP"
+ li "TAKE DOWN"
+ li "THRASH"
+ li "DOUBLE-EDGE"
+ li "TAIL WHIP"
+ li "POISON STING"
+ li "TWINEEDLE"
+ li "PIN MISSILE"
+ li "LEER"
+ li "BITE"
+ li "GROWL"
+ li "ROAR"
+ li "SING"
+ li "SUPERSONIC"
+ li "SONICBOOM"
+ li "DISABLE"
+ li "ACID"
+ li "EMBER"
+ li "FLAMETHROWER"
+ li "MIST"
+ li "WATER GUN"
+ li "HYDRO PUMP"
+ li "SURF"
+ li "ICE BEAM"
+ li "BLIZZARD"
+ li "PSYBEAM"
+ li "BUBBLEBEAM"
+ li "AURORA BEAM"
+ li "HYPER BEAM"
+ li "PECK"
+ li "DRILL PECK"
+ li "SUBMISSION"
+ li "LOW KICK"
+ li "COUNTER"
+ li "SEISMIC TOSS"
+ li "STRENGTH"
+ li "ABSORB"
+ li "MEGA DRAIN"
+ li "LEECH SEED"
+ li "GROWTH"
+ li "RAZOR LEAF"
+ li "SOLARBEAM"
+ li "POISONPOWDER"
+ li "STUN SPORE"
+ li "SLEEP POWDER"
+ li "PETAL DANCE"
+ li "STRING SHOT"
+ li "DRAGON RAGE"
+ li "FIRE SPIN"
+ li "THUNDERSHOCK"
+ li "THUNDERBOLT"
+ li "THUNDER WAVE"
+ li "THUNDER"
+ li "ROCK THROW"
+ li "EARTHQUAKE"
+ li "FISSURE"
+ li "DIG"
+ li "TOXIC"
+ li "CONFUSION"
+ li "PSYCHIC"
+ li "HYPNOSIS"
+ li "MEDITATE"
+ li "AGILITY"
+ li "QUICK ATTACK"
+ li "RAGE"
+ li "TELEPORT"
+ li "NIGHT SHADE"
+ li "MIMIC"
+ li "SCREECH"
+ li "DOUBLE TEAM"
+ li "RECOVER"
+ li "HARDEN"
+ li "MINIMIZE"
+ li "SMOKESCREEN"
+ li "CONFUSE RAY"
+ li "WITHDRAW"
+ li "DEFENSE CURL"
+ li "BARRIER"
+ li "LIGHT SCREEN"
+ li "HAZE"
+ li "REFLECT"
+ li "FOCUS ENERGY"
+ li "BIDE"
+ li "METRONOME"
+ li "MIRROR MOVE"
+ li "SELFDESTRUCT"
+ li "EGG BOMB"
+ li "LICK"
+ li "SMOG"
+ li "SLUDGE"
+ li "BONE CLUB"
+ li "FIRE BLAST"
+ li "WATERFALL"
+ li "CLAMP"
+ li "SWIFT"
+ li "SKULL BASH"
+ li "SPIKE CANNON"
+ li "CONSTRICT"
+ li "AMNESIA"
+ li "KINESIS"
+ li "SOFTBOILED"
+ li "HI JUMP KICK"
+ li "GLARE"
+ li "DREAM EATER"
+ li "POISON GAS"
+ li "BARRAGE"
+ li "LEECH LIFE"
+ li "LOVELY KISS"
+ li "SKY ATTACK"
+ li "TRANSFORM"
+ li "BUBBLE"
+ li "DIZZY PUNCH"
+ li "SPORE"
+ li "FLASH"
+ li "PSYWAVE"
+ li "SPLASH"
+ li "ACID ARMOR"
+ li "CRABHAMMER"
+ li "EXPLOSION"
+ li "FURY SWIPES"
+ li "BONEMERANG"
+ li "REST"
+ li "ROCK SLIDE"
+ li "HYPER FANG"
+ li "SHARPEN"
+ li "CONVERSION"
+ li "TRI ATTACK"
+ li "SUPER FANG"
+ li "SLASH"
+ li "SUBSTITUTE"
+ li "STRUGGLE"
+ assert_list_length NUM_ATTACKS
diff --git a/data/moves/sfx.asm b/data/moves/sfx.asm
index c1f12084..c3f01f4e 100644
--- a/data/moves/sfx.asm
+++ b/data/moves/sfx.asm
@@ -1,4 +1,5 @@
MoveSoundTable:
+ table_width 3, MoveSoundTable
; ID, pitch mod, tempo mod
db SFX_POUND, $00, $80 ; POUND
db SFX_BATTLE_0C, $10, $80 ; KARATE_CHOP
@@ -165,4 +166,5 @@ MoveSoundTable:
db SFX_NOT_VERY_EFFECTIVE, $01, $ff ; SLASH
db SFX_BATTLE_2C, $d8, $04 ; SUBSTITUTE
db SFX_BATTLE_0B, $00, $80 ; STRUGGLE
+ assert_table_length NUM_ATTACKS
db SFX_BATTLE_0B, $00, $80
diff --git a/data/moves/tmhm_moves.asm b/data/moves/tmhm_moves.asm
index a313af28..850b24b4 100644
--- a/data/moves/tmhm_moves.asm
+++ b/data/moves/tmhm_moves.asm
@@ -2,6 +2,7 @@
; define constants for the item IDs and for the corresponding move values.
TechnicalMachines:
+ table_width 1, TechnicalMachines
n = 1
REPT NUM_TMS
@@ -14,6 +15,7 @@ ENDC
PURGE MOVE_FOR_TM
n = n + 1
ENDR
+ assert_table_length NUM_TMS
n = 1
REPT NUM_HMS
@@ -26,5 +28,6 @@ ENDC
PURGE MOVE_FOR_HM
n = n + 1
ENDR
+ assert_table_length NUM_TM_HM
db -1 ; end
diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm
index 620576a6..7b478ef8 100644
--- a/data/pokemon/base_stats.asm
+++ b/data/pokemon/base_stats.asm
@@ -1,7 +1,6 @@
BaseStats::
-MonBaseStats::
+ table_width BASE_DATA_SIZE, BaseStats
INCLUDE "data/pokemon/base_stats/bulbasaur.asm"
-MonBaseStatsEnd::
INCLUDE "data/pokemon/base_stats/ivysaur.asm"
INCLUDE "data/pokemon/base_stats/venusaur.asm"
INCLUDE "data/pokemon/base_stats/charmander.asm"
@@ -152,5 +151,4 @@ INCLUDE "data/pokemon/base_stats/dragonair.asm"
INCLUDE "data/pokemon/base_stats/dragonite.asm"
INCLUDE "data/pokemon/base_stats/mewtwo.asm"
INCLUDE "data/pokemon/base_stats/mew.asm"
-BaseStatsEnd::
- assert BaseStatsEnd - BaseStats == (wMonHeaderEnd - wMonHeader) * (NUM_POKEMON)
+ assert_table_length NUM_POKEMON
diff --git a/data/pokemon/cries.asm b/data/pokemon/cries.asm
index e4bf07d9..f823cdef 100644
--- a/data/pokemon/cries.asm
+++ b/data/pokemon/cries.asm
@@ -4,6 +4,7 @@ mon_cry: MACRO
ENDM
CryData::
+ table_width 3, CryData
; base cry, pitch, length
mon_cry SFX_CRY_11, $00, $80 ; Rhydon
mon_cry SFX_CRY_03, $00, $80 ; Kangaskhan
@@ -195,3 +196,4 @@ CryData::
mon_cry SFX_CRY_21, $55, $01 ; Bellsprout
mon_cry SFX_CRY_25, $44, $20 ; Weepinbell
mon_cry SFX_CRY_25, $66, $CC ; Victreebel
+ assert_table_length NUM_POKEMON_INDEXES
diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm
index 5b9acf27..ae243768 100644
--- a/data/pokemon/dex_entries.asm
+++ b/data/pokemon/dex_entries.asm
@@ -1,4 +1,5 @@
PokedexEntryPointers:
+ table_width 2, PokedexEntryPointers
dw RhydonDexEntry
dw KangaskhanDexEntry
dw NidoranMDexEntry
@@ -189,6 +190,7 @@ PokedexEntryPointers:
dw BellsproutDexEntry
dw WeepinbellDexEntry
dw VictreebelDexEntry
+ assert_table_length NUM_POKEMON_INDEXES
; string: species name
; height in feet, inches
diff --git a/data/pokemon/dex_order.asm b/data/pokemon/dex_order.asm
index 0e293946..32e7a79b 100644
--- a/data/pokemon/dex_order.asm
+++ b/data/pokemon/dex_order.asm
@@ -1,4 +1,5 @@
PokedexOrder:
+ table_width 1, PokedexOrder
db DEX_RHYDON
db DEX_KANGASKHAN
db DEX_NIDORAN_M
@@ -189,3 +190,4 @@ PokedexOrder:
db DEX_BELLSPROUT
db DEX_WEEPINBELL
db DEX_VICTREEBEL
+ assert_table_length NUM_POKEMON_INDEXES
diff --git a/data/pokemon/evos_moves.asm b/data/pokemon/evos_moves.asm
index 19016d14..d3a8ed1c 100644
--- a/data/pokemon/evos_moves.asm
+++ b/data/pokemon/evos_moves.asm
@@ -2,6 +2,7 @@
; The max number of evolutions per monster is MAX_EVOLUTIONS
EvosMovesPointerTable:
+ table_width 2, EvosMovesPointerTable
dw RhydonEvosMoves
dw KangaskhanEvosMoves
dw NidoranMEvosMoves
@@ -192,6 +193,7 @@ EvosMovesPointerTable:
dw BellsproutEvosMoves
dw WeepinbellEvosMoves
dw VictreebelEvosMoves
+ assert_table_length NUM_POKEMON_INDEXES
RhydonEvosMoves:
; Evolutions
diff --git a/data/pokemon/menu_icons.asm b/data/pokemon/menu_icons.asm
index 0fbc9260..ffec7202 100644
--- a/data/pokemon/menu_icons.asm
+++ b/data/pokemon/menu_icons.asm
@@ -1,4 +1,5 @@
MonPartyData:
+ table_width 1, MonPartyData
dn ICON_GRASS, ICON_GRASS ; Bulbasaur / Ivysaur
dn ICON_GRASS, ICON_MON ; Venusaur / Charmander
dn ICON_MON, ICON_MON ; Charmeleon / Charizard
@@ -75,3 +76,4 @@ MonPartyData:
dn ICON_SNAKE, ICON_SNAKE ; Dratini / Dragonair
dn ICON_SNAKE, ICON_MON ; Dragonite / Mewtwo
dn ICON_MON, 0 ; Mew / padding
+ assert_table_length (NUM_POKEMON + 1) / 2
diff --git a/data/pokemon/names.asm b/data/pokemon/names.asm
index 83a45b77..56aa9f5d 100644
--- a/data/pokemon/names.asm
+++ b/data/pokemon/names.asm
@@ -1,4 +1,5 @@
MonsterNames::
+ table_width NAME_LENGTH - 1, MonsterNames
db "RHYDON@@@@"
db "KANGASKHAN"
db "NIDORAN♂@@"
@@ -189,3 +190,4 @@ MonsterNames::
db "BELLSPROUT"
db "WEEPINBELL"
db "VICTREEBEL"
+ assert_table_length NUM_POKEMON_INDEXES
diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm
index 8c4d0bc0..2ce500aa 100644
--- a/data/pokemon/palettes.asm
+++ b/data/pokemon/palettes.asm
@@ -1,4 +1,5 @@
MonsterPalettes:
+ table_width 1, MonsterPalettes
db PAL_MEWMON ; MISSINGNO
db PAL_GREENMON ; BULBASAUR
db PAL_GREENMON ; IVYSAUR
@@ -151,3 +152,4 @@ MonsterPalettes:
db PAL_BROWNMON ; DRAGONITE
db PAL_MEWMON ; MEWTWO
db PAL_MEWMON ; MEW
+ assert_table_length NUM_POKEMON + 1
diff --git a/data/sgb/sgb_palettes.asm b/data/sgb/sgb_palettes.asm
index 5ddca002..aa8c0b7e 100644
--- a/data/sgb/sgb_palettes.asm
+++ b/data/sgb/sgb_palettes.asm
@@ -1,4 +1,5 @@
SuperPalettes:
+ table_width 2 * 4, SuperPalettes
; entries correspond to PAL_* constants
RGB 31,31,30, 23,26,19, 23,27,31, 06,06,06 ; PAL_ROUTE
RGB 31,31,30, 28,27,31, 23,27,31, 06,06,06 ; PAL_PALLET
@@ -40,8 +41,10 @@ SuperPalettes:
RGB 31,31,30, 31,30,22, 23,27,31, 06,06,06 ; PAL_25
RGB 31,31,30, 28,23,09, 18,14,10, 06,06,06 ; PAL_26
RGB 31,31,30, 16,16,16, 31,25,09, 06,06,06 ; PAL_27
+ assert_table_length NUM_SGB_PALS
GBCBasePalettes:
+ table_width 2 * 4, GBCBasePalettes
RGB 31,31,31, 16,31,04, 11,23,31, 03,03,03 ; PAL_ROUTE
RGB 31,31,31, 23,17,31, 11,23,31, 03,03,03 ; PAL_PALLET
RGB 31,31,31, 19,31,00, 11,23,31, 03,03,03 ; PAL_VIRIDIAN
@@ -82,3 +85,4 @@ GBCBasePalettes:
RGB 31,31,31, 31,31,00, 11,23,31, 03,03,03 ; PAL_25
RGB 31,31,31, 31,18,00, 19,07,01, 03,03,03 ; PAL_26
RGB 31,31,31, 09,09,09, 31,21,00, 03,03,03 ; PAL_27
+ assert_table_length NUM_SGB_PALS
diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm
index 217ad864..47b52b1c 100644
--- a/data/sprites/sprites.asm
+++ b/data/sprites/sprites.asm
@@ -5,6 +5,7 @@ overworld_sprite: MACRO
ENDM
SpriteSheetPointerTable:
+ table_width 4, SpriteSheetPointerTable
; graphics, tile count
overworld_sprite RedSprite, 12 ; SPRITE_RED
overworld_sprite BlueSprite, 12 ; SPRITE_BLUE
@@ -88,3 +89,4 @@ SpriteSheetPointerTable:
overworld_sprite GamblerAsleepSprite, 4 ; SPRITE_UNUSED_GAMBLER_ASLEEP_1
overworld_sprite GamblerAsleepSprite, 4 ; SPRITE_UNUSED_GAMBLER_ASLEEP_2
overworld_sprite GamblerAsleepSprite, 4 ; SPRITE_GAMBLER_ASLEEP
+ assert_table_length NUM_SPRITES
diff --git a/data/tilemaps.asm b/data/tilemaps.asm
index 97e687fd..3b1e24c9 100644
--- a/data/tilemaps.asm
+++ b/data/tilemaps.asm
@@ -5,6 +5,7 @@ ENDM
TileIDListPointerTable:
; entries correspond to TILEMAP_* constants (see constants/gfx_constants.asm)
+ table_width 3, TileIDListPointerTable
; tilemap pointer, width, height
tile_ids MonTiles, 7, 7
tile_ids SlideDownMonTiles_7x5, 7, 5
@@ -14,6 +15,7 @@ TileIDListPointerTable:
tile_ids GengarIntroTiles3, 7, 7
tile_ids GameBoyTiles, 6, 8
tile_ids LinkCableTiles, 12, 3
+ assert_table_length NUM_TILEMAPS
DownscaledMonTiles_5x5:
INCBIN "gfx/pokemon/downscaled_5x5.tilemap"
diff --git a/data/tilesets/tileset_headers.asm b/data/tilesets/tileset_headers.asm
index 71c67ec3..e96932fd 100644
--- a/data/tilesets/tileset_headers.asm
+++ b/data/tilesets/tileset_headers.asm
@@ -7,6 +7,7 @@ tileset: MACRO
ENDM
Tilesets:
+ table_width 12, Tilesets
; block, gfx, coll, 3 counter tiles, grass tile, animations
tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, TILEANIM_WATER_FLOWER
tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE
@@ -33,3 +34,4 @@ Tilesets:
tileset Facility_Block, Facility_GFX, Facility_Coll, $12,$FF,$FF, $FF, TILEANIM_WATER
tileset Plateau_Block, Plateau_GFX, Plateau_Coll, $FF,$FF,$FF, $45, TILEANIM_WATER
tileset BeachHouse_Block, BeachHouse_GFX, BeachHouse_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE
+ assert_table_length NUM_TILESETS
diff --git a/data/tilesets/warp_tile_ids.asm b/data/tilesets/warp_tile_ids.asm
index 7c207e27..bba7787a 100644
--- a/data/tilesets/warp_tile_ids.asm
+++ b/data/tilesets/warp_tile_ids.asm
@@ -1,4 +1,5 @@
WarpTileIDPointers:
+ table_width 2, WarpTileIDPointers
dw .OverworldWarpTileIDs
dw .RedsHouse1WarpTileIDs
dw .MartWarpTileIDs
@@ -24,6 +25,7 @@ WarpTileIDPointers:
dw .FacilityWarpTileIDs
dw .PlateauWarpTileIDs
dw .BeachHouseWarpTileIDs
+ assert_table_length NUM_TILESETS
warp_tiles: MACRO
REPT _NARG
diff --git a/data/trainers/ai_pointers.asm b/data/trainers/ai_pointers.asm
index a3c7a657..a2c6975b 100644
--- a/data/trainers/ai_pointers.asm
+++ b/data/trainers/ai_pointers.asm
@@ -1,4 +1,5 @@
TrainerAIPointers:
+ table_width 3, TrainerAIPointers
; one entry per trainer class
; first byte, number of times (per Pokémon) it can occur
; next two bytes, pointer to AI subroutine for trainer class
@@ -50,3 +51,4 @@ TrainerAIPointers:
dbw 3, GenericAI
dbw 2, AgathaAI ; agatha
dbw 1, LanceAI ; lance
+ assert_table_length NUM_TRAINERS
diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm
index dd8277dc..2950e515 100644
--- a/data/trainers/move_choices.asm
+++ b/data/trainers/move_choices.asm
@@ -4,10 +4,12 @@ REPT _NARG
shift
ENDR
db 0 ; end
+list_index = list_index + 1
ENDM
; move choice modification methods that are applied for each trainer class
TrainerClassMoveChoiceModifications:
+ list_start TrainerClassMoveChoiceModifications
move_choices ; YOUNGSTER
move_choices 1 ; BUG CATCHER
move_choices 1 ; LASS
@@ -55,3 +57,4 @@ TrainerClassMoveChoiceModifications:
move_choices 1 ; CHANNELER
move_choices 1 ; AGATHA
move_choices 1, 3 ; LANCE
+ assert_list_length NUM_TRAINERS
diff --git a/data/trainers/pic_pointers_money.asm b/data/trainers/pic_pointers_money.asm
index d4007394..3143095c 100644
--- a/data/trainers/pic_pointers_money.asm
+++ b/data/trainers/pic_pointers_money.asm
@@ -4,6 +4,7 @@ pic_money: MACRO
ENDM
TrainerPicAndMoneyPointers::
+ table_width 5, TrainerPicAndMoneyPointers
; pic pointer, base reward money
; money received after battle = base money × level of highest-level enemy mon
pic_money YoungsterPic, 1500
@@ -53,3 +54,4 @@ TrainerPicAndMoneyPointers::
pic_money ChannelerPic, 3000
pic_money AgathaPic, 9900
pic_money LancePic, 9900
+ assert_table_length NUM_TRAINERS
diff --git a/data/types/names.asm b/data/types/names.asm
index b1c35f65..b63c072e 100644
--- a/data/types/names.asm
+++ b/data/types/names.asm
@@ -1,4 +1,5 @@
TypeNames:
+ table_width 2, TypeNames
dw .Normal
dw .Fighting
@@ -22,6 +23,8 @@ ENDR
dw .Ice
dw .Dragon
+ assert_table_length NUM_TYPES
+
.Normal: db "NORMAL@"
.Fighting: db "FIGHTING@"
.Flying: db "FLYING@"
diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm
index a991e9ae..4858ab5d 100644
--- a/data/wild/grass_water.asm
+++ b/data/wild/grass_water.asm
@@ -1,4 +1,5 @@
WildDataPointers:
+ table_width 2, WildDataPointers
dw NoMons ; PALLET_TOWN
dw NoMons ; VIRIDIAN_CITY
dw NoMons ; PEWTER_CITY
@@ -248,6 +249,7 @@ WildDataPointers:
dw NoMons
dw NoMons
dw NoMons
+ assert_table_length NUM_MAPS
dw -1 ; end
; wild pokemon data is divided into two parts.
diff --git a/data/wild/maps/CeruleanCave1F.asm b/data/wild/maps/CeruleanCave1F.asm
index 24a24f60..f8a830de 100644
--- a/data/wild/maps/CeruleanCave1F.asm
+++ b/data/wild/maps/CeruleanCave1F.asm
@@ -1,5 +1,5 @@
DungeonMons1:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 50, GOLBAT
db 55, GOLBAT
db 45, GRAVELER
@@ -10,5 +10,7 @@ DungeonMons1:
db 54, PARASECT
db 55, DITTO
db 60, DITTO
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/CeruleanCave2F.asm b/data/wild/maps/CeruleanCave2F.asm
index 07b34527..712d8cec 100644
--- a/data/wild/maps/CeruleanCave2F.asm
+++ b/data/wild/maps/CeruleanCave2F.asm
@@ -1,5 +1,5 @@
DungeonMons2:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 52, GOLBAT
db 57, GOLBAT
db 50, GRAVELER
@@ -10,5 +10,7 @@ DungeonMons2:
db 58, WEEPINBELL
db 60, RHYDON
db 58, RHYDON
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/CeruleanCaveB1F.asm b/data/wild/maps/CeruleanCaveB1F.asm
index 969ab18f..5787d240 100644
--- a/data/wild/maps/CeruleanCaveB1F.asm
+++ b/data/wild/maps/CeruleanCaveB1F.asm
@@ -1,5 +1,5 @@
DungeonMonsB1:
- db 25 ; grass encounter rate
+ def_grass_wildmons 25 ; encounter rate
db 54, GOLBAT
db 59, GOLBAT
db 55, GRAVELER
@@ -10,5 +10,7 @@ DungeonMonsB1:
db 65, DITTO
db 55, LICKITUNG
db 50, LICKITUNG
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/DiglettsCave.asm b/data/wild/maps/DiglettsCave.asm
index d1e73af4..e5ba5fa5 100644
--- a/data/wild/maps/DiglettsCave.asm
+++ b/data/wild/maps/DiglettsCave.asm
@@ -1,5 +1,5 @@
CaveMons:
- db 20 ; grass encounter rate
+ def_grass_wildmons 20 ; encounter rate
db 18, DIGLETT
db 19, DIGLETT
db 17, DIGLETT
@@ -10,5 +10,7 @@ CaveMons:
db 22, DIGLETT
db 29, DUGTRIO
db 31, DUGTRIO
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/MtMoon1F.asm b/data/wild/maps/MtMoon1F.asm
index 2e426655..93edc040 100644
--- a/data/wild/maps/MtMoon1F.asm
+++ b/data/wild/maps/MtMoon1F.asm
@@ -1,5 +1,5 @@
MoonMons1:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 8, ZUBAT
db 9, ZUBAT
db 10, GEODUDE
@@ -10,5 +10,7 @@ MoonMons1:
db 11, ZUBAT
db 12, SANDSHREW
db 11, CLEFAIRY
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/MtMoonB1F.asm b/data/wild/maps/MtMoonB1F.asm
index 1eee34ce..d729dc6f 100644
--- a/data/wild/maps/MtMoonB1F.asm
+++ b/data/wild/maps/MtMoonB1F.asm
@@ -1,5 +1,5 @@
MoonMonsB1:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 8, ZUBAT
db 9, ZUBAT
db 10, ZUBAT
@@ -10,5 +10,7 @@ MoonMonsB1:
db 11, PARAS
db 10, CLEFAIRY
db 12, CLEFAIRY
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/MtMoonB2F.asm b/data/wild/maps/MtMoonB2F.asm
index d49ec585..63671cbe 100644
--- a/data/wild/maps/MtMoonB2F.asm
+++ b/data/wild/maps/MtMoonB2F.asm
@@ -1,5 +1,5 @@
MoonMonsB2:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 10, ZUBAT
db 11, GEODUDE
db 13, PARAS
@@ -10,5 +10,7 @@ MoonMonsB2:
db 9, CLEFAIRY
db 11, CLEFAIRY
db 13, CLEFAIRY
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PokemonMansion1F.asm b/data/wild/maps/PokemonMansion1F.asm
index 75fcadfe..8aea3fac 100644
--- a/data/wild/maps/PokemonMansion1F.asm
+++ b/data/wild/maps/PokemonMansion1F.asm
@@ -1,5 +1,5 @@
MansionMons1:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 34, RATTATA
db 34, RATICATE
db 23, GRIMER
@@ -10,5 +10,7 @@ MansionMons1:
db 26, GRIMER
db 34, GROWLITHE
db 38, GROWLITHE
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PokemonMansion2F.asm b/data/wild/maps/PokemonMansion2F.asm
index 2143532f..818e705b 100644
--- a/data/wild/maps/PokemonMansion2F.asm
+++ b/data/wild/maps/PokemonMansion2F.asm
@@ -1,5 +1,5 @@
MansionMons2:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 37, RATTATA
db 37, RATICATE
db 26, GRIMER
@@ -10,5 +10,7 @@ MansionMons2:
db 35, GRIMER
db 35, MUK
db 38, MUK
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PokemonMansion3F.asm b/data/wild/maps/PokemonMansion3F.asm
index f0c77977..36eb701b 100644
--- a/data/wild/maps/PokemonMansion3F.asm
+++ b/data/wild/maps/PokemonMansion3F.asm
@@ -1,5 +1,5 @@
MansionMons3:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 40, RATTATA
db 40, RATICATE
db 32, GRIMER
@@ -10,5 +10,7 @@ MansionMons3:
db 38, GRIMER
db 38, MUK
db 41, MUK
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PokemonMansionB1F.asm b/data/wild/maps/PokemonMansionB1F.asm
index c0ad432b..1954695c 100644
--- a/data/wild/maps/PokemonMansionB1F.asm
+++ b/data/wild/maps/PokemonMansionB1F.asm
@@ -1,5 +1,5 @@
MansionMonsB1:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 35, GRIMER
db 38, GRIMER
db 37, RATICATE
@@ -10,5 +10,7 @@ MansionMonsB1:
db 46, RATICATE
db 18, DITTO
db 12, DITTO
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PokemonTower1F.asm b/data/wild/maps/PokemonTower1F.asm
index 95bef4a3..5e061298 100644
--- a/data/wild/maps/PokemonTower1F.asm
+++ b/data/wild/maps/PokemonTower1F.asm
@@ -1,4 +1,6 @@
TowerMons1:
- db 0 ; grass encounter rate
+ def_grass_wildmons 0 ; encounter rate
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PokemonTower2F.asm b/data/wild/maps/PokemonTower2F.asm
index 77b7d415..39794a20 100644
--- a/data/wild/maps/PokemonTower2F.asm
+++ b/data/wild/maps/PokemonTower2F.asm
@@ -1,4 +1,6 @@
TowerMons2:
- db 0 ; grass encounter rate
+ def_grass_wildmons 0 ; encounter rate
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PokemonTower3F.asm b/data/wild/maps/PokemonTower3F.asm
index b608ea15..42ee5a6f 100644
--- a/data/wild/maps/PokemonTower3F.asm
+++ b/data/wild/maps/PokemonTower3F.asm
@@ -1,5 +1,5 @@
TowerMons3:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 20, GASTLY
db 21, GASTLY
db 22, GASTLY
@@ -10,5 +10,7 @@ TowerMons3:
db 25, GASTLY
db 20, HAUNTER
db 25, HAUNTER
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PokemonTower4F.asm b/data/wild/maps/PokemonTower4F.asm
index 425b200c..b81bc541 100644
--- a/data/wild/maps/PokemonTower4F.asm
+++ b/data/wild/maps/PokemonTower4F.asm
@@ -1,5 +1,5 @@
TowerMons4:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 20, GASTLY
db 21, GASTLY
db 22, GASTLY
@@ -10,5 +10,7 @@ TowerMons4:
db 25, GASTLY
db 20, HAUNTER
db 25, HAUNTER
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PokemonTower5F.asm b/data/wild/maps/PokemonTower5F.asm
index 5a0c96e1..66af9751 100644
--- a/data/wild/maps/PokemonTower5F.asm
+++ b/data/wild/maps/PokemonTower5F.asm
@@ -1,5 +1,5 @@
TowerMons5:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 22, GASTLY
db 23, GASTLY
db 24, GASTLY
@@ -10,5 +10,7 @@ TowerMons5:
db 27, GASTLY
db 22, HAUNTER
db 27, HAUNTER
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PokemonTower6F.asm b/data/wild/maps/PokemonTower6F.asm
index 5e9d23f4..1ddafd84 100644
--- a/data/wild/maps/PokemonTower6F.asm
+++ b/data/wild/maps/PokemonTower6F.asm
@@ -1,5 +1,5 @@
TowerMons6:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 22, GASTLY
db 23, GASTLY
db 24, GASTLY
@@ -10,5 +10,7 @@ TowerMons6:
db 27, GASTLY
db 22, HAUNTER
db 27, HAUNTER
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PokemonTower7F.asm b/data/wild/maps/PokemonTower7F.asm
index 8a3467ff..5c859a00 100644
--- a/data/wild/maps/PokemonTower7F.asm
+++ b/data/wild/maps/PokemonTower7F.asm
@@ -1,5 +1,5 @@
TowerMons7:
- db 20 ; grass encounter rate
+ def_grass_wildmons 20 ; encounter rate
db 24, GASTLY
db 25, GASTLY
db 26, GASTLY
@@ -10,5 +10,7 @@ TowerMons7:
db 29, GASTLY
db 24, HAUNTER
db 29, HAUNTER
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/PowerPlant.asm b/data/wild/maps/PowerPlant.asm
index a910420e..fde69fcd 100644
--- a/data/wild/maps/PowerPlant.asm
+++ b/data/wild/maps/PowerPlant.asm
@@ -1,5 +1,5 @@
PowerPlantMons:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 30, MAGNEMITE
db 35, MAGNEMITE
db 33, MAGNETON
@@ -10,5 +10,7 @@ PowerPlantMons:
db 38, MAGNETON
db 33, MUK
db 37, MUK
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/RockTunnel1F.asm b/data/wild/maps/RockTunnel1F.asm
index 5c64bac4..98785e39 100644
--- a/data/wild/maps/RockTunnel1F.asm
+++ b/data/wild/maps/RockTunnel1F.asm
@@ -1,5 +1,5 @@
TunnelMonsB1:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 15, ZUBAT
db 16, GEODUDE
db 17, ZUBAT
@@ -10,5 +10,7 @@ TunnelMonsB1:
db 17, MACHOP
db 19, MACHOP
db 21, MACHOP
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/RockTunnelB1F.asm b/data/wild/maps/RockTunnelB1F.asm
index 3f034958..035574ef 100644
--- a/data/wild/maps/RockTunnelB1F.asm
+++ b/data/wild/maps/RockTunnelB1F.asm
@@ -1,5 +1,5 @@
TunnelMonsB2:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 20, ZUBAT
db 17, GEODUDE
db 18, MACHOP
@@ -10,5 +10,7 @@ TunnelMonsB2:
db 14, ONIX
db 18, ONIX
db 22, ONIX
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route1.asm b/data/wild/maps/Route1.asm
index df599383..7634f3b4 100644
--- a/data/wild/maps/Route1.asm
+++ b/data/wild/maps/Route1.asm
@@ -1,5 +1,5 @@
Route1Mons:
- db 25 ; grass encounter rate
+ def_grass_wildmons 25 ; encounter rate
db 3, PIDGEY
db 4, PIDGEY
db 2, RATTATA
@@ -10,5 +10,7 @@ Route1Mons:
db 4, RATTATA
db 6, PIDGEY
db 7, PIDGEY
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route10.asm b/data/wild/maps/Route10.asm
index b7ca364c..bd9ba28f 100644
--- a/data/wild/maps/Route10.asm
+++ b/data/wild/maps/Route10.asm
@@ -1,5 +1,5 @@
Route10Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 16, MAGNEMITE
db 18, RATTATA
db 18, MAGNEMITE
@@ -10,5 +10,7 @@ Route10Mons:
db 20, RATICATE
db 16, MACHOP
db 18, MACHOP
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route11.asm b/data/wild/maps/Route11.asm
index eb00aa7e..e564296a 100644
--- a/data/wild/maps/Route11.asm
+++ b/data/wild/maps/Route11.asm
@@ -1,5 +1,5 @@
Route11Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 16, PIDGEY
db 15, RATTATA
db 18, PIDGEY
@@ -10,5 +10,7 @@ Route11Mons:
db 20, PIDGEOTTO
db 19, DROWZEE
db 17, RATICATE
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route12.asm b/data/wild/maps/Route12.asm
index 46c4106e..40fd8e07 100644
--- a/data/wild/maps/Route12.asm
+++ b/data/wild/maps/Route12.asm
@@ -1,5 +1,5 @@
Route12Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 25, ODDISH
db 25, BELLSPROUT
db 28, PIDGEY
@@ -10,8 +10,9 @@ Route12Mons:
db 29, WEEPINBELL
db 26, FARFETCHD
db 31, FARFETCHD
+ end_grass_wildmons
- db 3 ; water encounter rate
+ def_water_wildmons 3 ; encounter rate
db 15, SLOWPOKE
db 15, SLOWPOKE
db 15, SLOWPOKE
@@ -22,3 +23,4 @@ Route12Mons:
db 15, SLOWPOKE
db 15, SLOWBRO
db 20, SLOWBRO
+ end_water_wildmons
diff --git a/data/wild/maps/Route13.asm b/data/wild/maps/Route13.asm
index d19e0d83..33e097cd 100644
--- a/data/wild/maps/Route13.asm
+++ b/data/wild/maps/Route13.asm
@@ -1,5 +1,5 @@
Route13Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 25, ODDISH
db 25, BELLSPROUT
db 28, PIDGEOTTO
@@ -10,8 +10,9 @@ Route13Mons:
db 29, WEEPINBELL
db 26, FARFETCHD
db 31, FARFETCHD
+ end_grass_wildmons
- db 3 ; water encounter rate
+ def_water_wildmons 3 ; encounter rate
db 15, SLOWPOKE
db 15, SLOWPOKE
db 15, SLOWPOKE
@@ -22,3 +23,4 @@ Route13Mons:
db 15, SLOWPOKE
db 15, SLOWBRO
db 20, SLOWBRO
+ end_water_wildmons
diff --git a/data/wild/maps/Route14.asm b/data/wild/maps/Route14.asm
index fe600bed..98b1f4e3 100644
--- a/data/wild/maps/Route14.asm
+++ b/data/wild/maps/Route14.asm
@@ -1,5 +1,5 @@
Route14Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 26, ODDISH
db 26, BELLSPROUT
db 24, VENONAT
@@ -10,5 +10,7 @@ Route14Mons:
db 30, WEEPINBELL
db 27, VENONAT
db 30, VENOMOTH
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route15.asm b/data/wild/maps/Route15.asm
index 4374acfb..87392fa4 100644
--- a/data/wild/maps/Route15.asm
+++ b/data/wild/maps/Route15.asm
@@ -1,5 +1,5 @@
Route15Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 26, ODDISH
db 26, BELLSPROUT
db 24, VENONAT
@@ -10,5 +10,7 @@ Route15Mons:
db 30, WEEPINBELL
db 27, VENONAT
db 30, VENOMOTH
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route16.asm b/data/wild/maps/Route16.asm
index f858dcdb..4265809a 100644
--- a/data/wild/maps/Route16.asm
+++ b/data/wild/maps/Route16.asm
@@ -1,5 +1,5 @@
Route16Mons:
- db 25 ; grass encounter rate
+ def_grass_wildmons 25 ; encounter rate
db 22, SPEAROW
db 22, DODUO
db 23, RATTATA
@@ -10,5 +10,7 @@ Route16Mons:
db 24, FEAROW
db 25, RATICATE
db 26, RATICATE
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route17.asm b/data/wild/maps/Route17.asm
index 3f6316f3..4c167abe 100644
--- a/data/wild/maps/Route17.asm
+++ b/data/wild/maps/Route17.asm
@@ -1,5 +1,5 @@
Route17Mons:
- db 25 ; grass encounter rate
+ def_grass_wildmons 25 ; encounter rate
db 26, DODUO
db 27, FEAROW
db 27, DODUO
@@ -10,5 +10,7 @@ Route17Mons:
db 28, DODUO
db 32, PONYTA
db 29, DODRIO
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route18.asm b/data/wild/maps/Route18.asm
index b76cef02..04b4dbfa 100644
--- a/data/wild/maps/Route18.asm
+++ b/data/wild/maps/Route18.asm
@@ -1,5 +1,5 @@
Route18Mons:
- db 25 ; grass encounter rate
+ def_grass_wildmons 25 ; encounter rate
db 22, SPEAROW
db 22, DODUO
db 23, RATTATA
@@ -10,5 +10,7 @@ Route18Mons:
db 24, FEAROW
db 25, RATICATE
db 26, RATICATE
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route19.asm b/data/wild/maps/Route19.asm
index 70b06ac8..c09ba290 100644
--- a/data/wild/maps/Route19.asm
+++ b/data/wild/maps/Route19.asm
@@ -1,7 +1,8 @@
Route19Mons:
- db 0 ; grass encounter rate
+ def_grass_wildmons 0 ; encounter rate
+ end_grass_wildmons
- db 5 ; water encounter rate
+ def_water_wildmons 5 ; encounter rate
db 5, TENTACOOL
db 10, TENTACOOL
db 15, TENTACOOL
@@ -12,3 +13,4 @@ Route19Mons:
db 30, TENTACOOL
db 35, TENTACOOL
db 40, TENTACOOL
+ end_water_wildmons
diff --git a/data/wild/maps/Route2.asm b/data/wild/maps/Route2.asm
index 40093712..eda91039 100644
--- a/data/wild/maps/Route2.asm
+++ b/data/wild/maps/Route2.asm
@@ -1,5 +1,5 @@
Route2Mons:
- db 25 ; grass encounter rate
+ def_grass_wildmons 25 ; encounter rate
db 3, RATTATA
db 3, PIDGEY
db 4, RATTATA
@@ -10,5 +10,7 @@ Route2Mons:
db 6, NIDORAN_F
db 7, PIDGEY
db 7, PIDGEY
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route21.asm b/data/wild/maps/Route21.asm
index e934e079..54a647f9 100644
--- a/data/wild/maps/Route21.asm
+++ b/data/wild/maps/Route21.asm
@@ -1,5 +1,5 @@
Route21Mons:
- db 25 ; grass encounter rate
+ def_grass_wildmons 25 ; encounter rate
db 15, PIDGEY
db 13, RATTATA
db 13, PIDGEY
@@ -10,8 +10,9 @@ Route21Mons:
db 17, PIDGEOTTO
db 19, PIDGEOTTO
db 15, PIDGEOTTO
+ end_grass_wildmons
- db 5 ; water encounter rate
+ def_water_wildmons 5 ; encounter rate
db 5, TENTACOOL
db 10, TENTACOOL
db 15, TENTACOOL
@@ -22,3 +23,4 @@ Route21Mons:
db 30, TENTACOOL
db 35, TENTACOOL
db 40, TENTACOOL
+ end_water_wildmons
diff --git a/data/wild/maps/Route22.asm b/data/wild/maps/Route22.asm
index 1b50ded0..9398fafc 100644
--- a/data/wild/maps/Route22.asm
+++ b/data/wild/maps/Route22.asm
@@ -1,5 +1,5 @@
Route22Mons:
- db 25 ; grass encounter rate
+ def_grass_wildmons 25 ; encounter rate
db 2, NIDORAN_M
db 2, NIDORAN_F
db 3, MANKEY
@@ -10,5 +10,7 @@ Route22Mons:
db 2, SPEAROW
db 4, SPEAROW
db 6, SPEAROW
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route23.asm b/data/wild/maps/Route23.asm
index cc1642e8..99e3c548 100644
--- a/data/wild/maps/Route23.asm
+++ b/data/wild/maps/Route23.asm
@@ -1,5 +1,5 @@
Route23Mons:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 41, NIDORINO
db 41, NIDORINA
db 36, MANKEY
@@ -10,5 +10,7 @@ Route23Mons:
db 45, FEAROW
db 41, PRIMEAPE
db 46, PRIMEAPE
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route24.asm b/data/wild/maps/Route24.asm
index e493dfbf..852137f4 100644
--- a/data/wild/maps/Route24.asm
+++ b/data/wild/maps/Route24.asm
@@ -1,5 +1,5 @@
Route24Mons:
- db 25 ; grass encounter rate
+ def_grass_wildmons 25 ; encounter rate
db 12, ODDISH
db 12, BELLSPROUT
db 13, PIDGEY
@@ -10,5 +10,7 @@ Route24Mons:
db 16, VENONAT
db 17, PIDGEY
db 17, PIDGEOTTO
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route25.asm b/data/wild/maps/Route25.asm
index 2daa060c..22b68eb0 100644
--- a/data/wild/maps/Route25.asm
+++ b/data/wild/maps/Route25.asm
@@ -1,5 +1,5 @@
Route25Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 12, ODDISH
db 12, BELLSPROUT
db 13, PIDGEY
@@ -10,5 +10,7 @@ Route25Mons:
db 16, VENONAT
db 17, PIDGEY
db 17, PIDGEOTTO
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route3.asm b/data/wild/maps/Route3.asm
index be7afe95..49dde638 100644
--- a/data/wild/maps/Route3.asm
+++ b/data/wild/maps/Route3.asm
@@ -1,5 +1,5 @@
Route3Mons:
- db 20 ; grass encounter rate
+ def_grass_wildmons 20 ; encounter rate
db 8, SPEAROW
db 9, SPEAROW
db 9, MANKEY
@@ -10,5 +10,7 @@ Route3Mons:
db 12, RATTATA
db 11, SPEAROW
db 12, SPEAROW
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route4.asm b/data/wild/maps/Route4.asm
index 29f0aec4..7aa1f37b 100644
--- a/data/wild/maps/Route4.asm
+++ b/data/wild/maps/Route4.asm
@@ -1,5 +1,5 @@
Route4Mons:
- db 20 ; grass encounter rate
+ def_grass_wildmons 20 ; encounter rate
db 8, SPEAROW
db 9, SPEAROW
db 9, MANKEY
@@ -10,5 +10,7 @@ Route4Mons:
db 12, RATTATA
db 11, SPEAROW
db 12, SPEAROW
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route5.asm b/data/wild/maps/Route5.asm
index 7517bcb9..dc2ee194 100644
--- a/data/wild/maps/Route5.asm
+++ b/data/wild/maps/Route5.asm
@@ -1,5 +1,5 @@
Route5Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 15, PIDGEY
db 14, RATTATA
db 7, ABRA
@@ -10,5 +10,7 @@ Route5Mons:
db 3, JIGGLYPUFF
db 5, JIGGLYPUFF
db 7, JIGGLYPUFF
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route6.asm b/data/wild/maps/Route6.asm
index 067d2694..df91e521 100644
--- a/data/wild/maps/Route6.asm
+++ b/data/wild/maps/Route6.asm
@@ -1,5 +1,5 @@
Route6Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 15, PIDGEY
db 14, RATTATA
db 7, ABRA
@@ -10,8 +10,9 @@ Route6Mons:
db 3, JIGGLYPUFF
db 5, JIGGLYPUFF
db 7, JIGGLYPUFF
+ end_grass_wildmons
- db 3 ; water encounter rate
+ def_water_wildmons 3 ; encounter rate
db 15, PSYDUCK
db 15, PSYDUCK
db 15, PSYDUCK
@@ -22,3 +23,4 @@ Route6Mons:
db 15, PSYDUCK
db 15, GOLDUCK
db 20, GOLDUCK
+ end_water_wildmons
diff --git a/data/wild/maps/Route7.asm b/data/wild/maps/Route7.asm
index 1ebb1ce9..e0e78991 100644
--- a/data/wild/maps/Route7.asm
+++ b/data/wild/maps/Route7.asm
@@ -1,5 +1,5 @@
Route7Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 20, PIDGEY
db 22, PIDGEY
db 20, RATTATA
@@ -10,5 +10,7 @@ Route7Mons:
db 19, JIGGLYPUFF
db 24, JIGGLYPUFF
db 24, JIGGLYPUFF
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route8.asm b/data/wild/maps/Route8.asm
index db07dbba..a55d5e79 100644
--- a/data/wild/maps/Route8.asm
+++ b/data/wild/maps/Route8.asm
@@ -1,5 +1,5 @@
Route8Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 20, PIDGEY
db 22, PIDGEY
db 20, RATTATA
@@ -10,5 +10,7 @@ Route8Mons:
db 24, JIGGLYPUFF
db 20, KADABRA
db 27, KADABRA
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/Route9.asm b/data/wild/maps/Route9.asm
index 78512402..273452c9 100644
--- a/data/wild/maps/Route9.asm
+++ b/data/wild/maps/Route9.asm
@@ -1,5 +1,5 @@
Route9Mons:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 16, NIDORAN_M
db 16, NIDORAN_F
db 18, RATTATA
@@ -10,5 +10,7 @@ Route9Mons:
db 18, NIDORINA
db 20, RATICATE
db 19, FEAROW
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/SafariZoneCenter.asm b/data/wild/maps/SafariZoneCenter.asm
index 125fbc6a..5573d8b8 100644
--- a/data/wild/maps/SafariZoneCenter.asm
+++ b/data/wild/maps/SafariZoneCenter.asm
@@ -1,5 +1,5 @@
ZoneMonsCenter:
- db 30 ; grass encounter rate
+ def_grass_wildmons 30 ; encounter rate
db 14, NIDORAN_M
db 36, NIDORAN_F
db 24, EXEGGCUTE
@@ -10,5 +10,7 @@ ZoneMonsCenter:
db 32, PARASECT
db 22, TANGELA
db 7, CHANSEY
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/SafariZoneEast.asm b/data/wild/maps/SafariZoneEast.asm
index ba0a1954..1b634058 100644
--- a/data/wild/maps/SafariZoneEast.asm
+++ b/data/wild/maps/SafariZoneEast.asm
@@ -1,5 +1,5 @@
ZoneMons1:
- db 30 ; grass encounter rate
+ def_grass_wildmons 30 ; encounter rate
db 21, NIDORAN_M
db 29, NIDORAN_F
db 22, EXEGGCUTE
@@ -10,5 +10,7 @@ ZoneMons1:
db 24, MAROWAK
db 21, CHANSEY
db 15, SCYTHER
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/SafariZoneNorth.asm b/data/wild/maps/SafariZoneNorth.asm
index fa6dd3b4..6ce432ef 100644
--- a/data/wild/maps/SafariZoneNorth.asm
+++ b/data/wild/maps/SafariZoneNorth.asm
@@ -1,5 +1,5 @@
ZoneMons2:
- db 30 ; grass encounter rate
+ def_grass_wildmons 30 ; encounter rate
db 36, NIDORAN_M
db 14, NIDORAN_F
db 20, EXEGGCUTE
@@ -10,5 +10,7 @@ ZoneMons2:
db 33, KANGASKHAN
db 25, SCYTHER
db 15, PINSIR
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/SafariZoneWest.asm b/data/wild/maps/SafariZoneWest.asm
index b1e2fe3a..42a4d3a3 100644
--- a/data/wild/maps/SafariZoneWest.asm
+++ b/data/wild/maps/SafariZoneWest.asm
@@ -1,5 +1,5 @@
ZoneMons3:
- db 30 ; grass encounter rate
+ def_grass_wildmons 30 ; encounter rate
db 29, NIDORAN_M
db 21, NIDORAN_F
db 22, EXEGGCUTE
@@ -10,5 +10,7 @@ ZoneMons3:
db 24, MAROWAK
db 25, PINSIR
db 27, TANGELA
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/SeafoamIslands1F.asm b/data/wild/maps/SeafoamIslands1F.asm
index e37005b2..bc14de89 100644
--- a/data/wild/maps/SeafoamIslands1F.asm
+++ b/data/wild/maps/SeafoamIslands1F.asm
@@ -1,5 +1,5 @@
IslandMons1:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 18, ZUBAT
db 25, KRABBY
db 27, KRABBY
@@ -10,5 +10,7 @@ IslandMons1:
db 9, ZUBAT
db 27, GOLBAT
db 36, GOLBAT
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/SeafoamIslandsB1F.asm b/data/wild/maps/SeafoamIslandsB1F.asm
index fd9ab09a..b213df3d 100644
--- a/data/wild/maps/SeafoamIslandsB1F.asm
+++ b/data/wild/maps/SeafoamIslandsB1F.asm
@@ -1,5 +1,5 @@
IslandMonsB1:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 27, ZUBAT
db 26, KRABBY
db 36, ZUBAT
@@ -10,5 +10,7 @@ IslandMonsB1:
db 28, KINGLER
db 22, SEEL
db 26, SEEL
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/SeafoamIslandsB2F.asm b/data/wild/maps/SeafoamIslandsB2F.asm
index 53961534..4cb4805c 100644
--- a/data/wild/maps/SeafoamIslandsB2F.asm
+++ b/data/wild/maps/SeafoamIslandsB2F.asm
@@ -1,5 +1,5 @@
IslandMonsB2:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 27, ZUBAT
db 27, KRABBY
db 36, ZUBAT
@@ -10,5 +10,7 @@ IslandMonsB2:
db 36, GOLBAT
db 31, SLOWPOKE
db 31, SLOWBRO
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/SeafoamIslandsB3F.asm b/data/wild/maps/SeafoamIslandsB3F.asm
index 5435d1e6..e58c306f 100644
--- a/data/wild/maps/SeafoamIslandsB3F.asm
+++ b/data/wild/maps/SeafoamIslandsB3F.asm
@@ -1,5 +1,5 @@
IslandMonsB3:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 27, GOLBAT
db 36, ZUBAT
db 29, KRABBY
@@ -10,8 +10,9 @@ IslandMonsB3:
db 30, SEEL
db 28, DEWGONG
db 32, DEWGONG
+ end_grass_wildmons
- db 5 ; water encounter rate
+ def_water_wildmons 5 ; encounter rate
db 25, TENTACOOL
db 30, TENTACOOL
db 20, TENTACOOL
@@ -22,3 +23,4 @@ IslandMonsB3:
db 30, STARYU
db 30, STARYU
db 30, STARYU
+ end_water_wildmons
diff --git a/data/wild/maps/SeafoamIslandsB4F.asm b/data/wild/maps/SeafoamIslandsB4F.asm
index bfeb6821..84d4ba5d 100644
--- a/data/wild/maps/SeafoamIslandsB4F.asm
+++ b/data/wild/maps/SeafoamIslandsB4F.asm
@@ -1,5 +1,5 @@
IslandMonsB4:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 36, GOLBAT
db 36, ZUBAT
db 30, KRABBY
@@ -10,8 +10,9 @@ IslandMonsB4:
db 45, ZUBAT
db 30, DEWGONG
db 34, DEWGONG
+ end_grass_wildmons
- db 5 ; water encounter rate
+ def_water_wildmons 5 ; encounter rate
db 25, TENTACOOL
db 30, TENTACOOL
db 20, TENTACOOL
@@ -22,3 +23,4 @@ IslandMonsB4:
db 30, STARYU
db 30, STARYU
db 30, STARYU
+ end_water_wildmons
diff --git a/data/wild/maps/VictoryRoad1F.asm b/data/wild/maps/VictoryRoad1F.asm
index bcb16dc8..17ece17a 100644
--- a/data/wild/maps/VictoryRoad1F.asm
+++ b/data/wild/maps/VictoryRoad1F.asm
@@ -1,5 +1,5 @@
PlateauMons1:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 26, GEODUDE
db 31, GEODUDE
db 36, GEODUDE
@@ -10,5 +10,7 @@ PlateauMons1:
db 45, ONIX
db 41, GRAVELER
db 47, GRAVELER
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/VictoryRoad2F.asm b/data/wild/maps/VictoryRoad2F.asm
index 89b736cd..04ebaa6e 100644
--- a/data/wild/maps/VictoryRoad2F.asm
+++ b/data/wild/maps/VictoryRoad2F.asm
@@ -1,5 +1,5 @@
PlateauMons2:
- db 10 ; grass encounter rate
+ def_grass_wildmons 10 ; encounter rate
db 31, GEODUDE
db 36, GEODUDE
db 41, GEODUDE
@@ -10,5 +10,7 @@ PlateauMons2:
db 47, ONIX
db 39, MACHOKE
db 42, MACHOKE
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/VictoryRoad3F.asm b/data/wild/maps/VictoryRoad3F.asm
index aec2d097..cf56245e 100644
--- a/data/wild/maps/VictoryRoad3F.asm
+++ b/data/wild/maps/VictoryRoad3F.asm
@@ -1,5 +1,5 @@
PlateauMons3:
- db 15 ; grass encounter rate
+ def_grass_wildmons 15 ; encounter rate
db 36, GEODUDE
db 44, GOLBAT
db 41, GEODUDE
@@ -10,5 +10,7 @@ PlateauMons3:
db 45, MACHOKE
db 47, GRAVELER
db 47, GRAVELER
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/ViridianForest.asm b/data/wild/maps/ViridianForest.asm
index e7b1288f..93286607 100644
--- a/data/wild/maps/ViridianForest.asm
+++ b/data/wild/maps/ViridianForest.asm
@@ -1,5 +1,5 @@
ForestMons:
- db 25 ; grass encounter rate
+ def_grass_wildmons 25 ; encounter rate
db 3, CATERPIE
db 4, METAPOD
db 4, CATERPIE
@@ -10,5 +10,7 @@ ForestMons:
db 6, METAPOD
db 8, PIDGEY
db 9, PIDGEOTTO
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/wild/maps/nothing.asm b/data/wild/maps/nothing.asm
index 19570b50..1ccba991 100644
--- a/data/wild/maps/nothing.asm
+++ b/data/wild/maps/nothing.asm
@@ -1,4 +1,6 @@
NoMons:
- db 0 ; grass encounter rate
+ def_grass_wildmons 0 ; encounter rate
+ end_grass_wildmons
- db 0 ; water encounter rate
+ def_water_wildmons 0 ; encounter rate
+ end_water_wildmons
diff --git a/data/yes_no_menu_strings.asm b/data/yes_no_menu_strings.asm
index db2eeb4c..e6e23279 100644
--- a/data/yes_no_menu_strings.asm
+++ b/data/yes_no_menu_strings.asm
@@ -5,6 +5,7 @@ ENDM
TwoOptionMenuStrings:
; entries correspond to *_MENU constants
+ table_width 5, TwoOptionMenuStrings
; width, height, blank line before first menu item?, text pointer
two_option_menu 4, 3, FALSE, .YesNoMenu
two_option_menu 6, 3, FALSE, .NorthWestMenu
@@ -14,6 +15,7 @@ TwoOptionMenuStrings:
two_option_menu 7, 3, FALSE, .TradeCancelMenu
two_option_menu 7, 4, TRUE, .HealCancelMenu
two_option_menu 4, 3, FALSE, .NoYesMenu
+ assert_table_length NUM_TWO_OPTION_MENUS
.NoYesMenu:
db "NO"