-
Notifications
You must be signed in to change notification settings - Fork 826
Dive
Rangi edited this page Aug 20, 2018
·
11 revisions
Gen 3 introduced Dive, a field move that can reach the seafloor, as HM08. Fully implementing Dive is fairly complicated: its in-battle effect is similar to Dig and Fly but not exactly the same, and its field effect requires a lot of changes.
(The code for this feature was adapted from Pokémon Orange.)
Here are all the changes needed to implement Dive, applied to a copy of pokecrystal. You can clone
Rangi42/pokecrystal and checkout
the dive
branch to test it for yourself.
TODO
Refer to this tutorial.
- constants/move_constants.asm
- data/moves/names.asm
- data/moves/descriptions.asm
- data/moves/moves.asm
- data/pokemon/evos_attacks.asm
- constants/battle_anim_constants.asm
- data/battle_anims/objects.asm
- data/moves/animations.asm
- constants/battle_constants.asm
- wram.asm
- engine/battle/core.asm
- engine/battle/effect_commands.asm
- engine/battle_anims/bg_effects.asm
- engine/battle/ai/scoring.asm
- constants/move_effect_constants.asm
- data/moves/moves.asm (again)
- data/moves/effects_pointers.asm
- data/moves/effects.asm
- macros/scripts/battle_commands.asm
- data/battle/effect_command_pointers.asm
- engine/battle/effect_commands.asm (again)
- engine/battle/ai/scoring.asm (again)
Refer to this tutorial.
- constants/item_constants.asm
- data/items/names.asm
- data/items/attributes.asm
- data/moves/tmhm_moves.asm
- home/hm_moves.asm
- data/pokemon/base_stats/*.asm
- constants/collision_constants.asm
- data/collision_permissions.asm
- engine/overworld/tile_events.asm
Refer to this tutorial.
- constants/menu_constants.asm
- data/mon_menu.asm
- engine/menus/start_menu.asm
- home/map_objects.asm
- data/text/common_2.asm
- wram.asm
- macros/scripts/events.asm
- engine/overworld/scripting.asm
- home/flag.asm
- engine/overworld/warp_connection.asm
- engine/events/overworld.asm
- engine/overworld/events.asm
Refer to this tutorial.
- gfx/sprites/dive.png
- constants/sprite_constants.asm
- data/sprites/sprites.asm
- gfx/sprites.asm
- constants/wram_constants.asm
- data/sprites/player_sprites.asm
- engine/events/overworld.asm (again)
- engine/overworld/map_setup.asm
- engine/overworld/player_movement.asm
Refer to this tutorial.
- constants/tileset_constants.asm
- gfx/tilesets/underwater.png
- gfx/tilesets/underwater_palette_map.asm
- data/tilesets/underwater_metatiles.bin
- data/tilesets/underwater_collision.asm
- data/tilesets.asm
- gfx/tileset_palette_maps.asm
- gfx/tilesets.asm
- engine/events/overworld.asm (again)
- engine/overworld/overworld.asm
- home/map.asm
- gfx/tilesets/bubble/1.png
- gfx/tilesets/bubble/2.png
- gfx/tilesets/bubble/3.png
- gfx/tilesets/bubble/4.png
- gfx/tilesets/bubble/5.png
- gfx/tilesets/seaweed/1.png
- gfx/tilesets/seaweed/2.png
- engine/tilesets/tileset_anims.asm
- gfx/tilesets/underwater.pal
- gfx/tilesets/underwater_sprites.pal
- engine/tilesets/tileset_palettes.asm
- engine/gfx/color.asm
- constants/event_flags.asm
- maps/CeruleanGym.asm
- gfx/tilesets/johto.png
- gfx/tilesets/johto_palette_map.asm
- data/tilesets/johto_collision.asm
- data/tilesets/johto_metatiles.bin
- gfx/tilesets/water/deep-water.png
- engine/tilesets/tileset_anims.asm (again)
Refer to this tutorial.
- maps/Route41.blk
- maps/Route41.asm
- maps/Route41Underwater.blk
- maps/Route41Underwater.asm
- constants/event_flags.asm (again)
- constants/map_constants.asm
- data/maps/maps.asm
- data/maps/attributes.asm
- data/wild/johto_grass.asm
- data/maps/blocks.asm
- data/maps/scripts.asm
- data/maps/roofs.asm
- data/maps/outdoor_sprites.asm