FRLG Move Tutors

Still need to find out what I want to do with Body Slam, Swords Dance, and Thunder Wave. Slam/SD are on the Sevii Islands, and TWave is on an existing NPC who usually gives Self-Destruct.

Could possibly refactor the item receiving text.
This commit is contained in:
Llinos Evans 2023-05-18 18:06:44 +01:00
parent 0668db0ef0
commit 253f8f4a22
20 changed files with 377 additions and 19 deletions

View file

@ -100,6 +100,7 @@ Improved Areas
- Pokemon Tower was shortened, being less intensive and adding room for more maps. - Pokemon Tower was shortened, being less intensive and adding room for more maps.
- Silph Co's pathing was completely overhauled to make navigating it less tedious. - Silph Co's pathing was completely overhauled to make navigating it less tedious.
- Viridian Gym now has a minor new area once you make Giovanni leave. - Viridian Gym now has a minor new area once you make Giovanni leave.
- Various Move Tutors from FireRed and LeafGreen have been distributed around the region, instead giving their respective TMs.
- The S.S. Anne now returns after getting the Marsh Badge and features trades for Galarian forms & Evolutions, as well as Paldean Tauros. - The S.S. Anne now returns after getting the Marsh Badge and features trades for Galarian forms & Evolutions, as well as Paldean Tauros.
- After entering the Hall of Fame, try visiting Route 1! - After entering the Hall of Fame, try visiting Route 1!

View file

@ -49,7 +49,8 @@
const EVENT_GOT_OLD_AMBER const EVENT_GOT_OLD_AMBER
const_skip 8 const_skip 8
const EVENT_BEAT_PEWTER_GYM_TRAINER_0 const EVENT_BEAT_PEWTER_GYM_TRAINER_0
const_skip 3 const EVENT_GOT_TM19_2
const_skip 2
const EVENT_GOT_TM34 const EVENT_GOT_TM34
const EVENT_BEAT_BROCK const EVENT_BEAT_BROCK
@ -202,7 +203,8 @@
const_skip 20 const_skip 20
const EVENT_SAFARI_GAME_OVER const EVENT_SAFARI_GAME_OVER
const EVENT_IN_SAFARI_ZONE const EVENT_IN_SAFARI_ZONE
const_skip 8 const_skip 7
const EVENT_GOT_TM50
const EVENT_GOT_TM06 const EVENT_GOT_TM06
const EVENT_BEAT_KOGA const EVENT_BEAT_KOGA
const EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 const EVENT_BEAT_FUCHSIA_GYM_TRAINER_0
@ -351,7 +353,7 @@
const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4
const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5
const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6
const_skip const EVENT_GOT_TM48_2
const EVENT_BEAT_POWER_PLANT_VOLTORB_0 const EVENT_BEAT_POWER_PLANT_VOLTORB_0
const EVENT_BEAT_POWER_PLANT_VOLTORB_1 const EVENT_BEAT_POWER_PLANT_VOLTORB_1
const EVENT_BEAT_POWER_PLANT_VOLTORB_2 const EVENT_BEAT_POWER_PLANT_VOLTORB_2
@ -534,7 +536,7 @@
const EVENT_PASSED_MARSHBADGE_CHECK const EVENT_PASSED_MARSHBADGE_CHECK
const EVENT_PASSED_VOLCANOBADGE_CHECK const EVENT_PASSED_VOLCANOBADGE_CHECK
const EVENT_PASSED_EARTHBADGE_CHECK const EVENT_PASSED_EARTHBADGE_CHECK
const_skip const EVENT_GOT_TM10
const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0
const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1

View file

@ -39,5 +39,6 @@ FuchsiaCity_Object:
object_event 30, 12, SPRITE_MONSTER, WALK, LEFT_RIGHT, 8 ; person object_event 30, 12, SPRITE_MONSTER, WALK, LEFT_RIGHT, 8 ; person
object_event 8, 17, SPRITE_SEEL, WALK, ANY_DIR, 9 ; person object_event 8, 17, SPRITE_SEEL, WALK, ANY_DIR, 9 ; person
object_event 6, 5, SPRITE_FOSSIL, STAY, NONE, 10 ; person object_event 6, 5, SPRITE_FOSSIL, STAY, NONE, 10 ; person
object_event 11, 8, SPRITE_GAMBLER, STAY, UP, 25 ; person
def_warps_to FUCHSIA_CITY def_warps_to FUCHSIA_CITY

View file

@ -14,5 +14,6 @@ Museum2F_Object:
object_event 7, 5, SPRITE_SCIENTIST, STAY, DOWN, 3 ; person object_event 7, 5, SPRITE_SCIENTIST, STAY, DOWN, 3 ; person
object_event 11, 5, SPRITE_BRUNETTE_GIRL, STAY, NONE, 4 ; person object_event 11, 5, SPRITE_BRUNETTE_GIRL, STAY, NONE, 4 ; person
object_event 12, 5, SPRITE_HIKER, STAY, DOWN, 5 ; person object_event 12, 5, SPRITE_HIKER, STAY, DOWN, 5 ; person
object_event 12, 3, SPRITE_SCIENTIST, STAY, UP, 8 ; person
def_warps_to MUSEUM_2F def_warps_to MUSEUM_2F

View file

@ -18,9 +18,8 @@ RockTunnelB1F_Object:
object_event 14, 28, SPRITE_COOLTRAINER_F, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10 object_event 14, 28, SPRITE_COOLTRAINER_F, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10
object_event 33, 5, SPRITE_HIKER, STAY, RIGHT, 7, OPP_HIKER, 11 object_event 33, 5, SPRITE_HIKER, STAY, RIGHT, 7, OPP_HIKER, 11
object_event 26, 30, SPRITE_SUPER_NERD, STAY, DOWN, 8, OPP_POKEMANIAC, 5 object_event 26, 30, SPRITE_SUPER_NERD, STAY, DOWN, 8, OPP_POKEMANIAC, 5
;object_event 7, 24, SPRITE_MON, WALK, DOWN, 9, KABUTOPS, 40 object_event 22, 5, SPRITE_YOUNGSTER, STAY, RIGHT, 9
;object_event 7, 23, SPRITE_FOSSIL, STAY, NONE, 10, HELIX_FOSSIL ;object_event 7, 23, SPRITE_FOSSIL, STAY, NONE, 10, HELIX_FOSSIL
;object_event 6, 23, SPRITE_FOSSIL, STAY, NONE, 11, DOME_FOSSIL ;object_event 6, 23, SPRITE_FOSSIL, STAY, NONE, 11, DOME_FOSSIL
def_warps_to ROCK_TUNNEL_B1F def_warps_to ROCK_TUNNEL_B1F

View file

@ -26,5 +26,6 @@ VictoryRoad2F_Object:
object_event 4, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person object_event 4, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person
object_event 5, 5, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person object_event 5, 5, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person
object_event 23, 16, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person object_event 23, 16, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person
object_event 25, 7, SPRITE_COOLTRAINER_M, STAY, DOWN, 14
def_warps_to VICTORY_ROAD_2F def_warps_to VICTORY_ROAD_2F

View file

@ -329,3 +329,8 @@ _ClefairyText::
text "CLEFAIRY: Pi" text "CLEFAIRY: Pi"
line "pippippi!@" line "pippippi!@"
text_end text_end
_TMNPCNoRoomText::
text "You have no"
line "room for this!"
done

View file

@ -1,9 +1,9 @@
 !zoooooz7:~zooooooznttmVUwnmnwVwVmzzznwVwVwmzzzzzzzzzzzzzzzzzzz !zzzz !znlllmz|szzzz7:~znVwwmmzooooyzzzVUVzzzzzzngmzzMUlllll11NkkkPRROUwVww11N_tnN>?????????;_t  !zoooooz7:~zooooooznttmVUwnmnwVwVmzzznwVwVwmzzzzzzzzzzzzzzzzzzz !zzzz !znlllmz|szzzz7:~znVwwmmzooooyzzzVUVzzzzzzngmzzMUlllll11NkkkPRROUwVww11N_tnN>?????????;_t
nN$ !WWWW !%_8989nN nN$ !WWWW !%_89ttnN
|~0|r |~0|r
1<=<=1nN111111111 1<=01nN111111111
_Vw1wnN _Vw1wnN
11 11

View file

@ -26,6 +26,7 @@ FuchsiaCity_TextPointers:
dw FuchsiaCityText22 dw FuchsiaCityText22
dw FuchsiaCityText23 dw FuchsiaCityText23
dw FuchsiaCityText24 dw FuchsiaCityText24
dw SubstituteGuy
FuchsiaCityText1: FuchsiaCityText1:
text_far _FuchsiaCityText1 text_far _FuchsiaCityText1
@ -167,3 +168,84 @@ FuchsiaCityKabutoText:
FuchsiaCityText_19b2a: FuchsiaCityText_19b2a:
text_far _FuchsiaCityText_19b2a text_far _FuchsiaCityText_19b2a
text_end text_end
; FireRed NPC
; This guy has a Kangaskhan fetish or something wtf
SubstituteGuy:
text_asm
CheckEvent EVENT_GOT_TM50
jr nz, .got_item
ld hl, TM50PreReceiveText
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
lb bc, TM_SUBSTITUTE, 1
call GiveItem
jr nc, .bag_full
ld hl, ReceivedTM50Text
call PrintText
SetEvent EVENT_GOT_TM50
jr .done
.refused
ld hl, TM50Refused
call PrintText
jr .done
.bag_full
ld hl, SubstituteNoRoomText
call PrintText
jr .done
.got_item
ld hl, TM50ExplanationText
call PrintText
.done
jp TextScriptEnd
TM50PreReceiveText:
text "Aww, I wish I was"
line "a KANGASKHAN"
cont "baby."
para "I'd love to be a"
line "SUBSTITUTE for"
cont "the baby..."
para "And snuggle in"
line "the mother"
cont "KANGASKHAN's"
cont "belly pouch."
para "But only #MON"
line "can use the"
cont "move SUBSTITUTE."
para "Want to teach it"
line "to one?"
prompt
ReceivedTM50Text:
text_far _ReceivedTM50Text
sound_get_item_1
text_end
TM50ExplanationText:
text "Boy, what I'd"
line "give to crawl"
cont "inside a"
cont "KANGASKHAN belly"
cont "pouch..."
done
TM50Refused:
text "Oh really?"
para "SUBSTITUTE seems"
line "so fun..."
done
SubstituteNoRoomText:
text_far _TMNPCNoRoomText
text_end

View file

@ -9,6 +9,7 @@ Museum2F_TextPointers:
dw Museum2FText5 dw Museum2FText5
dw Museum2FText6 dw Museum2FText6
dw Museum2FText7 dw Museum2FText7
dw SeismicTossGuy
Museum2FText1: Museum2FText1:
text_far _Museum2FText1 text_far _Museum2FText1
@ -37,3 +38,85 @@ Museum2FText6:
Museum2FText7: Museum2FText7:
text_far _Museum2FText7 text_far _Museum2FText7
text_end text_end
; FireRed NPC
SeismicTossGuy:
text_asm
CheckEvent EVENT_GOT_TM19_2
jr nz, .got_item
ld hl, TM19PreReceiveText
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
lb bc, TM_SEISMIC_TOSS, 1
call GiveItem
jr nc, .bag_full
ld hl, ReceivedTM19Text
call PrintText
SetEvent EVENT_GOT_TM19_2
jr .done
.refused
ld hl, TM19Refused
call PrintText
jr .done
.bag_full
ld hl, SeismicTossNoRoomText
call PrintText
jr .done
.got_item
ld hl, TM19ExplanationText
call PrintText
.done
jp TextScriptEnd
TM19PreReceiveText:
text "The secrets of"
line "space..."
para "The mysteries of"
line "earth..."
para "There are so many"
line "things about"
cont "which we know so"
cont "little."
para "But that should"
line "spur us to study"
cont "harder, not toss"
cont "in the towel!"
para "The only thing you"
line "should toss..."
para "Well, how about"
line "SEISMIC TOSS?"
prompt
ReceivedTM19Text:
text_far _ReceivedTM19Text
sound_get_item_1
text_end
TM19ExplanationText:
text "I hope you won't"
line "toss in the"
cont "towel."
para "Good luck!"
done
TM19Refused:
text "Is that so?"
para "I'm sure you'll"
line "be back for it."
done
SeismicTossNoRoomText:
text_far _TMNPCNoRoomText
text_end

View file

@ -21,6 +21,7 @@ RockTunnelB1F_TextPointers:
dw RockTunnel2Text6 dw RockTunnel2Text6
dw RockTunnel2Text7 dw RockTunnel2Text7
dw RockTunnel2Text8 dw RockTunnel2Text8
dw RockSlideGuy
; dw KabutopsText ; dw KabutopsText
RockTunnel2TrainerHeaders: RockTunnel2TrainerHeaders:
@ -189,6 +190,61 @@ RockTunnel2AfterBattleText9:
text_far _RockTunnel2AfterBattleText9 text_far _RockTunnel2AfterBattleText9
text_end text_end
; FireRed NPC
RockSlideGuy:
text_asm
CheckEvent EVENT_GOT_TM48_2
jr nz, .got_item
ld hl, TM48PreReceiveText
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
lb bc, TM_ROCK_SLIDE, 1
call GiveItem
jr nc, .bag_full
ld hl, ReceivedTM48Text
call PrintText
SetEvent EVENT_GOT_TM48_2
jr .done
.refused
ld hl, TM48Refused
call PrintText
jr .done
.bag_full
ld hl, RockSlideNoRoomText
call PrintText
jr .done
.got_item
ld hl, TM48ExplanationText
call PrintText
.done
jp TextScriptEnd
TM48PreReceiveText:
text_far _TM48PreReceiveText
text_end
ReceivedTM48Text:
text_far _ReceivedTM48Text
sound_get_item_1
text_end
TM48ExplanationText:
text_far _TM48ExplanationText
text_end
TM48Refused:
text_far _TM48Refused
text_end
RockSlideNoRoomText:
text_far _TMNPCNoRoomText
text_end
;KabutopsText: ;KabutopsText:
; text_asm ; text_asm
; ld hl, KabutopsTrainerHeader ; ld hl, KabutopsTrainerHeader

View file

@ -109,7 +109,7 @@ TM01Refused:
text_end text_end
MegaNoRoomText: MegaNoRoomText:
text_far _MegaNoRoomText text_far _TMNPCNoRoomText
text_end text_end
MegaKickGuy: MegaKickGuy:

View file

@ -80,6 +80,7 @@ VictoryRoad2F_TextPointers:
dw BoulderText dw BoulderText
dw BoulderText dw BoulderText
dw BoulderText dw BoulderText
dw DoubleEdgeGuy
VictoryRoad2TrainerHeaders: VictoryRoad2TrainerHeaders:
def_trainers def_trainers
@ -200,3 +201,77 @@ VictoryRoad2EndBattleText5:
VictoryRoad2AfterBattleText5: VictoryRoad2AfterBattleText5:
text_far _VictoryRoad2AfterBattleText5 text_far _VictoryRoad2AfterBattleText5
text_end text_end
; FireRed NPC
DoubleEdgeGuy:
text_asm
CheckEvent EVENT_GOT_TM10
jr nz, .got_item
ld hl, TM10PreReceiveText
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
lb bc, TM_DOUBLE_EDGE, 1
call GiveItem
jr nc, .bag_full
ld hl, ReceivedTM10Text
call PrintText
SetEvent EVENT_GOT_TM10
jr .done
.refused
ld hl, TM10Refused
call PrintText
jr .done
.bag_full
ld hl, DoubleEdgeNoRoomText
call PrintText
jr .done
.got_item
ld hl, TM10ExplanationText
call PrintText
.done
jp TextScriptEnd
TM10PreReceiveText:
text "You should be"
line "proud of"
cont "yourself,"
cont "having battled"
cont "your way through"
cont "VICTORY ROAD so"
cont "courageously."
para "In recognition"
line "of your feat,"
cont "I can teach your"
cont "#MON"
cont "DOUBLE-EDGE."
prompt
ReceivedTM10Text:
text_far _ReceivedTM10Text
sound_get_item_1
text_end
TM10ExplanationText:
text "Keep that drive"
line "going for the"
cont "#MON LEAGUE!"
para "Take a run at"
line "them and knock"
cont "em out!"
done
TM10Refused:
text "I'll teach your"
line "#MON anytime."
done
DoubleEdgeNoRoomText:
text_far _TMNPCNoRoomText
text_end

View file

@ -117,3 +117,10 @@ _FuchsiaCityKabutoText::
_FuchsiaCityText_19b2a:: _FuchsiaCityText_19b2a::
text "..." text "..."
done done
_ReceivedTM50Text::
text "<PLAYER> received"
line "@"
text_ram wStringBuffer
text "!@"
text_end

View file

@ -43,3 +43,10 @@ _Museum2FText7::
line "fell on MT.MOON." line "fell on MT.MOON."
cont "(MOON STONE?)" cont "(MOON STONE?)"
done done
_ReceivedTM19Text::
text "<PLAYER> received"
line "@"
text_ram wStringBuffer
text "!@"
text_end

View file

@ -19,6 +19,42 @@ _RockTunnel2AfterBattleText9::
line "not a fighter." line "not a fighter."
done done
_KabutopsBattleText:: _TM48PreReceiveText::
text "Grr..." text "When you're on a"
line "rocky mountain"
cont "like this, rock"
cont "slides are a"
cont "threat."
para "Can you imagine?"
line "Boulders tumbling"
cont "down on you?"
para "That'd be like..."
line "Waaaaah! Total"
cont "terror!"
para "You don't seem to"
line "be scared. Want"
cont "to try using"
cont "ROCK SLIDE?"
prompt
_ReceivedTM48Text::
text "<PLAYER> received"
line "@"
text_ram wStringBuffer
text "!@"
text_end text_end
_TM48ExplanationText::
text "It may be scary"
line "to use this in"
cont "a tunnel."
done
_TM48Refused::
text "Oh, so you are"
line "scared after"
cont "all."
done

View file

@ -79,11 +79,6 @@ _TM01Refused::
cont "PUNCH." cont "PUNCH."
done done
_MegaNoRoomText::
text "You have no"
line "room for this!"
done
_TM05PreReceiveText:: _TM05PreReceiveText::
text "A kick of brutal" text "A kick of brutal"
line "ferocity!" line "ferocity!"

View file

@ -84,3 +84,10 @@ _VictoryRoad2AfterBattleText5::
line "up the challenge" line "up the challenge"
cont "here." cont "here."
done done
_ReceivedTM10Text::
text "<PLAYER> received"
line "@"
text_ram wStringBuffer
text "!@"
text_end