From 0b334abbf3513bec253d11147dd11a4a4b9eeeb4 Mon Sep 17 00:00:00 2001 From: MementoMartha Date: Tue, 25 Apr 2023 03:15:43 +0100 Subject: [PATCH] Silph Gauntlet 1F trainers! Currently working fine except the trainers can't see you, which I'll try fixing soon --- constants/event_constants.asm | 49 +++++++++ data/maps/objects/SilphGauntlet1F.asm | 6 ++ data/trainers/parties.asm | 10 +- ram/wram.asm | 2 +- scripts/SilphGauntlet1F.asm | 141 +++++++++++++++++++++++++- text.asm | 1 + text/SilphGauntlet1F.asm | 111 ++++++++++++++++++++ 7 files changed, 315 insertions(+), 5 deletions(-) create mode 100644 text/SilphGauntlet1F.asm diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 9993fee0..2925882e 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -779,6 +779,55 @@ DEF INDIGO_PLATEAU_EVENTS_END EQU const_value - 1 const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 const_skip 4 const EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH + +; Silph Gauntlet events + const_next $930 + const_skip 6 + ; 1F Trainers + const EVENT_BEAT_GAUNTLET_YOUNGSTER + const EVENT_BEAT_GAUNTLET_BUG_CATCHER + const EVENT_BEAT_GAUNTLET_STUDENT + const EVENT_BEAT_GAUNTLET_JR_TRAINER_M + const EVENT_BEAT_GAUNTLET_JR_TRAINER_F + const EVENT_BEAT_GAUNTLET_BIRD_KEEPER + ; 2F Trainers + ; const EVENT_BEAT_GAUNTLET_LASS + ; const EVENT_BEAT_GAUNTLET_JUNIOR + ; const EVENT_BEAT_GAUNTLET_HIKER + ; const EVENT_BEAT_GAUNTLET_SUPER_NERD + ; const EVENT_BEAT_GAUNTLET_POKEMANIAC + ; const EVENT_BEAT_GAUNTLET_BLACK_BELT + ; 3F Trainers + ; const EVENT_BEAT_GAUNTLET_SAILOR + ; const EVENT_BEAT_GAUNTLET_FIREFIGHTER + ; const EVENT_BEAT_GAUNTLET_GENTLEMAN + ; const EVENT_BEAT_GAUNTLET_ENGINEER + ; const EVENT_BEAT_GAUNTLET_ROCKER + ; const EVENT_BEAT_GAUNTLET_FISHER + ; const EVENT_BEAT_GAUNTLET_BEAUTY + ; 4F Trainers + ; const EVENT_BEAT_GAUNTLET_SCIENTIST + ; const EVENT_BEAT_GAUNTLET_GAMBLER + ; const EVENT_BEAT_GAUNTLET_ROCKET + ; const EVENT_BEAT_GAUNTLET_PSYCHIC + ; const EVENT_BEAT_GAUNTLET_BURGLAR + ; const EVENT_BEAT_GAUNTLET_CHANNELER + ; 5F Trainers + ; const EVENT_BEAT_GAUNTLET_JUGGLER + ; const EVENT_BEAT_GAUNTLET_BIKER + ; const EVENT_BEAT_GAUNTLET_CUE_BALL + ; const EVENT_BEAT_GAUNTLET_SWIMMER + ; const EVENT_BEAT_GAUNTLET_TAMER + ; const EVENT_BEAT_GAUNTLET_COOLTRAINER_F + ; const EVENT_BEAT_GAUNTLET_COOLTRAINER_M + ; 6F Trainers + ; const EVENT_BEAT_GAUNTLET_BROCK + ; const EVENT_BEAT_GAUNTLET_MISTY + ; const EVENT_BEAT_GAUNTLET_SURGE + ; const EVENT_BEAT_GAUNTLET_ERIKA + ; const EVENT_BEAT_GAUNTLET_KOGA + ; const EVENT_BEAT_GAUNTLET_SABRINA + ; const EVENT_BEAT_GAUNTLET_BLAINE ; Rock Tunnel events const_next $9B0 diff --git a/data/maps/objects/SilphGauntlet1F.asm b/data/maps/objects/SilphGauntlet1F.asm index 0ed05b39..2d71c332 100644 --- a/data/maps/objects/SilphGauntlet1F.asm +++ b/data/maps/objects/SilphGauntlet1F.asm @@ -8,5 +8,11 @@ SilphGauntlet1F_Object: def_bg_events def_object_events + object_event 3, 3, SPRITE_YOUNGSTER, STAY, UP, 1, OPP_YOUNGSTER, 13 + object_event 3, 14, SPRITE_YOUNGSTER, STAY, LEFT, 2, OPP_BUG_CATCHER, 12 + object_event 16, 14, SPRITE_GIRL, STAY, DOWN, 3, OPP_STUDENT, 3 + object_event 16, 5, SPRITE_COOLTRAINER_M, STAY, RIGHT, 4, OPP_JR_TRAINER_M, 6 + object_event 5, 7, SPRITE_COOLTRAINER_F, STAY, LEFT, 5, OPP_JR_TRAINER_F, 25 + object_event 5, 12, SPRITE_COOLTRAINER_M, STAY, DOWN, 6, OPP_BIRD_KEEPER, 13 def_warps_to SILPH_GAUNTLET_1F diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index fe311ff5..e9616a78 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -165,7 +165,7 @@ JrTrainerMData: db 20, SQUIRTLE, 0 db 16, SPEAROW, RATICATE, 0 ; Unused - this will be used in the Silph Gauntlet - db 63, DUGTRIO, PRIMEAPE, SANDSLASH, BLASTOISE, NIDOKING, ARCANINE, 0 + db 62, DUGTRIO, PRIMEAPE, SANDSLASH, BLASTOISE, NIDOKING, ARCANINE, 0 ; Route 9 db 21, GROWLITHE, CHARMANDER, 0 db 19, RATTATA, DIGLETT, EKANS, SANDSHREW, 0 @@ -210,7 +210,7 @@ JrTrainerFData: ; Route 20 db 30, TENTACOOL, HORSEA, SEEL, 0 ; New - this will be used in the Silph Gauntlet - ; db 63, TSUBOMITTO, SEAKING, MADAAMU, BELLOSSOM, GOROCHU, VENUSAUR, 0 + db 62, TSUBOMITTO, SEAKING, MADAAMU, BELLOSSOM, GOROCHU, VENUSAUR, 0 PokemaniacData: ; Route 10 @@ -480,7 +480,8 @@ BirdKeeperData: db 30, FEAROW, FEAROW, PIDGEOTTO, 0 ; Unused db 39, PIDGEOTTO, PIDGEOTTO, PIDGEY, PIDGEOTTO, 0 - db 42, FARFETCHD, FEAROW, 0 +; Unused - this will be used in the Silph Gauntlet + db 62, FEAROW, GOLDUCK, DODRIO, PORYGON2, MADAAMU, AERODACTYL, 0 ; Route 14 db 28, PIDGEY, DODUO, PIDGEOTTO, 0 db 26, PIDGEY, SPEAROW, PIDGEY, FEAROW, 0 @@ -666,8 +667,11 @@ ChannelerData: db 33, JYNX, EXEGGCUTE, KADABRA, 0 StudentData: +; Viridian Pre-Gym db 6, PIDGEY, RATTATA, 0 db 6, CLEFAIRY, 0 +; Silph Gauntlet + db 62, CLEFABLE, PENDRAKEN, WIGGLYTUFF, BARUNDA, BELLOSSOM, SLOWKING, 0 ; may revise FirefighterData: ; For Cerulean Gym diff --git a/ram/wram.asm b/ram/wram.asm index 62cb8155..e5bd4f0d 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -2071,7 +2071,7 @@ wFarawayIslandInsideCurScript:: db wLancesRoomCurScript:: db wPokemonMansionB2FCurScript:: db wMtMoonCraterCurScript:: db - ds 2 +wSilphGauntlet1FCurScript:: db wSilphCo10FCurScript:: db wSilphCo11FCurScript:: db ds 1 diff --git a/scripts/SilphGauntlet1F.asm b/scripts/SilphGauntlet1F.asm index a8ff0c5c..52344397 100644 --- a/scripts/SilphGauntlet1F.asm +++ b/scripts/SilphGauntlet1F.asm @@ -1,6 +1,145 @@ SilphGauntlet1F_Script: - jp EnableAutoTextBoxDrawing + call EnableAutoTextBoxDrawing + ld hl, SilphGauntlet1FTrainerHeaders + ld de, SilphGauntlet1F_ScriptPointers + ld a, [wSilphGauntlet1FCurScript] + call ExecuteCurMapScriptInTable + ld [wSilphGauntlet1FCurScript], a + ret + +SilphGauntlet1F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle SilphGauntlet1F_TextPointers: + dw SilphGauntlet1FText1 + dw SilphGauntlet1FText2 + dw SilphGauntlet1FText3 + dw SilphGauntlet1FText4 + dw SilphGauntlet1FText5 + dw SilphGauntlet1FText6 + +SilphGauntlet1FTrainerHeaders: + def_trainers 6 +SilphGauntlet1FTrainerHeader0: + trainer EVENT_BEAT_GAUNTLET_YOUNGSTER, 3, SilphGauntlet1FBattleText1, SilphGauntlet1FEndBattleText1, SilphGauntlet1FAfterBattleText1 +SilphGauntlet1FTrainerHeader1: + trainer EVENT_BEAT_GAUNTLET_BUG_CATCHER, 2, SilphGauntlet1FBattleText2, SilphGauntlet1FEndBattleText2, SilphGauntlet1FAfterBattleText2 +SilphGauntlet1FTrainerHeader2: + trainer EVENT_BEAT_GAUNTLET_STUDENT, 4, SilphGauntlet1FBattleText3, SilphGauntlet1FEndBattleText3, SilphGauntlet1FAfterBattleText3 +SilphGauntlet1FTrainerHeader3: + trainer EVENT_BEAT_GAUNTLET_JR_TRAINER_M, 2, SilphGauntlet1FBattleText4, SilphGauntlet1FEndBattleText4, SilphGauntlet1FAfterBattleText4 +SilphGauntlet1FTrainerHeader4: + trainer EVENT_BEAT_GAUNTLET_JR_TRAINER_F, 2, SilphGauntlet1FBattleText5, SilphGauntlet1FEndBattleText5, SilphGauntlet1FAfterBattleText5 +SilphGauntlet1FTrainerHeader5: + trainer EVENT_BEAT_GAUNTLET_BIRD_KEEPER, 3, SilphGauntlet1FBattleText6, SilphGauntlet1FEndBattleText6, SilphGauntlet1FAfterBattleText6 + db -1 ; end + +SilphGauntlet1FText1: + text_asm + ld hl, SilphGauntlet1FTrainerHeader0 + jr SilphGauntlet1FTalkToTrainer + +SilphGauntlet1FText2: + text_asm + ld hl, SilphGauntlet1FTrainerHeader1 + jr SilphGauntlet1FTalkToTrainer + +SilphGauntlet1FText3: + text_asm + ld hl, SilphGauntlet1FTrainerHeader2 + jr SilphGauntlet1FTalkToTrainer + +SilphGauntlet1FText4: + text_asm + ld hl, SilphGauntlet1FTrainerHeader3 + jr SilphGauntlet1FTalkToTrainer + +SilphGauntlet1FText5: + text_asm + ld hl, SilphGauntlet1FTrainerHeader4 + jr SilphGauntlet1FTalkToTrainer + +SilphGauntlet1FText6: + text_asm + ld hl, SilphGauntlet1FTrainerHeader5 + jr SilphGauntlet1FTalkToTrainer + +SilphGauntlet1FTalkToTrainer: + call TalkToTrainer + jp TextScriptEnd + +SilphGauntlet1FBattleText1: + text_far _SilphGauntlet1FBattleText1 + text_end + +SilphGauntlet1FEndBattleText1: + text_far _SilphGauntlet1FEndBattleText1 + text_end + +SilphGauntlet1FAfterBattleText1: + text_far _SilphGauntlet1FAfterBattleText1 + text_end + +SilphGauntlet1FBattleText2: + text_far _SilphGauntlet1FBattleText2 + text_end + +SilphGauntlet1FEndBattleText2: + text_far _SilphGauntlet1FEndBattleText2 + text_end + +SilphGauntlet1FAfterBattleText2: + text_far _SilphGauntlet1FAfterBattleText2 + text_end + +SilphGauntlet1FBattleText3: + text_far _SilphGauntlet1FBattleText3 + text_end + +SilphGauntlet1FEndBattleText3: + text_far _SilphGauntlet1FEndBattleText3 + text_end + +SilphGauntlet1FAfterBattleText3: + text_far _SilphGauntlet1FAfterBattleText3 + text_end + +SilphGauntlet1FBattleText4: + text_far _SilphGauntlet1FBattleText4 + text_end + +SilphGauntlet1FEndBattleText4: + text_far _SilphGauntlet1FEndBattleText4 + text_end + +SilphGauntlet1FAfterBattleText4: + text_far _SilphGauntlet1FAfterBattleText4 + text_end + +SilphGauntlet1FBattleText5: + text_far _SilphGauntlet1FBattleText5 + text_end + +SilphGauntlet1FEndBattleText5: + text_far _SilphGauntlet1FEndBattleText5 + text_end + +SilphGauntlet1FAfterBattleText5: + text_far _SilphGauntlet1FAfterBattleText5 + text_end + +SilphGauntlet1FBattleText6: + text_far _SilphGauntlet1FBattleText6 + text_end + +SilphGauntlet1FEndBattleText6: + text_far _SilphGauntlet1FEndBattleText6 + text_end + +SilphGauntlet1FAfterBattleText6: + text_far _SilphGauntlet1FAfterBattleText6 + text_end text_end \ No newline at end of file diff --git a/text.asm b/text.asm index 5b1a9782..7fe9da4b 100644 --- a/text.asm +++ b/text.asm @@ -284,6 +284,7 @@ INCLUDE "text/CitrineRocketHouse.asm" INCLUDE "text/CitrineTradebackHouse.asm" INCLUDE "text/tradeback_move_tutor.asm" INCLUDE "text/BrunswickTrail.asm" +INCLUDE "text/SilphGauntlet1F.asm" INCLUDE "text/SilphGauntlet7F.asm" SECTION "Pokédex Text", ROMX diff --git a/text/SilphGauntlet1F.asm b/text/SilphGauntlet1F.asm new file mode 100644 index 00000000..47aab0d2 --- /dev/null +++ b/text/SilphGauntlet1F.asm @@ -0,0 +1,111 @@ +_SilphGauntlet1FBattleText1:: + text "Hey! Welcome to" + line "SILPH GAUNTLET!" + + para "This whole place" + line "is full of really" + cont "strong trainers," + cont "so let's see how" + cont "strong you are!" + done + +_SilphGauntlet1FEndBattleText1:: + text "Whoa!" + line "Pretty good!" + prompt + +_SilphGauntlet1FAfterBattleText1:: + text "I'm still only the" + line "first trainer!" + cont "It gets tougher" + cont "from here!" + done + +_SilphGauntlet1FBattleText2:: + text "This indoor forest" + line "is so cool!" + + para "Don't you think it" + line "looks just like" + cont "VIRIDIAN FOREST?" + done + +_SilphGauntlet1FEndBattleText2:: + text "No!" + line "My bugs!" + prompt + +_SilphGauntlet1FAfterBattleText2:: + text "I wonder what the" + line "upper floors look" + cont "like..." + done + +_SilphGauntlet1FBattleText3:: + text "Go, CLEFABLE!" + line "Let's win this!" + done + +_SilphGauntlet1FEndBattleText3:: + text "Aww..." + line "Not enough!" + prompt + +_SilphGauntlet1FAfterBattleText3:: + text "You still fought" + line "well, CLEFABLE!" + done + +_SilphGauntlet1FBattleText4:: + text "Camping here is" + line "fun, but I prefer" + cont "the outdoors..." + done + +_SilphGauntlet1FEndBattleText4:: + text "What?" + line "How'd I lose?" + prompt + +_SilphGauntlet1FAfterBattleText4:: + text "I would've won if" + line "we were outside!" + done + +_SilphGauntlet1FBattleText5:: + text "I wish forests" + line "didn't have so" + cont "many gross bugs!" + done + +_SilphGauntlet1FEndBattleText5:: + text "Eek!" + line "No way!" + prompt + +_SilphGauntlet1FAfterBattleText5:: + text "TSUBOMITTO loves" + line "eating bugs, so" + cont "it's perfect" + cont "for me!" + done + +_SilphGauntlet1FBattleText6:: + text "My bird #MON" + line "love perching on" + cont "the trees here." + done + +_SilphGauntlet1FEndBattleText6:: + text "We" + line "still lost?" + prompt + +_SilphGauntlet1FAfterBattleText6:: + text "Huh? AERODACTYL" + line "isn't a bird?" + + para "It has wings, it's" + line "good enough!" + done + \ No newline at end of file