summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiegoisawesome <diego@domoreaweso.me>2018-09-18 10:03:57 -0500
committerDiegoisawesome <diego@domoreaweso.me>2018-09-18 10:03:57 -0500
commit8a05bf82ec680aba6b331313742e61812ac30f1e (patch)
treec0a77c2ddf82b94d7bd5c8f12b1ee7c1de8a647c
parent899ae7a59a2335917b3494b2b5c65dfa52faf4ce (diff)
parent7f2d52d9e0d6a449a5df2274fdb80ede9e2bec54 (diff)
Merge branch 'master' of github.com:pret/pokeemerald
-rw-r--r--asm/cable_car_util.s762
-rw-r--r--data/tilesets/primary/building/anim/0.pngbin141 -> 179 bytes
-rw-r--r--data/tilesets/primary/building/anim/1.pngbin144 -> 180 bytes
-rw-r--r--data/tilesets/primary/building/tiles.pngbin1813 -> 1575 bytes
-rw-r--r--data/tilesets/primary/general/anim/0/0.pngbin183 -> 239 bytes
-rw-r--r--data/tilesets/primary/general/anim/0/1.pngbin182 -> 238 bytes
-rw-r--r--data/tilesets/primary/general/anim/0/2.pngbin183 -> 241 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/0.pngbin518 -> 608 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/1.pngbin581 -> 651 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/2.pngbin534 -> 597 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/3.pngbin527 -> 610 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/4.pngbin461 -> 534 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/5.pngbin460 -> 538 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/6.pngbin480 -> 554 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/7.pngbin521 -> 612 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/0.pngbin194 -> 259 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/1.pngbin243 -> 293 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/2.pngbin262 -> 303 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/3.pngbin280 -> 320 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/4.pngbin232 -> 281 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/5.pngbin220 -> 261 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/6.pngbin203 -> 249 bytes
-rw-r--r--data/tilesets/primary/general/anim/3/0.pngbin136 -> 199 bytes
-rw-r--r--data/tilesets/primary/general/anim/3/1.pngbin154 -> 214 bytes
-rw-r--r--data/tilesets/primary/general/anim/3/2.pngbin133 -> 195 bytes
-rw-r--r--data/tilesets/primary/general/anim/3/3.pngbin130 -> 191 bytes
-rw-r--r--data/tilesets/primary/general/anim/4/0.pngbin304 -> 333 bytes
-rw-r--r--data/tilesets/primary/general/anim/4/1.pngbin311 -> 341 bytes
-rw-r--r--data/tilesets/primary/general/anim/4/2.pngbin314 -> 342 bytes
-rw-r--r--data/tilesets/primary/general/anim/4/3.pngbin328 -> 360 bytes
-rw-r--r--data/tilesets/primary/general/tiles.pngbin7786 -> 7622 bytes
-rw-r--r--data/tilesets/primary/secret_base/tiles.pngbin7869 -> 7144 bytes
-rw-r--r--data/tilesets/primary/secret_base/unknown_tiles.pngbin1316 -> 1237 bytes
-rw-r--r--data/tilesets/secondary/battle_arena/tiles.pngbin2340 -> 2116 bytes
-rw-r--r--data/tilesets/secondary/battle_dome/tiles.pngbin3626 -> 3239 bytes
-rw-r--r--data/tilesets/secondary/battle_factory/tiles.pngbin3694 -> 3368 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier/tiles.pngbin2647 -> 2411 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/anim/0.pngbin191 -> 230 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/anim/1.pngbin188 -> 227 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/anim/2.pngbin185 -> 225 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/anim/3.pngbin183 -> 228 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/tiles.pngbin3834 -> 3798 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/anim/0.pngbin191 -> 230 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/anim/1.pngbin188 -> 227 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/anim/2.pngbin185 -> 225 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/anim/3.pngbin183 -> 228 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/tiles.pngbin5892 -> 5544 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_ranking_hall/tiles.pngbin1700 -> 1503 bytes
-rw-r--r--data/tilesets/secondary/battle_palace/tiles.pngbin1633 -> 1573 bytes
-rw-r--r--data/tilesets/secondary/battle_pike/tiles.pngbin4013 -> 3960 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/0/0.pngbin228 -> 265 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/0/1.pngbin220 -> 259 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/0/2.pngbin219 -> 254 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/0.pngbin261 -> 303 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/1.pngbin267 -> 307 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/2.pngbin261 -> 303 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/3.pngbin105 -> 0 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/4.pngbin86 -> 0 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/5.pngbin86 -> 0 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/6.pngbin106 -> 0 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/7.pngbin393 -> 0 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/8.pngbin105 -> 0 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/9.pngbin111 -> 0 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/tiles.pngbin3504 -> 3256 bytes
-rw-r--r--data/tilesets/secondary/battle_tent/tiles.pngbin2084 -> 1751 bytes
-rw-r--r--data/tilesets/secondary/bike_shop/anim/0.pngbin250 -> 290 bytes
-rw-r--r--data/tilesets/secondary/bike_shop/anim/1.pngbin249 -> 286 bytes
-rw-r--r--data/tilesets/secondary/bike_shop/anim/2.pngbin219 -> 0 bytes
-rw-r--r--data/tilesets/secondary/bike_shop/tiles.pngbin3505 -> 3300 bytes
-rw-r--r--data/tilesets/secondary/brendans_mays_house/tiles.pngbin3074 -> 2658 bytes
-rw-r--r--data/tilesets/secondary/cable_club/tiles.pngbin2590 -> 2477 bytes
-rw-r--r--data/tilesets/secondary/cable_club/unknown_tiles.pngbin311 -> 332 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/0.pngbin100 -> 157 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/1.pngbin126 -> 181 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/2.pngbin108 -> 173 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/3.pngbin109 -> 175 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/unused/0.pngbin100 -> 157 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/unused/1.pngbin121 -> 177 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/unused/2.pngbin108 -> 173 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/unused/3.pngbin105 -> 171 bytes
-rw-r--r--data/tilesets/secondary/cave/tiles.pngbin5884 -> 5787 bytes
-rw-r--r--data/tilesets/secondary/contest/tiles.pngbin1650 -> 1655 bytes
-rw-r--r--data/tilesets/secondary/dewford/anim/0.pngbin185 -> 224 bytes
-rw-r--r--data/tilesets/secondary/dewford/anim/1.pngbin185 -> 222 bytes
-rw-r--r--data/tilesets/secondary/dewford/anim/2.pngbin185 -> 228 bytes
-rw-r--r--data/tilesets/secondary/dewford/anim/3.pngbin192 -> 234 bytes
-rw-r--r--data/tilesets/secondary/dewford/tiles.pngbin3985 -> 3810 bytes
-rw-r--r--data/tilesets/secondary/dewford_gym/tiles.pngbin640 -> 650 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/0/0.pngbin91 -> 152 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/0/1.pngbin91 -> 152 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/0/2.pngbin91 -> 152 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/0/3.pngbin91 -> 152 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/0.pngbin135 -> 171 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/1.pngbin72 -> 129 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/2.pngbin1260 -> 0 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/3.pngbin1184 -> 0 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/4.pngbin1190 -> 0 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/5.pngbin1248 -> 0 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/6.pngbin1161 -> 0 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/7.pngbin1153 -> 0 bytes
-rw-r--r--data/tilesets/secondary/elite_four/tiles.pngbin2876 -> 2877 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/0.pngbin204 -> 257 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/1.pngbin204 -> 257 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/2.pngbin197 -> 253 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/3.pngbin200 -> 255 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/4.pngbin204 -> 257 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/5.pngbin204 -> 257 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/6.pngbin201 -> 254 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/7.pngbin201 -> 254 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/tiles.pngbin2208 -> 2126 bytes
-rw-r--r--data/tilesets/secondary/facility/tiles.pngbin6352 -> 5773 bytes
-rw-r--r--data/tilesets/secondary/fallarbor/tiles.pngbin4781 -> 4653 bytes
-rw-r--r--data/tilesets/secondary/fortree/tiles.pngbin4342 -> 4414 bytes
-rw-r--r--data/tilesets/secondary/fortree_gym/tiles.pngbin770 -> 824 bytes
-rw-r--r--data/tilesets/secondary/generic_building/tiles.pngbin5607 -> 4990 bytes
-rw-r--r--data/tilesets/secondary/inside_of_truck/tiles.pngbin545 -> 572 bytes
-rw-r--r--data/tilesets/secondary/inside_ship/tiles.pngbin2149 -> 2050 bytes
-rw-r--r--data/tilesets/secondary/island_harbor/tiles.pngbin5639 -> 5121 bytes
-rw-r--r--data/tilesets/secondary/lab/tiles.pngbin2844 -> 2633 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/anim/0.pngbin83 -> 140 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/anim/1.pngbin92 -> 147 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/anim/2.pngbin88 -> 143 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/anim/3.pngbin100 -> 153 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/tiles.pngbin4215 -> 4087 bytes
-rw-r--r--data/tilesets/secondary/lavaridge_gym/tiles.pngbin713 -> 688 bytes
-rw-r--r--data/tilesets/secondary/lilycove/tiles.pngbin3912 -> 3652 bytes
-rw-r--r--data/tilesets/secondary/lilycove_museum/tiles.pngbin3938 -> 3391 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/0.pngbin177 -> 234 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/1.pngbin175 -> 229 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/2.pngbin171 -> 224 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/3.pngbin160 -> 216 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/4.pngbin178 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/5.pngbin177 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/6.pngbin175 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/7.pngbin171 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/8.pngbin160 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/9.pngbin178 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/0.pngbin177 -> 234 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/1.pngbin175 -> 229 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/2.pngbin171 -> 224 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/3.pngbin160 -> 216 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/4.pngbin72 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/5.pngbin72 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/6.pngbin72 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/7.pngbin72 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/a/0.pngbin177 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/a/1.pngbin178 -> 232 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/a/2.pngbin171 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/a/3.pngbin160 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/0.pngbin177 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/1.pngbin178 -> 232 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/2.pngbin171 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/3.pngbin160 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/4.pngbin100 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/5.pngbin121 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/6.pngbin108 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/7.pngbin105 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville/tiles.pngbin6372 -> 6069 bytes
-rw-r--r--data/tilesets/secondary/mauville_game_corner/tiles.pngbin1788 -> 1608 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/anim/0.pngbin215 -> 243 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/anim/1.pngbin218 -> 242 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/anim/2.pngbin106 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/anim/3.pngbin393 -> 0 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/tiles.pngbin1534 -> 1496 bytes
-rw-r--r--data/tilesets/secondary/meteor_falls/tiles.pngbin6078 -> 6021 bytes
-rw-r--r--data/tilesets/secondary/mirage_tower/tiles.pngbin5645 -> 5585 bytes
-rw-r--r--data/tilesets/secondary/mossdeep/tiles.pngbin4269 -> 4111 bytes
-rw-r--r--data/tilesets/secondary/mossdeep_game_corner/tiles.pngbin893 -> 895 bytes
-rw-r--r--data/tilesets/secondary/mossdeep_gym/tiles.pngbin969 -> 978 bytes
-rw-r--r--data/tilesets/secondary/mystery_events_house/tiles.pngbin5383 -> 4839 bytes
-rw-r--r--data/tilesets/secondary/navel_rock/tiles.pngbin6073 -> 5989 bytes
-rw-r--r--data/tilesets/secondary/oceanic_museum/tiles.pngbin3219 -> 2714 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/0/0.pngbin596 -> 631 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/0/1.pngbin603 -> 655 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/0/2.pngbin625 -> 664 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/0.pngbin198 -> 263 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/1.pngbin219 -> 271 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/2.pngbin241 -> 284 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/3.pngbin213 -> 266 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/4.pngbin138 -> 200 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/5.pngbin140 -> 200 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/6.pngbin138 -> 200 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/7.pngbin200 -> 261 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/tiles.pngbin4812 -> 4718 bytes
-rw-r--r--data/tilesets/secondary/petalburg/tiles.pngbin1910 -> 1740 bytes
-rw-r--r--data/tilesets/secondary/petalburg_gym/tiles.pngbin1429 -> 1272 bytes
-rw-r--r--data/tilesets/secondary/pokemon_center/tiles.pngbin3645 -> 3487 bytes
-rw-r--r--data/tilesets/secondary/pokemon_day_care/tiles.pngbin1528 -> 1494 bytes
-rw-r--r--data/tilesets/secondary/pokemon_fan_club/tiles.pngbin1373 -> 1285 bytes
-rw-r--r--data/tilesets/secondary/pokemon_school/tiles.pngbin1027 -> 1021 bytes
-rw-r--r--data/tilesets/secondary/pretty_petal_flower_shop/tiles.pngbin1951 -> 1876 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/0.pngbin119 -> 180 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/1.pngbin113 -> 170 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/2.pngbin72 -> 132 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/3.pngbin72 -> 132 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/4.pngbin72 -> 132 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/5.pngbin72 -> 132 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/6.pngbin72 -> 132 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/7.pngbin72 -> 132 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/1/0.pngbin201 -> 252 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/1/1.pngbin198 -> 247 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/1/2.pngbin185 -> 0 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/1/3.pngbin192 -> 0 bytes
-rw-r--r--data/tilesets/secondary/rustboro/tiles.pngbin4108 -> 3938 bytes
-rw-r--r--data/tilesets/secondary/rustboro_gym/tiles.pngbin768 -> 813 bytes
-rw-r--r--data/tilesets/secondary/rusturf_tunnel/tiles.pngbin2228 -> 2180 bytes
-rw-r--r--data/tilesets/secondary/seashore_house/tiles.pngbin1280 -> 1147 bytes
-rw-r--r--data/tilesets/secondary/secret_base/blue_cave/tiles.pngbin905 -> 964 bytes
-rw-r--r--data/tilesets/secondary/secret_base/blue_cave/unused_tiles.pngbin903 -> 964 bytes
-rw-r--r--data/tilesets/secondary/secret_base/brown_cave/tiles.pngbin1166 -> 1128 bytes
-rw-r--r--data/tilesets/secondary/secret_base/brown_cave/unused_tiles.pngbin1163 -> 1128 bytes
-rw-r--r--data/tilesets/secondary/secret_base/red_cave/tiles.pngbin941 -> 1000 bytes
-rw-r--r--data/tilesets/secondary/secret_base/red_cave/unused_tiles.pngbin938 -> 1000 bytes
-rw-r--r--data/tilesets/secondary/secret_base/shrub/tiles.pngbin1177 -> 1149 bytes
-rw-r--r--data/tilesets/secondary/secret_base/shrub/unused_tiles.pngbin1173 -> 1149 bytes
-rw-r--r--data/tilesets/secondary/secret_base/tree/tiles.pngbin1098 -> 1117 bytes
-rw-r--r--data/tilesets/secondary/secret_base/tree/unused_tiles.pngbin1095 -> 1117 bytes
-rw-r--r--data/tilesets/secondary/secret_base/yellow_cave/tiles.pngbin1127 -> 1184 bytes
-rw-r--r--data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.pngbin1125 -> 1184 bytes
-rw-r--r--data/tilesets/secondary/shop/tiles.pngbin4416 -> 3899 bytes
-rw-r--r--data/tilesets/secondary/slateport/anim/0.pngbin179 -> 227 bytes
-rw-r--r--data/tilesets/secondary/slateport/anim/1.pngbin181 -> 234 bytes
-rw-r--r--data/tilesets/secondary/slateport/anim/2.pngbin179 -> 231 bytes
-rw-r--r--data/tilesets/secondary/slateport/anim/3.pngbin181 -> 234 bytes
-rw-r--r--data/tilesets/secondary/slateport/tiles.pngbin6985 -> 6559 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/0.pngbin1201 -> 1135 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/1.pngbin1262 -> 1155 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/2.pngbin1260 -> 1155 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/3.pngbin1184 -> 1112 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/4.pngbin1190 -> 1124 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/5.pngbin1248 -> 1149 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/6.pngbin1161 -> 1097 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/7.pngbin1153 -> 1093 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/tiles.pngbin2950 -> 2695 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/0/0.pngbin286 -> 341 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/0/1.pngbin283 -> 339 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/0/2.pngbin294 -> 340 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/0/3.pngbin91 -> 0 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/1/0.pngbin389 -> 363 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/1/1.pngbin408 -> 372 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/1/2.pngbin399 -> 385 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/tiles.pngbin2954 -> 2818 bytes
-rw-r--r--data/tilesets/secondary/trainer_hill/tiles.pngbin3594 -> 3359 bytes
-rw-r--r--data/tilesets/secondary/trick_house_puzzle/tiles.pngbin2797 -> 2613 bytes
-rw-r--r--data/tilesets/secondary/underwater/anim/0.pngbin180 -> 231 bytes
-rw-r--r--data/tilesets/secondary/underwater/anim/1.pngbin183 -> 236 bytes
-rw-r--r--data/tilesets/secondary/underwater/anim/2.pngbin185 -> 238 bytes
-rw-r--r--data/tilesets/secondary/underwater/anim/3.pngbin184 -> 234 bytes
-rw-r--r--data/tilesets/secondary/underwater/tiles.pngbin2846 -> 3014 bytes
-rw-r--r--data/tilesets/secondary/union_room/tiles.pngbin1817 -> 1763 bytes
-rw-r--r--data/tilesets/secondary/unused_1/0.pngbin86 -> 141 bytes
-rw-r--r--data/tilesets/secondary/unused_1/1.pngbin86 -> 141 bytes
-rw-r--r--data/tilesets/secondary/unused_1/2.pngbin106 -> 165 bytes
-rw-r--r--data/tilesets/secondary/unused_1/3.pngbin393 -> 539 bytes
-rw-r--r--data/tilesets/secondary/unused_1/tiles.pngbin77 -> 139 bytes
-rw-r--r--data/tilesets/secondary/unused_2/0.pngbin105 -> 165 bytes
-rw-r--r--data/tilesets/secondary/unused_2/1.pngbin111 -> 169 bytes
-rw-r--r--data/tilesets/secondary/unused_2/2.pngbin108 -> 0 bytes
-rw-r--r--data/tilesets/secondary/unused_2/3.pngbin105 -> 0 bytes
-rw-r--r--data/tilesets/secondary/unused_2/tiles.pngbin979 -> 917 bytes
-rw-r--r--include/pokemon.h8
-rw-r--r--include/rom_8034C54.h2
-rw-r--r--include/rom_81520A8.h33
-rw-r--r--ld_script.txt2
-rw-r--r--src/battle_controller_opponent.c4
-rw-r--r--src/data/text/abilities.h473
-rw-r--r--src/data/text/move_descriptions.h2481
-rw-r--r--src/hall_of_fame.c51
-rw-r--r--src/rom_8034C54.c4
-rw-r--r--src/rom_81520A8.c218
-rw-r--r--sym_ewram.txt4
271 files changed, 2278 insertions, 1764 deletions
diff --git a/asm/cable_car_util.s b/asm/cable_car_util.s
deleted file mode 100644
index db434eaf9..000000000
--- a/asm/cable_car_util.s
+++ /dev/null
@@ -1,762 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81520A8
-sub_81520A8: @ 81520A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- ldr r0, [sp, 0x24]
- ldr r4, [sp, 0x28]
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, 24
- lsrs r4, 24
- mov r8, r4
- movs r0, 0
- lsrs r4, r3, 24
- cmp r0, r8
- bcs _08152122
-_081520DA:
- ldr r2, [sp]
- movs r3, 0
- adds r6, r4, 0x1
- adds r0, 0x1
- mov r12, r0
- cmp r3, r7
- bcs _0815210C
- lsls r5, r4, 6
-_081520EA:
- lsls r0, r2, 1
- adds r0, r5
- add r0, r10
- mov r1, r9
- strh r1, [r0]
- adds r1, r2, 0x1
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r7
- bcc _081520EA
-_0815210C:
- adds r0, r6, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r6, r0
- lsls r0, 24
- lsrs r4, r0, 24
- mov r1, r12
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, r8
- bcc _081520DA
-_08152122:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81520A8
-
- thumb_func_start sub_8152134
-sub_8152134: @ 8152134
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- ldr r0, [sp, 0x24]
- ldr r4, [sp, 0x28]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r4, 24
- lsrs r4, 24
- mov r9, r4
- movs r0, 0
- adds r5, r1, 0
- lsrs r4, r3, 24
- cmp r0, r9
- bcs _081521AE
-_08152164:
- ldr r2, [sp]
- movs r3, 0
- adds r7, r4, 0x1
- adds r0, 0x1
- mov r8, r0
- cmp r3, r12
- bcs _08152198
- lsls r6, r4, 6
-_08152174:
- lsls r0, r2, 1
- adds r0, r6
- add r0, r10
- ldrh r1, [r5]
- strh r1, [r0]
- adds r5, 0x2
- adds r1, r2, 0x1
- adds r0, r1, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r1, r0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r12
- bcc _08152174
-_08152198:
- adds r0, r7, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r7, r0
- lsls r0, 24
- lsrs r4, r0, 24
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, r9
- bcc _08152164
-_081521AE:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8152134
-
- thumb_func_start sub_81521C0
-sub_81521C0: @ 81521C0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- cmp r4, 0
- beq _081521FE
- cmp r4, 0x40
- bls _081521D6
- movs r4, 0x40
-_081521D6:
- ldr r6, =gUnknown_0203ABB8
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r6]
- cmp r0, 0
- beq _081521FE
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 4
- bl AllocZeroed
- ldr r1, [r6]
- str r0, [r1, 0x4]
- cmp r0, 0
- bne _08152208
- adds r0, r1, 0
- bl Free
- str r5, [r6]
-_081521FE:
- movs r0, 0
- b _08152244
- .pool
-_08152208:
- strb r4, [r1]
- cmp r5, r4
- bcs _08152242
- adds r3, r6, 0
- ldr r0, =gDummyOamData
- mov r12, r0
- movs r2, 0x4
- mov r8, r2
-_08152218:
- ldr r0, [r3]
- ldr r2, [r0, 0x4]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 4
- adds r2, r1, r2
- mov r0, r12
- ldm r0!, {r6,r7}
- stm r2!, {r6,r7}
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- adds r1, r0
- ldrb r0, [r1, 0x19]
- mov r2, r8
- orrs r0, r2
- strb r0, [r1, 0x19]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r4
- bcc _08152218
-_08152242:
- movs r0, 0x1
-_08152244:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81521C0
-
- thumb_func_start sub_8152254
-sub_8152254: @ 8152254
- push {r4-r7,lr}
- movs r3, 0
- ldr r0, =gUnknown_0203ABB8
- ldr r2, [r0]
- adds r5, r0, 0
- cmp r2, 0
- bne _0815226C
- movs r0, 0
- b _081522C4
- .pool
-_0815226C:
- ldrb r2, [r2]
- cmp r3, r2
- bcs _08152292
- ldr r0, =gMain+0x238
- mov r12, r0
- ldr r4, =gDummyOamData
- adds r2, r5, 0
-_0815227A:
- lsls r1, r3, 3
- add r1, r12
- adds r0, r4, 0
- ldm r0!, {r6,r7}
- stm r1!, {r6,r7}
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r3, r0
- bcc _0815227A
-_08152292:
- ldr r1, [r5]
- ldrb r0, [r1]
- lsls r2, r0, 1
- adds r2, r0
- ldr r0, [r1, 0x4]
- lsls r2, 4
- movs r1, 0
- bl memset
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- bl Free
- ldr r0, [r5]
- movs r4, 0
- str r4, [r0, 0x4]
- movs r1, 0
- movs r2, 0x8
- bl memset
- ldr r0, [r5]
- bl Free
- str r4, [r5]
- movs r0, 0x1
-_081522C4:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8152254
-
- thumb_func_start sub_81522D4
-sub_81522D4: @ 81522D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- ldr r0, =gUnknown_0203ABB8
- ldr r1, [r0]
- adds r3, r0, 0
- cmp r1, 0
- beq _081522EC
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _081522F4
-_081522EC:
- movs r0, 0
- b _081523D2
- .pool
-_081522F4:
- ldrb r1, [r1]
- cmp r6, r1
- bcs _081523D0
- adds r7, r3, 0
- movs r0, 0x3
- mov r8, r0
-_08152300:
- ldr r0, [r7]
- ldr r1, [r0, 0x4]
- lsls r0, r6, 1
- adds r0, r6
- lsls r5, r0, 4
- adds r2, r5, r1
- ldrb r1, [r2, 0x19]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x3
- bne _081523C2
- ldr r1, [r2, 0x2C]
- cmp r1, 0
- beq _08152322
- adds r0, r2, 0
- bl _call_via_r1
-_08152322:
- ldr r0, [r7]
- ldr r0, [r0, 0x4]
- adds r2, r5, r0
- ldrb r1, [r2, 0x19]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08152348
- lsls r0, r6, 3
- ldr r1, =gMain+0x238
- adds r0, r1
- ldr r1, =gDummyOamData
- ldm r1!, {r2,r3}
- stm r0!, {r2,r3}
- b _081523C0
- .pool
-_08152348:
- ldrb r0, [r2, 0xE]
- ldrb r4, [r2, 0xA]
- adds r0, r4
- strb r0, [r2]
- ldr r4, [r7]
- ldr r3, [r4, 0x4]
- adds r3, r5, r3
- movs r0, 0x8
- ldrsh r2, [r3, r0]
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- adds r2, r0
- ldr r1, =0x000001ff
- adds r0, r1, 0
- ands r2, r0
- ldrh r0, [r3, 0x2]
- ldr r1, =0xfffffe00
- mov r12, r1
- mov r1, r12
- ands r0, r1
- orrs r0, r2
- strh r0, [r3, 0x2]
- ldr r3, [r4, 0x4]
- adds r3, r5, r3
- ldrb r0, [r3, 0x19]
- lsls r0, 27
- lsrs r0, 30
- mov r2, r8
- ands r0, r2
- lsls r0, 2
- ldrb r1, [r3, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r2, r4, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x5]
- ldr r4, [r7]
- ldr r2, [r4, 0x4]
- adds r2, r5, r2
- ldrh r3, [r2, 0x14]
- ldr r1, =0x000003ff
- adds r0, r1, 0
- adds r1, r3, 0
- ands r1, r0
- mov r12, r1
- ldrh r0, [r2, 0x4]
- ldr r3, =0xfffffc00
- adds r1, r3, 0
- ands r0, r1
- mov r1, r12
- orrs r0, r1
- strh r0, [r2, 0x4]
- lsls r1, r6, 3
- ldr r2, =gMain+0x238
- ldr r0, [r4, 0x4]
- adds r1, r2
- adds r0, r5, r0
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
-_081523C0:
- ldr r3, =gUnknown_0203ABB8
-_081523C2:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [r3]
- ldrb r0, [r0]
- cmp r6, r0
- bcc _08152300
-_081523D0:
- movs r0, 0x1
-_081523D2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81522D4
-
- thumb_func_start sub_81523F4
-sub_81523F4: @ 81523F4
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r4, 0
- beq _08152430
- ldrh r0, [r4, 0x10]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _08152430
- strb r6, [r4, 0x18]
- ldrb r0, [r4, 0x1]
- lsrs r0, 6
- ldrb r1, [r4, 0x3]
- lsrs r1, 6
- bl sub_80355F8
- lsls r0, 24
- lsrs r0, 24
- muls r0, r6
- adds r0, r5, r0
- strh r0, [r4, 0x14]
- movs r0, 0x1
- b _08152432
- .pool
-_08152430:
- movs r0, 0
-_08152432:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81523F4
-
- thumb_func_start sub_8152438
-sub_8152438: @ 8152438
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203ABB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0815246C
- ldrb r1, [r0]
- cmp r2, r1
- bcs _0815246C
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 4
- adds r3, r0, r1
- ldrb r1, [r3, 0x19]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0815246C
- str r4, [r3, 0x2C]
- adds r0, r2, 0
- b _0815246E
- .pool
-_0815246C:
- movs r0, 0xFF
-_0815246E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8152438
-
- thumb_func_start sub_8152474
-sub_8152474: @ 8152474
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 16
- lsrs r5, r2, 16
- ldr r0, =gUnknown_0203ABB8
- ldr r0, [r0]
- cmp r0, 0
- beq _081524A8
- ldrb r1, [r0]
- cmp r3, r1
- bcs _081524A8
- ldr r1, [r0, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 4
- adds r2, r0, r1
- ldrb r1, [r2, 0x19]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081524A8
- cmp r4, 0x7
- bls _081524B0
-_081524A8:
- movs r0, 0xFF
- b _081524BC
- .pool
-_081524B0:
- lsls r1, r4, 1
- adds r0, r2, 0
- adds r0, 0x1A
- adds r0, r1
- strh r5, [r0]
- adds r0, r3, 0
-_081524BC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8152474
-
- thumb_func_start sub_81524C4
-sub_81524C4: @ 81524C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r9, r0
- ldr r0, [sp, 0x30]
- ldr r4, [sp, 0x34]
- ldr r5, [sp, 0x38]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x4]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0xC]
- lsls r5, 24
- lsrs r5, 24
- mov r10, r5
- movs r5, 0
- ldr r0, =gUnknown_0203ABB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0815255E
- mov r1, r9
- cmp r1, 0
- bne _08152530
- b _0815255E
- .pool
-_08152514:
- adds r5, r2, 0
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x30
- bl memset
- strb r4, [r5, 0x16]
- ldrb r0, [r5, 0x19]
- movs r1, 0x1
- orrs r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r5, 0x19]
- b _0815255A
-_08152530:
- movs r4, 0
- ldrb r1, [r0]
- cmp r5, r1
- bcs _0815255A
- ldr r6, [r0, 0x4]
- adds r3, r1, 0
- movs r7, 0x1
-_0815253E:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 4
- adds r2, r0, r6
- ldrb r1, [r2, 0x19]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08152514
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r3
- bcc _0815253E
-_0815255A:
- cmp r5, 0
- bne _08152562
-_0815255E:
- movs r0, 0xFF
- b _081525C0
-_08152562:
- adds r1, r5, 0
- mov r0, r9
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0x10]
- mov r1, r8
- strh r1, [r5, 0x12]
- mov r2, sp
- ldrh r2, [r2, 0x4]
- strh r2, [r5, 0x8]
- mov r3, sp
- ldrh r3, [r3, 0x8]
- strh r3, [r5, 0xA]
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- ldrb r1, [r5, 0x5]
- movs r4, 0xF
- ands r4, r1
- orrs r4, r0
- strb r4, [r5, 0x5]
- mov r0, r10
- cmp r0, 0x3
- bhi _081525B6
- movs r1, 0x3
- ands r1, r0
- lsls r3, r1, 3
- ldrb r2, [r5, 0x19]
- movs r0, 0x19
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r5, 0x19]
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r4, r0
- orrs r4, r1
- strb r4, [r5, 0x5]
-_081525B6:
- adds r0, r5, 0
- ldr r1, [sp, 0xC]
- bl sub_81523F4
- ldrb r0, [r5, 0x16]
-_081525C0:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81524C4
-
- thumb_func_start sub_81525D0
-sub_81525D0: @ 81525D0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, =gUnknown_0203ABB8
- ldr r0, [r6]
- cmp r0, 0
- beq _081525F2
- ldr r1, [r0, 0x4]
- lsls r0, r5, 1
- adds r0, r5
- lsls r4, r0, 4
- adds r2, r4, r1
- ldrb r1, [r2, 0x19]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081525FC
-_081525F2:
- movs r0, 0xFF
- b _0815263C
- .pool
-_081525FC:
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- movs r1, 0xA0
- strb r1, [r0]
- ldr r3, [r6]
- ldr r2, [r3, 0x4]
- adds r2, r4, r2
- ldrh r1, [r2, 0x2]
- ldr r0, =0xfffffe00
- ands r0, r1
- movs r1, 0xF0
- orrs r0, r1
- strh r0, [r2, 0x2]
- ldr r1, [r3, 0x4]
- adds r1, r4, r1
- ldrb r0, [r1, 0x19]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x19]
- lsls r1, r5, 3
- ldr r0, =gMain+0x238
- adds r1, r0
- ldr r0, =gDummyOamData
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- adds r0, r5, 0
-_0815263C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81525D0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/data/tilesets/primary/building/anim/0.png b/data/tilesets/primary/building/anim/0.png
index 004eccc67..1d98f3621 100644
--- a/data/tilesets/primary/building/anim/0.png
+++ b/data/tilesets/primary/building/anim/0.png
Binary files differ
diff --git a/data/tilesets/primary/building/anim/1.png b/data/tilesets/primary/building/anim/1.png
index e28281dea..6798473b7 100644
--- a/data/tilesets/primary/building/anim/1.png
+++ b/data/tilesets/primary/building/anim/1.png
Binary files differ
diff --git a/data/tilesets/primary/building/tiles.png b/data/tilesets/primary/building/tiles.png
index 506bb7400..bd6c0f921 100644
--- a/data/tilesets/primary/building/tiles.png
+++ b/data/tilesets/primary/building/tiles.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/0/0.png b/data/tilesets/primary/general/anim/0/0.png
index d535d920e..1254a7655 100644
--- a/data/tilesets/primary/general/anim/0/0.png
+++ b/data/tilesets/primary/general/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/0/1.png b/data/tilesets/primary/general/anim/0/1.png
index 74f93ecce..50bd949f2 100644
--- a/data/tilesets/primary/general/anim/0/1.png
+++ b/data/tilesets/primary/general/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/0/2.png b/data/tilesets/primary/general/anim/0/2.png
index fb0bfe89f..5d8192c9d 100644
--- a/data/tilesets/primary/general/anim/0/2.png
+++ b/data/tilesets/primary/general/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/0.png b/data/tilesets/primary/general/anim/1/0.png
index a7bb2e631..d3f2ea0da 100644
--- a/data/tilesets/primary/general/anim/1/0.png
+++ b/data/tilesets/primary/general/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/1.png b/data/tilesets/primary/general/anim/1/1.png
index c215f1683..86b0ff176 100644
--- a/data/tilesets/primary/general/anim/1/1.png
+++ b/data/tilesets/primary/general/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/2.png b/data/tilesets/primary/general/anim/1/2.png
index f8e0ee273..d2302180e 100644
--- a/data/tilesets/primary/general/anim/1/2.png
+++ b/data/tilesets/primary/general/anim/1/2.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/3.png b/data/tilesets/primary/general/anim/1/3.png
index 6c6ce3611..f757f8253 100644
--- a/data/tilesets/primary/general/anim/1/3.png
+++ b/data/tilesets/primary/general/anim/1/3.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/4.png b/data/tilesets/primary/general/anim/1/4.png
index cc1f9576c..950b88585 100644
--- a/data/tilesets/primary/general/anim/1/4.png
+++ b/data/tilesets/primary/general/anim/1/4.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/5.png b/data/tilesets/primary/general/anim/1/5.png
index 3c0c57a86..4de7d4225 100644
--- a/data/tilesets/primary/general/anim/1/5.png
+++ b/data/tilesets/primary/general/anim/1/5.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/6.png b/data/tilesets/primary/general/anim/1/6.png
index be5ecacaa..73c1cabdd 100644
--- a/data/tilesets/primary/general/anim/1/6.png
+++ b/data/tilesets/primary/general/anim/1/6.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/7.png b/data/tilesets/primary/general/anim/1/7.png
index 85bc7561a..827fd8b74 100644
--- a/data/tilesets/primary/general/anim/1/7.png
+++ b/data/tilesets/primary/general/anim/1/7.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/0.png b/data/tilesets/primary/general/anim/2/0.png
index 6f9f0c309..80c99c473 100644
--- a/data/tilesets/primary/general/anim/2/0.png
+++ b/data/tilesets/primary/general/anim/2/0.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/1.png b/data/tilesets/primary/general/anim/2/1.png
index bef1f3023..52051f056 100644
--- a/data/tilesets/primary/general/anim/2/1.png
+++ b/data/tilesets/primary/general/anim/2/1.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/2.png b/data/tilesets/primary/general/anim/2/2.png
index b5d7a9ee9..39c6e2f87 100644
--- a/data/tilesets/primary/general/anim/2/2.png
+++ b/data/tilesets/primary/general/anim/2/2.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/3.png b/data/tilesets/primary/general/anim/2/3.png
index 42a953a83..abb5ff362 100644
--- a/data/tilesets/primary/general/anim/2/3.png
+++ b/data/tilesets/primary/general/anim/2/3.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/4.png b/data/tilesets/primary/general/anim/2/4.png
index 112b20077..a7bde9837 100644
--- a/data/tilesets/primary/general/anim/2/4.png
+++ b/data/tilesets/primary/general/anim/2/4.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/5.png b/data/tilesets/primary/general/anim/2/5.png
index 7f58c0b94..05f88d81e 100644
--- a/data/tilesets/primary/general/anim/2/5.png
+++ b/data/tilesets/primary/general/anim/2/5.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/6.png b/data/tilesets/primary/general/anim/2/6.png
index 784a543b4..01f9c203d 100644
--- a/data/tilesets/primary/general/anim/2/6.png
+++ b/data/tilesets/primary/general/anim/2/6.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/3/0.png b/data/tilesets/primary/general/anim/3/0.png
index 2f8bb49b6..e307d81aa 100644
--- a/data/tilesets/primary/general/anim/3/0.png
+++ b/data/tilesets/primary/general/anim/3/0.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/3/1.png b/data/tilesets/primary/general/anim/3/1.png
index 5a2744a66..df6aaf3bc 100644
--- a/data/tilesets/primary/general/anim/3/1.png
+++ b/data/tilesets/primary/general/anim/3/1.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/3/2.png b/data/tilesets/primary/general/anim/3/2.png
index 0ddf1cda7..560f89d06 100644
--- a/data/tilesets/primary/general/anim/3/2.png
+++ b/data/tilesets/primary/general/anim/3/2.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/3/3.png b/data/tilesets/primary/general/anim/3/3.png
index f3fee8470..a8db289ae 100644
--- a/data/tilesets/primary/general/anim/3/3.png
+++ b/data/tilesets/primary/general/anim/3/3.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/4/0.png b/data/tilesets/primary/general/anim/4/0.png
index 90dc0bc02..ba160b633 100644
--- a/data/tilesets/primary/general/anim/4/0.png
+++ b/data/tilesets/primary/general/anim/4/0.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/4/1.png b/data/tilesets/primary/general/anim/4/1.png
index 4459a94e5..48274c9a0 100644
--- a/data/tilesets/primary/general/anim/4/1.png
+++ b/data/tilesets/primary/general/anim/4/1.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/4/2.png b/data/tilesets/primary/general/anim/4/2.png
index 389875c31..9e1f98c1b 100644
--- a/data/tilesets/primary/general/anim/4/2.png
+++ b/data/tilesets/primary/general/anim/4/2.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/4/3.png b/data/tilesets/primary/general/anim/4/3.png
index ac8936cce..c5b446f65 100644
--- a/data/tilesets/primary/general/anim/4/3.png
+++ b/data/tilesets/primary/general/anim/4/3.png
Binary files differ
diff --git a/data/tilesets/primary/general/tiles.png b/data/tilesets/primary/general/tiles.png
index 121e835a2..17426ab80 100644
--- a/data/tilesets/primary/general/tiles.png
+++ b/data/tilesets/primary/general/tiles.png
Binary files differ
diff --git a/data/tilesets/primary/secret_base/tiles.png b/data/tilesets/primary/secret_base/tiles.png
index 9dee014ea..e19d61a9d 100644
--- a/data/tilesets/primary/secret_base/tiles.png
+++ b/data/tilesets/primary/secret_base/tiles.png
Binary files differ
diff --git a/data/tilesets/primary/secret_base/unknown_tiles.png b/data/tilesets/primary/secret_base/unknown_tiles.png
index 3ca4d9e87..2511e18b0 100644
--- a/data/tilesets/primary/secret_base/unknown_tiles.png
+++ b/data/tilesets/primary/secret_base/unknown_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_arena/tiles.png b/data/tilesets/secondary/battle_arena/tiles.png
index 7414666df..c0592a0b4 100644
--- a/data/tilesets/secondary/battle_arena/tiles.png
+++ b/data/tilesets/secondary/battle_arena/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_dome/tiles.png b/data/tilesets/secondary/battle_dome/tiles.png
index be3708bfd..04ebc0e75 100644
--- a/data/tilesets/secondary/battle_dome/tiles.png
+++ b/data/tilesets/secondary/battle_dome/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_factory/tiles.png b/data/tilesets/secondary/battle_factory/tiles.png
index 4d9463b20..381cddabf 100644
--- a/data/tilesets/secondary/battle_factory/tiles.png
+++ b/data/tilesets/secondary/battle_factory/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier/tiles.png b/data/tilesets/secondary/battle_frontier/tiles.png
index 1b14ce555..0b39cbc02 100644
--- a/data/tilesets/secondary/battle_frontier/tiles.png
+++ b/data/tilesets/secondary/battle_frontier/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/0.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/0.png
index 8a9905198..98f1a9283 100644
--- a/data/tilesets/secondary/battle_frontier_outside_east/anim/0.png
+++ b/data/tilesets/secondary/battle_frontier_outside_east/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/1.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/1.png
index 836986b12..d0254e9ee 100644
--- a/data/tilesets/secondary/battle_frontier_outside_east/anim/1.png
+++ b/data/tilesets/secondary/battle_frontier_outside_east/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/2.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/2.png
index 660d3080f..1be9641b8 100644
--- a/data/tilesets/secondary/battle_frontier_outside_east/anim/2.png
+++ b/data/tilesets/secondary/battle_frontier_outside_east/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/3.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/3.png
index 7fe571b4a..7a536f24c 100644
--- a/data/tilesets/secondary/battle_frontier_outside_east/anim/3.png
+++ b/data/tilesets/secondary/battle_frontier_outside_east/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/tiles.png b/data/tilesets/secondary/battle_frontier_outside_east/tiles.png
index da34656d1..59ac5b7e9 100644
--- a/data/tilesets/secondary/battle_frontier_outside_east/tiles.png
+++ b/data/tilesets/secondary/battle_frontier_outside_east/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/0.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/0.png
index 8a9905198..98f1a9283 100644
--- a/data/tilesets/secondary/battle_frontier_outside_west/anim/0.png
+++ b/data/tilesets/secondary/battle_frontier_outside_west/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/1.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/1.png
index 836986b12..d0254e9ee 100644
--- a/data/tilesets/secondary/battle_frontier_outside_west/anim/1.png
+++ b/data/tilesets/secondary/battle_frontier_outside_west/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/2.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/2.png
index 660d3080f..1be9641b8 100644
--- a/data/tilesets/secondary/battle_frontier_outside_west/anim/2.png
+++ b/data/tilesets/secondary/battle_frontier_outside_west/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/3.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/3.png
index 7fe571b4a..7a536f24c 100644
--- a/data/tilesets/secondary/battle_frontier_outside_west/anim/3.png
+++ b/data/tilesets/secondary/battle_frontier_outside_west/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/tiles.png b/data/tilesets/secondary/battle_frontier_outside_west/tiles.png
index 03704bfd0..277abe7f8 100644
--- a/data/tilesets/secondary/battle_frontier_outside_west/tiles.png
+++ b/data/tilesets/secondary/battle_frontier_outside_west/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_ranking_hall/tiles.png b/data/tilesets/secondary/battle_frontier_ranking_hall/tiles.png
index 1c1f700c0..9e82b5fe2 100644
--- a/data/tilesets/secondary/battle_frontier_ranking_hall/tiles.png
+++ b/data/tilesets/secondary/battle_frontier_ranking_hall/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_palace/tiles.png b/data/tilesets/secondary/battle_palace/tiles.png
index 4e11e3596..1137db188 100644
--- a/data/tilesets/secondary/battle_palace/tiles.png
+++ b/data/tilesets/secondary/battle_palace/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pike/tiles.png b/data/tilesets/secondary/battle_pike/tiles.png
index fc11f1d1a..7750506d8 100644
--- a/data/tilesets/secondary/battle_pike/tiles.png
+++ b/data/tilesets/secondary/battle_pike/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/0/0.png b/data/tilesets/secondary/battle_pyramid/anim/0/0.png
index c0fb59c0e..04bb8ad84 100644
--- a/data/tilesets/secondary/battle_pyramid/anim/0/0.png
+++ b/data/tilesets/secondary/battle_pyramid/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/0/1.png b/data/tilesets/secondary/battle_pyramid/anim/0/1.png
index 29c019209..e292686f9 100644
--- a/data/tilesets/secondary/battle_pyramid/anim/0/1.png
+++ b/data/tilesets/secondary/battle_pyramid/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/0/2.png b/data/tilesets/secondary/battle_pyramid/anim/0/2.png
index 7c463d9c3..fa24db001 100644
--- a/data/tilesets/secondary/battle_pyramid/anim/0/2.png
+++ b/data/tilesets/secondary/battle_pyramid/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/0.png b/data/tilesets/secondary/battle_pyramid/anim/1/0.png
index 2a0921dea..c135df824 100644
--- a/data/tilesets/secondary/battle_pyramid/anim/1/0.png
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/1.png b/data/tilesets/secondary/battle_pyramid/anim/1/1.png
index 3474d081f..2588bdac0 100644
--- a/data/tilesets/secondary/battle_pyramid/anim/1/1.png
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/2.png b/data/tilesets/secondary/battle_pyramid/anim/1/2.png
index b9f1c4423..fbbf67d2f 100644
--- a/data/tilesets/secondary/battle_pyramid/anim/1/2.png
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/2.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/3.png b/data/tilesets/secondary/battle_pyramid/anim/1/3.png
deleted file mode 100644
index 8ad81b1e1..000000000
--- a/data/tilesets/secondary/battle_pyramid/anim/1/3.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/4.png b/data/tilesets/secondary/battle_pyramid/anim/1/4.png
deleted file mode 100644
index bea921d90..000000000
--- a/data/tilesets/secondary/battle_pyramid/anim/1/4.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/5.png b/data/tilesets/secondary/battle_pyramid/anim/1/5.png
deleted file mode 100644
index bea921d90..000000000
--- a/data/tilesets/secondary/battle_pyramid/anim/1/5.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/6.png b/data/tilesets/secondary/battle_pyramid/anim/1/6.png
deleted file mode 100644
index 16652df19..000000000
--- a/data/tilesets/secondary/battle_pyramid/anim/1/6.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/7.png b/data/tilesets/secondary/battle_pyramid/anim/1/7.png
deleted file mode 100644
index 8ea7a49e6..000000000
--- a/data/tilesets/secondary/battle_pyramid/anim/1/7.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/8.png b/data/tilesets/secondary/battle_pyramid/anim/1/8.png
deleted file mode 100644
index 2895d3319..000000000
--- a/data/tilesets/secondary/battle_pyramid/anim/1/8.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/9.png b/data/tilesets/secondary/battle_pyramid/anim/1/9.png
deleted file mode 100644
index 63c22acf2..000000000
--- a/data/tilesets/secondary/battle_pyramid/anim/1/9.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/tiles.png b/data/tilesets/secondary/battle_pyramid/tiles.png
index d9609f3dd..d6784b06a 100644
--- a/data/tilesets/secondary/battle_pyramid/tiles.png
+++ b/data/tilesets/secondary/battle_pyramid/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_tent/tiles.png b/data/tilesets/secondary/battle_tent/tiles.png
index 35e5c4b65..c9f646906 100644
--- a/data/tilesets/secondary/battle_tent/tiles.png
+++ b/data/tilesets/secondary/battle_tent/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/bike_shop/anim/0.png b/data/tilesets/secondary/bike_shop/anim/0.png
index 069509b27..127ed4e47 100644
--- a/data/tilesets/secondary/bike_shop/anim/0.png
+++ b/data/tilesets/secondary/bike_shop/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/bike_shop/anim/1.png b/data/tilesets/secondary/bike_shop/anim/1.png
index 4123bb0bf..71f12a746 100644
--- a/data/tilesets/secondary/bike_shop/anim/1.png
+++ b/data/tilesets/secondary/bike_shop/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/bike_shop/anim/2.png b/data/tilesets/secondary/bike_shop/anim/2.png
deleted file mode 100644
index 7c463d9c3..000000000
--- a/data/tilesets/secondary/bike_shop/anim/2.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/bike_shop/tiles.png b/data/tilesets/secondary/bike_shop/tiles.png
index e068538f5..f4f48fca3 100644
--- a/data/tilesets/secondary/bike_shop/tiles.png
+++ b/data/tilesets/secondary/bike_shop/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/brendans_mays_house/tiles.png b/data/tilesets/secondary/brendans_mays_house/tiles.png
index 6d6a5f047..f54e2ae15 100644
--- a/data/tilesets/secondary/brendans_mays_house/tiles.png
+++ b/data/tilesets/secondary/brendans_mays_house/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/cable_club/tiles.png b/data/tilesets/secondary/cable_club/tiles.png
index c5ad4cfac..7d2378a06 100644
--- a/data/tilesets/secondary/cable_club/tiles.png
+++ b/data/tilesets/secondary/cable_club/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/cable_club/unknown_tiles.png b/data/tilesets/secondary/cable_club/unknown_tiles.png
index 84e79f720..46e0916f3 100644
--- a/data/tilesets/secondary/cable_club/unknown_tiles.png
+++ b/data/tilesets/secondary/cable_club/unknown_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/0.png b/data/tilesets/secondary/cave/anim/0.png
index 67f294ffe..e98a161eb 100644
--- a/data/tilesets/secondary/cave/anim/0.png
+++ b/data/tilesets/secondary/cave/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/1.png b/data/tilesets/secondary/cave/anim/1.png
index 9c92be807..12ffcd12c 100644
--- a/data/tilesets/secondary/cave/anim/1.png
+++ b/data/tilesets/secondary/cave/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/2.png b/data/tilesets/secondary/cave/anim/2.png
index 78ea00e04..c5be89c00 100644
--- a/data/tilesets/secondary/cave/anim/2.png
+++ b/data/tilesets/secondary/cave/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/3.png b/data/tilesets/secondary/cave/anim/3.png
index 7edd52eaa..635a81154 100644
--- a/data/tilesets/secondary/cave/anim/3.png
+++ b/data/tilesets/secondary/cave/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/unused/0.png b/data/tilesets/secondary/cave/anim/unused/0.png
index 44564e67a..cea6ece85 100644
--- a/data/tilesets/secondary/cave/anim/unused/0.png
+++ b/data/tilesets/secondary/cave/anim/unused/0.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/unused/1.png b/data/tilesets/secondary/cave/anim/unused/1.png
index 47e7e17ee..01d8a300a 100644
--- a/data/tilesets/secondary/cave/anim/unused/1.png
+++ b/data/tilesets/secondary/cave/anim/unused/1.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/unused/2.png b/data/tilesets/secondary/cave/anim/unused/2.png
index d1447cde2..ba13bda8c 100644
--- a/data/tilesets/secondary/cave/anim/unused/2.png
+++ b/data/tilesets/secondary/cave/anim/unused/2.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/unused/3.png b/data/tilesets/secondary/cave/anim/unused/3.png
index 8ad81b1e1..117f04aa4 100644
--- a/data/tilesets/secondary/cave/anim/unused/3.png
+++ b/data/tilesets/secondary/cave/anim/unused/3.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/tiles.png b/data/tilesets/secondary/cave/tiles.png
index e8c98dd71..cd9a83701 100644
--- a/data/tilesets/secondary/cave/tiles.png
+++ b/data/tilesets/secondary/cave/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/contest/tiles.png b/data/tilesets/secondary/contest/tiles.png
index 710654f5f..f9a1b5cd9 100644
--- a/data/tilesets/secondary/contest/tiles.png
+++ b/data/tilesets/secondary/contest/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford/anim/0.png b/data/tilesets/secondary/dewford/anim/0.png
index adf42975f..f80971c45 100644
--- a/data/tilesets/secondary/dewford/anim/0.png
+++ b/data/tilesets/secondary/dewford/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford/anim/1.png b/data/tilesets/secondary/dewford/anim/1.png
index 6e7c23a18..b98d9cafb 100644
--- a/data/tilesets/secondary/dewford/anim/1.png
+++ b/data/tilesets/secondary/dewford/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford/anim/2.png b/data/tilesets/secondary/dewford/anim/2.png
index 86075ffb0..6f88f493f 100644
--- a/data/tilesets/secondary/dewford/anim/2.png
+++ b/data/tilesets/secondary/dewford/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford/anim/3.png b/data/tilesets/secondary/dewford/anim/3.png
index 6e3c57621..b95b4bc9e 100644
--- a/data/tilesets/secondary/dewford/anim/3.png
+++ b/data/tilesets/secondary/dewford/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford/tiles.png b/data/tilesets/secondary/dewford/tiles.png
index 1cf4c165c..33e61b435 100644
--- a/data/tilesets/secondary/dewford/tiles.png
+++ b/data/tilesets/secondary/dewford/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford_gym/tiles.png b/data/tilesets/secondary/dewford_gym/tiles.png
index 7d923b505..2aa68bb2a 100644
--- a/data/tilesets/secondary/dewford_gym/tiles.png
+++ b/data/tilesets/secondary/dewford_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/0/0.png b/data/tilesets/secondary/elite_four/anim/0/0.png
index 806d26e57..108a2099b 100644
--- a/data/tilesets/secondary/elite_four/anim/0/0.png
+++ b/data/tilesets/secondary/elite_four/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/0/1.png b/data/tilesets/secondary/elite_four/anim/0/1.png
index 2a8e6a31c..64b23f061 100644
--- a/data/tilesets/secondary/elite_four/anim/0/1.png
+++ b/data/tilesets/secondary/elite_four/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/0/2.png b/data/tilesets/secondary/elite_four/anim/0/2.png
index c4e6161a6..0d9f603fc 100644
--- a/data/tilesets/secondary/elite_four/anim/0/2.png
+++ b/data/tilesets/secondary/elite_four/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/0/3.png b/data/tilesets/secondary/elite_four/anim/0/3.png
index 2a8e6a31c..64b23f061 100644
--- a/data/tilesets/secondary/elite_four/anim/0/3.png
+++ b/data/tilesets/secondary/elite_four/anim/0/3.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/0.png b/data/tilesets/secondary/elite_four/anim/1/0.png
index 7822d1896..6e508308b 100644
--- a/data/tilesets/secondary/elite_four/anim/1/0.png
+++ b/data/tilesets/secondary/elite_four/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/1.png b/data/tilesets/secondary/elite_four/anim/1/1.png
index 66d60e90b..794f26195 100644
--- a/data/tilesets/secondary/elite_four/anim/1/1.png
+++ b/data/tilesets/secondary/elite_four/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/2.png b/data/tilesets/secondary/elite_four/anim/1/2.png
deleted file mode 100644
index 09fb59fbf..000000000
--- a/data/tilesets/secondary/elite_four/anim/1/2.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/3.png b/data/tilesets/secondary/elite_four/anim/1/3.png
deleted file mode 100644
index 0c7c05034..000000000
--- a/data/tilesets/secondary/elite_four/anim/1/3.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/4.png b/data/tilesets/secondary/elite_four/anim/1/4.png
deleted file mode 100644
index 317db1714..000000000
--- a/data/tilesets/secondary/elite_four/anim/1/4.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/5.png b/data/tilesets/secondary/elite_four/anim/1/5.png
deleted file mode 100644
index d0cbfeb57..000000000
--- a/data/tilesets/secondary/elite_four/anim/1/5.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/6.png b/data/tilesets/secondary/elite_four/anim/1/6.png
deleted file mode 100644
index 4b35ededd..000000000
--- a/data/tilesets/secondary/elite_four/anim/1/6.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/7.png b/data/tilesets/secondary/elite_four/anim/1/7.png
deleted file mode 100644
index dfe698edb..000000000
--- a/data/tilesets/secondary/elite_four/anim/1/7.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/tiles.png b/data/tilesets/secondary/elite_four/tiles.png
index d16b2db03..751f5d8cd 100644
--- a/data/tilesets/secondary/elite_four/tiles.png
+++ b/data/tilesets/secondary/elite_four/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/0.png b/data/tilesets/secondary/ever_grande/anim/0.png
index 7536d08ad..ac03df40b 100644
--- a/data/tilesets/secondary/ever_grande/anim/0.png
+++ b/data/tilesets/secondary/ever_grande/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/1.png b/data/tilesets/secondary/ever_grande/anim/1.png
index 7536d08ad..ac03df40b 100644
--- a/data/tilesets/secondary/ever_grande/anim/1.png
+++ b/data/tilesets/secondary/ever_grande/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/2.png b/data/tilesets/secondary/ever_grande/anim/2.png
index f0835aa3b..4f8baa2a3 100644
--- a/data/tilesets/secondary/ever_grande/anim/2.png
+++ b/data/tilesets/secondary/ever_grande/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/3.png b/data/tilesets/secondary/ever_grande/anim/3.png
index c07cbbd17..f120dee16 100644
--- a/data/tilesets/secondary/ever_grande/anim/3.png
+++ b/data/tilesets/secondary/ever_grande/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/4.png b/data/tilesets/secondary/ever_grande/anim/4.png
index 7536d08ad..ac03df40b 100644
--- a/data/tilesets/secondary/ever_grande/anim/4.png
+++ b/data/tilesets/secondary/ever_grande/anim/4.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/5.png b/data/tilesets/secondary/ever_grande/anim/5.png
index 7536d08ad..ac03df40b 100644
--- a/data/tilesets/secondary/ever_grande/anim/5.png
+++ b/data/tilesets/secondary/ever_grande/anim/5.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/6.png b/data/tilesets/secondary/ever_grande/anim/6.png
index 9b5030306..d7cfd4529 100644
--- a/data/tilesets/secondary/ever_grande/anim/6.png
+++ b/data/tilesets/secondary/ever_grande/anim/6.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/7.png b/data/tilesets/secondary/ever_grande/anim/7.png
index 9b5030306..d7cfd4529 100644
--- a/data/tilesets/secondary/ever_grande/anim/7.png
+++ b/data/tilesets/secondary/ever_grande/anim/7.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/tiles.png b/data/tilesets/secondary/ever_grande/tiles.png
index 943a3f8f4..a8ff3a742 100644
--- a/data/tilesets/secondary/ever_grande/tiles.png
+++ b/data/tilesets/secondary/ever_grande/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/facility/tiles.png b/data/tilesets/secondary/facility/tiles.png
index f99c24150..7f48c6a99 100644
--- a/data/tilesets/secondary/facility/tiles.png
+++ b/data/tilesets/secondary/facility/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/fallarbor/tiles.png b/data/tilesets/secondary/fallarbor/tiles.png
index 21ab321ef..3582d1d03 100644
--- a/data/tilesets/secondary/fallarbor/tiles.png
+++ b/data/tilesets/secondary/fallarbor/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/fortree/tiles.png b/data/tilesets/secondary/fortree/tiles.png
index 78cb1c1ae..9cd688c5e 100644
--- a/data/tilesets/secondary/fortree/tiles.png
+++ b/data/tilesets/secondary/fortree/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/fortree_gym/tiles.png b/data/tilesets/secondary/fortree_gym/tiles.png
index 932b5c06a..aa10752cd 100644
--- a/data/tilesets/secondary/fortree_gym/tiles.png
+++ b/data/tilesets/secondary/fortree_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/generic_building/tiles.png b/data/tilesets/secondary/generic_building/tiles.png
index 6f681f837..4a79b0f04 100644
--- a/data/tilesets/secondary/generic_building/tiles.png
+++ b/data/tilesets/secondary/generic_building/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/inside_of_truck/tiles.png b/data/tilesets/secondary/inside_of_truck/tiles.png
index 65a82e888..59a24b705 100644
--- a/data/tilesets/secondary/inside_of_truck/tiles.png
+++ b/data/tilesets/secondary/inside_of_truck/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/inside_ship/tiles.png b/data/tilesets/secondary/inside_ship/tiles.png
index 77142a755..5ddbe2859 100644
--- a/data/tilesets/secondary/inside_ship/tiles.png
+++ b/data/tilesets/secondary/inside_ship/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/island_harbor/tiles.png b/data/tilesets/secondary/island_harbor/tiles.png
index 82e419e72..12ec2b1df 100644
--- a/data/tilesets/secondary/island_harbor/tiles.png
+++ b/data/tilesets/secondary/island_harbor/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/lab/tiles.png b/data/tilesets/secondary/lab/tiles.png
index 6a213d960..cd401d24a 100644
--- a/data/tilesets/secondary/lab/tiles.png
+++ b/data/tilesets/secondary/lab/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/anim/0.png b/data/tilesets/secondary/lavaridge/anim/0.png
index 303855f71..434041fbd 100644
--- a/data/tilesets/secondary/lavaridge/anim/0.png
+++ b/data/tilesets/secondary/lavaridge/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/anim/1.png b/data/tilesets/secondary/lavaridge/anim/1.png
index 7cdee79e2..ebc028ed4 100644
--- a/data/tilesets/secondary/lavaridge/anim/1.png
+++ b/data/tilesets/secondary/lavaridge/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/anim/2.png b/data/tilesets/secondary/lavaridge/anim/2.png
index b5810b806..aee227f05 100644
--- a/data/tilesets/secondary/lavaridge/anim/2.png
+++ b/data/tilesets/secondary/lavaridge/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/anim/3.png b/data/tilesets/secondary/lavaridge/anim/3.png
index caf7b5698..99149ae62 100644
--- a/data/tilesets/secondary/lavaridge/anim/3.png
+++ b/data/tilesets/secondary/lavaridge/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/tiles.png b/data/tilesets/secondary/lavaridge/tiles.png
index 896c43194..2f6898a0f 100644
--- a/data/tilesets/secondary/lavaridge/tiles.png
+++ b/data/tilesets/secondary/lavaridge/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge_gym/tiles.png b/data/tilesets/secondary/lavaridge_gym/tiles.png
index 8734cc3bf..f5c25c6bb 100644
--- a/data/tilesets/secondary/lavaridge_gym/tiles.png
+++ b/data/tilesets/secondary/lavaridge_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/lilycove/tiles.png b/data/tilesets/secondary/lilycove/tiles.png
index b77f3d379..44111c448 100644
--- a/data/tilesets/secondary/lilycove/tiles.png
+++ b/data/tilesets/secondary/lilycove/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/lilycove_museum/tiles.png b/data/tilesets/secondary/lilycove_museum/tiles.png
index 5bcc0ecfe..d0f0cf036 100644
--- a/data/tilesets/secondary/lilycove_museum/tiles.png
+++ b/data/tilesets/secondary/lilycove_museum/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/0.png b/data/tilesets/secondary/mauville/anim/0/a/0.png
index 88b028b52..b20c5470e 100644
--- a/data/tilesets/secondary/mauville/anim/0/a/0.png
+++ b/data/tilesets/secondary/mauville/anim/0/a/0.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/1.png b/data/tilesets/secondary/mauville/anim/0/a/1.png
index ce4010db2..0587295fc 100644
--- a/data/tilesets/secondary/mauville/anim/0/a/1.png
+++ b/data/tilesets/secondary/mauville/anim/0/a/1.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/2.png b/data/tilesets/secondary/mauville/anim/0/a/2.png
index 5ea20f6db..af0dd4ffe 100644
--- a/data/tilesets/secondary/mauville/anim/0/a/2.png
+++ b/data/tilesets/secondary/mauville/anim/0/a/2.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/3.png b/data/tilesets/secondary/mauville/anim/0/a/3.png
index fdf4d30bf..bc132f2ef 100644
--- a/data/tilesets/secondary/mauville/anim/0/a/3.png
+++ b/data/tilesets/secondary/mauville/anim/0/a/3.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/4.png b/data/tilesets/secondary/mauville/anim/0/a/4.png
deleted file mode 100644
index c8097808c..000000000
--- a/data/tilesets/secondary/mauville/anim/0/a/4.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/5.png b/data/tilesets/secondary/mauville/anim/0/a/5.png
deleted file mode 100644
index 88b028b52..000000000
--- a/data/tilesets/secondary/mauville/anim/0/a/5.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/6.png b/data/tilesets/secondary/mauville/anim/0/a/6.png
deleted file mode 100644
index ce4010db2..000000000
--- a/data/tilesets/secondary/mauville/anim/0/a/6.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/7.png b/data/tilesets/secondary/mauville/anim/0/a/7.png
deleted file mode 100644
index 5ea20f6db..000000000
--- a/data/tilesets/secondary/mauville/anim/0/a/7.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/8.png b/data/tilesets/secondary/mauville/anim/0/a/8.png
deleted file mode 100644
index fdf4d30bf..000000000
--- a/data/tilesets/secondary/mauville/anim/0/a/8.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/9.png b/data/tilesets/secondary/mauville/anim/0/a/9.png
deleted file mode 100644
index c8097808c..000000000
--- a/data/tilesets/secondary/mauville/anim/0/a/9.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/0.png b/data/tilesets/secondary/mauville/anim/0/b/0.png
index 88b028b52..b20c5470e 100644
--- a/data/tilesets/secondary/mauville/anim/0/b/0.png
+++ b/data/tilesets/secondary/mauville/anim/0/b/0.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/1.png b/data/tilesets/secondary/mauville/anim/0/b/1.png
index ce4010db2..0587295fc 100644
--- a/data/tilesets/secondary/mauville/anim/0/b/1.png
+++ b/data/tilesets/secondary/mauville/anim/0/b/1.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/2.png b/data/tilesets/secondary/mauville/anim/0/b/2.png
index 5ea20f6db..af0dd4ffe 100644
--- a/data/tilesets/secondary/mauville/anim/0/b/2.png
+++ b/data/tilesets/secondary/mauville/anim/0/b/2.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/3.png b/data/tilesets/secondary/mauville/anim/0/b/3.png
index fdf4d30bf..bc132f2ef 100644
--- a/data/tilesets/secondary/mauville/anim/0/b/3.png
+++ b/data/tilesets/secondary/mauville/anim/0/b/3.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/4.png b/data/tilesets/secondary/mauville/anim/0/b/4.png
deleted file mode 100644
index 91f368cf8..000000000
--- a/data/tilesets/secondary/mauville/anim/0/b/4.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/5.png b/data/tilesets/secondary/mauville/anim/0/b/5.png
deleted file mode 100644
index 91f368cf8..000000000
--- a/data/tilesets/secondary/mauville/anim/0/b/5.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/6.png b/data/tilesets/secondary/mauville/anim/0/b/6.png
deleted file mode 100644
index 91f368cf8..000000000
--- a/data/tilesets/secondary/mauville/anim/0/b/6.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/7.png b/data/tilesets/secondary/mauville/anim/0/b/7.png
deleted file mode 100644
index 91f368cf8..000000000
--- a/data/tilesets/secondary/mauville/anim/0/b/7.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/a/0.png b/data/tilesets/secondary/mauville/anim/1/a/0.png
deleted file mode 100644
index 88b028b52..000000000
--- a/data/tilesets/secondary/mauville/anim/1/a/0.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/a/1.png b/data/tilesets/secondary/mauville/anim/1/a/1.png
index c8097808c..911b980a3 100644
--- a/data/tilesets/secondary/mauville/anim/1/a/1.png
+++ b/data/tilesets/secondary/mauville/anim/1/a/1.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/a/2.png b/data/tilesets/secondary/mauville/anim/1/a/2.png
deleted file mode 100644
index 5ea20f6db..000000000
--- a/data/tilesets/secondary/mauville/anim/1/a/2.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/a/3.png b/data/tilesets/secondary/mauville/anim/1/a/3.png
deleted file mode 100644
index fdf4d30bf..000000000
--- a/data/tilesets/secondary/mauville/anim/1/a/3.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/0.png b/data/tilesets/secondary/mauville/anim/1/b/0.png
deleted file mode 100644
index 88b028b52..000000000
--- a/data/tilesets/secondary/mauville/anim/1/b/0.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/1.png b/data/tilesets/secondary/mauville/anim/1/b/1.png
index c8097808c..911b980a3 100644
--- a/data/tilesets/secondary/mauville/anim/1/b/1.png
+++ b/data/tilesets/secondary/mauville/anim/1/b/1.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/2.png b/data/tilesets/secondary/mauville/anim/1/b/2.png
deleted file mode 100644
index 5ea20f6db..000000000
--- a/data/tilesets/secondary/mauville/anim/1/b/2.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/3.png b/data/tilesets/secondary/mauville/anim/1/b/3.png
deleted file mode 100644
index fdf4d30bf..000000000
--- a/data/tilesets/secondary/mauville/anim/1/b/3.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/4.png b/data/tilesets/secondary/mauville/anim/1/b/4.png
deleted file mode 100644
index 44564e67a..000000000
--- a/data/tilesets/secondary/mauville/anim/1/b/4.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/5.png b/data/tilesets/secondary/mauville/anim/1/b/5.png
deleted file mode 100644
index 47e7e17ee..000000000
--- a/data/tilesets/secondary/mauville/anim/1/b/5.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/6.png b/data/tilesets/secondary/mauville/anim/1/b/6.png
deleted file mode 100644
index d1447cde2..000000000
--- a/data/tilesets/secondary/mauville/anim/1/b/6.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/7.png b/data/tilesets/secondary/mauville/anim/1/b/7.png
deleted file mode 100644
index 8ad81b1e1..000000000
--- a/data/tilesets/secondary/mauville/anim/1/b/7.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville/tiles.png b/data/tilesets/secondary/mauville/tiles.png
index e4ce0d4f8..208a052c5 100644
--- a/data/tilesets/secondary/mauville/tiles.png
+++ b/data/tilesets/secondary/mauville/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville_game_corner/tiles.png b/data/tilesets/secondary/mauville_game_corner/tiles.png
index 3f7f565c9..50e341fde 100644
--- a/data/tilesets/secondary/mauville_game_corner/tiles.png
+++ b/data/tilesets/secondary/mauville_game_corner/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/anim/0.png b/data/tilesets/secondary/mauville_gym/anim/0.png
index 090fe6a1a..ebf603978 100644
--- a/data/tilesets/secondary/mauville_gym/anim/0.png
+++ b/data/tilesets/secondary/mauville_gym/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/anim/1.png b/data/tilesets/secondary/mauville_gym/anim/1.png
index 48f325890..34072707f 100644
--- a/data/tilesets/secondary/mauville_gym/anim/1.png
+++ b/data/tilesets/secondary/mauville_gym/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/anim/2.png b/data/tilesets/secondary/mauville_gym/anim/2.png
deleted file mode 100644
index 16652df19..000000000
--- a/data/tilesets/secondary/mauville_gym/anim/2.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/anim/3.png b/data/tilesets/secondary/mauville_gym/anim/3.png
deleted file mode 100644
index 8ea7a49e6..000000000
--- a/data/tilesets/secondary/mauville_gym/anim/3.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/tiles.png b/data/tilesets/secondary/mauville_gym/tiles.png
index 5606bb101..04c2f9394 100644
--- a/data/tilesets/secondary/mauville_gym/tiles.png
+++ b/data/tilesets/secondary/mauville_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/meteor_falls/tiles.png b/data/tilesets/secondary/meteor_falls/tiles.png
index 9c7532805..9d47866bd 100644
--- a/data/tilesets/secondary/meteor_falls/tiles.png
+++ b/data/tilesets/secondary/meteor_falls/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mirage_tower/tiles.png b/data/tilesets/secondary/mirage_tower/tiles.png
index fd2904ca1..0d7ee0d68 100644
--- a/data/tilesets/secondary/mirage_tower/tiles.png
+++ b/data/tilesets/secondary/mirage_tower/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep/tiles.png b/data/tilesets/secondary/mossdeep/tiles.png
index 818406b23..cc4591f88 100644
--- a/data/tilesets/secondary/mossdeep/tiles.png
+++ b/data/tilesets/secondary/mossdeep/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep_game_corner/tiles.png b/data/tilesets/secondary/mossdeep_game_corner/tiles.png
index f09edf436..cfe709805 100644
--- a/data/tilesets/secondary/mossdeep_game_corner/tiles.png
+++ b/data/tilesets/secondary/mossdeep_game_corner/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep_gym/tiles.png b/data/tilesets/secondary/mossdeep_gym/tiles.png
index 36a0873a4..357774a42 100644
--- a/data/tilesets/secondary/mossdeep_gym/tiles.png
+++ b/data/tilesets/secondary/mossdeep_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mystery_events_house/tiles.png b/data/tilesets/secondary/mystery_events_house/tiles.png
index 5afa07fcf..778ca7865 100644
--- a/data/tilesets/secondary/mystery_events_house/tiles.png
+++ b/data/tilesets/secondary/mystery_events_house/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/navel_rock/tiles.png b/data/tilesets/secondary/navel_rock/tiles.png
index ffbc04584..288e50b44 100644
--- a/data/tilesets/secondary/navel_rock/tiles.png
+++ b/data/tilesets/secondary/navel_rock/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/oceanic_museum/tiles.png b/data/tilesets/secondary/oceanic_museum/tiles.png
index a074d4a05..bda540d6b 100644
--- a/data/tilesets/secondary/oceanic_museum/tiles.png
+++ b/data/tilesets/secondary/oceanic_museum/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/0/0.png b/data/tilesets/secondary/pacifidlog/anim/0/0.png
index e7bcfd743..316eb500e 100644
--- a/data/tilesets/secondary/pacifidlog/anim/0/0.png
+++ b/data/tilesets/secondary/pacifidlog/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/0/1.png b/data/tilesets/secondary/pacifidlog/anim/0/1.png
index dde024f6e..ee9d4316e 100644
--- a/data/tilesets/secondary/pacifidlog/anim/0/1.png
+++ b/data/tilesets/secondary/pacifidlog/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/0/2.png b/data/tilesets/secondary/pacifidlog/anim/0/2.png
index 1a4cea24d..221a71585 100644
--- a/data/tilesets/secondary/pacifidlog/anim/0/2.png
+++ b/data/tilesets/secondary/pacifidlog/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/0.png b/data/tilesets/secondary/pacifidlog/anim/1/0.png
index beb8ee82d..6d432eb25 100644
--- a/data/tilesets/secondary/pacifidlog/anim/1/0.png
+++ b/data/tilesets/secondary/pacifidlog/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/1.png b/data/tilesets/secondary/pacifidlog/anim/1/1.png
index 594655120..7588b8a72 100644
--- a/data/tilesets/secondary/pacifidlog/anim/1/1.png
+++ b/data/tilesets/secondary/pacifidlog/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/2.png b/data/tilesets/secondary/pacifidlog/anim/1/2.png
index 747306d5c..2a11e5065 100644
--- a/data/tilesets/secondary/pacifidlog/anim/1/2.png
+++ b/data/tilesets/secondary/pacifidlog/anim/1/2.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/3.png b/data/tilesets/secondary/pacifidlog/anim/1/3.png
index 20e0a7cdd..be4089ff4 100644
--- a/data/tilesets/secondary/pacifidlog/anim/1/3.png
+++ b/data/tilesets/secondary/pacifidlog/anim/1/3.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/4.png b/data/tilesets/secondary/pacifidlog/anim/1/4.png
index 7b74ee349..4c16111de 100644
--- a/data/tilesets/secondary/pacifidlog/anim/1/4.png
+++ b/data/tilesets/secondary/pacifidlog/anim/1/4.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/5.png b/data/tilesets/secondary/pacifidlog/anim/1/5.png
index b135bdfbe..93bbc6375 100644
--- a/data/tilesets/secondary/pacifidlog/anim/1/5.png
+++ b/data/tilesets/secondary/pacifidlog/anim/1/5.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/6.png b/data/tilesets/secondary/pacifidlog/anim/1/6.png
index 4eae151e6..b08f5a0d9 100644
--- a/data/tilesets/secondary/pacifidlog/anim/1/6.png
+++ b/data/tilesets/secondary/pacifidlog/anim/1/6.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/7.png b/data/tilesets/secondary/pacifidlog/anim/1/7.png
index f1863fdd5..1a5f0ae5c 100644
--- a/data/tilesets/secondary/pacifidlog/anim/1/7.png
+++ b/data/tilesets/secondary/pacifidlog/anim/1/7.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/tiles.png b/data/tilesets/secondary/pacifidlog/tiles.png
index 94fe6d96b..9fe620e1e 100644
--- a/data/tilesets/secondary/pacifidlog/tiles.png
+++ b/data/tilesets/secondary/pacifidlog/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/petalburg/tiles.png b/data/tilesets/secondary/petalburg/tiles.png
index dd0e23ca4..00d6d94a4 100644
--- a/data/tilesets/secondary/petalburg/tiles.png
+++ b/data/tilesets/secondary/petalburg/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/petalburg_gym/tiles.png b/data/tilesets/secondary/petalburg_gym/tiles.png
index cb7c40e5a..87cd3c556 100644
--- a/data/tilesets/secondary/petalburg_gym/tiles.png
+++ b/data/tilesets/secondary/petalburg_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_center/tiles.png b/data/tilesets/secondary/pokemon_center/tiles.png
index 673746c5a..c54b078d4 100644
--- a/data/tilesets/secondary/pokemon_center/tiles.png
+++ b/data/tilesets/secondary/pokemon_center/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_day_care/tiles.png b/data/tilesets/secondary/pokemon_day_care/tiles.png
index 76cd9ab96..a45206efc 100644
--- a/data/tilesets/secondary/pokemon_day_care/tiles.png
+++ b/data/tilesets/secondary/pokemon_day_care/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_fan_club/tiles.png b/data/tilesets/secondary/pokemon_fan_club/tiles.png
index 62dd0f03f..fa42a5ef1 100644
--- a/data/tilesets/secondary/pokemon_fan_club/tiles.png
+++ b/data/tilesets/secondary/pokemon_fan_club/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_school/tiles.png b/data/tilesets/secondary/pokemon_school/tiles.png
index 20e3f32c8..8ea0e8fbd 100644
--- a/data/tilesets/secondary/pokemon_school/tiles.png
+++ b/data/tilesets/secondary/pokemon_school/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pretty_petal_flower_shop/tiles.png b/data/tilesets/secondary/pretty_petal_flower_shop/tiles.png
index f10306e7a..daf4e05b4 100644
--- a/data/tilesets/secondary/pretty_petal_flower_shop/tiles.png
+++ b/data/tilesets/secondary/pretty_petal_flower_shop/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/0.png b/data/tilesets/secondary/rustboro/anim/0/0.png
index 358745e4b..af00b97c7 100644
--- a/data/tilesets/secondary/rustboro/anim/0/0.png
+++ b/data/tilesets/secondary/rustboro/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/1.png b/data/tilesets/secondary/rustboro/anim/0/1.png
index f5a095b15..20b1ef630 100644
--- a/data/tilesets/secondary/rustboro/anim/0/1.png
+++ b/data/tilesets/secondary/rustboro/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/2.png b/data/tilesets/secondary/rustboro/anim/0/2.png
index 91f368cf8..44c4b2cdc 100644
--- a/data/tilesets/secondary/rustboro/anim/0/2.png
+++ b/data/tilesets/secondary/rustboro/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/3.png b/data/tilesets/secondary/rustboro/anim/0/3.png
index 91f368cf8..44c4b2cdc 100644
--- a/data/tilesets/secondary/rustboro/anim/0/3.png
+++ b/data/tilesets/secondary/rustboro/anim/0/3.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/4.png b/data/tilesets/secondary/rustboro/anim/0/4.png
index 91f368cf8..44c4b2cdc 100644
--- a/data/tilesets/secondary/rustboro/anim/0/4.png
+++ b/data/tilesets/secondary/rustboro/anim/0/4.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/5.png b/data/tilesets/secondary/rustboro/anim/0/5.png
index 91f368cf8..44c4b2cdc 100644
--- a/data/tilesets/secondary/rustboro/anim/0/5.png
+++ b/data/tilesets/secondary/rustboro/anim/0/5.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/6.png b/data/tilesets/secondary/rustboro/anim/0/6.png
index 91f368cf8..44c4b2cdc 100644
--- a/data/tilesets/secondary/rustboro/anim/0/6.png
+++ b/data/tilesets/secondary/rustboro/anim/0/6.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/7.png b/data/tilesets/secondary/rustboro/anim/0/7.png
index 91f368cf8..44c4b2cdc 100644
--- a/data/tilesets/secondary/rustboro/anim/0/7.png
+++ b/data/tilesets/secondary/rustboro/anim/0/7.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/1/0.png b/data/tilesets/secondary/rustboro/anim/1/0.png
index 75bd2f8a4..07471595b 100644
--- a/data/tilesets/secondary/rustboro/anim/1/0.png
+++ b/data/tilesets/secondary/rustboro/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/1/1.png b/data/tilesets/secondary/rustboro/anim/1/1.png
index 9f8b3a02f..408f2b03a 100644
--- a/data/tilesets/secondary/rustboro/anim/1/1.png
+++ b/data/tilesets/secondary/rustboro/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/1/2.png b/data/tilesets/secondary/rustboro/anim/1/2.png
deleted file mode 100644
index 86075ffb0..000000000
--- a/data/tilesets/secondary/rustboro/anim/1/2.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/1/3.png b/data/tilesets/secondary/rustboro/anim/1/3.png
deleted file mode 100644
index 6e3c57621..000000000
--- a/data/tilesets/secondary/rustboro/anim/1/3.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/tiles.png b/data/tilesets/secondary/rustboro/tiles.png
index fbfc72d46..c3a3bfbab 100644
--- a/data/tilesets/secondary/rustboro/tiles.png
+++ b/data/tilesets/secondary/rustboro/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro_gym/tiles.png b/data/tilesets/secondary/rustboro_gym/tiles.png
index d4ebc14a1..82ba1c51c 100644
--- a/data/tilesets/secondary/rustboro_gym/tiles.png
+++ b/data/tilesets/secondary/rustboro_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/rusturf_tunnel/tiles.png b/data/tilesets/secondary/rusturf_tunnel/tiles.png
index 913935f77..8d6d13c05 100644
--- a/data/tilesets/secondary/rusturf_tunnel/tiles.png
+++ b/data/tilesets/secondary/rusturf_tunnel/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/seashore_house/tiles.png b/data/tilesets/secondary/seashore_house/tiles.png
index ea48f5006..14100fa06 100644
--- a/data/tilesets/secondary/seashore_house/tiles.png
+++ b/data/tilesets/secondary/seashore_house/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/blue_cave/tiles.png b/data/tilesets/secondary/secret_base/blue_cave/tiles.png
index 9d820463b..ed7126297 100644
--- a/data/tilesets/secondary/secret_base/blue_cave/tiles.png
+++ b/data/tilesets/secondary/secret_base/blue_cave/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/blue_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/blue_cave/unused_tiles.png
index 1e42fed54..ed7126297 100644
--- a/data/tilesets/secondary/secret_base/blue_cave/unused_tiles.png
+++ b/data/tilesets/secondary/secret_base/blue_cave/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/brown_cave/tiles.png b/data/tilesets/secondary/secret_base/brown_cave/tiles.png
index a1c8bfe72..7beb706d9 100644
--- a/data/tilesets/secondary/secret_base/brown_cave/tiles.png
+++ b/data/tilesets/secondary/secret_base/brown_cave/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/brown_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/brown_cave/unused_tiles.png
index dfd187d51..7beb706d9 100644
--- a/data/tilesets/secondary/secret_base/brown_cave/unused_tiles.png
+++ b/data/tilesets/secondary/secret_base/brown_cave/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/red_cave/tiles.png b/data/tilesets/secondary/secret_base/red_cave/tiles.png
index 2652f6bbf..5146810e1 100644
--- a/data/tilesets/secondary/secret_base/red_cave/tiles.png
+++ b/data/tilesets/secondary/secret_base/red_cave/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/red_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/red_cave/unused_tiles.png
index 5cfebd309..5146810e1 100644
--- a/data/tilesets/secondary/secret_base/red_cave/unused_tiles.png
+++ b/data/tilesets/secondary/secret_base/red_cave/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/shrub/tiles.png b/data/tilesets/secondary/secret_base/shrub/tiles.png
index 692141b04..a64727c6e 100644
--- a/data/tilesets/secondary/secret_base/shrub/tiles.png
+++ b/data/tilesets/secondary/secret_base/shrub/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/shrub/unused_tiles.png b/data/tilesets/secondary/secret_base/shrub/unused_tiles.png
index 461d620ae..a64727c6e 100644
--- a/data/tilesets/secondary/secret_base/shrub/unused_tiles.png
+++ b/data/tilesets/secondary/secret_base/shrub/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/tree/tiles.png b/data/tilesets/secondary/secret_base/tree/tiles.png
index 94887cc1f..f07999cb0 100644
--- a/data/tilesets/secondary/secret_base/tree/tiles.png
+++ b/data/tilesets/secondary/secret_base/tree/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/tree/unused_tiles.png b/data/tilesets/secondary/secret_base/tree/unused_tiles.png
index 567cf7800..f07999cb0 100644
--- a/data/tilesets/secondary/secret_base/tree/unused_tiles.png
+++ b/data/tilesets/secondary/secret_base/tree/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/yellow_cave/tiles.png b/data/tilesets/secondary/secret_base/yellow_cave/tiles.png
index b171b5ec6..d4535523b 100644
--- a/data/tilesets/secondary/secret_base/yellow_cave/tiles.png
+++ b/data/tilesets/secondary/secret_base/yellow_cave/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.png
index f825201cc..d4535523b 100644
--- a/data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.png
+++ b/data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/shop/tiles.png b/data/tilesets/secondary/shop/tiles.png
index f253a2e53..5911ee42c 100644
--- a/data/tilesets/secondary/shop/tiles.png
+++ b/data/tilesets/secondary/shop/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/slateport/anim/0.png b/data/tilesets/secondary/slateport/anim/0.png
index ef62c4143..28bf60f26 100644
--- a/data/tilesets/secondary/slateport/anim/0.png
+++ b/data/tilesets/secondary/slateport/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/slateport/anim/1.png b/data/tilesets/secondary/slateport/anim/1.png
index 9b926bdfc..31d22f697 100644
--- a/data/tilesets/secondary/slateport/anim/1.png
+++ b/data/tilesets/secondary/slateport/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/slateport/anim/2.png b/data/tilesets/secondary/slateport/anim/2.png
index c5974f105..83b0e3940 100644
--- a/data/tilesets/secondary/slateport/anim/2.png
+++ b/data/tilesets/secondary/slateport/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/slateport/anim/3.png b/data/tilesets/secondary/slateport/anim/3.png
index 9b926bdfc..31d22f697 100644
--- a/data/tilesets/secondary/slateport/anim/3.png
+++ b/data/tilesets/secondary/slateport/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/slateport/tiles.png b/data/tilesets/secondary/slateport/tiles.png
index d8661b99a..ff7588d2d 100644
--- a/data/tilesets/secondary/slateport/tiles.png
+++ b/data/tilesets/secondary/slateport/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/0.png b/data/tilesets/secondary/sootopolis/anim/0.png
index 63f97ad47..6ae032652 100644
--- a/data/tilesets/secondary/sootopolis/anim/0.png
+++ b/data/tilesets/secondary/sootopolis/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/1.png b/data/tilesets/secondary/sootopolis/anim/1.png
index aa14ec04a..5bf8f7a98 100644
--- a/data/tilesets/secondary/sootopolis/anim/1.png
+++ b/data/tilesets/secondary/sootopolis/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/2.png b/data/tilesets/secondary/sootopolis/anim/2.png
index 09fb59fbf..85598e145 100644
--- a/data/tilesets/secondary/sootopolis/anim/2.png
+++ b/data/tilesets/secondary/sootopolis/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/3.png b/data/tilesets/secondary/sootopolis/anim/3.png
index 0c7c05034..c7aad10c7 100644
--- a/data/tilesets/secondary/sootopolis/anim/3.png
+++ b/data/tilesets/secondary/sootopolis/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/4.png b/data/tilesets/secondary/sootopolis/anim/4.png
index 317db1714..ec446b9db 100644
--- a/data/tilesets/secondary/sootopolis/anim/4.png
+++ b/data/tilesets/secondary/sootopolis/anim/4.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/5.png b/data/tilesets/secondary/sootopolis/anim/5.png
index d0cbfeb57..cbe1769c0 100644
--- a/data/tilesets/secondary/sootopolis/anim/5.png
+++ b/data/tilesets/secondary/sootopolis/anim/5.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/6.png b/data/tilesets/secondary/sootopolis/anim/6.png
index 4b35ededd..690c5fd8e 100644
--- a/data/tilesets/secondary/sootopolis/anim/6.png
+++ b/data/tilesets/secondary/sootopolis/anim/6.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/7.png b/data/tilesets/secondary/sootopolis/anim/7.png
index dfe698edb..e4026a02f 100644
--- a/data/tilesets/secondary/sootopolis/anim/7.png
+++ b/data/tilesets/secondary/sootopolis/anim/7.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/tiles.png b/data/tilesets/secondary/sootopolis/tiles.png
index 92df774ae..d27c817f0 100644
--- a/data/tilesets/secondary/sootopolis/tiles.png
+++ b/data/tilesets/secondary/sootopolis/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/0.png b/data/tilesets/secondary/sootopolis_gym/anim/0/0.png
index f0ec1ac00..180b5522e 100644
--- a/data/tilesets/secondary/sootopolis_gym/anim/0/0.png
+++ b/data/tilesets/secondary/sootopolis_gym/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/1.png b/data/tilesets/secondary/sootopolis_gym/anim/0/1.png
index 4fefe4598..af3ab12d2 100644
--- a/data/tilesets/secondary/sootopolis_gym/anim/0/1.png
+++ b/data/tilesets/secondary/sootopolis_gym/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/2.png b/data/tilesets/secondary/sootopolis_gym/anim/0/2.png
index f603b3046..8481c0cde 100644
--- a/data/tilesets/secondary/sootopolis_gym/anim/0/2.png
+++ b/data/tilesets/secondary/sootopolis_gym/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/3.png b/data/tilesets/secondary/sootopolis_gym/anim/0/3.png
deleted file mode 100644
index 2a8e6a31c..000000000
--- a/data/tilesets/secondary/sootopolis_gym/anim/0/3.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/1/0.png b/data/tilesets/secondary/sootopolis_gym/anim/1/0.png
index e0f807ef4..dc6cf500e 100644
--- a/data/tilesets/secondary/sootopolis_gym/anim/1/0.png
+++ b/data/tilesets/secondary/sootopolis_gym/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/1/1.png b/data/tilesets/secondary/sootopolis_gym/anim/1/1.png
index 08413b63c..93dd79753 100644
--- a/data/tilesets/secondary/sootopolis_gym/anim/1/1.png
+++ b/data/tilesets/secondary/sootopolis_gym/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/1/2.png b/data/tilesets/secondary/sootopolis_gym/anim/1/2.png
index 6681b5e96..30961482c 100644
--- a/data/tilesets/secondary/sootopolis_gym/anim/1/2.png
+++ b/data/tilesets/secondary/sootopolis_gym/anim/1/2.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/tiles.png b/data/tilesets/secondary/sootopolis_gym/tiles.png
index 4f6b25769..de097c92c 100644
--- a/data/tilesets/secondary/sootopolis_gym/tiles.png
+++ b/data/tilesets/secondary/sootopolis_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/trainer_hill/tiles.png b/data/tilesets/secondary/trainer_hill/tiles.png
index 78d292513..bfc0a3d9a 100644
--- a/data/tilesets/secondary/trainer_hill/tiles.png
+++ b/data/tilesets/secondary/trainer_hill/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/trick_house_puzzle/tiles.png b/data/tilesets/secondary/trick_house_puzzle/tiles.png
index 5ef1bf9ca..c31e0c0d7 100644
--- a/data/tilesets/secondary/trick_house_puzzle/tiles.png
+++ b/data/tilesets/secondary/trick_house_puzzle/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/underwater/anim/0.png b/data/tilesets/secondary/underwater/anim/0.png
index 7609cc82a..fab28e54f 100644
--- a/data/tilesets/secondary/underwater/anim/0.png
+++ b/data/tilesets/secondary/underwater/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/underwater/anim/1.png b/data/tilesets/secondary/underwater/anim/1.png
index 64cddd371..869bc6060 100644
--- a/data/tilesets/secondary/underwater/anim/1.png
+++ b/data/tilesets/secondary/underwater/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/underwater/anim/2.png b/data/tilesets/secondary/underwater/anim/2.png
index ff6ff8437..64e4b267d 100644
--- a/data/tilesets/secondary/underwater/anim/2.png
+++ b/data/tilesets/secondary/underwater/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/underwater/anim/3.png b/data/tilesets/secondary/underwater/anim/3.png
index 2863c2261..0c1392011 100644
--- a/data/tilesets/secondary/underwater/anim/3.png
+++ b/data/tilesets/secondary/underwater/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/underwater/tiles.png b/data/tilesets/secondary/underwater/tiles.png
index 5af21f353..811b0cae4 100644
--- a/data/tilesets/secondary/underwater/tiles.png
+++ b/data/tilesets/secondary/underwater/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/union_room/tiles.png b/data/tilesets/secondary/union_room/tiles.png
index b38ffe9e5..f5ab3a9cb 100644
--- a/data/tilesets/secondary/union_room/tiles.png
+++ b/data/tilesets/secondary/union_room/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/0.png b/data/tilesets/secondary/unused_1/0.png
index bea921d90..ab462ba21 100644
--- a/data/tilesets/secondary/unused_1/0.png
+++ b/data/tilesets/secondary/unused_1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/1.png b/data/tilesets/secondary/unused_1/1.png
index bea921d90..ab462ba21 100644
--- a/data/tilesets/secondary/unused_1/1.png
+++ b/data/tilesets/secondary/unused_1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/2.png b/data/tilesets/secondary/unused_1/2.png
index 16652df19..703e0109a 100644
--- a/data/tilesets/secondary/unused_1/2.png
+++ b/data/tilesets/secondary/unused_1/2.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/3.png b/data/tilesets/secondary/unused_1/3.png
index 8ea7a49e6..50d5068d7 100644
--- a/data/tilesets/secondary/unused_1/3.png
+++ b/data/tilesets/secondary/unused_1/3.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/tiles.png b/data/tilesets/secondary/unused_1/tiles.png
index 3ae8bce42..9347405d4 100644
--- a/data/tilesets/secondary/unused_1/tiles.png
+++ b/data/tilesets/secondary/unused_1/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/0.png b/data/tilesets/secondary/unused_2/0.png
index 2895d3319..2887a970d 100644
--- a/data/tilesets/secondary/unused_2/0.png
+++ b/data/tilesets/secondary/unused_2/0.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/1.png b/data/tilesets/secondary/unused_2/1.png
index 63c22acf2..2eb2b90f1 100644
--- a/data/tilesets/secondary/unused_2/1.png
+++ b/data/tilesets/secondary/unused_2/1.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/2.png b/data/tilesets/secondary/unused_2/2.png
deleted file mode 100644
index d1447cde2..000000000
--- a/data/tilesets/secondary/unused_2/2.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/3.png b/data/tilesets/secondary/unused_2/3.png
deleted file mode 100644
index 8ad81b1e1..000000000
--- a/data/tilesets/secondary/unused_2/3.png
+++ /dev/null
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/tiles.png b/data/tilesets/secondary/unused_2/tiles.png
index 2ab3b63d6..d734e826d 100644
--- a/data/tilesets/secondary/unused_2/tiles.png
+++ b/data/tilesets/secondary/unused_2/tiles.png
Binary files differ
diff --git a/include/pokemon.h b/include/pokemon.h
index abfb360f0..9eddd8155 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -268,12 +268,12 @@ struct UnknownPokemonStruct3
struct Unknown_806F160_Struct
{
- u8 field_0_0 : 4;
- u8 field_0_1 : 4;
+ u8 field_0_0:4;
+ u8 field_0_1:4;
u8 field_1;
u8 magic;
- u8 field_3_0 : 4;
- u8 field_3_1 : 4;
+ u8 field_3_0:4;
+ u8 field_3_1:4;
void *bytes;
u8 **byteArrays;
struct SpriteTemplate *templates;
diff --git a/include/rom_8034C54.h b/include/rom_8034C54.h
index 9ad84ca13..4da324dd1 100644
--- a/include/rom_8034C54.h
+++ b/include/rom_8034C54.h
@@ -21,6 +21,6 @@ bool32 sub_8034D14(u32 id, s32 arg1, const struct UnkStruct3 *arg2);
void sub_8035044(u32 id, s32 arg1);
void sub_80353DC(u32 id);
void sub_803547C(u32 id, bool32 arg1);
-u8 sub_80355F8(u32 arg0, u32 arg1);
+u8 sub_80355F8(u32 shape, u32 size);
#endif // GUARD_ROM_8034C54_H
diff --git a/include/rom_81520A8.h b/include/rom_81520A8.h
new file mode 100644
index 000000000..2be12200f
--- /dev/null
+++ b/include/rom_81520A8.h
@@ -0,0 +1,33 @@
+#ifndef GUARD_ROM_81520A8_H
+#define GUARD_ROM_81520A8_H
+
+struct UnkStruct_81520A8
+{
+ struct OamData oam;
+ s16 x;
+ s16 y;
+ s16 xDelta;
+ s16 yDelta;
+ u16 tileTag;
+ u16 palTag;
+ u16 tileNum;
+ u8 id;
+ u8 filler17; // Unused.
+ u8 unk18;
+ u8 unk19_0:1;
+ u8 unk19_1:1;
+ u8 unk19_2:1;
+ u8 priority:2;
+ s16 data[8];
+ void (*callback)(struct UnkStruct_81520A8 *);
+};
+
+bool32 sub_81521C0(u8 count);
+bool32 sub_8152254(void);
+bool32 sub_81522D4(void);
+u8 sub_8152438(u8 id, void (*func)(struct UnkStruct_81520A8 *));
+u8 sub_8152474(u8 id, u8 dataArrayId, s16 dataValue);
+u8 sub_81524C4(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 arg5, u8 priority);
+u8 sub_81525D0(u8 id);
+
+#endif // GUARD_ROM_81520A8_H
diff --git a/ld_script.txt b/ld_script.txt
index e2ea3e542..430bbe981 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -198,7 +198,7 @@ SECTIONS {
asm/cable_car.o(.text);
src/math_util.o(.text);
asm/roulette_util.o(.text);
- asm/cable_car_util.o(.text);
+ src/rom_81520A8.o(.text);
src/save.o(.text);
src/mystery_event_script.o(.text);
asm/field_effect_helpers.o(.text);
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index 3c126aeec..b3179ed3d 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -1552,10 +1552,10 @@ static void OpponentHandleChooseMove(void)
switch (chosenMoveId)
{
- case 5:
+ case AI_CHOICE_WATCH:
BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_WATCH_CAREFULLY, 0);
break;
- case 4:
+ case AI_CHOICE_FLEE:
BtlController_EmitTwoReturnValues(1, B_ACTION_RUN, 0);
break;
case 6:
diff --git a/src/data/text/abilities.h b/src/data/text/abilities.h
index 3a1e989d2..97c29f9ee 100644
--- a/src/data/text/abilities.h
+++ b/src/data/text/abilities.h
@@ -1,247 +1,242 @@
-#ifndef POKEEMERALD_DATA_TEXT_ABILITIES_H
-#define POKEEMERALD_DATA_TEXT_ABILITIES_H
-
-static const u8 gNoneAbilityDescription[] = _("No special ability.");
-static const u8 gStenchAbilityDescription[] = _("Helps repel wild POKéMON.");
-static const u8 gDrizzleAbilityDescription[] = _("Summons rain in battle.");
-static const u8 gSpeedBoostAbilityDescription[] = _("Gradually boosts SPEED.");
-static const u8 gBattleArmorAbilityDescription[] = _("Blocks critical hits.");
-static const u8 gSturdyAbilityDescription[] = _("Negates 1-hit KO attacks.");
-static const u8 gDampAbilityDescription[] = _("Prevents self-destruction.");
-static const u8 gLimberAbilityDescription[] = _("Prevents paralysis.");
-static const u8 gSandVeilAbilityDescription[] = _("Ups evasion in a sandstorm.");
-static const u8 gStaticAbilityDescription[] = _("Paralyzes on contact.");
-static const u8 gVoltAbsorbAbilityDescription[] = _("Turns electricity into HP.");
-static const u8 gWaterAbsorbAbilityDescription[] = _("Changes water into HP.");
-static const u8 gObliviousAbilityDescription[] = _("Prevents attraction.");
-static const u8 gCloudNineAbilityDescription[] = _("Negates weather effects.");
-static const u8 gCompoundEyesAbilityDescription[] = _("Raises accuracy.");
-static const u8 gInsomniaAbilityDescription[] = _("Prevents sleep.");
-static const u8 gColorChangeAbilityDescription[] = _("Changes type to foe’s move.");
-static const u8 gImmunityAbilityDescription[] = _("Prevents poisoning.");
-static const u8 gFlashFireAbilityDescription[] = _("Powers up if hit by fire.");
-static const u8 gShieldDustAbilityDescription[] = _("Prevents added effects.");
-static const u8 gOwnTempoAbilityDescription[] = _("Prevents confusion.");
-static const u8 gSuctionCupsAbilityDescription[] = _("Firmly anchors the body.");
-static const u8 gIntimidateAbilityDescription[] = _("Lowers the foe’s ATTACK.");
-static const u8 gShadowTagAbilityDescription[] = _("Prevents the foe’s escape.");
-static const u8 gRoughSkinAbilityDescription[] = _("Hurts to touch.");
-static const u8 gWonderGuardAbilityDescription[] = _("“Super effective” hits.");
-static const u8 gLevitateAbilityDescription[] = _("Not hit by GROUND attacks.");
-static const u8 gEffectSporeAbilityDescription[] = _("Leaves spores on contact.");
-static const u8 gSynchronizeAbilityDescription[] = _("Passes on status problems.");
-static const u8 gClearBodyAbilityDescription[] = _("Prevents ability reduction.");
-static const u8 gNaturalCureAbilityDescription[] = _("Heals upon switching out.");
-static const u8 gLightningRodAbilityDescription[] = _("Draws electrical moves.");
-static const u8 gSereneGraceAbilityDescription[] = _("Promotes added effects.");
-static const u8 gSwiftSwimAbilityDescription[] = _("Raises SPEED in rain.");
-static const u8 gChlorophyllAbilityDescription[] = _("Raises SPEED in sunshine.");
-static const u8 gIlluminateAbilityDescription[] = _("Encounter rate increases.");
-static const u8 gTraceAbilityDescription[] = _("Copies special ability.");
-static const u8 gHugePowerAbilityDescription[] = _("Raises ATTACK.");
-static const u8 gPoisonPointAbilityDescription[] = _("Poisons foe on contact.");
-static const u8 gInnerFocusAbilityDescription[] = _("Prevents flinching.");
-static const u8 gMagmaArmorAbilityDescription[] = _("Prevents freezing.");
-static const u8 gWaterVeilAbilityDescription[] = _("Prevents burns.");
-static const u8 gMagnetPullAbilityDescription[] = _("Traps STEEL-type POKéMON.");
-static const u8 gSoundproofAbilityDescription[] = _("Avoids sound-based moves.");
-static const u8 gRainDishAbilityDescription[] = _("Slight HP recovery in rain.");
-static const u8 gSandStreamAbilityDescription[] = _("Summons a sandstorm.");
-static const u8 gPressureAbilityDescription[] = _("Raises foe’s PP usage.");
-static const u8 gThickFatAbilityDescription[] = _("Heat-and-cold protection.");
-static const u8 gEarlyBirdAbilityDescription[] = _("Awakens quickly from sleep.");
-static const u8 gFlameBodyAbilityDescription[] = _("Burns the foe on contact.");
-static const u8 gRunAwayAbilityDescription[] = _("Makes escaping easier.");
-static const u8 gKeenEyeAbilityDescription[] = _("Prevents loss of accuracy.");
-static const u8 gHyperCutterAbilityDescription[] = _("Prevents ATTACK reduction.");
-static const u8 gPickupAbilityDescription[] = _("May pick up items.");
-static const u8 gTruantAbilityDescription[] = _("Moves only every two turns.");
-static const u8 gHustleAbilityDescription[] = _("Trades accuracy for power.");
-static const u8 gCuteCharmAbilityDescription[] = _("Infatuates on contact.");
-static const u8 gPlusAbilityDescription[] = _("Powers up with MINUS.");
-static const u8 gMinusAbilityDescription[] = _("Powers up with PLUS.");
-static const u8 gForecastAbilityDescription[] = _("Changes with the weather.");
-static const u8 gStickyHoldAbilityDescription[] = _("Prevents item theft.");
-static const u8 gShedSkinAbilityDescription[] = _("Heals the body by shedding.");
-static const u8 gGutsAbilityDescription[] = _("Ups ATTACK if suffering.");
-static const u8 gMarvelScaleAbilityDescription[] = _("Ups DEFENSE if suffering.");
-static const u8 gLiquidOozeAbilityDescription[] = _("Draining causes injury.");
-static const u8 gOvergrowAbilityDescription[] = _("Ups GRASS moves in a pinch.");
-static const u8 gBlazeAbilityDescription[] = _("Ups FIRE moves in a pinch.");
-static const u8 gTorrentAbilityDescription[] = _("Ups WATER moves in a pinch.");
-static const u8 gSwarmAbilityDescription[] = _("Ups BUG moves in a pinch.");
-static const u8 gRockHeadAbilityDescription[] = _("Prevents recoil damage.");
-static const u8 gDroughtAbilityDescription[] = _("Summons sunlight in battle.");
-static const u8 gArenaTrapAbilityDescription[] = _("Prevents fleeing.");
-static const u8 gVitalSpiritAbilityDescription[] = _("Prevents sleep.");
-static const u8 gWhiteSmokeAbilityDescription[] = _("Prevents ability reduction.");
-static const u8 gPurePowerAbilityDescription[] = _("Raises ATTACK.");
-static const u8 gShellArmorAbilityDescription[] = _("Blocks critical hits.");
-static const u8 gCacophonyAbilityDescription[] = _("Avoids sound-based moves.");
-static const u8 gAirLockAbilityDescription[] = _("Negates weather effects.");
+static const u8 sNoneDescription[] = _("No special ability.");
+static const u8 sStenchDescription[] = _("Helps repel wild POKéMON.");
+static const u8 sDrizzleDescription[] = _("Summons rain in battle.");
+static const u8 sSpeedBoostDescription[] = _("Gradually boosts SPEED.");
+static const u8 sBattleArmorDescription[] = _("Blocks critical hits.");
+static const u8 sSturdyDescription[] = _("Negates 1-hit KO attacks.");
+static const u8 sDampDescription[] = _("Prevents self-destruction.");
+static const u8 sLimberDescription[] = _("Prevents paralysis.");
+static const u8 sSandVeilDescription[] = _("Ups evasion in a sandstorm.");
+static const u8 sStaticDescription[] = _("Paralyzes on contact.");
+static const u8 sVoltAbsorbDescription[] = _("Turns electricity into HP.");
+static const u8 sWaterAbsorbDescription[] = _("Changes water into HP.");
+static const u8 sObliviousDescription[] = _("Prevents attraction.");
+static const u8 sCloudNineDescription[] = _("Negates weather effects.");
+static const u8 sCompoundEyesDescription[] = _("Raises accuracy.");
+static const u8 sInsomniaDescription[] = _("Prevents sleep.");
+static const u8 sColorChangeDescription[] = _("Changes type to foe’s move.");
+static const u8 sImmunityDescription[] = _("Prevents poisoning.");
+static const u8 sFlashFireDescription[] = _("Powers up if hit by fire.");
+static const u8 sShieldDustDescription[] = _("Prevents added effects.");
+static const u8 sOwnTempoDescription[] = _("Prevents confusion.");
+static const u8 sSuctionCupsDescription[] = _("Firmly anchors the body.");
+static const u8 sIntimidateDescription[] = _("Lowers the foe’s ATTACK.");
+static const u8 sShadowTagDescription[] = _("Prevents the foe’s escape.");
+static const u8 sRoughSkinDescription[] = _("Hurts to touch.");
+static const u8 sWonderGuardDescription[] = _("“Super effective” hits.");
+static const u8 sLevitateDescription[] = _("Not hit by GROUND attacks.");
+static const u8 sEffectSporeDescription[] = _("Leaves spores on contact.");
+static const u8 sSynchronizeDescription[] = _("Passes on status problems.");
+static const u8 sClearBodyDescription[] = _("Prevents ability reduction.");
+static const u8 sNaturalCureDescription[] = _("Heals upon switching out.");
+static const u8 sLightningRodDescription[] = _("Draws electrical moves.");
+static const u8 sSereneGraceDescription[] = _("Promotes added effects.");
+static const u8 sSwiftSwimDescription[] = _("Raises SPEED in rain.");
+static const u8 sChlorophyllDescription[] = _("Raises SPEED in sunshine.");
+static const u8 sIlluminateDescription[] = _("Encounter rate increases.");
+static const u8 sTraceDescription[] = _("Copies special ability.");
+static const u8 sHugePowerDescription[] = _("Raises ATTACK.");
+static const u8 sPoisonPointDescription[] = _("Poisons foe on contact.");
+static const u8 sInnerFocusDescription[] = _("Prevents flinching.");
+static const u8 sMagmaArmorDescription[] = _("Prevents freezing.");
+static const u8 sWaterVeilDescription[] = _("Prevents burns.");
+static const u8 sMagnetPullDescription[] = _("Traps STEEL-type POKéMON.");
+static const u8 sSoundproofDescription[] = _("Avoids sound-based moves.");
+static const u8 sRainDishDescription[] = _("Slight HP recovery in rain.");
+static const u8 sSandStreamDescription[] = _("Summons a sandstorm.");
+static const u8 sPressureDescription[] = _("Raises foe’s PP usage.");
+static const u8 sThickFatDescription[] = _("Heat-and-cold protection.");
+static const u8 sEarlyBirdDescription[] = _("Awakens quickly from sleep.");
+static const u8 sFlameBodyDescription[] = _("Burns the foe on contact.");
+static const u8 sRunAwayDescription[] = _("Makes escaping easier.");
+static const u8 sKeenEyeDescription[] = _("Prevents loss of accuracy.");
+static const u8 sHyperCutterDescription[] = _("Prevents ATTACK reduction.");
+static const u8 sPickupDescription[] = _("May pick up items.");
+static const u8 sTruantDescription[] = _("Moves only every two turns.");
+static const u8 sHustleDescription[] = _("Trades accuracy for power.");
+static const u8 sCuteCharmDescription[] = _("Infatuates on contact.");
+static const u8 sPlusDescription[] = _("Powers up with MINUS.");
+static const u8 sMinusDescription[] = _("Powers up with PLUS.");
+static const u8 sForecastDescription[] = _("Changes with the weather.");
+static const u8 sStickyHoldDescription[] = _("Prevents item theft.");
+static const u8 sShedSkinDescription[] = _("Heals the body by shedding.");
+static const u8 sGutsDescription[] = _("Ups ATTACK if suffering.");
+static const u8 sMarvelScaleDescription[] = _("Ups DEFENSE if suffering.");
+static const u8 sLiquidOozeDescription[] = _("Draining causes injury.");
+static const u8 sOvergrowDescription[] = _("Ups GRASS moves in a pinch.");
+static const u8 sBlazeDescription[] = _("Ups FIRE moves in a pinch.");
+static const u8 sTorrentDescription[] = _("Ups WATER moves in a pinch.");
+static const u8 sSwarmDescription[] = _("Ups BUG moves in a pinch.");
+static const u8 sRockHeadDescription[] = _("Prevents recoil damage.");
+static const u8 sDroughtDescription[] = _("Summons sunlight in battle.");
+static const u8 sArenaTrapDescription[] = _("Prevents fleeing.");
+static const u8 sVitalSpiritDescription[] = _("Prevents sleep.");
+static const u8 sWhiteSmokeDescription[] = _("Prevents ability reduction.");
+static const u8 sPurePowerDescription[] = _("Raises ATTACK.");
+static const u8 sShellArmorDescription[] = _("Blocks critical hits.");
+static const u8 sCacophonyDescription[] = _("Avoids sound-based moves.");
+static const u8 sAirLockDescription[] = _("Negates weather effects.");
const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] =
{
- _("-------"),
- _("STENCH"),
- _("DRIZZLE"),
- _("SPEED BOOST"),
- _("BATTLE ARMOR"),
- _("STURDY"),
- _("DAMP"),
- _("LIMBER"),
- _("SAND VEIL"),
- _("STATIC"),
- _("VOLT ABSORB"),
- _("WATER ABSORB"),
- _("OBLIVIOUS"),
- _("CLOUD NINE"),
- _("COMPOUNDEYES"),
- _("INSOMNIA"),
- _("COLOR CHANGE"),
- _("IMMUNITY"),
- _("FLASH FIRE"),
- _("SHIELD DUST"),
- _("OWN TEMPO"),
- _("SUCTION CUPS"),
- _("INTIMIDATE"),
- _("SHADOW TAG"),
- _("ROUGH SKIN"),
- _("WONDER GUARD"),
- _("LEVITATE"),
- _("EFFECT SPORE"),
- _("SYNCHRONIZE"),
- _("CLEAR BODY"),
- _("NATURAL CURE"),
- _("LIGHTNINGROD"),
- _("SERENE GRACE"),
- _("SWIFT SWIM"),
- _("CHLOROPHYLL"),
- _("ILLUMINATE"),
- _("TRACE"),
- _("HUGE POWER"),
- _("POISON POINT"),
- _("INNER FOCUS"),
- _("MAGMA ARMOR"),
- _("WATER VEIL"),
- _("MAGNET PULL"),
- _("SOUNDPROOF"),
- _("RAIN DISH"),
- _("SAND STREAM"),
- _("PRESSURE"),
- _("THICK FAT"),
- _("EARLY BIRD"),
- _("FLAME BODY"),
- _("RUN AWAY"),
- _("KEEN EYE"),
- _("HYPER CUTTER"),
- _("PICKUP"),
- _("TRUANT"),
- _("HUSTLE"),
- _("CUTE CHARM"),
- _("PLUS"),
- _("MINUS"),
- _("FORECAST"),
- _("STICKY HOLD"),
- _("SHED SKIN"),
- _("GUTS"),
- _("MARVEL SCALE"),
- _("LIQUID OOZE"),
- _("OVERGROW"),
- _("BLAZE"),
- _("TORRENT"),
- _("SWARM"),
- _("ROCK HEAD"),
- _("DROUGHT"),
- _("ARENA TRAP"),
- _("VITAL SPIRIT"),
- _("WHITE SMOKE"),
- _("PURE POWER"),
- _("SHELL ARMOR"),
- _("CACOPHONY"),
- _("AIR LOCK"),
+ [ABILITY_NONE] = _("-------"),
+ [ABILITY_STENCH] = _("STENCH"),
+ [ABILITY_DRIZZLE] = _("DRIZZLE"),
+ [ABILITY_SPEED_BOOST] = _("SPEED BOOST"),
+ [ABILITY_BATTLE_ARMOR] = _("BATTLE ARMOR"),
+ [ABILITY_STURDY] = _("STURDY"),
+ [ABILITY_DAMP] = _("DAMP"),
+ [ABILITY_LIMBER] = _("LIMBER"),
+ [ABILITY_SAND_VEIL] = _("SAND VEIL"),
+ [ABILITY_STATIC] = _("STATIC"),
+ [ABILITY_VOLT_ABSORB] = _("VOLT ABSORB"),
+ [ABILITY_WATER_ABSORB] = _("WATER ABSORB"),
+ [ABILITY_OBLIVIOUS] = _("OBLIVIOUS"),
+ [ABILITY_CLOUD_NINE] = _("CLOUD NINE"),
+ [ABILITY_COMPOUND_EYES] = _("COMPOUNDEYES"),
+ [ABILITY_INSOMNIA] = _("INSOMNIA"),
+ [ABILITY_COLOR_CHANGE] = _("COLOR CHANGE"),
+ [ABILITY_IMMUNITY] = _("IMMUNITY"),
+ [ABILITY_FLASH_FIRE] = _("FLASH FIRE"),
+ [ABILITY_SHIELD_DUST] = _("SHIELD DUST"),
+ [ABILITY_OWN_TEMPO] = _("OWN TEMPO"),
+ [ABILITY_SUCTION_CUPS] = _("SUCTION CUPS"),
+ [ABILITY_INTIMIDATE] = _("INTIMIDATE"),
+ [ABILITY_SHADOW_TAG] = _("SHADOW TAG"),
+ [ABILITY_ROUGH_SKIN] = _("ROUGH SKIN"),
+ [ABILITY_WONDER_GUARD] = _("WONDER GUARD"),
+ [ABILITY_LEVITATE] = _("LEVITATE"),
+ [ABILITY_EFFECT_SPORE] = _("EFFECT SPORE"),
+ [ABILITY_SYNCHRONIZE] = _("SYNCHRONIZE"),
+ [ABILITY_CLEAR_BODY] = _("CLEAR BODY"),
+ [ABILITY_NATURAL_CURE] = _("NATURAL CURE"),
+ [ABILITY_LIGHTNING_ROD] = _("LIGHTNINGROD"),
+ [ABILITY_SERENE_GRACE] = _("SERENE GRACE"),
+ [ABILITY_SWIFT_SWIM] = _("SWIFT SWIM"),
+ [ABILITY_CHLOROPHYLL] = _("CHLOROPHYLL"),
+ [ABILITY_ILLUMINATE] = _("ILLUMINATE"),
+ [ABILITY_TRACE] = _("TRACE"),
+ [ABILITY_HUGE_POWER] = _("HUGE POWER"),
+ [ABILITY_POISON_POINT] = _("POISON POINT"),
+ [ABILITY_INNER_FOCUS] = _("INNER FOCUS"),
+ [ABILITY_MAGMA_ARMOR] = _("MAGMA ARMOR"),
+ [ABILITY_WATER_VEIL] = _("WATER VEIL"),
+ [ABILITY_MAGNET_PULL] = _("MAGNET PULL"),
+ [ABILITY_SOUNDPROOF] = _("SOUNDPROOF"),
+ [ABILITY_RAIN_DISH] = _("RAIN DISH"),
+ [ABILITY_SAND_STREAM] = _("SAND STREAM"),
+ [ABILITY_PRESSURE] = _("PRESSURE"),
+ [ABILITY_THICK_FAT] = _("THICK FAT"),
+ [ABILITY_EARLY_BIRD] = _("EARLY BIRD"),
+ [ABILITY_FLAME_BODY] = _("FLAME BODY"),
+ [ABILITY_RUN_AWAY] = _("RUN AWAY"),
+ [ABILITY_KEEN_EYE] = _("KEEN EYE"),
+ [ABILITY_HYPER_CUTTER] = _("HYPER CUTTER"),
+ [ABILITY_PICKUP] = _("PICKUP"),
+ [ABILITY_TRUANT] = _("TRUANT"),
+ [ABILITY_HUSTLE] = _("HUSTLE"),
+ [ABILITY_CUTE_CHARM] = _("CUTE CHARM"),
+ [ABILITY_PLUS] = _("PLUS"),
+ [ABILITY_MINUS] = _("MINUS"),
+ [ABILITY_FORECAST] = _("FORECAST"),
+ [ABILITY_STICKY_HOLD] = _("STICKY HOLD"),
+ [ABILITY_SHED_SKIN] = _("SHED SKIN"),
+ [ABILITY_GUTS] = _("GUTS"),
+ [ABILITY_MARVEL_SCALE] = _("MARVEL SCALE"),
+ [ABILITY_LIQUID_OOZE] = _("LIQUID OOZE"),
+ [ABILITY_OVERGROW] = _("OVERGROW"),
+ [ABILITY_BLAZE] = _("BLAZE"),
+ [ABILITY_TORRENT] = _("TORRENT"),
+ [ABILITY_SWARM] = _("SWARM"),
+ [ABILITY_ROCK_HEAD] = _("ROCK HEAD"),
+ [ABILITY_DROUGHT] = _("DROUGHT"),
+ [ABILITY_ARENA_TRAP] = _("ARENA TRAP"),
+ [ABILITY_VITAL_SPIRIT] = _("VITAL SPIRIT"),
+ [ABILITY_WHITE_SMOKE] = _("WHITE SMOKE"),
+ [ABILITY_PURE_POWER] = _("PURE POWER"),
+ [ABILITY_SHELL_ARMOR] = _("SHELL ARMOR"),
+ [ABILITY_CACOPHONY] = _("CACOPHONY"),
+ [ABILITY_AIR_LOCK] = _("AIR LOCK"),
};
const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT] =
{
- gNoneAbilityDescription,
- gStenchAbilityDescription,
- gDrizzleAbilityDescription,
- gSpeedBoostAbilityDescription,
- gBattleArmorAbilityDescription,
- gSturdyAbilityDescription,
- gDampAbilityDescription,
- gLimberAbilityDescription,
- gSandVeilAbilityDescription,
- gStaticAbilityDescription,
- gVoltAbsorbAbilityDescription,
- gWaterAbsorbAbilityDescription,
- gObliviousAbilityDescription,
- gCloudNineAbilityDescription,
- gCompoundEyesAbilityDescription,
- gInsomniaAbilityDescription,
- gColorChangeAbilityDescription,
- gImmunityAbilityDescription,
- gFlashFireAbilityDescription,
- gShieldDustAbilityDescription,
- gOwnTempoAbilityDescription,
- gSuctionCupsAbilityDescription,
- gIntimidateAbilityDescription,
- gShadowTagAbilityDescription,
- gRoughSkinAbilityDescription,
- gWonderGuardAbilityDescription,
- gLevitateAbilityDescription,
- gEffectSporeAbilityDescription,
- gSynchronizeAbilityDescription,
- gClearBodyAbilityDescription,
- gNaturalCureAbilityDescription,
- gLightningRodAbilityDescription,
- gSereneGraceAbilityDescription,
- gSwiftSwimAbilityDescription,
- gChlorophyllAbilityDescription,
- gIlluminateAbilityDescription,
- gTraceAbilityDescription,
- gHugePowerAbilityDescription,
- gPoisonPointAbilityDescription,
- gInnerFocusAbilityDescription,
- gMagmaArmorAbilityDescription,
- gWaterVeilAbilityDescription,
- gMagnetPullAbilityDescription,
- gSoundproofAbilityDescription,
- gRainDishAbilityDescription,
- gSandStreamAbilityDescription,
- gPressureAbilityDescription,
- gThickFatAbilityDescription,
- gEarlyBirdAbilityDescription,
- gFlameBodyAbilityDescription,
- gRunAwayAbilityDescription,
- gKeenEyeAbilityDescription,
- gHyperCutterAbilityDescription,
- gPickupAbilityDescription,
- gTruantAbilityDescription,
- gHustleAbilityDescription,
- gCuteCharmAbilityDescription,
- gPlusAbilityDescription,
- gMinusAbilityDescription,
- gForecastAbilityDescription,
- gStickyHoldAbilityDescription,
- gShedSkinAbilityDescription,
- gGutsAbilityDescription,
- gMarvelScaleAbilityDescription,
- gLiquidOozeAbilityDescription,
- gOvergrowAbilityDescription,
- gBlazeAbilityDescription,
- gTorrentAbilityDescription,
- gSwarmAbilityDescription,
- gRockHeadAbilityDescription,
- gDroughtAbilityDescription,
- gArenaTrapAbilityDescription,
- gVitalSpiritAbilityDescription,
- gWhiteSmokeAbilityDescription,
- gPurePowerAbilityDescription,
- gShellArmorAbilityDescription,
- gCacophonyAbilityDescription,
- gAirLockAbilityDescription,
+ [ABILITY_NONE] = sNoneDescription,
+ [ABILITY_STENCH] = sStenchDescription,
+ [ABILITY_DRIZZLE] = sDrizzleDescription,
+ [ABILITY_SPEED_BOOST] = sSpeedBoostDescription,
+ [ABILITY_BATTLE_ARMOR] = sBattleArmorDescription,
+ [ABILITY_STURDY] = sSturdyDescription,
+ [ABILITY_DAMP] = sDampDescription,
+ [ABILITY_LIMBER] = sLimberDescription,
+ [ABILITY_SAND_VEIL] = sSandVeilDescription,
+ [ABILITY_STATIC] = sStaticDescription,
+ [ABILITY_VOLT_ABSORB] = sVoltAbsorbDescription,
+ [ABILITY_WATER_ABSORB] = sWaterAbsorbDescription,
+ [ABILITY_OBLIVIOUS] = sObliviousDescription,
+ [ABILITY_CLOUD_NINE] = sCloudNineDescription,
+ [ABILITY_COMPOUND_EYES] = sCompoundEyesDescription,
+ [ABILITY_INSOMNIA] = sInsomniaDescription,
+ [ABILITY_COLOR_CHANGE] = sColorChangeDescription,
+ [ABILITY_IMMUNITY] = sImmunityDescription,
+ [ABILITY_FLASH_FIRE] = sFlashFireDescription,
+ [ABILITY_SHIELD_DUST] = sShieldDustDescription,
+ [ABILITY_OWN_TEMPO] = sOwnTempoDescription,
+ [ABILITY_SUCTION_CUPS] = sSuctionCupsDescription,
+ [ABILITY_INTIMIDATE] = sIntimidateDescription,
+ [ABILITY_SHADOW_TAG] = sShadowTagDescription,
+ [ABILITY_ROUGH_SKIN] = sRoughSkinDescription,
+ [ABILITY_WONDER_GUARD] = sWonderGuardDescription,
+ [ABILITY_LEVITATE] = sLevitateDescription,
+ [ABILITY_EFFECT_SPORE] = sEffectSporeDescription,
+ [ABILITY_SYNCHRONIZE] = sSynchronizeDescription,
+ [ABILITY_CLEAR_BODY] = sClearBodyDescription,
+ [ABILITY_NATURAL_CURE] = sNaturalCureDescription,
+ [ABILITY_LIGHTNING_ROD] = sLightningRodDescription,
+ [ABILITY_SERENE_GRACE] = sSereneGraceDescription,
+ [ABILITY_SWIFT_SWIM] = sSwiftSwimDescription,
+ [ABILITY_CHLOROPHYLL] = sChlorophyllDescription,
+ [ABILITY_ILLUMINATE] = sIlluminateDescription,
+ [ABILITY_TRACE] = sTraceDescription,
+ [ABILITY_HUGE_POWER] = sHugePowerDescription,
+ [ABILITY_POISON_POINT] = sPoisonPointDescription,
+ [ABILITY_INNER_FOCUS] = sInnerFocusDescription,
+ [ABILITY_MAGMA_ARMOR] = sMagmaArmorDescription,
+ [ABILITY_WATER_VEIL] = sWaterVeilDescription,
+ [ABILITY_MAGNET_PULL] = sMagnetPullDescription,
+ [ABILITY_SOUNDPROOF] = sSoundproofDescription,
+ [ABILITY_RAIN_DISH] = sRainDishDescription,
+ [ABILITY_SAND_STREAM] = sSandStreamDescription,
+ [ABILITY_PRESSURE] = sPressureDescription,
+ [ABILITY_THICK_FAT] = sThickFatDescription,
+ [ABILITY_EARLY_BIRD] = sEarlyBirdDescription,
+ [ABILITY_FLAME_BODY] = sFlameBodyDescription,
+ [ABILITY_RUN_AWAY] = sRunAwayDescription,
+ [ABILITY_KEEN_EYE] = sKeenEyeDescription,
+ [ABILITY_HYPER_CUTTER] = sHyperCutterDescription,
+ [ABILITY_PICKUP] = sPickupDescription,
+ [ABILITY_TRUANT] = sTruantDescription,
+ [ABILITY_HUSTLE] = sHustleDescription,
+ [ABILITY_CUTE_CHARM] = sCuteCharmDescription,
+ [ABILITY_PLUS] = sPlusDescription,
+ [ABILITY_MINUS] = sMinusDescription,
+ [ABILITY_FORECAST] = sForecastDescription,
+ [ABILITY_STICKY_HOLD] = sStickyHoldDescription,
+ [ABILITY_SHED_SKIN] = sShedSkinDescription,
+ [ABILITY_GUTS] = sGutsDescription,
+ [ABILITY_MARVEL_SCALE] = sMarvelScaleDescription,
+ [ABILITY_LIQUID_OOZE] = sLiquidOozeDescription,
+ [ABILITY_OVERGROW] = sOvergrowDescription,
+ [ABILITY_BLAZE] = sBlazeDescription,
+ [ABILITY_TORRENT] = sTorrentDescription,
+ [ABILITY_SWARM] = sSwarmDescription,
+ [ABILITY_ROCK_HEAD] = sRockHeadDescription,
+ [ABILITY_DROUGHT] = sDroughtDescription,
+ [ABILITY_ARENA_TRAP] = sArenaTrapDescription,
+ [ABILITY_VITAL_SPIRIT] = sVitalSpiritDescription,
+ [ABILITY_WHITE_SMOKE] = sWhiteSmokeDescription,
+ [ABILITY_PURE_POWER] = sPurePowerDescription,
+ [ABILITY_SHELL_ARMOR] = sShellArmorDescription,
+ [ABILITY_CACOPHONY] = sCacophonyDescription,
+ [ABILITY_AIR_LOCK] = sAirLockDescription,
};
-
-#endif // POKEEMERALD_DATA_TEXT_ABILITIES_H
diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h
index f8830c593..3642f66b1 100644
--- a/src/data/text/move_descriptions.h
+++ b/src/data/text/move_descriptions.h
@@ -1,714 +1,1777 @@
-static const u8 sNullMoveDescription[] = _("");
-static const u8 sPoundMoveDescription[] = _("Pounds the foe with\nforelegs or tail.");
-static const u8 sKarateChopMoveDescription[] = _("A chopping attack with a\nhigh critical-hit ratio.");
-static const u8 sDoubleSlapMoveDescription[] = _("Repeatedly slaps the foe\n2 to 5 times.");
-static const u8 sCometPunchMoveDescription[] = _("Repeatedly punches the foe\n2 to 5 times.");
-static const u8 sMegaPunchMoveDescription[] = _("A strong punch thrown with\nincredible power.");
-static const u8 sPayDayMoveDescription[] = _("Throws coins at the foe.\nMoney is recovered after.");
-static const u8 sFirePunchMoveDescription[] = _("A fiery punch that may burn\nthe foe.");
-static const u8 sIcePunchMoveDescription[] = _("An icy punch that may\nfreeze the foe.");
-static const u8 sThunderPunchMoveDescription[] = _("An electrified punch that\nmay paralyze the foe.");
-static const u8 sScratchMoveDescription[] = _("Scratches the foe with\nsharp claws.");
-static const u8 sViceGripMoveDescription[] = _("Grips the foe with large and\npowerful pincers.");
-static const u8 sGuillotineMoveDescription[] = _("A powerful pincer attack\nthat may cause fainting.");
-static const u8 sRazorWindMoveDescription[] = _("A 2-turn move that strikes\nthe foe on the 2nd turn.");
-static const u8 sSwordsDanceMoveDescription[] = _("A fighting dance that\nsharply raises ATTACK.");
-static const u8 sCutMoveDescription[] = _("Cuts the foe with sharp\nscythes, claws, etc.");
-static const u8 sGustMoveDescription[] = _("Strikes the foe with a gust\nof wind whipped up by wings.");
-static const u8 sWingAttackMoveDescription[] = _("Strikes the foe with wings\nspread wide.");
-static const u8 sWhirlwindMoveDescription[] = _("Blows away the foe with\nwind and ends the battle.");
-static const u8 sFlyMoveDescription[] = _("Flies up on the first turn,\nthen strikes the next turn.");
-static const u8 sBindMoveDescription[] = _("Binds and squeezes the foe\nfor 2 to 5 turns.");
-static const u8 sSlamMoveDescription[] = _("Slams the foe with a long\ntail, vine, etc.");
-static const u8 sVineWhipMoveDescription[] = _("Strikes the foe with\nslender, whiplike vines.");
-static const u8 sStompMoveDescription[] = _("Stomps the enemy with a big\nfoot. May cause flinching.");
-static const u8 sDoubleKickMoveDescription[] = _("A double-kicking attack\nthat strikes the foe twice.");
-static const u8 sMegaKickMoveDescription[] = _("An extremely powerful kick\nwith intense force.");
-static const u8 sJumpKickMoveDescription[] = _("A strong jumping kick. May\nmiss and hurt the kicker.");
-static const u8 sRollingKickMoveDescription[] = _("A fast kick delivered from\na rapid spin.");
-static const u8 sSandAttackMoveDescription[] = _("Reduces the foe’s accuracy\nby hurling sand in its face.");
-static const u8 sHeadbuttMoveDescription[] = _("A ramming attack that may\ncause flinching.");
-static const u8 sHornAttackMoveDescription[] = _("Jabs the foe with sharp\nhorns.");
-static const u8 sFuryAttackMoveDescription[] = _("Jabs the foe 2 to 5 times\nwith sharp horns, etc.");
-static const u8 sHornDrillMoveDescription[] = _("A one-hit KO attack that\nuses a horn like a drill.");
-static const u8 sTackleMoveDescription[] = _("Charges the foe with a full-\nbody tackle.");
-static const u8 sBodySlamMoveDescription[] = _("A full-body slam that may\ncause paralysis.");
-static const u8 sWrapMoveDescription[] = _("Wraps and squeezes the foe\n2 to 5 times with vines, etc.");
-static const u8 sTakeDownMoveDescription[] = _("A reckless charge attack\nthat also hurts the user.");
-static const u8 sThrashMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user.");
-static const u8 sDoubleEdgeMoveDescription[] = _("A life-risking tackle that\nalso hurts the user.");
-static const u8 sTailWhipMoveDescription[] = _("Wags the tail to lower the\nfoe’s DEFENSE.");
-static const u8 sPoisonStingMoveDescription[] = _("A toxic attack with barbs,\netc., that may poison.");
-static const u8 sTwineedleMoveDescription[] = _("Stingers on the forelegs\njab the foe twice.");
-static const u8 sPinMissileMoveDescription[] = _("Sharp pins are fired to\nstrike 2 to 5 times.");
-static const u8 sLeerMoveDescription[] = _("Frightens the foe with a\nleer to lower DEFENSE.");
-static const u8 sBiteMoveDescription[] = _("Bites with vicious fangs.\nMay cause flinching.");
-static const u8 sGrowlMoveDescription[] = _("Growls cutely to reduce the\nfoe’s ATTACK.");
-static const u8 sRoarMoveDescription[] = _("Makes the foe flee to end\nthe battle.");
-static const u8 sSingMoveDescription[] = _("A soothing song lulls the\nfoe into a deep slumber.");
-static const u8 sSupersonicMoveDescription[] = _("Emits bizarre sound waves\nthat may confuse the foe.");
-static const u8 sSonicBoomMoveDescription[] = _("Launches shock waves that\nalways inflict 20 HP damage.");
-static const u8 sDisableMoveDescription[] = _("Psychically disables one of\nthe foe’s moves.");
-static const u8 sAcidMoveDescription[] = _("Sprays a hide-melting acid.\nMay lower DEFENSE.");
-static const u8 sEmberMoveDescription[] = _("A weak fire attack that may\ninflict a burn.");
-static const u8 sFlamethrowerMoveDescription[] = _("A powerful fire attack that\nmay inflict a burn.");
-static const u8 sMistMoveDescription[] = _("Creates a mist that stops\nreduction of abilities.");
-static const u8 sWaterGunMoveDescription[] = _("Squirts water to attack\nthe foe.");
-static const u8 sHydroPumpMoveDescription[] = _("Blasts water at high power\nto strike the foe.");
-static const u8 sSurfMoveDescription[] = _("Creates a huge wave, then\ncrashes it down on the foe.");
-static const u8 sIceBeamMoveDescription[] = _("Blasts the foe with an icy\nbeam that may freeze it.");
-static const u8 sBlizzardMoveDescription[] = _("Hits the foe with an icy\nstorm that may freeze it.");
-static const u8 sPsybeamMoveDescription[] = _("Fires a peculiar ray that\nmay confuse the foe.");
-static const u8 sBubbleBeamMoveDescription[] = _("Forcefully sprays bubbles\nthat may lower SPEED.");
-static const u8 sAuroraBeamMoveDescription[] = _("Fires a rainbow-colored\nbeam that may lower ATTACK.");
-static const u8 sHyperBeamMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn.");
-static const u8 sPeckMoveDescription[] = _("Attacks the foe with a\njabbing beak, etc.");
-static const u8 sDrillPeckMoveDescription[] = _("A corkscrewing attack with\nthe beak acting as a drill.");
-static const u8 sSubmissionMoveDescription[] = _("A reckless body slam that\nalso hurts the user.");
-static const u8 sLowKickMoveDescription[] = _("A kick that inflicts more\ndamage on heavier foes.");
-static const u8 sCounterMoveDescription[] = _("Retaliates any physical hit\nwith double the power.");
-static const u8 sSeismicTossMoveDescription[] = _("Inflicts damage identical\nto the user’s level.");
-static const u8 sStrengthMoveDescription[] = _("Builds enormous power,\nthen slams the foe.");
-static const u8 sAbsorbMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted.");
-static const u8 sMegaDrainMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted.");
-static const u8 sLeechSeedMoveDescription[] = _("Plants a seed on the foe to\nsteal HP on every turn.");
-static const u8 sGrowthMoveDescription[] = _("Forces the body to grow\nand heightens SP. ATK.");
-static const u8 sRazorLeafMoveDescription[] = _("Cuts the enemy with leaves.\nHigh critical-hit ratio.");
-static const u8 sSolarBeamMoveDescription[] = _("Absorbs light in one turn,\nthen attacks next turn.");
-static const u8 sPoisonPowderMoveDescription[] = _("Scatters a toxic powder\nthat may poison the foe.");
-static const u8 sStunSporeMoveDescription[] = _("Scatters a powder that may\nparalyze the foe.");
-static const u8 sSleepPowderMoveDescription[] = _("Scatters a powder that may\ncause the foe to sleep.");
-static const u8 sPetalDanceMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user.");
-static const u8 sStringShotMoveDescription[] = _("Binds the foe with string\nto reduce its SPEED.");
-static const u8 sDragonRageMoveDescription[] = _("Launches shock waves that\nalways inflict 40 HP damage.");
-static const u8 sFireSpinMoveDescription[] = _("Traps the foe in a ring of\nfire for 2 to 5 turns.");
-static const u8 sThunderShockMoveDescription[] = _("An electrical attack that\nmay paralyze the foe.");
-static const u8 sThunderboltMoveDescription[] = _("A strong electrical attack\nthat may paralyze the foe.");
-static const u8 sThunderWaveMoveDescription[] = _("A weak jolt of electricity\nthat paralyzes the foe.");
-static const u8 sThunderMoveDescription[] = _("A lightning attack that may\ncause paralysis.");
-static const u8 sRockThrowMoveDescription[] = _("Throws small rocks to\nstrike the foe.");
-static const u8 sEarthquakeMoveDescription[] = _("A powerful quake, but has\nno effect on flying foes.");
-static const u8 sFissureMoveDescription[] = _("A one-hit KO move that\ndrops the foe in a fissure.");
-static const u8 sDigMoveDescription[] = _("Digs underground the first\nturn and strikes next turn.");
-static const u8 sToxicMoveDescription[] = _("Poisons the foe with an\nintensifying toxin.");
-static const u8 sConfusionMoveDescription[] = _("A psychic attack that may\ncause confusion.");
-static const u8 sPsychicMoveDescription[] = _("A powerful psychic attack\nthat may lower SP. DEF.");
-static const u8 sHypnosisMoveDescription[] = _("A hypnotizing move that\nmay induce sleep.");
-static const u8 sMeditateMoveDescription[] = _("Meditates in a peaceful\nfashion to raise ATTACK.");
-static const u8 sAgilityMoveDescription[] = _("Relaxes the body to sharply\nboost SPEED.");
-static const u8 sQuickAttackMoveDescription[] = _("An extremely fast attack\nthat always strikes first.");
-static const u8 sRageMoveDescription[] = _("Raises the user’s ATTACK\nevery time it is hit.");
-static const u8 sTeleportMoveDescription[] = _("A psychic move for fleeing\nfrom battle instantly.");
-static const u8 sNightShadeMoveDescription[] = _("Inflicts damage identical\nto the user’s level.");
-static const u8 sMimicMoveDescription[] = _("Copies a move used by the\nfoe during one battle.");
-static const u8 sScreechMoveDescription[] = _("Emits a screech to sharply\nreduce the foe’s DEFENSE.");
-static const u8 sDoubleTeamMoveDescription[] = _("Creates illusory copies to\nraise evasiveness.");
-static const u8 sRecoverMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP.");
-static const u8 sHardenMoveDescription[] = _("Stiffens the body’s \nmuscles to raise DEFENSE.");
-static const u8 sMinimizeMoveDescription[] = _("Minimizes the user’s size\nto raise evasiveness.");
-static const u8 sSmokescreenMoveDescription[] = _("Lowers the foe’s accuracy\nusing smoke, ink, etc.");
-static const u8 sConfuseRayMoveDescription[] = _("A sinister ray that\nconfuses the foe.");
-static const u8 sWithdrawMoveDescription[] = _("Withdraws the body into its\nhard shell to raise DEFENSE.");
-static const u8 sDefenseCurlMoveDescription[] = _("Curls up to conceal weak\nspots and raise DEFENSE.");
-static const u8 sBarrierMoveDescription[] = _("Creates a barrier that\nsharply raises DEFENSE.");
-static const u8 sLightScreenMoveDescription[] = _("Creates a wall of light that\nlowers SP. ATK damage.");
-static const u8 sHazeMoveDescription[] = _("Creates a black haze that\neliminates all stat changes.");
-static const u8 sReflectMoveDescription[] = _("Creates a wall of light that\nweakens physical attacks.");
-static const u8 sFocusEnergyMoveDescription[] = _("Focuses power to raise the\ncritical-hit ratio.");
-static const u8 sBideMoveDescription[] = _("Endures attack for 2\nturns to retaliate double.");
-static const u8 sMetronomeMoveDescription[] = _("Waggles a finger to use any\nPOKéMON move at random.");
-static const u8 sMirrorMoveMoveDescription[] = _("Counters the foe’s attack\nwith the same move.");
-static const u8 sSelfDestructMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint.");
-static const u8 sEggBombMoveDescription[] = _("An egg is forcibly hurled at\nthe foe.");
-static const u8 sLickMoveDescription[] = _("Licks with a long tongue to\ninjure. May also paralyze.");
-static const u8 sSmogMoveDescription[] = _("An exhaust-gas attack\nthat may also poison.");
-static const u8 sSludgeMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison.");
-static const u8 sBoneClubMoveDescription[] = _("Clubs the foe with a bone.\nMay cause flinching.");
-static const u8 sFireBlastMoveDescription[] = _("Incinerates everything it\nstrikes. May cause a burn.");
-static const u8 sWaterfallMoveDescription[] = _("Charges the foe with speed\nto climb waterfalls.");
-static const u8 sClampMoveDescription[] = _("Traps and squeezes the\nfoe for 2 to 5 turns.");
-static const u8 sSwiftMoveDescription[] = _("Sprays star-shaped rays\nthat never miss.");
-static const u8 sSkullBashMoveDescription[] = _("Tucks in the head, then\nattacks on the next turn.");
-static const u8 sSpikeCannonMoveDescription[] = _("Launches sharp spikes that\nstrike 2 to 5 times.");
-static const u8 sConstrictMoveDescription[] = _("Constricts to inflict pain.\nMay lower SPEED.");
-static const u8 sAmnesiaMoveDescription[] = _("Forgets about something\nand sharply raises SP. DEF.");
-static const u8 sKinesisMoveDescription[] = _("Distracts the foe.\nMay lower accuracy.");
-static const u8 sSoftBoiledMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP.");
-static const u8 sHiJumpKickMoveDescription[] = _("A jumping knee kick. If it\nmisses, the user is hurt.");
-static const u8 sGlareMoveDescription[] = _("Intimidates and frightens\nthe foe into paralysis.");
-static const u8 sDreamEaterMoveDescription[] = _("Takes one half the damage\ninflicted on a sleeping foe.");
-static const u8 sPoisonGasMoveDescription[] = _("Envelops the foe in a toxic\ngas that may poison.");
-static const u8 sBarrageMoveDescription[] = _("Hurls round objects at the\nfoe 2 to 5 times.");
-static const u8 sLeechLifeMoveDescription[] = _("An attack that steals half\nthe damage inflicted.");
-static const u8 sLovelyKissMoveDescription[] = _("Demands a kiss with a scary\nface that induces sleep.");
-static const u8 sSkyAttackMoveDescription[] = _("Searches out weak spots,\nthen strikes the next turn.");
-static const u8 sTransformMoveDescription[] = _("Alters the user’s cells to\nbecome a copy of the foe.");
-static const u8 sBubbleMoveDescription[] = _("An attack using bubbles.\nMay lower the foe’s SPEED.");
-static const u8 sDizzyPunchMoveDescription[] = _("A rhythmic punch that may\nconfuse the foe.");
-static const u8 sSporeMoveDescription[] = _("Scatters a cloud of spores\nthat always induce sleep.");
-static const u8 sFlashMoveDescription[] = _("Looses a powerful blast of\nlight that cuts accuracy.");
-static const u8 sPsywaveMoveDescription[] = _("Attacks with a psychic\nwave of varying intensity.");
-static const u8 sSplashMoveDescription[] = _("It’s just a splash...\nHas no effect whatsoever.");
-static const u8 sAcidArmorMoveDescription[] = _("Liquifies the user’s body\nto sharply raise DEFENSE.");
-static const u8 sCrabhammerMoveDescription[] = _("Hammers with a pincer. Has a\nhigh critical-hit ratio.");
-static const u8 sExplosionMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint.");
-static const u8 sFurySwipesMoveDescription[] = _("Rakes the foe with sharp\nclaws, etc., 2 to 5 times.");
-static const u8 sBonemerangMoveDescription[] = _("Throws a bone boomerang\nthat strikes twice.");
-static const u8 sRestMoveDescription[] = _("The user sleeps for 2 turns,\nrestoring HP and status.");
-static const u8 sRockSlideMoveDescription[] = _("Large boulders are hurled.\nMay cause flinching.");
-static const u8 sHyperFangMoveDescription[] = _("Attacks with sharp fangs.\nMay cause flinching.");
-static const u8 sSharpenMoveDescription[] = _("Reduces the polygon count\nand raises ATTACK.");
-static const u8 sConversionMoveDescription[] = _("Changes the user’s type\ninto a known move’s type.");
-static const u8 sTriAttackMoveDescription[] = _("Fires three types of beams\nat the same time.");
-static const u8 sSuperFangMoveDescription[] = _("Attacks with sharp fangs\nand cuts half the foe’s HP.");
-static const u8 sSlashMoveDescription[] = _("Slashes with claws, etc. Has\na high critical-hit ratio.");
-static const u8 sSubstituteMoveDescription[] = _("Creates a decoy using 1/4\nof the user’s maximum HP.");
-static const u8 sStruggleMoveDescription[] = _("Used only if all PP are gone.\nAlso hurts the user a little.");
-static const u8 sSketchMoveDescription[] = _("Copies the foe’s last move\npermanently.");
-static const u8 sTripleKickMoveDescription[] = _("Kicks the foe 3 times in a\nrow with rising intensity.");
-static const u8 sThiefMoveDescription[] = _("While attacking, it may\nsteal the foe’s held item.");
-static const u8 sSpiderWebMoveDescription[] = _("Ensnares the foe to stop it\nfrom fleeing or switching.");
-static const u8 sMindReaderMoveDescription[] = _("Senses the foe’s action to\nensure the next move’s hit.");
-static const u8 sNightmareMoveDescription[] = _("Inflicts 1/4 damage on a\nsleeping foe every turn.");
-static const u8 sFlameWheelMoveDescription[] = _("A fiery charge attack that\nmay inflict a burn.");
-static const u8 sSnoreMoveDescription[] = _("A loud attack that can be\nused only while asleep.");
-static const u8 sCurseMoveDescription[] = _("A move that functions\ndifferently for GHOSTS.");
-static const u8 sFlailMoveDescription[] = _("Inflicts more damage when\nthe user’s HP is down.");
-static const u8 sConversion2MoveDescription[] = _("Makes the user resistant\nto the last attack’s type.");
-static const u8 sAeroblastMoveDescription[] = _("Launches a vacuumed blast.\nHigh critical-hit ratio.");
-static const u8 sCottonSporeMoveDescription[] = _("Spores cling to the foe,\nsharply reducing SPEED.");
-static const u8 sReversalMoveDescription[] = _("Inflicts more damage when\nthe user’s HP is down.");
-static const u8 sSpiteMoveDescription[] = _("Spitefully cuts the PP\nof the foe’s last move.");
-static const u8 sPowderSnowMoveDescription[] = _("Blasts the foe with a snowy\ngust. May cause freezing.");
-static const u8 sProtectMoveDescription[] = _("Evades attack, but may fail\nif used in succession.");
-static const u8 sMachPunchMoveDescription[] = _("A punch is thrown at wicked\nspeed to strike first.");
-static const u8 sScaryFaceMoveDescription[] = _("Frightens with a scary face\nto sharply reduce SPEED.");
-static const u8 sFaintAttackMoveDescription[] = _("Draws the foe close, then\nstrikes without fail.");
-static const u8 sSweetKissMoveDescription[] = _("Demands a kiss with a cute\nlook. May cause confusion.");
-static const u8 sBellyDrumMoveDescription[] = _("Maximizes ATTACK while\nsacrificing HP.");
-static const u8 sSludgeBombMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison.");
-static const u8 sMudSlapMoveDescription[] = _("Hurls mud in the foe’s face\nto reduce its accuracy.");
-static const u8 sOctazookaMoveDescription[] = _("Fires a lump of ink to\ndamage and cut accuracy.");
-static const u8 sSpikesMoveDescription[] = _("Sets spikes that hurt a \nfoe switching in.");
-static const u8 sZapCannonMoveDescription[] = _("Powerful and sure to cause\nparalysis, but inaccurate.");
-static const u8 sForesightMoveDescription[] = _("Negates the foe’s efforts\nto heighten evasiveness.");
-static const u8 sDestinyBondMoveDescription[] = _("If the user faints, the foe\nis also made to faint.");
-static const u8 sPerishSongMoveDescription[] = _("Any POKéMON hearing this\nsong faints in 3 turns.");
-static const u8 sIcyWindMoveDescription[] = _("A chilling attack that\nlowers the foe’s SPEED.");
-static const u8 sDetectMoveDescription[] = _("Evades attack, but may fail\nif used in succession.");
-static const u8 sBoneRushMoveDescription[] = _("Strikes the foe with a bone\nin hand 2 to 5 times.");
-static const u8 sLockOnMoveDescription[] = _("Locks on to the foe to\nensure the next move hits.");
-static const u8 sOutrageMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user.");
-static const u8 sSandstormMoveDescription[] = _("Causes a sandstorm that\nrages for several turns.");
-static const u8 sGigaDrainMoveDescription[] = _("An attack that steals half\nthe damage inflicted.");
-static const u8 sEndureMoveDescription[] = _("Endures any attack for\n1 turn, leaving at least 1HP.");
-static const u8 sCharmMoveDescription[] = _("Charms the foe and sharply\nreduces its ATTACK.");
-static const u8 sRolloutMoveDescription[] = _("An attack lasting 5 turns\nwith rising intensity.");
-static const u8 sFalseSwipeMoveDescription[] = _("An attack that leaves the\nfoe with at least 1 HP.");
-static const u8 sSwaggerMoveDescription[] = _("Confuses the foe, but also\nsharply raises ATTACK.");
-static const u8 sMilkDrinkMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP.");
-static const u8 sSparkMoveDescription[] = _("An electrified tackle that\nmay paralyze the foe.");
-static const u8 sFuryCutterMoveDescription[] = _("An attack that intensifies\non each successive hit.");
-static const u8 sSteelWingMoveDescription[] = _("Strikes the foe with hard\nwings spread wide.");
-static const u8 sMeanLookMoveDescription[] = _("Fixes the foe with a mean\nlook that prevents escape.");
-static const u8 sAttractMoveDescription[] = _("Makes the opposite gender\nless likely to attack.");
-static const u8 sSleepTalkMoveDescription[] = _("Uses an available move\nrandomly while asleep.");
-static const u8 sHealBellMoveDescription[] = _("Chimes soothingly to heal\nall status abnormalities.");
-static const u8 sReturnMoveDescription[] = _("An attack that increases\nin power with friendship.");
-static const u8 sPresentMoveDescription[] = _("A gift in the form of a\nbomb. May restore HP.");
-static const u8 sFrustrationMoveDescription[] = _("An attack that is stronger\nif the TRAINER is disliked.");
-static const u8 sSafeguardMoveDescription[] = _("A mystical force prevents\nall status problems.");
-static const u8 sPainSplitMoveDescription[] = _("Adds the user and foe’s HP,\nthen shares them equally.");
-static const u8 sSacredFireMoveDescription[] = _("A mystical fire attack that\nmay inflict a burn.");
-static const u8 sMagnitudeMoveDescription[] = _("A ground-shaking attack\nof random intensity.");
-static const u8 sDynamicPunchMoveDescription[] = _("Powerful and sure to cause\nconfusion, but inaccurate.");
-static const u8 sMegahornMoveDescription[] = _("A brutal ramming attack\nusing out-thrust horns.");
-static const u8 sDragonBreathMoveDescription[] = _("Strikes the foe with an\nincredible blast of breath.");
-static const u8 sBatonPassMoveDescription[] = _("Switches out the user while\nkeeping effects in play.");
-static const u8 sEncoreMoveDescription[] = _("Makes the foe repeat its\nlast move over 2 to 6 turns.");
-static const u8 sPursuitMoveDescription[] = _("Inflicts bad damage if used\non a foe switching out.");
-static const u8 sRapidSpinMoveDescription[] = _("Spins the body at high\nspeed to strike the foe.");
-static const u8 sSweetScentMoveDescription[] = _("Allures the foe to reduce\nevasiveness.");
-static const u8 sIronTailMoveDescription[] = _("Attacks with a rock-hard\ntail. May lower DEFENSE.");
-static const u8 sMetalClawMoveDescription[] = _("A claw attack that may\nraise the user’s ATTACK.");
-static const u8 sVitalThrowMoveDescription[] = _("Makes the user’s move last,\nbut it never misses.");
-static const u8 sMorningSunMoveDescription[] = _("Restores HP. The amount\nvaries with the weather.");
-static const u8 sSynthesisMoveDescription[] = _("Restores HP. The amount\nvaries with the weather.");
-static const u8 sMoonlightMoveDescription[] = _("Restores HP. The amount\nvaries with the weather.");
-static const u8 sHiddenPowerMoveDescription[] = _("The effectiveness varies\nwith the user.");
-static const u8 sCrossChopMoveDescription[] = _("A double-chopping attack.\nHigh critical-hit ratio.");
-static const u8 sTwisterMoveDescription[] = _("Whips up a vicious twister\nto tear at the foe.");
-static const u8 sRainDanceMoveDescription[] = _("Boosts the power of WATER-\ntype moves for 5 turns.");
-static const u8 sSunnyDayMoveDescription[] = _("Boosts the power of FIRE-\ntype moves for 5 turns.");
-static const u8 sCrunchMoveDescription[] = _("Crunches with sharp fangs.\nMay lower SP. DEF.");
-static const u8 sMirrorCoatMoveDescription[] = _("Counters the foe’s special\nattack at double the power.");
-static const u8 sPsychUpMoveDescription[] = _("Copies the foe’s effect(s)\nand gives to the user.");
-static const u8 sExtremeSpeedMoveDescription[] = _("An extremely fast and\npowerful attack.");
-static const u8 sAncientPowerMoveDescription[] = _("An attack that may raise\nall stats.");
-static const u8 sShadowBallMoveDescription[] = _("Hurls a black blob that may\nlower the foe’s SP. DEF.");
-static const u8 sFutureSightMoveDescription[] = _("Heightens inner power to\nstrike 2 turns later.");
-static const u8 sRockSmashMoveDescription[] = _("A rock-crushing attack\nthat may lower DEFENSE.");
-static const u8 sWhirlpoolMoveDescription[] = _("Traps and hurts the foe in\na whirlpool for 2 to 5 turns.");
-static const u8 sBeatUpMoveDescription[] = _("Summons party POKéMON to\njoin in the attack.");
-static const u8 sFakeOutMoveDescription[] = _("A 1st-turn, 1st-strike move\nthat causes flinching.");
-static const u8 sUproarMoveDescription[] = _("Causes an uproar for 2 to 5\nturns and prevents sleep.");
-static const u8 sStockpileMoveDescription[] = _("Charges up power for up to\n3 turns.");
-static const u8 sSpitUpMoveDescription[] = _("Releases stockpiled power\n(the more the better).");
-static const u8 sSwallowMoveDescription[] = _("Absorbs stockpiled power\nand restores HP.");
-static const u8 sHeatWaveMoveDescription[] = _("Exhales a hot breath on the\nfoe. May inflict a burn.");
-static const u8 sHailMoveDescription[] = _("Summons a hailstorm that\nstrikes every turn.");
-static const u8 sTormentMoveDescription[] = _("Torments the foe and stops\nsuccessive use of a move.");
-static const u8 sFlatterMoveDescription[] = _("Confuses the foe, but\nraises its SP. ATK.");
-static const u8 sWillOWispMoveDescription[] = _("Inflicts a burn on the foe\nwith intense fire.");
-static const u8 sMementoMoveDescription[] = _("The user faints and lowers\nthe foe’s abilities.");
-static const u8 sFacadeMoveDescription[] = _("Boosts ATTACK when burned,\nparalyzed, or poisoned.");
-static const u8 sFocusPunchMoveDescription[] = _("A powerful loyalty attack.\nThe user flinches if hit.");
-static const u8 sSmellingSaltMoveDescription[] = _("Powerful against paralyzed\nfoes, but also heals them.");
-static const u8 sFollowMeMoveDescription[] = _("Draws attention to make\nfoes attack only the user.");
-static const u8 sNaturePowerMoveDescription[] = _("The type of attack varies\ndepending on the location.");
-static const u8 sChargeMoveDescription[] = _("Charges power to boost the\nelectric move used next.");
-static const u8 sTauntMoveDescription[] = _("Taunts the foe into only\nusing attack moves.");
-static const u8 sHelpingHandMoveDescription[] = _("Boosts the power of the\nrecipient’s moves.");
-static const u8 sTrickMoveDescription[] = _("Tricks the foe into trading\nheld items.");
-static const u8 sRolePlayMoveDescription[] = _("Mimics the target and\ncopies its special ability.");
-static const u8 sWishMoveDescription[] = _("A wish that restores HP.\nIt takes time to work.");
-static const u8 sAssistMoveDescription[] = _("Attacks randomly with one\nof the partner’s moves.");
-static const u8 sIngrainMoveDescription[] = _("Lays roots that restore HP.\nThe user can’t switch out.");
-static const u8 sSuperpowerMoveDescription[] = _("Boosts strength sharply,\nbut lowers abilities.");
-static const u8 sMagicCoatMoveDescription[] = _("Reflects special effects\nback to the attacker.");
-static const u8 sRecycleMoveDescription[] = _("Recycles a used item for\none more use.");
-static const u8 sRevengeMoveDescription[] = _("An attack that gains power\nif injured by the foe.");
-static const u8 sBrickBreakMoveDescription[] = _("Destroys barriers such as\nREFLECT and causes damage.");
-static const u8 sYawnMoveDescription[] = _("Lulls the foe into yawning,\nthen sleeping next turn.");
-static const u8 sKnockOffMoveDescription[] = _("Knocks down the foe’s held\nitem to prevent its use.");
-static const u8 sEndeavorMoveDescription[] = _("Gains power if the user’s HP\nis lower than the foe’s HP.");
-static const u8 sEruptionMoveDescription[] = _("The higher the user’s HP,\nthe more damage caused.");
-static const u8 sSkillSwapMoveDescription[] = _("The user swaps special\nabilities with the target.");
-static const u8 sImprisonMoveDescription[] = _("Prevents foes from using\nmoves known by the user.");
-static const u8 sRefreshMoveDescription[] = _("Heals poisoning, paralysis,\nor a burn.");
-static const u8 sGrudgeMoveDescription[] = _("If the user faints, deletes\nall PP of foe’s last move.");
-static const u8 sSnatchMoveDescription[] = _("Steals the effects of the\nmove the target uses next.");
-static const u8 sSecretPowerMoveDescription[] = _("An attack with effects\nthat vary by location.");
-static const u8 sDiveMoveDescription[] = _("Dives underwater the first\nturn and strikes next turn.");
-static const u8 sArmThrustMoveDescription[] = _("Straight-arm punches that\nstrike the foe 2 to 5 times.");
-static const u8 sCamouflageMoveDescription[] = _("Alters the POKéMON’s type\ndepending on the location.");
-static const u8 sTailGlowMoveDescription[] = _("Flashes a light that sharply\nraises SP. ATK.");
-static const u8 sLusterPurgeMoveDescription[] = _("Attacks with a burst of\nlight. May lower SP. DEF.");
-static const u8 sMistBallMoveDescription[] = _("Attacks with a flurry of\ndown. May lower SP. ATK.");
-static const u8 sFeatherDanceMoveDescription[] = _("Envelops the foe with down\nto sharply reduce ATTACK.");
-static const u8 sTeeterDanceMoveDescription[] = _("Confuses all POKéMON on\nthe scene.");
-static const u8 sBlazeKickMoveDescription[] = _("A kick with a high critical-\nhit ratio. May cause a burn.");
-static const u8 sMudSportMoveDescription[] = _("Covers the user in mud to\nraise electrical resistance.");
-static const u8 sIceBallMoveDescription[] = _("A 5-turn attack that gains\npower on successive hits.");
-static const u8 sNeedleArmMoveDescription[] = _("Attacks with thorny arms.\nMay cause flinching.");
-static const u8 sSlackOffMoveDescription[] = _("Slacks off and restores\nhalf the maximum HP.");
-static const u8 sHyperVoiceMoveDescription[] = _("A loud attack that uses\nsound waves to injure.");
-static const u8 sPoisonFangMoveDescription[] = _("A sharp-fanged attack.\nMay badly poison the foe.");
-static const u8 sCrushClawMoveDescription[] = _("Tears at the foe with sharp\nclaws. May lower DEFENSE.");
-static const u8 sBlastBurnMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn.");
-static const u8 sHydroCannonMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn.");
-static const u8 sMeteorMashMoveDescription[] = _("Fires a meteor-like punch.\nMay raise ATTACK.");
-static const u8 sAstonishMoveDescription[] = _("An attack that may shock\nthe foe into flinching.");
-static const u8 sWeatherBallMoveDescription[] = _("The move’s type and power\nchange with the weather.");
-static const u8 sAromatherapyMoveDescription[] = _("Heals all status problems\nwith a soothing scent.");
-static const u8 sFakeTearsMoveDescription[] = _("Feigns crying to sharply\nlower the foe’s SP. DEF.");
-static const u8 sAirCutterMoveDescription[] = _("Hacks with razorlike wind.\nHigh critical-hit ratio.");
-static const u8 sOverheatMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK.");
-static const u8 sOdorSleuthMoveDescription[] = _("Negates the foe’s efforts\nto heighten evasiveness.");
-static const u8 sRockTombMoveDescription[] = _("Stops the foe from moving\nwith rocks and cuts SPEED.");
-static const u8 sSilverWindMoveDescription[] = _("A powdery attack that may\nraise abilities.");
-static const u8 sMetalSoundMoveDescription[] = _("Emits a horrible screech\nthat sharply lowers SP. DEF.");
-static const u8 sGrassWhistleMoveDescription[] = _("Lulls the foe into sleep\nwith a pleasant melody.");
-static const u8 sTickleMoveDescription[] = _("Makes the foe laugh to\nlower ATTACK and DEFENSE.");
-static const u8 sCosmicPowerMoveDescription[] = _("Raises DEFENSE and SP. DEF\nwith a mystic power.");
-static const u8 sWaterSpoutMoveDescription[] = _("Inflicts more damage if the\nuser’s HP is high.");
-static const u8 sSignalBeamMoveDescription[] = _("A strange beam attack that\nmay confuse the foe.");
-static const u8 sShadowPunchMoveDescription[] = _("An unavoidable punch that\nis thrown from shadows.");
-static const u8 sExtrasensoryMoveDescription[] = _("Attacks with a peculiar\npower. May cause flinching.");
-static const u8 sSkyUppercutMoveDescription[] = _("An uppercut thrown as if\nleaping into the sky.");
-static const u8 sSandTombMoveDescription[] = _("Traps and hurts the foe in\nquicksand for 2 to 5 turns.");
-static const u8 sSheerColdMoveDescription[] = _("A chilling attack that\ncauses fainting if it hits.");
-static const u8 sMuddyWaterMoveDescription[] = _("Attacks with muddy water.\nMay lower accuracy.");
-static const u8 sBulletSeedMoveDescription[] = _("Shoots 2 to 5 seeds in a row\nto strike the foe.");
-static const u8 sAerialAceMoveDescription[] = _("An extremely speedy and\nunavoidable attack.");
-static const u8 sIcicleSpearMoveDescription[] = _("Attacks the foe by firing\n2 to 5 icicles in a row.");
-static const u8 sIronDefenseMoveDescription[] = _("Hardens the body’s surface\nto sharply raise DEFENSE.");
-static const u8 sBlockMoveDescription[] = _("Blocks the foe’s way to\nprevent escape.");
-static const u8 sHowlMoveDescription[] = _("Howls to raise the spirit\nand boosts ATTACK.");
-static const u8 sDragonClawMoveDescription[] = _("Slashes the foe with sharp\nclaws.");
-static const u8 sFrenzyPlantMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn.");
-static const u8 sBulkUpMoveDescription[] = _("Bulks up the body to boost\nboth ATTACK and DEFENSE.");
-static const u8 sBounceMoveDescription[] = _("Bounces up, then down the\nnext turn. May paralyze.");
-static const u8 sMudShotMoveDescription[] = _("Hurls mud at the foe and\nreduces SPEED.");
-static const u8 sPoisonTailMoveDescription[] = _("Has a high critical-hit\nratio. May also poison.");
-static const u8 sCovetMoveDescription[] = _("Cutely begs to obtain an\nitem held by the foe.");
-static const u8 sVoltTackleMoveDescription[] = _("A life-risking tackle that\nslightly hurts the user.");
-static const u8 sMagicalLeafMoveDescription[] = _("Attacks with a strange leaf\nthat cannot be evaded.");
-static const u8 sWaterSportMoveDescription[] = _("The user becomes soaked to\nraise resistance to fire.");
-static const u8 sCalmMindMoveDescription[] = _("Raises SP. ATK and SP. DEF\nby focusing the mind.");
-static const u8 sLeafBladeMoveDescription[] = _("Slashes with a sharp leaf.\nHigh critical-hit ratio.");
-static const u8 sDragonDanceMoveDescription[] = _("A mystical dance that ups\nATTACK and SPEED.");
-static const u8 sRockBlastMoveDescription[] = _("Hurls boulders at the foe\n2 to 5 times in a row.");
-static const u8 sShockWaveMoveDescription[] = _("A fast and unavoidable\nelectric attack.");
-static const u8 sWaterPulseMoveDescription[] = _("Attacks with ultrasonic\nwaves. May confuse the foe.");
-static const u8 sDoomDesireMoveDescription[] = _("Summons strong sunlight to\nattack 2 turns later.");
-static const u8 sPsychoBoostMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK.");
+static const u8 sNullDescription[] = _(
+ "");
+
+static const u8 sPoundDescription[] = _(
+ "Pounds the foe with\n"
+ "forelegs or tail.");
+
+static const u8 sKarateChopDescription[] = _(
+ "A chopping attack with a\n"
+ "high critical-hit ratio.");
+
+static const u8 sDoubleSlapDescription[] = _(
+ "Repeatedly slaps the foe\n"
+ "2 to 5 times.");
+
+static const u8 sCometPunchDescription[] = _(
+ "Repeatedly punches the foe\n"
+ "2 to 5 times.");
+
+static const u8 sMegaPunchDescription[] = _(
+ "A strong punch thrown with\n"
+ "incredible power.");
+
+static const u8 sPayDayDescription[] = _(
+ "Throws coins at the foe.\n"
+ "Money is recovered after.");
+
+static const u8 sFirePunchDescription[] = _(
+ "A fiery punch that may burn\n"
+ "the foe.");
+
+static const u8 sIcePunchDescription[] = _(
+ "An icy punch that may\n"
+ "freeze the foe.");
+
+static const u8 sThunderPunchDescription[] = _(
+ "An electrified punch that\n"
+ "may paralyze the foe.");
+
+static const u8 sScratchDescription[] = _(
+ "Scratches the foe with\n"
+ "sharp claws.");
+
+static const u8 sViceGripDescription[] = _(
+ "Grips the foe with large and\n"
+ "powerful pincers.");
+
+static const u8 sGuillotineDescription[] = _(
+ "A powerful pincer attack\n"
+ "that may cause fainting.");
+
+static const u8 sRazorWindDescription[] = _(
+ "A 2-turn move that strikes\n"
+ "the foe on the 2nd turn.");
+
+static const u8 sSwordsDanceDescription[] = _(
+ "A fighting dance that\n"
+ "sharply raises ATTACK.");
+
+static const u8 sCutDescription[] = _(
+ "Cuts the foe with sharp\n"
+ "scythes, claws, etc.");
+
+static const u8 sGustDescription[] = _(
+ "Strikes the foe with a gust\n"
+ "of wind whipped up by wings.");
+
+static const u8 sWingAttackDescription[] = _(
+ "Strikes the foe with wings\n"
+ "spread wide.");
+
+static const u8 sWhirlwindDescription[] = _(
+ "Blows away the foe with\n"
+ "wind and ends the battle.");
+
+static const u8 sFlyDescription[] = _(
+ "Flies up on the first turn,\n"
+ "then strikes the next turn.");
+
+static const u8 sBindDescription[] = _(
+ "Binds and squeezes the foe\n"
+ "for 2 to 5 turns.");
+
+static const u8 sSlamDescription[] = _(
+ "Slams the foe with a long\n"
+ "tail, vine, etc.");
+
+static const u8 sVineWhipDescription[] = _(
+ "Strikes the foe with\n"
+ "slender, whiplike vines.");
+
+static const u8 sStompDescription[] = _(
+ "Stomps the enemy with a big\n"
+ "foot. May cause flinching.");
+
+static const u8 sDoubleKickDescription[] = _(
+ "A double-kicking attack\n"
+ "that strikes the foe twice.");
+
+static const u8 sMegaKickDescription[] = _(
+ "An extremely powerful kick\n"
+ "with intense force.");
+
+static const u8 sJumpKickDescription[] = _(
+ "A strong jumping kick. May\n"
+ "miss and hurt the kicker.");
+
+static const u8 sRollingKickDescription[] = _(
+ "A fast kick delivered from\n"
+ "a rapid spin.");
+
+static const u8 sSandAttackDescription[] = _(
+ "Reduces the foe’s accuracy\n"
+ "by hurling sand in its face.");
+
+static const u8 sHeadbuttDescription[] = _(
+ "A ramming attack that may\n"
+ "cause flinching.");
+
+static const u8 sHornAttackDescription[] = _(
+ "Jabs the foe with sharp\n"
+ "horns.");
+
+static const u8 sFuryAttackDescription[] = _(
+ "Jabs the foe 2 to 5 times\n"
+ "with sharp horns, etc.");
+
+static const u8 sHornDrillDescription[] = _(
+ "A one-hit KO attack that\n"
+ "uses a horn like a drill.");
+
+static const u8 sTackleDescription[] = _(
+ "Charges the foe with a full-\n"
+ "body tackle.");
+
+static const u8 sBodySlamDescription[] = _(
+ "A full-body slam that may\n"
+ "cause paralysis.");
+
+static const u8 sWrapDescription[] = _(
+ "Wraps and squeezes the foe\n"
+ "2 to 5 times with vines, etc.");
+
+static const u8 sTakeDownDescription[] = _(
+ "A reckless charge attack\n"
+ "that also hurts the user.");
+
+static const u8 sThrashDescription[] = _(
+ "A rampage of 2 to 3 turns\n"
+ "that confuses the user.");
+
+static const u8 sDoubleEdgeDescription[] = _(
+ "A life-risking tackle that\n"
+ "also hurts the user.");
+
+static const u8 sTailWhipDescription[] = _(
+ "Wags the tail to lower the\n"
+ "foe’s DEFENSE.");
+
+static const u8 sPoisonStingDescription[] = _(
+ "A toxic attack with barbs,\n"
+ "etc., that may poison.");
+
+static const u8 sTwineedleDescription[] = _(
+ "Stingers on the forelegs\n"
+ "jab the foe twice.");
+
+static const u8 sPinMissileDescription[] = _(
+ "Sharp pins are fired to\n"
+ "strike 2 to 5 times.");
+
+static const u8 sLeerDescription[] = _(
+ "Frightens the foe with a\n"
+ "leer to lower DEFENSE.");
+
+static const u8 sBiteDescription[] = _(
+ "Bites with vicious fangs.\n"
+ "May cause flinching.");
+
+static const u8 sGrowlDescription[] = _(
+ "Growls cutely to reduce the\n"
+ "foe’s ATTACK.");
+
+static const u8 sRoarDescription[] = _(
+ "Makes the foe flee to end\n"
+ "the battle.");
+
+static const u8 sSingDescription[] = _(
+ "A soothing song lulls the\n"
+ "foe into a deep slumber.");
+
+static const u8 sSupersonicDescription[] = _(
+ "Emits bizarre sound waves\n"
+ "that may confuse the foe.");
+
+static const u8 sSonicBoomDescription[] = _(
+ "Launches shock waves that\n"
+ "always inflict 20 HP damage.");
+
+static const u8 sDisableDescription[] = _(
+ "Psychically disables one of\n"
+ "the foe’s moves.");
+
+static const u8 sAcidDescription[] = _(
+ "Sprays a hide-melting acid.\n"
+ "May lower DEFENSE.");
+
+static const u8 sEmberDescription[] = _(
+ "A weak fire attack that may\n"
+ "inflict a burn.");
+
+static const u8 sFlamethrowerDescription[] = _(
+ "A powerful fire attack that\n"
+ "may inflict a burn.");
+
+static const u8 sMistDescription[] = _(
+ "Creates a mist that stops\n"
+ "reduction of abilities.");
+
+static const u8 sWaterGunDescription[] = _(
+ "Squirts water to attack\n"
+ "the foe.");
+
+static const u8 sHydroPumpDescription[] = _(
+ "Blasts water at high power\n"
+ "to strike the foe.");
+
+static const u8 sSurfDescription[] = _(
+ "Creates a huge wave, then\n"
+ "crashes it down on the foe.");
+
+static const u8 sIceBeamDescription[] = _(
+ "Blasts the foe with an icy\n"
+ "beam that may freeze it.");
+
+static const u8 sBlizzardDescription[] = _(
+ "Hits the foe with an icy\n"
+ "storm that may freeze it.");
+
+static const u8 sPsybeamDescription[] = _(
+ "Fires a peculiar ray that\n"
+ "may confuse the foe.");
+
+static const u8 sBubbleBeamDescription[] = _(
+ "Forcefully sprays bubbles\n"
+ "that may lower SPEED.");
+
+static const u8 sAuroraBeamDescription[] = _(
+ "Fires a rainbow-colored\n"
+ "beam that may lower ATTACK.");
+
+static const u8 sHyperBeamDescription[] = _(
+ "Powerful, but leaves the\n"
+ "user immobile the next turn.");
+
+static const u8 sPeckDescription[] = _(
+ "Attacks the foe with a\n"
+ "jabbing beak, etc.");
+
+static const u8 sDrillPeckDescription[] = _(
+ "A corkscrewing attack with\n"
+ "the beak acting as a drill.");
+
+static const u8 sSubmissionDescription[] = _(
+ "A reckless body slam that\n"
+ "also hurts the user.");
+
+static const u8 sLowKickDescription[] = _(
+ "A kick that inflicts more\n"
+ "damage on heavier foes.");
+
+static const u8 sCounterDescription[] = _(
+ "Retaliates any physical hit\n"
+ "with double the power.");
+
+static const u8 sSeismicTossDescription[] = _(
+ "Inflicts damage identical\n"
+ "to the user’s level.");
+
+static const u8 sStrengthDescription[] = _(
+ "Builds enormous power,\n"
+ "then slams the foe.");
+
+static const u8 sAbsorbDescription[] = _(
+ "An attack that absorbs\n"
+ "half the damage inflicted.");
+
+static const u8 sMegaDrainDescription[] = _(
+ "An attack that absorbs\n"
+ "half the damage inflicted.");
+
+static const u8 sLeechSeedDescription[] = _(
+ "Plants a seed on the foe to\n"
+ "steal HP on every turn.");
+
+static const u8 sGrowthDescription[] = _(
+ "Forces the body to grow\n"
+ "and heightens SP. ATK.");
+
+static const u8 sRazorLeafDescription[] = _(
+ "Cuts the enemy with leaves.\n"
+ "High critical-hit ratio.");
+
+static const u8 sSolarBeamDescription[] = _(
+ "Absorbs light in one turn,\n"
+ "then attacks next turn.");
+
+static const u8 sPoisonPowderDescription[] = _(
+ "Scatters a toxic powder\n"
+ "that may poison the foe.");
+
+static const u8 sStunSporeDescription[] = _(
+ "Scatters a powder that may\n"
+ "paralyze the foe.");
+
+static const u8 sSleepPowderDescription[] = _(
+ "Scatters a powder that may\n"
+ "cause the foe to sleep.");
+
+static const u8 sPetalDanceDescription[] = _(
+ "A rampage of 2 to 3 turns\n"
+ "that confuses the user.");
+
+static const u8 sStringShotDescription[] = _(
+ "Binds the foe with string\n"
+ "to reduce its SPEED.");
+
+static const u8 sDragonRageDescription[] = _(
+ "Launches shock waves that\n"
+ "always inflict 40 HP damage.");
+
+static const u8 sFireSpinDescription[] = _(
+ "Traps the foe in a ring of\n"
+ "fire for 2 to 5 turns.");
+
+static const u8 sThunderShockDescription[] = _(
+ "An electrical attack that\n"
+ "may paralyze the foe.");
+
+static const u8 sThunderboltDescription[] = _(
+ "A strong electrical attack\n"
+ "that may paralyze the foe.");
+
+static const u8 sThunderWaveDescription[] = _(
+ "A weak jolt of electricity\n"
+ "that paralyzes the foe.");
+
+static const u8 sThunderDescription[] = _(
+ "A lightning attack that may\n"
+ "cause paralysis.");
+
+static const u8 sRockThrowDescription[] = _(
+ "Throws small rocks to\n"
+ "strike the foe.");
+
+static const u8 sEarthquakeDescription[] = _(
+ "A powerful quake, but has\n"
+ "no effect on flying foes.");
+
+static const u8 sFissureDescription[] = _(
+ "A one-hit KO move that\n"
+ "drops the foe in a fissure.");
+
+static const u8 sDigDescription[] = _(
+ "Digs underground the first\n"
+ "turn and strikes next turn.");
+
+static const u8 sToxicDescription[] = _(
+ "Poisons the foe with an\n"
+ "intensifying toxin.");
+
+static const u8 sConfusionDescription[] = _(
+ "A psychic attack that may\n"
+ "cause confusion.");
+
+static const u8 sPsychicDescription[] = _(
+ "A powerful psychic attack\n"
+ "that may lower SP. DEF.");
+
+static const u8 sHypnosisDescription[] = _(
+ "A hypnotizing move that\n"
+ "may induce sleep.");
+
+static const u8 sMeditateDescription[] = _(
+ "Meditates in a peaceful\n"
+ "fashion to raise ATTACK.");
+
+static const u8 sAgilityDescription[] = _(
+ "Relaxes the body to sharply\n"
+ "boost SPEED.");
+
+static const u8 sQuickAttackDescription[] = _(
+ "An extremely fast attack\n"
+ "that always strikes first.");
+
+static const u8 sRageDescription[] = _(
+ "Raises the user’s ATTACK\n"
+ "every time it is hit.");
+
+static const u8 sTeleportDescription[] = _(
+ "A psychic move for fleeing\n"
+ "from battle instantly.");
+
+static const u8 sNightShadeDescription[] = _(
+ "Inflicts damage identical\n"
+ "to the user’s level.");
+
+static const u8 sMimicDescription[] = _(
+ "Copies a move used by the\n"
+ "foe during one battle.");
+
+static const u8 sScreechDescription[] = _(
+ "Emits a screech to sharply\n"
+ "reduce the foe’s DEFENSE.");
+
+static const u8 sDoubleTeamDescription[] = _(
+ "Creates illusory copies to\n"
+ "raise evasiveness.");
+
+static const u8 sRecoverDescription[] = _(
+ "Recovers up to half the\n"
+ "user’s maximum HP.");
+
+static const u8 sHardenDescription[] = _(
+ "Stiffens the body’s \n"
+ "muscles to raise DEFENSE.");
+
+static const u8 sMinimizeDescription[] = _(
+ "Minimizes the user’s size\n"
+ "to raise evasiveness.");
+
+static const u8 sSmokescreenDescription[] = _(
+ "Lowers the foe’s accuracy\n"
+ "using smoke, ink, etc.");
+
+static const u8 sConfuseRayDescription[] = _(
+ "A sinister ray that\n"
+ "confuses the foe.");
+
+static const u8 sWithdrawDescription[] = _(
+ "Withdraws the body into its\n"
+ "hard shell to raise DEFENSE.");
+
+static const u8 sDefenseCurlDescription[] = _(
+ "Curls up to conceal weak\n"
+ "spots and raise DEFENSE.");
+
+static const u8 sBarrierDescription[] = _(
+ "Creates a barrier that\n"
+ "sharply raises DEFENSE.");
+
+static const u8 sLightScreenDescription[] = _(
+ "Creates a wall of light that\n"
+ "lowers SP. ATK damage.");
+
+static const u8 sHazeDescription[] = _(
+ "Creates a black haze that\n"
+ "eliminates all stat changes.");
+
+static const u8 sReflectDescription[] = _(
+ "Creates a wall of light that\n"
+ "weakens physical attacks.");
+
+static const u8 sFocusEnergyDescription[] = _(
+ "Focuses power to raise the\n"
+ "critical-hit ratio.");
+
+static const u8 sBideDescription[] = _(
+ "Endures attack for 2\n"
+ "turns to retaliate double.");
+
+static const u8 sMetronomeDescription[] = _(
+ "Waggles a finger to use any\n"
+ "POKéMON move at random.");
+
+static const u8 sMirrorMoveDescription[] = _(
+ "Counters the foe’s attack\n"
+ "with the same move.");
+
+static const u8 sSelfDestructDescription[] = _(
+ "Inflicts severe damage but\n"
+ "makes the user faint.");
+
+static const u8 sEggBombDescription[] = _(
+ "An egg is forcibly hurled at\n"
+ "the foe.");
+
+static const u8 sLickDescription[] = _(
+ "Licks with a long tongue to\n"
+ "injure. May also paralyze.");
+
+static const u8 sSmogDescription[] = _(
+ "An exhaust-gas attack\n"
+ "that may also poison.");
+
+static const u8 sSludgeDescription[] = _(
+ "Sludge is hurled to inflict\n"
+ "damage. May also poison.");
+
+static const u8 sBoneClubDescription[] = _(
+ "Clubs the foe with a bone.\n"
+ "May cause flinching.");
+
+static const u8 sFireBlastDescription[] = _(
+ "Incinerates everything it\n"
+ "strikes. May cause a burn.");
+
+static const u8 sWaterfallDescription[] = _(
+ "Charges the foe with speed\n"
+ "to climb waterfalls.");
+
+static const u8 sClampDescription[] = _(
+ "Traps and squeezes the\n"
+ "foe for 2 to 5 turns.");
+
+static const u8 sSwiftDescription[] = _(
+ "Sprays star-shaped rays\n"
+ "that never miss.");
+
+static const u8 sSkullBashDescription[] = _(
+ "Tucks in the head, then\n"
+ "attacks on the next turn.");
+
+static const u8 sSpikeCannonDescription[] = _(
+ "Launches sharp spikes that\n"
+ "strike 2 to 5 times.");
+
+static const u8 sConstrictDescription[] = _(
+ "Constricts to inflict pain.\n"
+ "May lower SPEED.");
+
+static const u8 sAmnesiaDescription[] = _(
+ "Forgets about something\n"
+ "and sharply raises SP. DEF.");
+
+static const u8 sKinesisDescription[] = _(
+ "Distracts the foe.\n"
+ "May lower accuracy.");
+
+static const u8 sSoftBoiledDescription[] = _(
+ "Recovers up to half the\n"
+ "user’s maximum HP.");
+
+static const u8 sHiJumpKickDescription[] = _(
+ "A jumping knee kick. If it\n"
+ "misses, the user is hurt.");
+
+static const u8 sGlareDescription[] = _(
+ "Intimidates and frightens\n"
+ "the foe into paralysis.");
+
+static const u8 sDreamEaterDescription[] = _(
+ "Takes one half the damage\n"
+ "inflicted on a sleeping foe.");
+
+static const u8 sPoisonGasDescription[] = _(
+ "Envelops the foe in a toxic\n"
+ "gas that may poison.");
+
+static const u8 sBarrageDescription[] = _(
+ "Hurls round objects at the\n"
+ "foe 2 to 5 times.");
+
+static const u8 sLeechLifeDescription[] = _(
+ "An attack that steals half\n"
+ "the damage inflicted.");
+
+static const u8 sLovelyKissDescription[] = _(
+ "Demands a kiss with a scary\n"
+ "face that induces sleep.");
+
+static const u8 sSkyAttackDescription[] = _(
+ "Searches out weak spots,\n"
+ "then strikes the next turn.");
+
+static const u8 sTransformDescription[] = _(
+ "Alters the user’s cells to\n"
+ "become a copy of the foe.");
+
+static const u8 sBubbleDescription[] = _(
+ "An attack using bubbles.\n"
+ "May lower the foe’s SPEED.");
+
+static const u8 sDizzyPunchDescription[] = _(
+ "A rhythmic punch that may\n"
+ "confuse the foe.");
+
+static const u8 sSporeDescription[] = _(
+ "Scatters a cloud of spores\n"
+ "that always induce sleep.");
+
+static const u8 sFlashDescription[] = _(
+ "Looses a powerful blast of\n"
+ "light that cuts accuracy.");
+
+static const u8 sPsywaveDescription[] = _(
+ "Attacks with a psychic\n"
+ "wave of varying intensity.");
+
+static const u8 sSplashDescription[] = _(
+ "It’s just a splash...\n"
+ "Has no effect whatsoever.");
+
+static const u8 sAcidArmorDescription[] = _(
+ "Liquifies the user’s body\n"
+ "to sharply raise DEFENSE.");
+
+static const u8 sCrabhammerDescription[] = _(
+ "Hammers with a pincer. Has a\n"
+ "high critical-hit ratio.");
+
+static const u8 sExplosionDescription[] = _(
+ "Inflicts severe damage but\n"
+ "makes the user faint.");
+
+static const u8 sFurySwipesDescription[] = _(
+ "Rakes the foe with sharp\n"
+ "claws, etc., 2 to 5 times.");
+
+static const u8 sBonemerangDescription[] = _(
+ "Throws a bone boomerang\n"
+ "that strikes twice.");
+
+static const u8 sRestDescription[] = _(
+ "The user sleeps for 2 turns,\n"
+ "restoring HP and status.");
+
+static const u8 sRockSlideDescription[] = _(
+ "Large boulders are hurled.\n"
+ "May cause flinching.");
+
+static const u8 sHyperFangDescription[] = _(
+ "Attacks with sharp fangs.\n"
+ "May cause flinching.");
+
+static const u8 sSharpenDescription[] = _(
+ "Reduces the polygon count\n"
+ "and raises ATTACK.");
+
+static const u8 sConversionDescription[] = _(
+ "Changes the user’s type\n"
+ "into a known move’s type.");
+
+static const u8 sTriAttackDescription[] = _(
+ "Fires three types of beams\n"
+ "at the same time.");
+
+static const u8 sSuperFangDescription[] = _(
+ "Attacks with sharp fangs\n"
+ "and cuts half the foe’s HP.");
+
+static const u8 sSlashDescription[] = _(
+ "Slashes with claws, etc. Has\n"
+ "a high critical-hit ratio.");
+
+static const u8 sSubstituteDescription[] = _(
+ "Creates a decoy using 1/4\n"
+ "of the user’s maximum HP.");
+
+static const u8 sStruggleDescription[] = _(
+ "Used only if all PP are gone.\n"
+ "Also hurts the user a little.");
+
+static const u8 sSketchDescription[] = _(
+ "Copies the foe’s last move\n"
+ "permanently.");
+
+static const u8 sTripleKickDescription[] = _(
+ "Kicks the foe 3 times in a\n"
+ "row with rising intensity.");
+
+static const u8 sThiefDescription[] = _(
+ "While attacking, it may\n"
+ "steal the foe’s held item.");
+
+static const u8 sSpiderWebDescription[] = _(
+ "Ensnares the foe to stop it\n"
+ "from fleeing or switching.");
+
+static const u8 sMindReaderDescription[] = _(
+ "Senses the foe’s action to\n"
+ "ensure the next move’s hit.");
+
+static const u8 sNightmareDescription[] = _(
+ "Inflicts 1/4 damage on a\n"
+ "sleeping foe every turn.");
+
+static const u8 sFlameWheelDescription[] = _(
+ "A fiery charge attack that\n"
+ "may inflict a burn.");
+
+static const u8 sSnoreDescription[] = _(
+ "A loud attack that can be\n"
+ "used only while asleep.");
+
+static const u8 sCurseDescription[] = _(
+ "A move that functions\n"
+ "differently for GHOSTS.");
+
+static const u8 sFlailDescription[] = _(
+ "Inflicts more damage when\n"
+ "the user’s HP is down.");
+
+static const u8 sConversion2Description[] = _(
+ "Makes the user resistant\n"
+ "to the last attack’s type.");
+
+static const u8 sAeroblastDescription[] = _(
+ "Launches a vacuumed blast.\n"
+ "High critical-hit ratio.");
+
+static const u8 sCottonSporeDescription[] = _(
+ "Spores cling to the foe,\n"
+ "sharply reducing SPEED.");
+
+static const u8 sReversalDescription[] = _(
+ "Inflicts more damage when\n"
+ "the user’s HP is down.");
+
+static const u8 sSpiteDescription[] = _(
+ "Spitefully cuts the PP\n"
+ "of the foe’s last move.");
+
+static const u8 sPowderSnowDescription[] = _(
+ "Blasts the foe with a snowy\n"
+ "gust. May cause freezing.");
+
+static const u8 sProtectDescription[] = _(
+ "Evades attack, but may fail\n"
+ "if used in succession.");
+
+static const u8 sMachPunchDescription[] = _(
+ "A punch is thrown at wicked\n"
+ "speed to strike first.");
+
+static const u8 sScaryFaceDescription[] = _(
+ "Frightens with a scary face\n"
+ "to sharply reduce SPEED.");
+
+static const u8 sFaintAttackDescription[] = _(
+ "Draws the foe close, then\n"
+ "strikes without fail.");
+
+static const u8 sSweetKissDescription[] = _(
+ "Demands a kiss with a cute\n"
+ "look. May cause confusion.");
+
+static const u8 sBellyDrumDescription[] = _(
+ "Maximizes ATTACK while\n"
+ "sacrificing HP.");
+
+static const u8 sSludgeBombDescription[] = _(
+ "Sludge is hurled to inflict\n"
+ "damage. May also poison.");
+
+static const u8 sMudSlapDescription[] = _(
+ "Hurls mud in the foe’s face\n"
+ "to reduce its accuracy.");
+
+static const u8 sOctazookaDescription[] = _(
+ "Fires a lump of ink to\n"
+ "damage and cut accuracy.");
+
+static const u8 sSpikesDescription[] = _(
+ "Sets spikes that hurt a \n"
+ "foe switching in.");
+
+static const u8 sZapCannonDescription[] = _(
+ "Powerful and sure to cause\n"
+ "paralysis, but inaccurate.");
+
+static const u8 sForesightDescription[] = _(
+ "Negates the foe’s efforts\n"
+ "to heighten evasiveness.");
+
+static const u8 sDestinyBondDescription[] = _(
+ "If the user faints, the foe\n"
+ "is also made to faint.");
+
+static const u8 sPerishSongDescription[] = _(
+ "Any POKéMON hearing this\n"
+ "song faints in 3 turns.");
+
+static const u8 sIcyWindDescription[] = _(
+ "A chilling attack that\n"
+ "lowers the foe’s SPEED.");
+
+static const u8 sDetectDescription[] = _(
+ "Evades attack, but may fail\n"
+ "if used in succession.");
+
+static const u8 sBoneRushDescription[] = _(
+ "Strikes the foe with a bone\n"
+ "in hand 2 to 5 times.");
+
+static const u8 sLockOnDescription[] = _(
+ "Locks on to the foe to\n"
+ "ensure the next move hits.");
+
+static const u8 sOutrageDescription[] = _(
+ "A rampage of 2 to 3 turns\n"
+ "that confuses the user.");
+
+static const u8 sSandstormDescription[] = _(
+ "Causes a sandstorm that\n"
+ "rages for several turns.");
+
+static const u8 sGigaDrainDescription[] = _(
+ "An attack that steals half\n"
+ "the damage inflicted.");
+
+static const u8 sEndureDescription[] = _(
+ "Endures any attack for\n"
+ "1 turn, leaving at least 1HP.");
+
+static const u8 sCharmDescription[] = _(
+ "Charms the foe and sharply\n"
+ "reduces its ATTACK.");
+
+static const u8 sRolloutDescription[] = _(
+ "An attack lasting 5 turns\n"
+ "with rising intensity.");
+
+static const u8 sFalseSwipeDescription[] = _(
+ "An attack that leaves the\n"
+ "foe with at least 1 HP.");
+
+static const u8 sSwaggerDescription[] = _(
+ "Confuses the foe, but also\n"
+ "sharply raises ATTACK.");
+
+static const u8 sMilkDrinkDescription[] = _(
+ "Recovers up to half the\n"
+ "user’s maximum HP.");
+
+static const u8 sSparkDescription[] = _(
+ "An electrified tackle that\n"
+ "may paralyze the foe.");
+
+static const u8 sFuryCutterDescription[] = _(
+ "An attack that intensifies\n"
+ "on each successive hit.");
+
+static const u8 sSteelWingDescription[] = _(
+ "Strikes the foe with hard\n"
+ "wings spread wide.");
+
+static const u8 sMeanLookDescription[] = _(
+ "Fixes the foe with a mean\n"
+ "look that prevents escape.");
+
+static const u8 sAttractDescription[] = _(
+ "Makes the opposite gender\n"
+ "less likely to attack.");
+
+static const u8 sSleepTalkDescription[] = _(
+ "Uses an available move\n"
+ "randomly while asleep.");
+
+static const u8 sHealBellDescription[] = _(
+ "Chimes soothingly to heal\n"
+ "all status abnormalities.");
+
+static const u8 sReturnDescription[] = _(
+ "An attack that increases\n"
+ "in power with friendship.");
+
+static const u8 sPresentDescription[] = _(
+ "A gift in the form of a\n"
+ "bomb. May restore HP.");
+
+static const u8 sFrustrationDescription[] = _(
+ "An attack that is stronger\n"
+ "if the TRAINER is disliked.");
+
+static const u8 sSafeguardDescription[] = _(
+ "A mystical force prevents\n"
+ "all status problems.");
+
+static const u8 sPainSplitDescription[] = _(
+ "Adds the user and foe’s HP,\n"
+ "then shares them equally.");
+
+static const u8 sSacredFireDescription[] = _(
+ "A mystical fire attack that\n"
+ "may inflict a burn.");
+
+static const u8 sMagnitudeDescription[] = _(
+ "A ground-shaking attack\n"
+ "of random intensity.");
+
+static const u8 sDynamicPunchDescription[] = _(
+ "Powerful and sure to cause\n"
+ "confusion, but inaccurate.");
+
+static const u8 sMegahornDescription[] = _(
+ "A brutal ramming attack\n"
+ "using out-thrust horns.");
+
+static const u8 sDragonBreathDescription[] = _(
+ "Strikes the foe with an\n"
+ "incredible blast of breath.");
+
+static const u8 sBatonPassDescription[] = _(
+ "Switches out the user while\n"
+ "keeping effects in play.");
+
+static const u8 sEncoreDescription[] = _(
+ "Makes the foe repeat its\n"
+ "last move over 2 to 6 turns.");
+
+static const u8 sPursuitDescription[] = _(
+ "Inflicts bad damage if used\n"
+ "on a foe switching out.");
+
+static const u8 sRapidSpinDescription[] = _(
+ "Spins the body at high\n"
+ "speed to strike the foe.");
+
+static const u8 sSweetScentDescription[] = _(
+ "Allures the foe to reduce\n"
+ "evasiveness.");
+
+static const u8 sIronTailDescription[] = _(
+ "Attacks with a rock-hard\n"
+ "tail. May lower DEFENSE.");
+
+static const u8 sMetalClawDescription[] = _(
+ "A claw attack that may\n"
+ "raise the user’s ATTACK.");
+
+static const u8 sVitalThrowDescription[] = _(
+ "Makes the user’s move last,\n"
+ "but it never misses.");
+
+static const u8 sMorningSunDescription[] = _(
+ "Restores HP. The amount\n"
+ "varies with the weather.");
+
+static const u8 sSynthesisDescription[] = _(
+ "Restores HP. The amount\n"
+ "varies with the weather.");
+
+static const u8 sMoonlightDescription[] = _(
+ "Restores HP. The amount\n"
+ "varies with the weather.");
+
+static const u8 sHiddenPowerDescription[] = _(
+ "The effectiveness varies\n"
+ "with the user.");
+
+static const u8 sCrossChopDescription[] = _(
+ "A double-chopping attack.\n"
+ "High critical-hit ratio.");
+
+static const u8 sTwisterDescription[] = _(
+ "Whips up a vicious twister\n"
+ "to tear at the foe.");
+
+static const u8 sRainDanceDescription[] = _(
+ "Boosts the power of WATER-\n"
+ "type moves for 5 turns.");
+
+static const u8 sSunnyDayDescription[] = _(
+ "Boosts the power of FIRE-\n"
+ "type moves for 5 turns.");
+
+static const u8 sCrunchDescription[] = _(
+ "Crunches with sharp fangs.\n"
+ "May lower SP. DEF.");
+
+static const u8 sMirrorCoatDescription[] = _(
+ "Counters the foe’s special\n"
+ "attack at double the power.");
+
+static const u8 sPsychUpDescription[] = _(
+ "Copies the foe’s effect(s)\n"
+ "and gives to the user.");
+
+static const u8 sExtremeSpeedDescription[] = _(
+ "An extremely fast and\n"
+ "powerful attack.");
+
+static const u8 sAncientPowerDescription[] = _(
+ "An attack that may raise\n"
+ "all stats.");
+
+static const u8 sShadowBallDescription[] = _(
+ "Hurls a black blob that may\n"
+ "lower the foe’s SP. DEF.");
+
+static const u8 sFutureSightDescription[] = _(
+ "Heightens inner power to\n"
+ "strike 2 turns later.");
+
+static const u8 sRockSmashDescription[] = _(
+ "A rock-crushing attack\n"
+ "that may lower DEFENSE.");
+
+static const u8 sWhirlpoolDescription[] = _(
+ "Traps and hurts the foe in\n"
+ "a whirlpool for 2 to 5 turns.");
+
+static const u8 sBeatUpDescription[] = _(
+ "Summons party POKéMON to\n"
+ "join in the attack.");
+
+static const u8 sFakeOutDescription[] = _(
+ "A 1st-turn, 1st-strike move\n"
+ "that causes flinching.");
+
+static const u8 sUproarDescription[] = _(
+ "Causes an uproar for 2 to 5\n"
+ "turns and prevents sleep.");
+
+static const u8 sStockpileDescription[] = _(
+ "Charges up power for up to\n"
+ "3 turns.");
+
+static const u8 sSpitUpDescription[] = _(
+ "Releases stockpiled power\n"
+ "(the more the better).");
+
+static const u8 sSwallowDescription[] = _(
+ "Absorbs stockpiled power\n"
+ "and restores HP.");
+
+static const u8 sHeatWaveDescription[] = _(
+ "Exhales a hot breath on the\n"
+ "foe. May inflict a burn.");
+
+static const u8 sHailDescription[] = _(
+ "Summons a hailstorm that\n"
+ "strikes every turn.");
+
+static const u8 sTormentDescription[] = _(
+ "Torments the foe and stops\n"
+ "successive use of a move.");
+
+static const u8 sFlatterDescription[] = _(
+ "Confuses the foe, but\n"
+ "raises its SP. ATK.");
+
+static const u8 sWillOWispDescription[] = _(
+ "Inflicts a burn on the foe\n"
+ "with intense fire.");
+
+static const u8 sMementoDescription[] = _(
+ "The user faints and lowers\n"
+ "the foe’s abilities.");
+
+static const u8 sFacadeDescription[] = _(
+ "Boosts ATTACK when burned,\n"
+ "paralyzed, or poisoned.");
+
+static const u8 sFocusPunchDescription[] = _(
+ "A powerful loyalty attack.\n"
+ "The user flinches if hit.");
+
+static const u8 sSmellingSaltDescription[] = _(
+ "Powerful against paralyzed\n"
+ "foes, but also heals them.");
+
+static const u8 sFollowMeDescription[] = _(
+ "Draws attention to make\n"
+ "foes attack only the user.");
+
+static const u8 sNaturePowerDescription[] = _(
+ "The type of attack varies\n"
+ "depending on the location.");
+
+static const u8 sChargeDescription[] = _(
+ "Charges power to boost the\n"
+ "electric move used next.");
+
+static const u8 sTauntDescription[] = _(
+ "Taunts the foe into only\n"
+ "using attack moves.");
+
+static const u8 sHelpingHandDescription[] = _(
+ "Boosts the power of the\n"
+ "recipient’s moves.");
+
+static const u8 sTrickDescription[] = _(
+ "Tricks the foe into trading\n"
+ "held items.");
+
+static const u8 sRolePlayDescription[] = _(
+ "Mimics the target and\n"
+ "copies its special ability.");
+
+static const u8 sWishDescription[] = _(
+ "A wish that restores HP.\n"
+ "It takes time to work.");
+
+static const u8 sAssistDescription[] = _(
+ "Attacks randomly with one\n"
+ "of the partner’s moves.");
+
+static const u8 sIngrainDescription[] = _(
+ "Lays roots that restore HP.\n"
+ "The user can’t switch out.");
+
+static const u8 sSuperpowerDescription[] = _(
+ "Boosts strength sharply,\n"
+ "but lowers abilities.");
+
+static const u8 sMagicCoatDescription[] = _(
+ "Reflects special effects\n"
+ "back to the attacker.");
+
+static const u8 sRecycleDescription[] = _(
+ "Recycles a used item for\n"
+ "one more use.");
+
+static const u8 sRevengeDescription[] = _(
+ "An attack that gains power\n"
+ "if injured by the foe.");
+
+static const u8 sBrickBreakDescription[] = _(
+ "Destroys barriers such as\n"
+ "REFLECT and causes damage.");
+
+static const u8 sYawnDescription[] = _(
+ "Lulls the foe into yawning,\n"
+ "then sleeping next turn.");
+
+static const u8 sKnockOffDescription[] = _(
+ "Knocks down the foe’s held\n"
+ "item to prevent its use.");
+
+static const u8 sEndeavorDescription[] = _(
+ "Gains power if the user’s HP\n"
+ "is lower than the foe’s HP.");
+
+static const u8 sEruptionDescription[] = _(
+ "The higher the user’s HP,\n"
+ "the more damage caused.");
+
+static const u8 sSkillSwapDescription[] = _(
+ "The user swaps special\n"
+ "abilities with the target.");
+
+static const u8 sImprisonDescription[] = _(
+ "Prevents foes from using\n"
+ "moves known by the user.");
+
+static const u8 sRefreshDescription[] = _(
+ "Heals poisoning, paralysis,\n"
+ "or a burn.");
+
+static const u8 sGrudgeDescription[] = _(
+ "If the user faints, deletes\n"
+ "all PP of foe’s last move.");
+
+static const u8 sSnatchDescription[] = _(
+ "Steals the effects of the\n"
+ "move the target uses next.");
+
+static const u8 sSecretPowerDescription[] = _(
+ "An attack with effects\n"
+ "that vary by location.");
+
+static const u8 sDiveDescription[] = _(
+ "Dives underwater the first\n"
+ "turn and strikes next turn.");
+
+static const u8 sArmThrustDescription[] = _(
+ "Straight-arm punches that\n"
+ "strike the foe 2 to 5 times.");
+
+static const u8 sCamouflageDescription[] = _(
+ "Alters the POKéMON’s type\n"
+ "depending on the location.");
+
+static const u8 sTailGlowDescription[] = _(
+ "Flashes a light that sharply\n"
+ "raises SP. ATK.");
+
+static const u8 sLusterPurgeDescription[] = _(
+ "Attacks with a burst of\n"
+ "light. May lower SP. DEF.");
+
+static const u8 sMistBallDescription[] = _(
+ "Attacks with a flurry of\n"
+ "down. May lower SP. ATK.");
+
+static const u8 sFeatherDanceDescription[] = _(
+ "Envelops the foe with down\n"
+ "to sharply reduce ATTACK.");
+
+static const u8 sTeeterDanceDescription[] = _(
+ "Confuses all POKéMON on\n"
+ "the scene.");
+
+static const u8 sBlazeKickDescription[] = _(
+ "A kick with a high critical-\n"
+ "hit ratio. May cause a burn.");
+
+static const u8 sMudSportDescription[] = _(
+ "Covers the user in mud to\n"
+ "raise electrical resistance.");
+
+static const u8 sIceBallDescription[] = _(
+ "A 5-turn attack that gains\n"
+ "power on successive hits.");
+
+static const u8 sNeedleArmDescription[] = _(
+ "Attacks with thorny arms.\n"
+ "May cause flinching.");
+
+static const u8 sSlackOffDescription[] = _(
+ "Slacks off and restores\n"
+ "half the maximum HP.");
+
+static const u8 sHyperVoiceDescription[] = _(
+ "A loud attack that uses\n"
+ "sound waves to injure.");
+
+static const u8 sPoisonFangDescription[] = _(
+ "A sharp-fanged attack.\n"
+ "May badly poison the foe.");
+
+static const u8 sCrushClawDescription[] = _(
+ "Tears at the foe with sharp\n"
+ "claws. May lower DEFENSE.");
+
+static const u8 sBlastBurnDescription[] = _(
+ "Powerful, but leaves the\n"
+ "user immobile the next turn.");
+
+static const u8 sHydroCannonDescription[] = _(
+ "Powerful, but leaves the\n"
+ "user immobile the next turn.");
+
+static const u8 sMeteorMashDescription[] = _(
+ "Fires a meteor-like punch.\n"
+ "May raise ATTACK.");
+
+static const u8 sAstonishDescription[] = _(
+ "An attack that may shock\n"
+ "the foe into flinching.");
+
+static const u8 sWeatherBallDescription[] = _(
+ "The move’s type and power\n"
+ "change with the weather.");
+
+static const u8 sAromatherapyDescription[] = _(
+ "Heals all status problems\n"
+ "with a soothing scent.");
+
+static const u8 sFakeTearsDescription[] = _(
+ "Feigns crying to sharply\n"
+ "lower the foe’s SP. DEF.");
+
+static const u8 sAirCutterDescription[] = _(
+ "Hacks with razorlike wind.\n"
+ "High critical-hit ratio.");
+
+static const u8 sOverheatDescription[] = _(
+ "Allows a full-power attack,\n"
+ "but sharply lowers SP. ATK.");
+
+static const u8 sOdorSleuthDescription[] = _(
+ "Negates the foe’s efforts\n"
+ "to heighten evasiveness.");
+
+static const u8 sRockTombDescription[] = _(
+ "Stops the foe from moving\n"
+ "with rocks and cuts SPEED.");
+
+static const u8 sSilverWindDescription[] = _(
+ "A powdery attack that may\n"
+ "raise abilities.");
+
+static const u8 sMetalSoundDescription[] = _(
+ "Emits a horrible screech\n"
+ "that sharply lowers SP. DEF.");
+
+static const u8 sGrassWhistleDescription[] = _(
+ "Lulls the foe into sleep\n"
+ "with a pleasant melody.");
+
+static const u8 sTickleDescription[] = _(
+ "Makes the foe laugh to\n"
+ "lower ATTACK and DEFENSE.");
+
+static const u8 sCosmicPowerDescription[] = _(
+ "Raises DEFENSE and SP. DEF\n"
+ "with a mystic power.");
+
+static const u8 sWaterSpoutDescription[] = _(
+ "Inflicts more damage if the\n"
+ "user’s HP is high.");
+
+static const u8 sSignalBeamDescription[] = _(
+ "A strange beam attack that\n"
+ "may confuse the foe.");
+
+static const u8 sShadowPunchDescription[] = _(
+ "An unavoidable punch that\n"
+ "is thrown from shadows.");
+
+static const u8 sExtrasensoryDescription[] = _(
+ "Attacks with a peculiar\n"
+ "power. May cause flinching.");
+
+static const u8 sSkyUppercutDescription[] = _(
+ "An uppercut thrown as if\n"
+ "leaping into the sky.");
+
+static const u8 sSandTombDescription[] = _(
+ "Traps and hurts the foe in\n"
+ "quicksand for 2 to 5 turns.");
+
+static const u8 sSheerColdDescription[] = _(
+ "A chilling attack that\n"
+ "causes fainting if it hits.");
+
+static const u8 sMuddyWaterDescription[] = _(
+ "Attacks with muddy water.\n"
+ "May lower accuracy.");
+
+static const u8 sBulletSeedDescription[] = _(
+ "Shoots 2 to 5 seeds in a row\n"
+ "to strike the foe.");
+
+static const u8 sAerialAceDescription[] = _(
+ "An extremely speedy and\n"
+ "unavoidable attack.");
+
+static const u8 sIcicleSpearDescription[] = _(
+ "Attacks the foe by firing\n"
+ "2 to 5 icicles in a row.");
+
+static const u8 sIronDefenseDescription[] = _(
+ "Hardens the body’s surface\n"
+ "to sharply raise DEFENSE.");
+
+static const u8 sBlockDescription[] = _(
+ "Blocks the foe’s way to\n"
+ "prevent escape.");
+
+static const u8 sHowlDescription[] = _(
+ "Howls to raise the spirit\n"
+ "and boosts ATTACK.");
+
+static const u8 sDragonClawDescription[] = _(
+ "Slashes the foe with sharp\n"
+ "claws.");
+
+static const u8 sFrenzyPlantDescription[] = _(
+ "Powerful, but leaves the\n"
+ "user immobile the next turn.");
+
+static const u8 sBulkUpDescription[] = _(
+ "Bulks up the body to boost\n"
+ "both ATTACK and DEFENSE.");
+
+static const u8 sBounceDescription[] = _(
+ "Bounces up, then down the\n"
+ "next turn. May paralyze.");
+
+static const u8 sMudShotDescription[] = _(
+ "Hurls mud at the foe and\n"
+ "reduces SPEED.");
+
+static const u8 sPoisonTailDescription[] = _(
+ "Has a high critical-hit\n"
+ "ratio. May also poison.");
+
+static const u8 sCovetDescription[] = _(
+ "Cutely begs to obtain an\n"
+ "item held by the foe.");
+
+static const u8 sVoltTackleDescription[] = _(
+ "A life-risking tackle that\n"
+ "slightly hurts the user.");
+
+static const u8 sMagicalLeafDescription[] = _(
+ "Attacks with a strange leaf\n"
+ "that cannot be evaded.");
+
+static const u8 sWaterSportDescription[] = _(
+ "The user becomes soaked to\n"
+ "raise resistance to fire.");
+
+static const u8 sCalmMindDescription[] = _(
+ "Raises SP. ATK and SP. DEF\n"
+ "by focusing the mind.");
+
+static const u8 sLeafBladeDescription[] = _(
+ "Slashes with a sharp leaf.\n"
+ "High critical-hit ratio.");
+
+static const u8 sDragonDanceDescription[] = _(
+ "A mystical dance that ups\n"
+ "ATTACK and SPEED.");
+
+static const u8 sRockBlastDescription[] = _(
+ "Hurls boulders at the foe\n"
+ "2 to 5 times in a row.");
+
+static const u8 sShockWaveDescription[] = _(
+ "A fast and unavoidable\n"
+ "electric attack.");
+
+static const u8 sWaterPulseDescription[] = _(
+ "Attacks with ultrasonic\n"
+ "waves. May confuse the foe.");
+
+static const u8 sDoomDesireDescription[] = _(
+ "Summons strong sunlight to\n"
+ "attack 2 turns later.");
+
+static const u8 sPsychoBoostDescription[] = _(
+ "Allows a full-power attack,\n"
+ "but sharply lowers SP. ATK.");
// MOVE_NONE is ignored in this table. Make sure to always subtract 1 before getting the right pointer.
const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] =
{
- [MOVE_POUND - 1] = sPoundMoveDescription,
- [MOVE_KARATE_CHOP - 1] = sKarateChopMoveDescription,
- [MOVE_DOUBLE_SLAP - 1] = sDoubleSlapMoveDescription,
- [MOVE_COMET_PUNCH - 1] = sCometPunchMoveDescription,
- [MOVE_MEGA_PUNCH - 1] = sMegaPunchMoveDescription,
- [MOVE_PAY_DAY - 1] = sPayDayMoveDescription,
- [MOVE_FIRE_PUNCH - 1] = sFirePunchMoveDescription,
- [MOVE_ICE_PUNCH - 1] = sIcePunchMoveDescription,
- [MOVE_THUNDER_PUNCH - 1] = sThunderPunchMoveDescription,
- [MOVE_SCRATCH - 1] = sScratchMoveDescription,
- [MOVE_VICE_GRIP - 1] = sViceGripMoveDescription,
- [MOVE_GUILLOTINE - 1] = sGuillotineMoveDescription,
- [MOVE_RAZOR_WIND - 1] = sRazorWindMoveDescription,
- [MOVE_SWORDS_DANCE - 1] = sSwordsDanceMoveDescription,
- [MOVE_CUT - 1] = sCutMoveDescription,
- [MOVE_GUST - 1] = sGustMoveDescription,
- [MOVE_WING_ATTACK - 1] = sWingAttackMoveDescription,
- [MOVE_WHIRLWIND - 1] = sWhirlwindMoveDescription,
- [MOVE_FLY - 1] = sFlyMoveDescription,
- [MOVE_BIND - 1] = sBindMoveDescription,
- [MOVE_SLAM - 1] = sSlamMoveDescription,
- [MOVE_VINE_WHIP - 1] = sVineWhipMoveDescription,
- [MOVE_STOMP - 1] = sStompMoveDescription,
- [MOVE_DOUBLE_KICK - 1] = sDoubleKickMoveDescription,
- [MOVE_MEGA_KICK - 1] = sMegaKickMoveDescription,
- [MOVE_JUMP_KICK - 1] = sJumpKickMoveDescription,
- [MOVE_ROLLING_KICK - 1] = sRollingKickMoveDescription,
- [MOVE_SAND_ATTACK - 1] = sSandAttackMoveDescription,
- [MOVE_HEADBUTT - 1] = sHeadbuttMoveDescription,
- [MOVE_HORN_ATTACK - 1] = sHornAttackMoveDescription,
- [MOVE_FURY_ATTACK - 1] = sFuryAttackMoveDescription,
- [MOVE_HORN_DRILL - 1] = sHornDrillMoveDescription,
- [MOVE_TACKLE - 1] = sTackleMoveDescription,
- [MOVE_BODY_SLAM - 1] = sBodySlamMoveDescription,
- [MOVE_WRAP - 1] = sWrapMoveDescription,
- [MOVE_TAKE_DOWN - 1] = sTakeDownMoveDescription,
- [MOVE_THRASH - 1] = sThrashMoveDescription,
- [MOVE_DOUBLE_EDGE - 1] = sDoubleEdgeMoveDescription,
- [MOVE_TAIL_WHIP - 1] = sTailWhipMoveDescription,
- [MOVE_POISON_STING - 1] = sPoisonStingMoveDescription,
- [MOVE_TWINEEDLE - 1] = sTwineedleMoveDescription,
- [MOVE_PIN_MISSILE - 1] = sPinMissileMoveDescription,
- [MOVE_LEER - 1] = sLeerMoveDescription,
- [MOVE_BITE - 1] = sBiteMoveDescription,
- [MOVE_GROWL - 1] = sGrowlMoveDescription,
- [MOVE_ROAR - 1] = sRoarMoveDescription,
- [MOVE_SING - 1] = sSingMoveDescription,
- [MOVE_SUPERSONIC - 1] = sSupersonicMoveDescription,
- [MOVE_SONIC_BOOM - 1] = sSonicBoomMoveDescription,
- [MOVE_DISABLE - 1] = sDisableMoveDescription,
- [MOVE_ACID - 1] = sAcidMoveDescription,
- [MOVE_EMBER - 1] = sEmberMoveDescription,
- [MOVE_FLAMETHROWER - 1] = sFlamethrowerMoveDescription,
- [MOVE_MIST - 1] = sMistMoveDescription,
- [MOVE_WATER_GUN - 1] = sWaterGunMoveDescription,
- [MOVE_HYDRO_PUMP - 1] = sHydroPumpMoveDescription,
- [MOVE_SURF - 1] = sSurfMoveDescription,
- [MOVE_ICE_BEAM - 1] = sIceBeamMoveDescription,
- [MOVE_BLIZZARD - 1] = sBlizzardMoveDescription,
- [MOVE_PSYBEAM - 1] = sPsybeamMoveDescription,
- [MOVE_BUBBLE_BEAM - 1] = sBubbleBeamMoveDescription,
- [MOVE_AURORA_BEAM - 1] = sAuroraBeamMoveDescription,
- [MOVE_HYPER_BEAM - 1] = sHyperBeamMoveDescription,
- [MOVE_PECK - 1] = sPeckMoveDescription,
- [MOVE_DRILL_PECK - 1] = sDrillPeckMoveDescription,
- [MOVE_SUBMISSION - 1] = sSubmissionMoveDescription,
- [MOVE_LOW_KICK - 1] = sLowKickMoveDescription,
- [MOVE_COUNTER - 1] = sCounterMoveDescription,
- [MOVE_SEISMIC_TOSS - 1] = sSeismicTossMoveDescription,
- [MOVE_STRENGTH - 1] = sStrengthMoveDescription,
- [MOVE_ABSORB - 1] = sAbsorbMoveDescription,
- [MOVE_MEGA_DRAIN - 1] = sMegaDrainMoveDescription,
- [MOVE_LEECH_SEED - 1] = sLeechSeedMoveDescription,
- [MOVE_GROWTH - 1] = sGrowthMoveDescription,
- [MOVE_RAZOR_LEAF - 1] = sRazorLeafMoveDescription,
- [MOVE_SOLAR_BEAM - 1] = sSolarBeamMoveDescription,
- [MOVE_POISON_POWDER - 1] = sPoisonPowderMoveDescription,
- [MOVE_STUN_SPORE - 1] = sStunSporeMoveDescription,
- [MOVE_SLEEP_POWDER - 1] = sSleepPowderMoveDescription,
- [MOVE_PETAL_DANCE - 1] = sPetalDanceMoveDescription,
- [MOVE_STRING_SHOT - 1] = sStringShotMoveDescription,
- [MOVE_DRAGON_RAGE - 1] = sDragonRageMoveDescription,
- [MOVE_FIRE_SPIN - 1] = sFireSpinMoveDescription,
- [MOVE_THUNDER_SHOCK - 1] = sThunderShockMoveDescription,
- [MOVE_THUNDERBOLT - 1] = sThunderboltMoveDescription,
- [MOVE_THUNDER_WAVE - 1] = sThunderWaveMoveDescription,
- [MOVE_THUNDER - 1] = sThunderMoveDescription,
- [MOVE_ROCK_THROW - 1] = sRockThrowMoveDescription,
- [MOVE_EARTHQUAKE - 1] = sEarthquakeMoveDescription,
- [MOVE_FISSURE - 1] = sFissureMoveDescription,
- [MOVE_DIG - 1] = sDigMoveDescription,
- [MOVE_TOXIC - 1] = sToxicMoveDescription,
- [MOVE_CONFUSION - 1] = sConfusionMoveDescription,
- [MOVE_PSYCHIC - 1] = sPsychicMoveDescription,
- [MOVE_HYPNOSIS - 1] = sHypnosisMoveDescription,
- [MOVE_MEDITATE - 1] = sMeditateMoveDescription,
- [MOVE_AGILITY - 1] = sAgilityMoveDescription,
- [MOVE_QUICK_ATTACK - 1] = sQuickAttackMoveDescription,
- [MOVE_RAGE - 1] = sRageMoveDescription,
- [MOVE_TELEPORT - 1] = sTeleportMoveDescription,
- [MOVE_NIGHT_SHADE - 1] = sNightShadeMoveDescription,
- [MOVE_MIMIC - 1] = sMimicMoveDescription,
- [MOVE_SCREECH - 1] = sScreechMoveDescription,
- [MOVE_DOUBLE_TEAM - 1] = sDoubleTeamMoveDescription,
- [MOVE_RECOVER - 1] = sRecoverMoveDescription,
- [MOVE_HARDEN - 1] = sHardenMoveDescription,
- [MOVE_MINIMIZE - 1] = sMinimizeMoveDescription,
- [MOVE_SMOKESCREEN - 1] = sSmokescreenMoveDescription,
- [MOVE_CONFUSE_RAY - 1] = sConfuseRayMoveDescription,
- [MOVE_WITHDRAW - 1] = sWithdrawMoveDescription,
- [MOVE_DEFENSE_CURL - 1] = sDefenseCurlMoveDescription,
- [MOVE_BARRIER - 1] = sBarrierMoveDescription,
- [MOVE_LIGHT_SCREEN - 1] = sLightScreenMoveDescription,
- [MOVE_HAZE - 1] = sHazeMoveDescription,
- [MOVE_REFLECT - 1] = sReflectMoveDescription,
- [MOVE_FOCUS_ENERGY - 1] = sFocusEnergyMoveDescription,
- [MOVE_BIDE - 1] = sBideMoveDescription,
- [MOVE_METRONOME - 1] = sMetronomeMoveDescription,
- [MOVE_MIRROR_MOVE - 1] = sMirrorMoveMoveDescription,
- [MOVE_SELF_DESTRUCT - 1] = sSelfDestructMoveDescription,
- [MOVE_EGG_BOMB - 1] = sEggBombMoveDescription,
- [MOVE_LICK - 1] = sLickMoveDescription,
- [MOVE_SMOG - 1] = sSmogMoveDescription,
- [MOVE_SLUDGE - 1] = sSludgeMoveDescription,
- [MOVE_BONE_CLUB - 1] = sBoneClubMoveDescription,
- [MOVE_FIRE_BLAST - 1] = sFireBlastMoveDescription,
- [MOVE_WATERFALL - 1] = sWaterfallMoveDescription,
- [MOVE_CLAMP - 1] = sClampMoveDescription,
- [MOVE_SWIFT - 1] = sSwiftMoveDescription,
- [MOVE_SKULL_BASH - 1] = sSkullBashMoveDescription,
- [MOVE_SPIKE_CANNON - 1] = sSpikeCannonMoveDescription,
- [MOVE_CONSTRICT - 1] = sConstrictMoveDescription,
- [MOVE_AMNESIA - 1] = sAmnesiaMoveDescription,
- [MOVE_KINESIS - 1] = sKinesisMoveDescription,
- [MOVE_SOFT_BOILED - 1] = sSoftBoiledMoveDescription,
- [MOVE_HI_JUMP_KICK - 1] = sHiJumpKickMoveDescription,
- [MOVE_GLARE - 1] = sGlareMoveDescription,
- [MOVE_DREAM_EATER - 1] = sDreamEaterMoveDescription,
- [MOVE_POISON_GAS - 1] = sPoisonGasMoveDescription,
- [MOVE_BARRAGE - 1] = sBarrageMoveDescription,
- [MOVE_LEECH_LIFE - 1] = sLeechLifeMoveDescription,
- [MOVE_LOVELY_KISS - 1] = sLovelyKissMoveDescription,
- [MOVE_SKY_ATTACK - 1] = sSkyAttackMoveDescription,
- [MOVE_TRANSFORM - 1] = sTransformMoveDescription,
- [MOVE_BUBBLE - 1] = sBubbleMoveDescription,
- [MOVE_DIZZY_PUNCH - 1] = sDizzyPunchMoveDescription,
- [MOVE_SPORE - 1] = sSporeMoveDescription,
- [MOVE_FLASH - 1] = sFlashMoveDescription,
- [MOVE_PSYWAVE - 1] = sPsywaveMoveDescription,
- [MOVE_SPLASH - 1] = sSplashMoveDescription,
- [MOVE_ACID_ARMOR - 1] = sAcidArmorMoveDescription,
- [MOVE_CRABHAMMER - 1] = sCrabhammerMoveDescription,
- [MOVE_EXPLOSION - 1] = sExplosionMoveDescription,
- [MOVE_FURY_SWIPES - 1] = sFurySwipesMoveDescription,
- [MOVE_BONEMERANG - 1] = sBonemerangMoveDescription,
- [MOVE_REST - 1] = sRestMoveDescription,
- [MOVE_ROCK_SLIDE - 1] = sRockSlideMoveDescription,
- [MOVE_HYPER_FANG - 1] = sHyperFangMoveDescription,
- [MOVE_SHARPEN - 1] = sSharpenMoveDescription,
- [MOVE_CONVERSION - 1] = sConversionMoveDescription,
- [MOVE_TRI_ATTACK - 1] = sTriAttackMoveDescription,
- [MOVE_SUPER_FANG - 1] = sSuperFangMoveDescription,
- [MOVE_SLASH - 1] = sSlashMoveDescription,
- [MOVE_SUBSTITUTE - 1] = sSubstituteMoveDescription,
- [MOVE_STRUGGLE - 1] = sStruggleMoveDescription,
- [MOVE_SKETCH - 1] = sSketchMoveDescription,
- [MOVE_TRIPLE_KICK - 1] = sTripleKickMoveDescription,
- [MOVE_THIEF - 1] = sThiefMoveDescription,
- [MOVE_SPIDER_WEB - 1] = sSpiderWebMoveDescription,
- [MOVE_MIND_READER - 1] = sMindReaderMoveDescription,
- [MOVE_NIGHTMARE - 1] = sNightmareMoveDescription,
- [MOVE_FLAME_WHEEL - 1] = sFlameWheelMoveDescription,
- [MOVE_SNORE - 1] = sSnoreMoveDescription,
- [MOVE_CURSE - 1] = sCurseMoveDescription,
- [MOVE_FLAIL - 1] = sFlailMoveDescription,
- [MOVE_CONVERSION_2 - 1] = sConversion2MoveDescription,
- [MOVE_AEROBLAST - 1] = sAeroblastMoveDescription,
- [MOVE_COTTON_SPORE - 1] = sCottonSporeMoveDescription,
- [MOVE_REVERSAL - 1] = sReversalMoveDescription,
- [MOVE_SPITE - 1] = sSpiteMoveDescription,
- [MOVE_POWDER_SNOW - 1] = sPowderSnowMoveDescription,
- [MOVE_PROTECT - 1] = sProtectMoveDescription,
- [MOVE_MACH_PUNCH - 1] = sMachPunchMoveDescription,
- [MOVE_SCARY_FACE - 1] = sScaryFaceMoveDescription,
- [MOVE_FAINT_ATTACK - 1] = sFaintAttackMoveDescription,
- [MOVE_SWEET_KISS - 1] = sSweetKissMoveDescription,
- [MOVE_BELLY_DRUM - 1] = sBellyDrumMoveDescription,
- [MOVE_SLUDGE_BOMB - 1] = sSludgeBombMoveDescription,
- [MOVE_MUD_SLAP - 1] = sMudSlapMoveDescription,
- [MOVE_OCTAZOOKA - 1] = sOctazookaMoveDescription,
- [MOVE_SPIKES - 1] = sSpikesMoveDescription,
- [MOVE_ZAP_CANNON - 1] = sZapCannonMoveDescription,
- [MOVE_FORESIGHT - 1] = sForesightMoveDescription,
- [MOVE_DESTINY_BOND - 1] = sDestinyBondMoveDescription,
- [MOVE_PERISH_SONG - 1] = sPerishSongMoveDescription,
- [MOVE_ICY_WIND - 1] = sIcyWindMoveDescription,
- [MOVE_DETECT - 1] = sDetectMoveDescription,
- [MOVE_BONE_RUSH - 1] = sBoneRushMoveDescription,
- [MOVE_LOCK_ON - 1] = sLockOnMoveDescription,
- [MOVE_OUTRAGE - 1] = sOutrageMoveDescription,
- [MOVE_SANDSTORM - 1] = sSandstormMoveDescription,
- [MOVE_GIGA_DRAIN - 1] = sGigaDrainMoveDescription,
- [MOVE_ENDURE - 1] = sEndureMoveDescription,
- [MOVE_CHARM - 1] = sCharmMoveDescription,
- [MOVE_ROLLOUT - 1] = sRolloutMoveDescription,
- [MOVE_FALSE_SWIPE - 1] = sFalseSwipeMoveDescription,
- [MOVE_SWAGGER - 1] = sSwaggerMoveDescription,
- [MOVE_MILK_DRINK - 1] = sMilkDrinkMoveDescription,
- [MOVE_SPARK - 1] = sSparkMoveDescription,
- [MOVE_FURY_CUTTER - 1] = sFuryCutterMoveDescription,
- [MOVE_STEEL_WING - 1] = sSteelWingMoveDescription,
- [MOVE_MEAN_LOOK - 1] = sMeanLookMoveDescription,
- [MOVE_ATTRACT - 1] = sAttractMoveDescription,
- [MOVE_SLEEP_TALK - 1] = sSleepTalkMoveDescription,
- [MOVE_HEAL_BELL - 1] = sHealBellMoveDescription,
- [MOVE_RETURN - 1] = sReturnMoveDescription,
- [MOVE_PRESENT - 1] = sPresentMoveDescription,
- [MOVE_FRUSTRATION - 1] = sFrustrationMoveDescription,
- [MOVE_SAFEGUARD - 1] = sSafeguardMoveDescription,
- [MOVE_PAIN_SPLIT - 1] = sPainSplitMoveDescription,
- [MOVE_SACRED_FIRE - 1] = sSacredFireMoveDescription,
- [MOVE_MAGNITUDE - 1] = sMagnitudeMoveDescription,
- [MOVE_DYNAMIC_PUNCH - 1] = sDynamicPunchMoveDescription,
- [MOVE_MEGAHORN - 1] = sMegahornMoveDescription,
- [MOVE_DRAGON_BREATH - 1] = sDragonBreathMoveDescription,
- [MOVE_BATON_PASS - 1] = sBatonPassMoveDescription,
- [MOVE_ENCORE - 1] = sEncoreMoveDescription,
- [MOVE_PURSUIT - 1] = sPursuitMoveDescription,
- [MOVE_RAPID_SPIN - 1] = sRapidSpinMoveDescription,
- [MOVE_SWEET_SCENT - 1] = sSweetScentMoveDescription,
- [MOVE_IRON_TAIL - 1] = sIronTailMoveDescription,
- [MOVE_METAL_CLAW - 1] = sMetalClawMoveDescription,
- [MOVE_VITAL_THROW - 1] = sVitalThrowMoveDescription,
- [MOVE_MORNING_SUN - 1] = sMorningSunMoveDescription,
- [MOVE_SYNTHESIS - 1] = sSynthesisMoveDescription,
- [MOVE_MOONLIGHT - 1] = sMoonlightMoveDescription,
- [MOVE_HIDDEN_POWER - 1] = sHiddenPowerMoveDescription,
- [MOVE_CROSS_CHOP - 1] = sCrossChopMoveDescription,
- [MOVE_TWISTER - 1] = sTwisterMoveDescription,
- [MOVE_RAIN_DANCE - 1] = sRainDanceMoveDescription,
- [MOVE_SUNNY_DAY - 1] = sSunnyDayMoveDescription,
- [MOVE_CRUNCH - 1] = sCrunchMoveDescription,
- [MOVE_MIRROR_COAT - 1] = sMirrorCoatMoveDescription,
- [MOVE_PSYCH_UP - 1] = sPsychUpMoveDescription,
- [MOVE_EXTREME_SPEED - 1] = sExtremeSpeedMoveDescription,
- [MOVE_ANCIENT_POWER - 1] = sAncientPowerMoveDescription,
- [MOVE_SHADOW_BALL - 1] = sShadowBallMoveDescription,
- [MOVE_FUTURE_SIGHT - 1] = sFutureSightMoveDescription,
- [MOVE_ROCK_SMASH - 1] = sRockSmashMoveDescription,
- [MOVE_WHIRLPOOL - 1] = sWhirlpoolMoveDescription,
- [MOVE_BEAT_UP - 1] = sBeatUpMoveDescription,
- [MOVE_FAKE_OUT - 1] = sFakeOutMoveDescription,
- [MOVE_UPROAR - 1] = sUproarMoveDescription,
- [MOVE_STOCKPILE - 1] = sStockpileMoveDescription,
- [MOVE_SPIT_UP - 1] = sSpitUpMoveDescription,
- [MOVE_SWALLOW - 1] = sSwallowMoveDescription,
- [MOVE_HEAT_WAVE - 1] = sHeatWaveMoveDescription,
- [MOVE_HAIL - 1] = sHailMoveDescription,
- [MOVE_TORMENT - 1] = sTormentMoveDescription,
- [MOVE_FLATTER - 1] = sFlatterMoveDescription,
- [MOVE_WILL_O_WISP - 1] = sWillOWispMoveDescription,
- [MOVE_MEMENTO - 1] = sMementoMoveDescription,
- [MOVE_FACADE - 1] = sFacadeMoveDescription,
- [MOVE_FOCUS_PUNCH - 1] = sFocusPunchMoveDescription,
- [MOVE_SMELLING_SALT - 1] = sSmellingSaltMoveDescription,
- [MOVE_FOLLOW_ME - 1] = sFollowMeMoveDescription,
- [MOVE_NATURE_POWER - 1] = sNaturePowerMoveDescription,
- [MOVE_CHARGE - 1] = sChargeMoveDescription,
- [MOVE_TAUNT - 1] = sTauntMoveDescription,
- [MOVE_HELPING_HAND - 1] = sHelpingHandMoveDescription,
- [MOVE_TRICK - 1] = sTrickMoveDescription,
- [MOVE_ROLE_PLAY - 1] = sRolePlayMoveDescription,
- [MOVE_WISH - 1] = sWishMoveDescription,
- [MOVE_ASSIST - 1] = sAssistMoveDescription,
- [MOVE_INGRAIN - 1] = sIngrainMoveDescription,
- [MOVE_SUPERPOWER - 1] = sSuperpowerMoveDescription,
- [MOVE_MAGIC_COAT - 1] = sMagicCoatMoveDescription,
- [MOVE_RECYCLE - 1] = sRecycleMoveDescription,
- [MOVE_REVENGE - 1] = sRevengeMoveDescription,
- [MOVE_BRICK_BREAK - 1] = sBrickBreakMoveDescription,
- [MOVE_YAWN - 1] = sYawnMoveDescription,
- [MOVE_KNOCK_OFF - 1] = sKnockOffMoveDescription,
- [MOVE_ENDEAVOR - 1] = sEndeavorMoveDescription,
- [MOVE_ERUPTION - 1] = sEruptionMoveDescription,
- [MOVE_SKILL_SWAP - 1] = sSkillSwapMoveDescription,
- [MOVE_IMPRISON - 1] = sImprisonMoveDescription,
- [MOVE_REFRESH - 1] = sRefreshMoveDescription,
- [MOVE_GRUDGE - 1] = sGrudgeMoveDescription,
- [MOVE_SNATCH - 1] = sSnatchMoveDescription,
- [MOVE_SECRET_POWER - 1] = sSecretPowerMoveDescription,
- [MOVE_DIVE - 1] = sDiveMoveDescription,
- [MOVE_ARM_THRUST - 1] = sArmThrustMoveDescription,
- [MOVE_CAMOUFLAGE - 1] = sCamouflageMoveDescription,
- [MOVE_TAIL_GLOW - 1] = sTailGlowMoveDescription,
- [MOVE_LUSTER_PURGE - 1] = sLusterPurgeMoveDescription,
- [MOVE_MIST_BALL - 1] = sMistBallMoveDescription,
- [MOVE_FEATHER_DANCE - 1] = sFeatherDanceMoveDescription,
- [MOVE_TEETER_DANCE - 1] = sTeeterDanceMoveDescription,
- [MOVE_BLAZE_KICK - 1] = sBlazeKickMoveDescription,
- [MOVE_MUD_SPORT - 1] = sMudSportMoveDescription,
- [MOVE_ICE_BALL - 1] = sIceBallMoveDescription,
- [MOVE_NEEDLE_ARM - 1] = sNeedleArmMoveDescription,
- [MOVE_SLACK_OFF - 1] = sSlackOffMoveDescription,
- [MOVE_HYPER_VOICE - 1] = sHyperVoiceMoveDescription,
- [MOVE_POISON_FANG - 1] = sPoisonFangMoveDescription,
- [MOVE_CRUSH_CLAW - 1] = sCrushClawMoveDescription,
- [MOVE_BLAST_BURN - 1] = sBlastBurnMoveDescription,
- [MOVE_HYDRO_CANNON - 1] = sHydroCannonMoveDescription,
- [MOVE_METEOR_MASH - 1] = sMeteorMashMoveDescription,
- [MOVE_ASTONISH - 1] = sAstonishMoveDescription,
- [MOVE_WEATHER_BALL - 1] = sWeatherBallMoveDescription,
- [MOVE_AROMATHERAPY - 1] = sAromatherapyMoveDescription,
- [MOVE_FAKE_TEARS - 1] = sFakeTearsMoveDescription,
- [MOVE_AIR_CUTTER - 1] = sAirCutterMoveDescription,
- [MOVE_OVERHEAT - 1] = sOverheatMoveDescription,
- [MOVE_ODOR_SLEUTH - 1] = sOdorSleuthMoveDescription,
- [MOVE_ROCK_TOMB - 1] = sRockTombMoveDescription,
- [MOVE_SILVER_WIND - 1] = sSilverWindMoveDescription,
- [MOVE_METAL_SOUND - 1] = sMetalSoundMoveDescription,
- [MOVE_GRASS_WHISTLE - 1] = sGrassWhistleMoveDescription,
- [MOVE_TICKLE - 1] = sTickleMoveDescription,
- [MOVE_COSMIC_POWER - 1] = sCosmicPowerMoveDescription,
- [MOVE_WATER_SPOUT - 1] = sWaterSpoutMoveDescription,
- [MOVE_SIGNAL_BEAM - 1] = sSignalBeamMoveDescription,
- [MOVE_SHADOW_PUNCH - 1] = sShadowPunchMoveDescription,
- [MOVE_EXTRASENSORY - 1] = sExtrasensoryMoveDescription,
- [MOVE_SKY_UPPERCUT - 1] = sSkyUppercutMoveDescription,
- [MOVE_SAND_TOMB - 1] = sSandTombMoveDescription,
- [MOVE_SHEER_COLD - 1] = sSheerColdMoveDescription,
- [MOVE_MUDDY_WATER - 1] = sMuddyWaterMoveDescription,
- [MOVE_BULLET_SEED - 1] = sBulletSeedMoveDescription,
- [MOVE_AERIAL_ACE - 1] = sAerialAceMoveDescription,
- [MOVE_ICICLE_SPEAR - 1] = sIcicleSpearMoveDescription,
- [MOVE_IRON_DEFENSE - 1] = sIronDefenseMoveDescription,
- [MOVE_BLOCK - 1] = sBlockMoveDescription,
- [MOVE_HOWL - 1] = sHowlMoveDescription,
- [MOVE_DRAGON_CLAW - 1] = sDragonClawMoveDescription,
- [MOVE_FRENZY_PLANT - 1] = sFrenzyPlantMoveDescription,
- [MOVE_BULK_UP - 1] = sBulkUpMoveDescription,
- [MOVE_BOUNCE - 1] = sBounceMoveDescription,
- [MOVE_MUD_SHOT - 1] = sMudShotMoveDescription,
- [MOVE_POISON_TAIL - 1] = sPoisonTailMoveDescription,
- [MOVE_COVET - 1] = sCovetMoveDescription,
- [MOVE_VOLT_TACKLE - 1] = sVoltTackleMoveDescription,
- [MOVE_MAGICAL_LEAF - 1] = sMagicalLeafMoveDescription,
- [MOVE_WATER_SPORT - 1] = sWaterSportMoveDescription,
- [MOVE_CALM_MIND - 1] = sCalmMindMoveDescription,
- [MOVE_LEAF_BLADE - 1] = sLeafBladeMoveDescription,
- [MOVE_DRAGON_DANCE - 1] = sDragonDanceMoveDescription,
- [MOVE_ROCK_BLAST - 1] = sRockBlastMoveDescription,
- [MOVE_SHOCK_WAVE - 1] = sShockWaveMoveDescription,
- [MOVE_WATER_PULSE - 1] = sWaterPulseMoveDescription,
- [MOVE_DOOM_DESIRE - 1] = sDoomDesireMoveDescription,
- [MOVE_PSYCHO_BOOST - 1] = sPsychoBoostMoveDescription,
+ [MOVE_POUND - 1] = sPoundDescription,
+ [MOVE_KARATE_CHOP - 1] = sKarateChopDescription,
+ [MOVE_DOUBLE_SLAP - 1] = sDoubleSlapDescription,
+ [MOVE_COMET_PUNCH - 1] = sCometPunchDescription,
+ [MOVE_MEGA_PUNCH - 1] = sMegaPunchDescription,
+ [MOVE_PAY_DAY - 1] = sPayDayDescription,
+ [MOVE_FIRE_PUNCH - 1] = sFirePunchDescription,
+ [MOVE_ICE_PUNCH - 1] = sIcePunchDescription,
+ [MOVE_THUNDER_PUNCH - 1] = sThunderPunchDescription,
+ [MOVE_SCRATCH - 1] = sScratchDescription,
+ [MOVE_VICE_GRIP - 1] = sViceGripDescription,
+ [MOVE_GUILLOTINE - 1] = sGuillotineDescription,
+ [MOVE_RAZOR_WIND - 1] = sRazorWindDescription,
+ [MOVE_SWORDS_DANCE - 1] = sSwordsDanceDescription,
+ [MOVE_CUT - 1] = sCutDescription,
+ [MOVE_GUST - 1] = sGustDescription,
+ [MOVE_WING_ATTACK - 1] = sWingAttackDescription,
+ [MOVE_WHIRLWIND - 1] = sWhirlwindDescription,
+ [MOVE_FLY - 1] = sFlyDescription,
+ [MOVE_BIND - 1] = sBindDescription,
+ [MOVE_SLAM - 1] = sSlamDescription,
+ [MOVE_VINE_WHIP - 1] = sVineWhipDescription,
+ [MOVE_STOMP - 1] = sStompDescription,
+ [MOVE_DOUBLE_KICK - 1] = sDoubleKickDescription,
+ [MOVE_MEGA_KICK - 1] = sMegaKickDescription,
+ [MOVE_JUMP_KICK - 1] = sJumpKickDescription,
+ [MOVE_ROLLING_KICK - 1] = sRollingKickDescription,
+ [MOVE_SAND_ATTACK - 1] = sSandAttackDescription,
+ [MOVE_HEADBUTT - 1] = sHeadbuttDescription,
+ [MOVE_HORN_ATTACK - 1] = sHornAttackDescription,
+ [MOVE_FURY_ATTACK - 1] = sFuryAttackDescription,
+ [MOVE_HORN_DRILL - 1] = sHornDrillDescription,
+ [MOVE_TACKLE - 1] = sTackleDescription,
+ [MOVE_BODY_SLAM - 1] = sBodySlamDescription,
+ [MOVE_WRAP - 1] = sWrapDescription,
+ [MOVE_TAKE_DOWN - 1] = sTakeDownDescription,
+ [MOVE_THRASH - 1] = sThrashDescription,
+ [MOVE_DOUBLE_EDGE - 1] = sDoubleEdgeDescription,
+ [MOVE_TAIL_WHIP - 1] = sTailWhipDescription,
+ [MOVE_POISON_STING - 1] = sPoisonStingDescription,
+ [MOVE_TWINEEDLE - 1] = sTwineedleDescription,
+ [MOVE_PIN_MISSILE - 1] = sPinMissileDescription,
+ [MOVE_LEER - 1] = sLeerDescription,
+ [MOVE_BITE - 1] = sBiteDescription,
+ [MOVE_GROWL - 1] = sGrowlDescription,
+ [MOVE_ROAR - 1] = sRoarDescription,
+ [MOVE_SING - 1] = sSingDescription,
+ [MOVE_SUPERSONIC - 1] = sSupersonicDescription,
+ [MOVE_SONIC_BOOM - 1] = sSonicBoomDescription,
+ [MOVE_DISABLE - 1] = sDisableDescription,
+ [MOVE_ACID - 1] = sAcidDescription,
+ [MOVE_EMBER - 1] = sEmberDescription,
+ [MOVE_FLAMETHROWER - 1] = sFlamethrowerDescription,
+ [MOVE_MIST - 1] = sMistDescription,
+ [MOVE_WATER_GUN - 1] = sWaterGunDescription,
+ [MOVE_HYDRO_PUMP - 1] = sHydroPumpDescription,
+ [MOVE_SURF - 1] = sSurfDescription,
+ [MOVE_ICE_BEAM - 1] = sIceBeamDescription,
+ [MOVE_BLIZZARD - 1] = sBlizzardDescription,
+ [MOVE_PSYBEAM - 1] = sPsybeamDescription,
+ [MOVE_BUBBLE_BEAM - 1] = sBubbleBeamDescription,
+ [MOVE_AURORA_BEAM - 1] = sAuroraBeamDescription,
+ [MOVE_HYPER_BEAM - 1] = sHyperBeamDescription,
+ [MOVE_PECK - 1] = sPeckDescription,
+ [MOVE_DRILL_PECK - 1] = sDrillPeckDescription,
+ [MOVE_SUBMISSION - 1] = sSubmissionDescription,
+ [MOVE_LOW_KICK - 1] = sLowKickDescription,
+ [MOVE_COUNTER - 1] = sCounterDescription,
+ [MOVE_SEISMIC_TOSS - 1] = sSeismicTossDescription,
+ [MOVE_STRENGTH - 1] = sStrengthDescription,
+ [MOVE_ABSORB - 1] = sAbsorbDescription,
+ [MOVE_MEGA_DRAIN - 1] = sMegaDrainDescription,
+ [MOVE_LEECH_SEED - 1] = sLeechSeedDescription,
+ [MOVE_GROWTH - 1] = sGrowthDescription,
+ [MOVE_RAZOR_LEAF - 1] = sRazorLeafDescription,
+ [MOVE_SOLAR_BEAM - 1] = sSolarBeamDescription,
+ [MOVE_POISON_POWDER - 1] = sPoisonPowderDescription,
+ [MOVE_STUN_SPORE - 1] = sStunSporeDescription,
+ [MOVE_SLEEP_POWDER - 1] = sSleepPowderDescription,
+ [MOVE_PETAL_DANCE - 1] = sPetalDanceDescription,
+ [MOVE_STRING_SHOT - 1] = sStringShotDescription,
+ [MOVE_DRAGON_RAGE - 1] = sDragonRageDescription,
+ [MOVE_FIRE_SPIN - 1] = sFireSpinDescription,
+ [MOVE_THUNDER_SHOCK - 1] = sThunderShockDescription,
+ [MOVE_THUNDERBOLT - 1] = sThunderboltDescription,
+ [MOVE_THUNDER_WAVE - 1] = sThunderWaveDescription,
+ [MOVE_THUNDER - 1] = sThunderDescription,
+ [MOVE_ROCK_THROW - 1] = sRockThrowDescription,
+ [MOVE_EARTHQUAKE - 1] = sEarthquakeDescription,
+ [MOVE_FISSURE - 1] = sFissureDescription,
+ [MOVE_DIG - 1] = sDigDescription,
+ [MOVE_TOXIC - 1] = sToxicDescription,
+ [MOVE_CONFUSION - 1] = sConfusionDescription,
+ [MOVE_PSYCHIC - 1] = sPsychicDescription,
+ [MOVE_HYPNOSIS - 1] = sHypnosisDescription,
+ [MOVE_MEDITATE - 1] = sMeditateDescription,
+ [MOVE_AGILITY - 1] = sAgilityDescription,
+ [MOVE_QUICK_ATTACK - 1] = sQuickAttackDescription,
+ [MOVE_RAGE - 1] = sRageDescription,
+ [MOVE_TELEPORT - 1] = sTeleportDescription,
+ [MOVE_NIGHT_SHADE - 1] = sNightShadeDescription,
+ [MOVE_MIMIC - 1] = sMimicDescription,
+ [MOVE_SCREECH - 1] = sScreechDescription,
+ [MOVE_DOUBLE_TEAM - 1] = sDoubleTeamDescription,
+ [MOVE_RECOVER - 1] = sRecoverDescription,
+ [MOVE_HARDEN - 1] = sHardenDescription,
+ [MOVE_MINIMIZE - 1] = sMinimizeDescription,
+ [MOVE_SMOKESCREEN - 1] = sSmokescreenDescription,
+ [MOVE_CONFUSE_RAY - 1] = sConfuseRayDescription,
+ [MOVE_WITHDRAW - 1] = sWithdrawDescription,
+ [MOVE_DEFENSE_CURL - 1] = sDefenseCurlDescription,
+ [MOVE_BARRIER - 1] = sBarrierDescription,
+ [MOVE_LIGHT_SCREEN - 1] = sLightScreenDescription,
+ [MOVE_HAZE - 1] = sHazeDescription,
+ [MOVE_REFLECT - 1] = sReflectDescription,
+ [MOVE_FOCUS_ENERGY - 1] = sFocusEnergyDescription,
+ [MOVE_BIDE - 1] = sBideDescription,
+ [MOVE_METRONOME - 1] = sMetronomeDescription,
+ [MOVE_MIRROR_MOVE - 1] = sMirrorMoveDescription,
+ [MOVE_SELF_DESTRUCT - 1] = sSelfDestructDescription,
+ [MOVE_EGG_BOMB - 1] = sEggBombDescription,
+ [MOVE_LICK - 1] = sLickDescription,
+ [MOVE_SMOG - 1] = sSmogDescription,
+ [MOVE_SLUDGE - 1] = sSludgeDescription,
+ [MOVE_BONE_CLUB - 1] = sBoneClubDescription,
+ [MOVE_FIRE_BLAST - 1] = sFireBlastDescription,
+ [MOVE_WATERFALL - 1] = sWaterfallDescription,
+ [MOVE_CLAMP - 1] = sClampDescription,
+ [MOVE_SWIFT - 1] = sSwiftDescription,
+ [MOVE_SKULL_BASH - 1] = sSkullBashDescription,
+ [MOVE_SPIKE_CANNON - 1] = sSpikeCannonDescription,
+ [MOVE_CONSTRICT - 1] = sConstrictDescription,
+ [MOVE_AMNESIA - 1] = sAmnesiaDescription,
+ [MOVE_KINESIS - 1] = sKinesisDescription,
+ [MOVE_SOFT_BOILED - 1] = sSoftBoiledDescription,
+ [MOVE_HI_JUMP_KICK - 1] = sHiJumpKickDescription,
+ [MOVE_GLARE - 1] = sGlareDescription,
+ [MOVE_DREAM_EATER - 1] = sDreamEaterDescription,
+ [MOVE_POISON_GAS - 1] = sPoisonGasDescription,
+ [MOVE_BARRAGE - 1] = sBarrageDescription,
+ [MOVE_LEECH_LIFE - 1] = sLeechLifeDescription,
+ [MOVE_LOVELY_KISS - 1] = sLovelyKissDescription,
+ [MOVE_SKY_ATTACK - 1] = sSkyAttackDescription,
+ [MOVE_TRANSFORM - 1] = sTransformDescription,
+ [MOVE_BUBBLE - 1] = sBubbleDescription,
+ [MOVE_DIZZY_PUNCH - 1] = sDizzyPunchDescription,
+ [MOVE_SPORE - 1] = sSporeDescription,
+ [MOVE_FLASH - 1] = sFlashDescription,
+ [MOVE_PSYWAVE - 1] = sPsywaveDescription,
+ [MOVE_SPLASH - 1] = sSplashDescription,
+ [MOVE_ACID_ARMOR - 1] = sAcidArmorDescription,
+ [MOVE_CRABHAMMER - 1] = sCrabhammerDescription,
+ [MOVE_EXPLOSION - 1] = sExplosionDescription,
+ [MOVE_FURY_SWIPES - 1] = sFurySwipesDescription,
+ [MOVE_BONEMERANG - 1] = sBonemerangDescription,
+ [MOVE_REST - 1] = sRestDescription,
+ [MOVE_ROCK_SLIDE - 1] = sRockSlideDescription,
+ [MOVE_HYPER_FANG - 1] = sHyperFangDescription,
+ [MOVE_SHARPEN - 1] = sSharpenDescription,
+ [MOVE_CONVERSION - 1] = sConversionDescription,
+ [MOVE_TRI_ATTACK - 1] = sTriAttackDescription,
+ [MOVE_SUPER_FANG - 1] = sSuperFangDescription,
+ [MOVE_SLASH - 1] = sSlashDescription,
+ [MOVE_SUBSTITUTE - 1] = sSubstituteDescription,
+ [MOVE_STRUGGLE - 1] = sStruggleDescription,
+ [MOVE_SKETCH - 1] = sSketchDescription,
+ [MOVE_TRIPLE_KICK - 1] = sTripleKickDescription,
+ [MOVE_THIEF - 1] = sThiefDescription,
+ [MOVE_SPIDER_WEB - 1] = sSpiderWebDescription,
+ [MOVE_MIND_READER - 1] = sMindReaderDescription,
+ [MOVE_NIGHTMARE - 1] = sNightmareDescription,
+ [MOVE_FLAME_WHEEL - 1] = sFlameWheelDescription,
+ [MOVE_SNORE - 1] = sSnoreDescription,
+ [MOVE_CURSE - 1] = sCurseDescription,
+ [MOVE_FLAIL - 1] = sFlailDescription,
+ [MOVE_CONVERSION_2 - 1] = sConversion2Description,
+ [MOVE_AEROBLAST - 1] = sAeroblastDescription,
+ [MOVE_COTTON_SPORE - 1] = sCottonSporeDescription,
+ [MOVE_REVERSAL - 1] = sReversalDescription,
+ [MOVE_SPITE - 1] = sSpiteDescription,
+ [MOVE_POWDER_SNOW - 1] = sPowderSnowDescription,
+ [MOVE_PROTECT - 1] = sProtectDescription,
+ [MOVE_MACH_PUNCH - 1] = sMachPunchDescription,
+ [MOVE_SCARY_FACE - 1] = sScaryFaceDescription,
+ [MOVE_FAINT_ATTACK - 1] = sFaintAttackDescription,
+ [MOVE_SWEET_KISS - 1] = sSweetKissDescription,
+ [MOVE_BELLY_DRUM - 1] = sBellyDrumDescription,
+ [MOVE_SLUDGE_BOMB - 1] = sSludgeBombDescription,
+ [MOVE_MUD_SLAP - 1] = sMudSlapDescription,
+ [MOVE_OCTAZOOKA - 1] = sOctazookaDescription,
+ [MOVE_SPIKES - 1] = sSpikesDescription,
+ [MOVE_ZAP_CANNON - 1] = sZapCannonDescription,
+ [MOVE_FORESIGHT - 1] = sForesightDescription,
+ [MOVE_DESTINY_BOND - 1] = sDestinyBondDescription,
+ [MOVE_PERISH_SONG - 1] = sPerishSongDescription,
+ [MOVE_ICY_WIND - 1] = sIcyWindDescription,
+ [MOVE_DETECT - 1] = sDetectDescription,
+ [MOVE_BONE_RUSH - 1] = sBoneRushDescription,
+ [MOVE_LOCK_ON - 1] = sLockOnDescription,
+ [MOVE_OUTRAGE - 1] = sOutrageDescription,
+ [MOVE_SANDSTORM - 1] = sSandstormDescription,
+ [MOVE_GIGA_DRAIN - 1] = sGigaDrainDescription,
+ [MOVE_ENDURE - 1] = sEndureDescription,
+ [MOVE_CHARM - 1] = sCharmDescription,
+ [MOVE_ROLLOUT - 1] = sRolloutDescription,
+ [MOVE_FALSE_SWIPE - 1] = sFalseSwipeDescription,
+ [MOVE_SWAGGER - 1] = sSwaggerDescription,
+ [MOVE_MILK_DRINK - 1] = sMilkDrinkDescription,
+ [MOVE_SPARK - 1] = sSparkDescription,
+ [MOVE_FURY_CUTTER - 1] = sFuryCutterDescription,
+ [MOVE_STEEL_WING - 1] = sSteelWingDescription,
+ [MOVE_MEAN_LOOK - 1] = sMeanLookDescription,
+ [MOVE_ATTRACT - 1] = sAttractDescription,
+ [MOVE_SLEEP_TALK - 1] = sSleepTalkDescription,
+ [MOVE_HEAL_BELL - 1] = sHealBellDescription,
+ [MOVE_RETURN - 1] = sReturnDescription,
+ [MOVE_PRESENT - 1] = sPresentDescription,
+ [MOVE_FRUSTRATION - 1] = sFrustrationDescription,
+ [MOVE_SAFEGUARD - 1] = sSafeguardDescription,
+ [MOVE_PAIN_SPLIT - 1] = sPainSplitDescription,
+ [MOVE_SACRED_FIRE - 1] = sSacredFireDescription,
+ [MOVE_MAGNITUDE - 1] = sMagnitudeDescription,
+ [MOVE_DYNAMIC_PUNCH - 1] = sDynamicPunchDescription,
+ [MOVE_MEGAHORN - 1] = sMegahornDescription,
+ [MOVE_DRAGON_BREATH - 1] = sDragonBreathDescription,
+ [MOVE_BATON_PASS - 1] = sBatonPassDescription,
+ [MOVE_ENCORE - 1] = sEncoreDescription,
+ [MOVE_PURSUIT - 1] = sPursuitDescription,
+ [MOVE_RAPID_SPIN - 1] = sRapidSpinDescription,
+ [MOVE_SWEET_SCENT - 1] = sSweetScentDescription,
+ [MOVE_IRON_TAIL - 1] = sIronTailDescription,
+ [MOVE_METAL_CLAW - 1] = sMetalClawDescription,
+ [MOVE_VITAL_THROW - 1] = sVitalThrowDescription,
+ [MOVE_MORNING_SUN - 1] = sMorningSunDescription,
+ [MOVE_SYNTHESIS - 1] = sSynthesisDescription,
+ [MOVE_MOONLIGHT - 1] = sMoonlightDescription,
+ [MOVE_HIDDEN_POWER - 1] = sHiddenPowerDescription,
+ [MOVE_CROSS_CHOP - 1] = sCrossChopDescription,
+ [MOVE_TWISTER - 1] = sTwisterDescription,
+ [MOVE_RAIN_DANCE - 1] = sRainDanceDescription,
+ [MOVE_SUNNY_DAY - 1] = sSunnyDayDescription,
+ [MOVE_CRUNCH - 1] = sCrunchDescription,
+ [MOVE_MIRROR_COAT - 1] = sMirrorCoatDescription,
+ [MOVE_PSYCH_UP - 1] = sPsychUpDescription,
+ [MOVE_EXTREME_SPEED - 1] = sExtremeSpeedDescription,
+ [MOVE_ANCIENT_POWER - 1] = sAncientPowerDescription,
+ [MOVE_SHADOW_BALL - 1] = sShadowBallDescription,
+ [MOVE_FUTURE_SIGHT - 1] = sFutureSightDescription,
+ [MOVE_ROCK_SMASH - 1] = sRockSmashDescription,
+ [MOVE_WHIRLPOOL - 1] = sWhirlpoolDescription,
+ [MOVE_BEAT_UP - 1] = sBeatUpDescription,
+ [MOVE_FAKE_OUT - 1] = sFakeOutDescription,
+ [MOVE_UPROAR - 1] = sUproarDescription,
+ [MOVE_STOCKPILE - 1] = sStockpileDescription,
+ [MOVE_SPIT_UP - 1] = sSpitUpDescription,
+ [MOVE_SWALLOW - 1] = sSwallowDescription,
+ [MOVE_HEAT_WAVE - 1] = sHeatWaveDescription,
+ [MOVE_HAIL - 1] = sHailDescription,
+ [MOVE_TORMENT - 1] = sTormentDescription,
+ [MOVE_FLATTER - 1] = sFlatterDescription,
+ [MOVE_WILL_O_WISP - 1] = sWillOWispDescription,
+ [MOVE_MEMENTO - 1] = sMementoDescription,
+ [MOVE_FACADE - 1] = sFacadeDescription,
+ [MOVE_FOCUS_PUNCH - 1] = sFocusPunchDescription,
+ [MOVE_SMELLING_SALT - 1] = sSmellingSaltDescription,
+ [MOVE_FOLLOW_ME - 1] = sFollowMeDescription,
+ [MOVE_NATURE_POWER - 1] = sNaturePowerDescription,
+ [MOVE_CHARGE - 1] = sChargeDescription,
+ [MOVE_TAUNT - 1] = sTauntDescription,
+ [MOVE_HELPING_HAND - 1] = sHelpingHandDescription,
+ [MOVE_TRICK - 1] = sTrickDescription,
+ [MOVE_ROLE_PLAY - 1] = sRolePlayDescription,
+ [MOVE_WISH - 1] = sWishDescription,
+ [MOVE_ASSIST - 1] = sAssistDescription,
+ [MOVE_INGRAIN - 1] = sIngrainDescription,
+ [MOVE_SUPERPOWER - 1] = sSuperpowerDescription,
+ [MOVE_MAGIC_COAT - 1] = sMagicCoatDescription,
+ [MOVE_RECYCLE - 1] = sRecycleDescription,
+ [MOVE_REVENGE - 1] = sRevengeDescription,
+ [MOVE_BRICK_BREAK - 1] = sBrickBreakDescription,
+ [MOVE_YAWN - 1] = sYawnDescription,
+ [MOVE_KNOCK_OFF - 1] = sKnockOffDescription,
+ [MOVE_ENDEAVOR - 1] = sEndeavorDescription,
+ [MOVE_ERUPTION - 1] = sEruptionDescription,
+ [MOVE_SKILL_SWAP - 1] = sSkillSwapDescription,
+ [MOVE_IMPRISON - 1] = sImprisonDescription,
+ [MOVE_REFRESH - 1] = sRefreshDescription,
+ [MOVE_GRUDGE - 1] = sGrudgeDescription,
+ [MOVE_SNATCH - 1] = sSnatchDescription,
+ [MOVE_SECRET_POWER - 1] = sSecretPowerDescription,
+ [MOVE_DIVE - 1] = sDiveDescription,
+ [MOVE_ARM_THRUST - 1] = sArmThrustDescription,
+ [MOVE_CAMOUFLAGE - 1] = sCamouflageDescription,
+ [MOVE_TAIL_GLOW - 1] = sTailGlowDescription,
+ [MOVE_LUSTER_PURGE - 1] = sLusterPurgeDescription,
+ [MOVE_MIST_BALL - 1] = sMistBallDescription,
+ [MOVE_FEATHER_DANCE - 1] = sFeatherDanceDescription,
+ [MOVE_TEETER_DANCE - 1] = sTeeterDanceDescription,
+ [MOVE_BLAZE_KICK - 1] = sBlazeKickDescription,
+ [MOVE_MUD_SPORT - 1] = sMudSportDescription,
+ [MOVE_ICE_BALL - 1] = sIceBallDescription,
+ [MOVE_NEEDLE_ARM - 1] = sNeedleArmDescription,
+ [MOVE_SLACK_OFF - 1] = sSlackOffDescription,
+ [MOVE_HYPER_VOICE - 1] = sHyperVoiceDescription,
+ [MOVE_POISON_FANG - 1] = sPoisonFangDescription,
+ [MOVE_CRUSH_CLAW - 1] = sCrushClawDescription,
+ [MOVE_BLAST_BURN - 1] = sBlastBurnDescription,
+ [MOVE_HYDRO_CANNON - 1] = sHydroCannonDescription,
+ [MOVE_METEOR_MASH - 1] = sMeteorMashDescription,
+ [MOVE_ASTONISH - 1] = sAstonishDescription,
+ [MOVE_WEATHER_BALL - 1] = sWeatherBallDescription,
+ [MOVE_AROMATHERAPY - 1] = sAromatherapyDescription,
+ [MOVE_FAKE_TEARS - 1] = sFakeTearsDescription,
+ [MOVE_AIR_CUTTER - 1] = sAirCutterDescription,
+ [MOVE_OVERHEAT - 1] = sOverheatDescription,
+ [MOVE_ODOR_SLEUTH - 1] = sOdorSleuthDescription,
+ [MOVE_ROCK_TOMB - 1] = sRockTombDescription,
+ [MOVE_SILVER_WIND - 1] = sSilverWindDescription,
+ [MOVE_METAL_SOUND - 1] = sMetalSoundDescription,
+ [MOVE_GRASS_WHISTLE - 1] = sGrassWhistleDescription,
+ [MOVE_TICKLE - 1] = sTickleDescription,
+ [MOVE_COSMIC_POWER - 1] = sCosmicPowerDescription,
+ [MOVE_WATER_SPOUT - 1] = sWaterSpoutDescription,
+ [MOVE_SIGNAL_BEAM - 1] = sSignalBeamDescription,
+ [MOVE_SHADOW_PUNCH - 1] = sShadowPunchDescription,
+ [MOVE_EXTRASENSORY - 1] = sExtrasensoryDescription,
+ [MOVE_SKY_UPPERCUT - 1] = sSkyUppercutDescription,
+ [MOVE_SAND_TOMB - 1] = sSandTombDescription,
+ [MOVE_SHEER_COLD - 1] = sSheerColdDescription,
+ [MOVE_MUDDY_WATER - 1] = sMuddyWaterDescription,
+ [MOVE_BULLET_SEED - 1] = sBulletSeedDescription,
+ [MOVE_AERIAL_ACE - 1] = sAerialAceDescription,
+ [MOVE_ICICLE_SPEAR - 1] = sIcicleSpearDescription,
+ [MOVE_IRON_DEFENSE - 1] = sIronDefenseDescription,
+ [MOVE_BLOCK - 1] = sBlockDescription,
+ [MOVE_HOWL - 1] = sHowlDescription,
+ [MOVE_DRAGON_CLAW - 1] = sDragonClawDescription,
+ [MOVE_FRENZY_PLANT - 1] = sFrenzyPlantDescription,
+ [MOVE_BULK_UP - 1] = sBulkUpDescription,
+ [MOVE_BOUNCE - 1] = sBounceDescription,
+ [MOVE_MUD_SHOT - 1] = sMudShotDescription,
+ [MOVE_POISON_TAIL - 1] = sPoisonTailDescription,
+ [MOVE_COVET - 1] = sCovetDescription,
+ [MOVE_VOLT_TACKLE - 1] = sVoltTackleDescription,
+ [MOVE_MAGICAL_LEAF - 1] = sMagicalLeafDescription,
+ [MOVE_WATER_SPORT - 1] = sWaterSportDescription,
+ [MOVE_CALM_MIND - 1] = sCalmMindDescription,
+ [MOVE_LEAF_BLADE - 1] = sLeafBladeDescription,
+ [MOVE_DRAGON_DANCE - 1] = sDragonDanceDescription,
+ [MOVE_ROCK_BLAST - 1] = sRockBlastDescription,
+ [MOVE_SHOCK_WAVE - 1] = sShockWaveDescription,
+ [MOVE_WATER_PULSE - 1] = sWaterPulseDescription,
+ [MOVE_DOOM_DESIRE - 1] = sDoomDesireDescription,
+ [MOVE_PSYCHO_BOOST - 1] = sPsychoBoostDescription,
};
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index 522d11d4f..2b0904672 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -29,6 +29,7 @@
#include "menu.h"
#include "trainer_pokemon_sprites.h"
#include "data2.h"
+#include "rom_81520A8.h"
struct HallofFameMon
{
@@ -91,13 +92,6 @@ extern void sub_80F9BCC(u16, u16, u8);
extern bool8 sub_80F9C1C(void);
extern void sub_81971D0(void);
extern void sub_8197200(void);
-extern void sub_8152254(void);
-extern void sub_81525D0(u8);
-extern void sub_8152438(u8, void*);
-extern void sub_8152474(u8, u8, u8);
-extern void sub_81522D4(void);
-extern bool32 sub_81521C0(u8);
-extern u8 sub_81524C4(const struct OamData *arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, u8 arg5, s16 arg6);
// this file's functions
static void ClearVramOamPltt_LoadHofPal(void);
@@ -1444,53 +1438,28 @@ static void sub_81752C0(void)
FreeSpritePaletteByTag(0x3E9);
}
-struct UnknownStruct912B4
-{
- s16 field_0;
- s16 field_2;
- s16 field_4;
- s16 field_6;
- s16 field_8;
- s16 field_A;
- s16 field_C;
- s16 field_E;
- s16 field_10;
- s16 field_12;
- s16 field_14;
- s16 field_16;
- s16 field_18;
- s16 field_1A;
- s16 field_1C;
- s16 field_1E;
- s16 field_20;
- s16 field_22;
- s16 field_24;
- s16 field_26;
- s16 field_28;
-};
-
-static void sub_81752F4(struct UnknownStruct912B4 *unkStruct)
+static void sub_81752F4(struct UnkStruct_81520A8 *structPtr)
{
- if (unkStruct->field_E > 110)
+ if (structPtr->yDelta > 110)
{
- gTasks[unkStruct->field_28].data[15]--;
- sub_81525D0(unkStruct->field_16);
+ gTasks[structPtr->data[7]].data[15]--;
+ sub_81525D0(structPtr->id);
}
else
{
u8 var;
s32 rand;
- unkStruct->field_E++;
- unkStruct->field_E += unkStruct->field_1C;
+ structPtr->yDelta++;
+ structPtr->yDelta += structPtr->data[1];
- var = unkStruct->field_1A;
+ var = structPtr->data[0];
rand = Random();
rand &= 3;
rand += 8;
- unkStruct->field_C = (rand) * ((gSineTable[var])) / 256;
+ structPtr->xDelta = (rand) * ((gSineTable[var])) / 256;
- unkStruct->field_1A += 4;
+ structPtr->data[0] += 4;
}
}
diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c
index da18c330c..1ef223c69 100644
--- a/src/rom_8034C54.c
+++ b/src/rom_8034C54.c
@@ -431,9 +431,9 @@ static bool32 SharesPalWithAnyActive(u32 id)
return FALSE;
}
-u8 sub_80355F8(u32 arg0, u32 arg1)
+u8 sub_80355F8(u32 shape, u32 size)
{
- return gUnknown_082FF1C8[arg0][arg1];
+ return gUnknown_082FF1C8[shape][size];
}
static void sub_8035608(void)
diff --git a/src/rom_81520A8.c b/src/rom_81520A8.c
new file mode 100644
index 000000000..f6d14d49c
--- /dev/null
+++ b/src/rom_81520A8.c
@@ -0,0 +1,218 @@
+#include "global.h"
+#include "rom_81520A8.h"
+#include "malloc.h"
+#include "main.h"
+#include "rom_8034C54.h"
+
+static EWRAM_DATA struct
+{
+ u8 count;
+ struct UnkStruct_81520A8 *unk4;
+} *sUnknown_0203ABB8 = NULL;
+
+void sub_81520A8(void *dest, u16 value, u8 left, u8 top, u8 width, u8 height) // Unused.
+{
+ u8 i;
+ u8 j;
+ u8 x;
+ u8 y;
+
+ for (i = 0, y = top; i < height; i++)
+ {
+ for (x = left, j = 0; j < width; j++)
+ {
+ *(u16 *)((dest) + (y * 64 + x * 2)) = value;
+ x = (x + 1) % 32;
+ }
+ y = (y + 1) % 32;
+ }
+}
+
+void sub_8152134(void *dest, const u16 *src, u8 left, u8 top, u8 width, u8 height) // Unused.
+{
+ u8 i;
+ u8 j;
+ u8 x;
+ u8 y;
+ const u16 *_src;
+
+ for (i = 0, _src = src, y = top; i < height; i++)
+ {
+ for (x = left, j = 0; j < width; j++)
+ {
+ *(u16 *)((dest) + (y * 64 + x * 2)) = *(_src++);
+ x = (x + 1) % 32;
+ }
+ y = (y + 1) % 32;
+ }
+}
+
+bool32 sub_81521C0(u8 count)
+{
+ u8 i = 0;
+
+ if (count == 0)
+ return FALSE;
+ if (count > 64)
+ count = 64;
+
+ sUnknown_0203ABB8 = AllocZeroed(sizeof(*sUnknown_0203ABB8));
+ if (sUnknown_0203ABB8 == NULL)
+ return FALSE;
+ sUnknown_0203ABB8->unk4 = AllocZeroed(count * sizeof(struct UnkStruct_81520A8));
+ if (sUnknown_0203ABB8->unk4 == NULL)
+ {
+ FREE_AND_SET_NULL(sUnknown_0203ABB8);
+ return FALSE;
+ }
+
+ sUnknown_0203ABB8->count = count;
+ for (i = 0; i < count; i++)
+ {
+ memcpy(&sUnknown_0203ABB8->unk4[i].oam, &gDummyOamData, sizeof(struct OamData));
+ sUnknown_0203ABB8->unk4[i].unk19_2 = TRUE;
+ }
+
+ return TRUE;
+}
+
+bool32 sub_8152254(void)
+{
+ u8 i = 0;
+
+ if (sUnknown_0203ABB8 == NULL)
+ return FALSE;
+
+ for (i = 0; i < sUnknown_0203ABB8->count; i++)
+ memcpy(&gMain.oamBuffer[i + 64], &gDummyOamData, sizeof(struct OamData));
+
+ memset(sUnknown_0203ABB8->unk4, 0, sUnknown_0203ABB8->count * sizeof(struct UnkStruct_81520A8));
+ FREE_AND_SET_NULL(sUnknown_0203ABB8->unk4);
+ memset(sUnknown_0203ABB8, 0, sizeof(*sUnknown_0203ABB8));
+ FREE_AND_SET_NULL(sUnknown_0203ABB8);
+
+ return TRUE;
+}
+
+bool32 sub_81522D4(void)
+{
+ u8 i = 0;
+
+ if (sUnknown_0203ABB8 == NULL || sUnknown_0203ABB8->unk4 == NULL)
+ return FALSE;
+
+ for (i = 0; i < sUnknown_0203ABB8->count; i++)
+ {
+ if (sUnknown_0203ABB8->unk4[i].unk19_0 && sUnknown_0203ABB8->unk4[i].unk19_1)
+ {
+ if (sUnknown_0203ABB8->unk4[i].callback != NULL)
+ sUnknown_0203ABB8->unk4[i].callback(&sUnknown_0203ABB8->unk4[i]);
+
+ if (sUnknown_0203ABB8->unk4[i].unk19_2)
+ {
+ memcpy(&gMain.oamBuffer[i + 64], &gDummyOamData, sizeof(struct OamData));
+ }
+ else
+ {
+ sUnknown_0203ABB8->unk4[i].oam.y = sUnknown_0203ABB8->unk4[i].y + sUnknown_0203ABB8->unk4[i].yDelta;
+ sUnknown_0203ABB8->unk4[i].oam.x = sUnknown_0203ABB8->unk4[i].x + sUnknown_0203ABB8->unk4[i].xDelta;
+ sUnknown_0203ABB8->unk4[i].oam.priority = sUnknown_0203ABB8->unk4[i].priority;
+ sUnknown_0203ABB8->unk4[i].oam.tileNum = sUnknown_0203ABB8->unk4[i].tileNum;
+ memcpy(&gMain.oamBuffer[i + 64], &sUnknown_0203ABB8->unk4[i], sizeof(struct OamData));
+ }
+ }
+ }
+
+ return TRUE;
+}
+
+static bool32 sub_81523F4(struct UnkStruct_81520A8 *structPtr, u8 arg1)
+{
+ u16 tileStart;
+
+ if (structPtr == NULL)
+ return FALSE;
+
+ tileStart = GetSpriteTileStartByTag(structPtr->tileTag);
+ if (tileStart == 0xFFFF)
+ return FALSE;
+
+ structPtr->unk18 = arg1;
+ structPtr->tileNum = (sub_80355F8(structPtr->oam.shape, structPtr->oam.size) * arg1) + tileStart;
+ return TRUE;
+}
+
+u8 sub_8152438(u8 id, void (*func)(struct UnkStruct_81520A8 *))
+{
+ if (sUnknown_0203ABB8 == NULL || id >= sUnknown_0203ABB8->count)
+ return 0xFF;
+ else if (!sUnknown_0203ABB8->unk4[id].unk19_0)
+ return 0xFF;
+
+ sUnknown_0203ABB8->unk4[id].callback = func;
+ return id;
+}
+
+u8 sub_8152474(u8 id, u8 dataArrayId, s16 dataValue)
+{
+ if (sUnknown_0203ABB8 == NULL || id >= sUnknown_0203ABB8->count)
+ return 0xFF;
+ else if (!sUnknown_0203ABB8->unk4[id].unk19_0 || dataArrayId >= ARRAY_COUNT(sUnknown_0203ABB8->unk4[id].data))
+ return 0xFF;
+
+ sUnknown_0203ABB8->unk4[id].data[dataArrayId] = dataValue;
+ return id;
+}
+
+u8 sub_81524C4(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 arg5, u8 priority)
+{
+ struct UnkStruct_81520A8 *structPtr = NULL;
+ u8 i;
+
+ if (sUnknown_0203ABB8 == NULL || oam == NULL)
+ return 0xFF;
+
+ for (i = 0; i < sUnknown_0203ABB8->count; i++)
+ {
+ if (!sUnknown_0203ABB8->unk4[i].unk19_0)
+ {
+ structPtr = &sUnknown_0203ABB8->unk4[i];
+ memset(structPtr, 0, sizeof(*structPtr));
+ structPtr->id = i;
+ structPtr->unk19_0 = TRUE;
+ structPtr->unk19_1 = TRUE;
+ break;
+ }
+ }
+
+ if (structPtr == NULL)
+ return 0xFF;
+
+ memcpy(&structPtr->oam, oam, sizeof(*oam));
+ structPtr->tileTag = tileTag;
+ structPtr->palTag = palTag;
+ structPtr->x = x;
+ structPtr->y = y;
+ structPtr->oam.paletteNum = IndexOfSpritePaletteTag(palTag);
+ if (priority < 4)
+ {
+ structPtr->priority = priority;
+ structPtr->oam.priority = priority;
+ }
+ sub_81523F4(structPtr, arg5);
+
+ return structPtr->id;
+}
+
+u8 sub_81525D0(u8 id)
+{
+ if (sUnknown_0203ABB8 == NULL || !sUnknown_0203ABB8->unk4[id].unk19_0)
+ return 0xFF;
+
+ memset(&sUnknown_0203ABB8->unk4[id], 0, sizeof(struct UnkStruct_81520A8));
+ sUnknown_0203ABB8->unk4[id].oam.y = 160;
+ sUnknown_0203ABB8->unk4[id].oam.x = 240;
+ sUnknown_0203ABB8->unk4[id].unk19_2 = TRUE;
+ memcpy(&gMain.oamBuffer[id + 64], &gDummyOamData, sizeof(struct OamData));
+ return id;
+}
diff --git a/sym_ewram.txt b/sym_ewram.txt
index ddd121bee..4b3f9d10c 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -504,9 +504,7 @@ gUnknown_0203ABB4: @ 203ABB4
gUnknown_0203ABB5: @ 203ABB5
.space 0x3
-gUnknown_0203ABB8: @ 203ABB8
- .space 0x4
-
+ .include "src/rom_81520A8.o"
.include "src/save.o"
.space 0x4 /*unused var?*/