diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 9e2ebcc6..a89355d5 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -579,6 +579,11 @@ const EVENT_BEAT_SS_ANNE_10_TRAINER_4 const EVENT_BEAT_SS_ANNE_10_TRAINER_5 +; Diglett's Cave events + const_next $650 + const_skip + const EVENT_BEAT_CROCKY + ; Victory Road 3F events const_next $660 const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index b73271e8..6149b867 100644 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -237,4 +237,5 @@ DEF SHOW EQU $15 const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E1 const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; E2 const HS_ARTICUNO ; E3 X + const HS_CROCKY ; E4 X DEF NUM_HS_OBJECTS EQU const_value diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm index 5c666d83..a043671c 100644 --- a/constants/map_object_constants.asm +++ b/constants/map_object_constants.asm @@ -44,6 +44,8 @@ DEF NUM_SPRITESTATEDATA_STRUCTS EQU 16 DEF ITEM EQU $80 DEF TRAINER EQU $40 +DEF OW_POKEMON EQU $80 + DEF WALK EQU $FE DEF STAY EQU $FF diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index f54e484a..0d38cf51 100644 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -200,7 +200,7 @@ MapHSPointers: dw VictoryRoad2FHS dw NoHS dw NoHS - dw NoHS + dw DiglettsCaveHS dw VictoryRoad3FHS dw RocketHideoutB1FHS dw RocketHideoutB2FHS @@ -424,6 +424,8 @@ SSAnneB1FRoomsHS: db SS_ANNE_B1F_ROOMS, $09, SHOW db SS_ANNE_B1F_ROOMS, $0A, SHOW db SS_ANNE_B1F_ROOMS, $0B, SHOW +DiglettsCaveHS: + db DIGLETTS_CAVE, $01, SHOW VictoryRoad3FHS: db VICTORY_ROAD_3F, $05, SHOW db VICTORY_ROAD_3F, $06, SHOW diff --git a/data/maps/objects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm index 5173fee6..29cbf954 100644 --- a/data/maps/objects/CeruleanCaveB1F.asm +++ b/data/maps/objects/CeruleanCaveB1F.asm @@ -7,7 +7,7 @@ CeruleanCaveB1F_Object: def_bg_events def_object_events - object_event 27, 13, SPRITE_MONSTER, STAY, DOWN, 1, MEWTWO, 70 + object_event 27, 13, SPRITE_MONSTER, STAY, DOWN, 1, MEWTWO, 70 | OW_POKEMON object_event 16, 9, SPRITE_POKE_BALL, STAY, NONE, 2, ULTRA_BALL object_event 18, 1, SPRITE_POKE_BALL, STAY, NONE, 3, MAX_REVIVE diff --git a/data/maps/objects/DiglettsCave.asm b/data/maps/objects/DiglettsCave.asm index e587ba36..a05df414 100644 --- a/data/maps/objects/DiglettsCave.asm +++ b/data/maps/objects/DiglettsCave.asm @@ -8,6 +8,6 @@ DiglettsCave_Object: def_bg_events def_object_events - object_event 30, 15, SPRITE_MONSTER, WALK, DOWN, 1, CROCKY, 40 + object_event 29, 13, SPRITE_MONSTER, STAY, DOWN, 1, CROCKY, 28 | OW_POKEMON def_warps_to DIGLETTS_CAVE diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm index 419adc01..3e8f5d4a 100644 --- a/data/maps/objects/PowerPlant.asm +++ b/data/maps/objects/PowerPlant.asm @@ -9,15 +9,15 @@ PowerPlant_Object: def_bg_events def_object_events - object_event 9, 20, SPRITE_POKE_BALL, STAY, NONE, 1, VOLTORB, 40 - object_event 32, 18, SPRITE_POKE_BALL, STAY, NONE, 2, VOLTORB, 40 - object_event 21, 25, SPRITE_POKE_BALL, STAY, NONE, 3, VOLTORB, 40 - object_event 25, 18, SPRITE_POKE_BALL, STAY, NONE, 4, ELECTRODE, 43 - object_event 23, 34, SPRITE_POKE_BALL, STAY, NONE, 5, VOLTORB, 40 - object_event 26, 28, SPRITE_POKE_BALL, STAY, NONE, 6, VOLTORB, 40 - object_event 21, 14, SPRITE_POKE_BALL, STAY, NONE, 7, ELECTRODE, 43 - object_event 37, 32, SPRITE_POKE_BALL, STAY, NONE, 8, VOLTORB, 40 - object_event 4, 9, SPRITE_BIRD, STAY, UP, 9, ZAPDOS, 50 + object_event 9, 20, SPRITE_POKE_BALL, STAY, NONE, 1, VOLTORB, 40 | OW_POKEMON + object_event 32, 18, SPRITE_POKE_BALL, STAY, NONE, 2, VOLTORB, 40 | OW_POKEMON + object_event 21, 25, SPRITE_POKE_BALL, STAY, NONE, 3, VOLTORB, 40 | OW_POKEMON + object_event 25, 18, SPRITE_POKE_BALL, STAY, NONE, 4, ELECTRODE, 43 | OW_POKEMON + object_event 23, 34, SPRITE_POKE_BALL, STAY, NONE, 5, VOLTORB, 40 | OW_POKEMON + object_event 26, 28, SPRITE_POKE_BALL, STAY, NONE, 6, VOLTORB, 40 | OW_POKEMON + object_event 21, 14, SPRITE_POKE_BALL, STAY, NONE, 7, ELECTRODE, 43 | OW_POKEMON + object_event 37, 32, SPRITE_POKE_BALL, STAY, NONE, 8, VOLTORB, 40 | OW_POKEMON + object_event 4, 9, SPRITE_BIRD, STAY, UP, 9, ZAPDOS, 50 | OW_POKEMON object_event 7, 25, SPRITE_POKE_BALL, STAY, NONE, 10, CARBOS object_event 28, 3, SPRITE_POKE_BALL, STAY, NONE, 11, HP_UP object_event 34, 3, SPRITE_POKE_BALL, STAY, NONE, 12, RARE_CANDY diff --git a/data/maps/objects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm index c6e769e0..71e24fbc 100644 --- a/data/maps/objects/SeafoamIslandsB4F.asm +++ b/data/maps/objects/SeafoamIslandsB4F.asm @@ -14,6 +14,6 @@ SeafoamIslandsB4F_Object: def_object_events object_event 4, 15, SPRITE_BOULDER, STAY, NONE, 1 ; person object_event 5, 15, SPRITE_BOULDER, STAY, NONE, 2 ; person - object_event 6, 1, SPRITE_BIRD, STAY, DOWN, 3, ARTICUNO, 50 + object_event 6, 1, SPRITE_BIRD, STAY, DOWN, 3, ARTICUNO, 50 | OW_POKEMON def_warps_to SEAFOAM_ISLANDS_B4F diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm index 9651c32b..a067139f 100644 --- a/data/maps/objects/SilphCo11F.asm +++ b/data/maps/objects/SilphCo11F.asm @@ -15,5 +15,6 @@ SilphCo11F_Object: object_event 6, 9, SPRITE_GIOVANNI, STAY, DOWN, 3, OPP_GIOVANNI, 2 object_event 3, 16, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 41 object_event 15, 9, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 40 + ; object_event 0, 0, SPRITE_MONSTER, STAY, DOWN, 1, OMEGA, 45 | OW_POKEMON def_warps_to SILPH_CO_11F diff --git a/data/maps/objects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm index 86036311..3674543b 100644 --- a/data/maps/objects/VermilionDock.asm +++ b/data/maps/objects/VermilionDock.asm @@ -8,5 +8,6 @@ VermilionDock_Object: def_bg_events def_object_events + ; object_event 0, 0, SPRITE_MONSTER, STAY, DOWN, 1, MEW, 30 | OW_POKEMON def_warps_to VERMILION_DOCK diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index 36357e07..906323cd 100644 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -18,7 +18,7 @@ VictoryRoad2F_Object: object_event 19, 8, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_TAMER, 5 object_event 4, 2, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_POKEMANIAC, 6 object_event 26, 3, SPRITE_SUPER_NERD, STAY, LEFT, 5, OPP_JUGGLER, 5 - object_event 11, 5, SPRITE_BIRD, STAY, UP, 6, MOLTRES, 50 + object_event 11, 5, SPRITE_BIRD, STAY, UP, 6, MOLTRES, 50 | OW_POKEMON object_event 27, 5, SPRITE_POKE_BALL, STAY, NONE, 7, TM_SUBMISSION object_event 18, 9, SPRITE_POKE_BALL, STAY, NONE, 8, FULL_HEAL object_event 9, 11, SPRITE_POKE_BALL, STAY, NONE, 9, TM_MEGA_KICK diff --git a/maps/DiglettsCave.blk b/maps/DiglettsCave.blk index c10c4db9..b40a279e 100644 --- a/maps/DiglettsCave.blk +++ b/maps/DiglettsCave.blk @@ -1 +1 @@ -,++,8+>,@AAB+0vv+vvnn+vvL+v)vztvvvvvvrjos*TWUUUU2sts8+pjkkk[o>~[[[[o \ No newline at end of file +,++,8+>,+vvvvv+nnL8+)ztrs*TUUUUU2ss8+~[kkk[o>~[[[[o \ No newline at end of file diff --git a/ram/wram.asm b/ram/wram.asm index efa35098..2b6123d2 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -1998,6 +1998,7 @@ wPokemonMansion1FCurScript:: db wPokemonMansion2FCurScript:: db wPokemonMansion3FCurScript:: db wPokemonMansionB1FCurScript:: db +wDiglettsCaveCurScript:: db wVictoryRoad2FCurScript:: db wVictoryRoad3FCurScript:: db ds 1 diff --git a/scripts/DiglettsCave.asm b/scripts/DiglettsCave.asm index 6e5e2722..045eb1d1 100644 --- a/scripts/DiglettsCave.asm +++ b/scripts/DiglettsCave.asm @@ -1,28 +1,36 @@ DiglettsCave_Script: - jp EnableAutoTextBoxDrawing + call EnableAutoTextBoxDrawing + ld hl, DiglettsCaveTrainerHeaders + ld de, DiglettsCave_ScriptPointers + ld a, [wDiglettsCaveCurScript] + call ExecuteCurMapScriptInTable + ld [wDiglettsCaveCurScript], a + ret + +DiglettsCave_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle DiglettsCave_TextPointers: -; dw CrockyText - text_end ; unused + dw CrockyText -; Edited from Articuno - PvK -; def_trainers 1 -;CrockyTrainerHeader: -; trainer EVENT_BEAT_CROCKY, 0, CrockyBattleText, CrockyBattleText, CrockyBattleText -; db -1 ; end -; -;CrockyText: -; text_asm -; ld hl, CrockyTrainerHeader -; call TalkToTrainer -; ld a, $4 -; ld [wSeafoamIslandsB4FCurScript], a -; jp TextScriptEnd -; -;CrockyBattleText: -; text_far _CrockyBattleText -; text_asm -; ld a, CROCKY -; call PlayCry -; call WaitForSoundToFinish -; jp TextScriptEnd +DiglettsCaveTrainerHeaders: + def_trainers +CrockyTrainerHeader: + trainer EVENT_BEAT_CROCKY, 0, CrockyBattleText, CrockyBattleText, CrockyBattleText + db -1 ; end + +CrockyText: + text_asm + ld hl, CrockyTrainerHeader + call TalkToTrainer + jp TextScriptEnd + +CrockyBattleText: + text_far _CrockyBattleText + text_asm + ld a, CROCKY + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd diff --git a/text/DiglettsCave.asm b/text/DiglettsCave.asm index 523a7081..eabebd68 100644 --- a/text/DiglettsCave.asm +++ b/text/DiglettsCave.asm @@ -1,3 +1,3 @@ _CrockyBattleText:: - text "Graogh!" + text "Graogh!@" text_end