jep-hack/maps/Route29.asm
Llinos Evans a4044f0929 Naming mother restored!
The act of naming your mother was restored by adding a name substitution system to WRAM, thus allowing the Dude to occupy a slot naturally. I believe Red and Blue's names are unused too, but just to be safe, I left them alone. Using this means we can technically have battles that substitute names all the time, so this is really neat.

Reworked the first rival encounter scene to have him treat you like an idiot, blurt out what you name your mother, tease you, and piss you off. Arguably flows better than the original and makes more sense. Also, now the mother's name is placed in various spots.

Only concern really is seeing the default name in the phone contact. Feel free to change that if you want, but it's hard to place due to situations where the player leaves without talking to her, so take care!
2024-07-29 14:23:59 +01:00

438 lines
8.8 KiB
NASM

object_const_def
const ROUTE29_COOLTRAINER_M1
const ROUTE29_YOUNGSTER
const ROUTE29_TEACHER1
const ROUTE29_FRUIT_TREE
const ROUTE29_FISHER
const ROUTE29_COOLTRAINER_M2
const ROUTE29_TUSCANY
const ROUTE29_POKE_BALL
Route29_MapScripts:
def_scene_scripts
scene_script Route29Noop1Scene, SCENE_ROUTE29_NOOP
scene_script Route29Noop2Scene, SCENE_ROUTE29_CATCH_TUTORIAL
def_callbacks
callback MAPCALLBACK_OBJECTS, Route29TuscanyCallback
Route29Noop1Scene:
end
Route29Noop2Scene:
end
Route29TuscanyCallback:
checkflag ENGINE_ZEPHYRBADGE
iftrue .DoesTuscanyAppear
.TuscanyDisappears:
disappear ROUTE29_TUSCANY
endcallback
.DoesTuscanyAppear:
readvar VAR_WEEKDAY
ifnotequal TUESDAY, .TuscanyDisappears
appear ROUTE29_TUSCANY
endcallback
Route29Tutorial1:
turnobject ROUTE29_COOLTRAINER_M1, UP
showemote EMOTE_SHOCK, ROUTE29_COOLTRAINER_M1, 15
applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData1a
turnobject PLAYER, LEFT
setevent EVENT_DUDE_TALKED_TO_YOU
opentext
writetext CatchingTutorialIntroText
yesorno
iffalse Script_RefusedTutorial1
closetext
follow ROUTE29_COOLTRAINER_M1, PLAYER
applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData1b
stopfollow
loadwildmon SENTRET, 5
catchtutorial BATTLETYPE_TUTORIAL
turnobject ROUTE29_COOLTRAINER_M1, UP
opentext
writetext CatchingTutorialDebriefText
waitbutton
closetext
setscene SCENE_ROUTE29_NOOP
setevent EVENT_LEARNED_TO_CATCH_POKEMON
end
Route29Tutorial2:
turnobject ROUTE29_COOLTRAINER_M1, UP
showemote EMOTE_SHOCK, ROUTE29_COOLTRAINER_M1, 15
applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData2a
turnobject PLAYER, LEFT
setevent EVENT_DUDE_TALKED_TO_YOU
opentext
writetext CatchingTutorialIntroText
yesorno
iffalse Script_RefusedTutorial2
closetext
follow ROUTE29_COOLTRAINER_M1, PLAYER
applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData2b
stopfollow
loadwildmon SENTRET, 5
catchtutorial BATTLETYPE_TUTORIAL
turnobject ROUTE29_COOLTRAINER_M1, UP
opentext
writetext CatchingTutorialDebriefText
waitbutton
closetext
setscene SCENE_ROUTE29_NOOP
setevent EVENT_LEARNED_TO_CATCH_POKEMON
end
Script_RefusedTutorial1:
writetext CatchingTutorialDeclinedText
waitbutton
closetext
applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData1b
setscene SCENE_ROUTE29_NOOP
end
Script_RefusedTutorial2:
writetext CatchingTutorialDeclinedText
waitbutton
closetext
applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData2b
setscene SCENE_ROUTE29_NOOP
end
CatchingTutorialDudeScript:
faceplayer
opentext
readvar VAR_BOXSPACE
ifequal 0, .BoxFull
checkevent EVENT_LEARNED_TO_CATCH_POKEMON
iftrue .BoxFull
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
iffalse .BoxFull
writetext CatchingTutorialRepeatText
yesorno
iffalse .Declined
closetext
loadwildmon SENTRET, 5
catchtutorial BATTLETYPE_TUTORIAL
opentext
writetext CatchingTutorialDebriefText
waitbutton
closetext
setevent EVENT_LEARNED_TO_CATCH_POKEMON
end
.BoxFull:
writetext CatchingTutorialBoxFullText
waitbutton
closetext
end
.Declined:
writetext CatchingTutorialDeclinedText
waitbutton
closetext
end
Route29YoungsterScript:
jumptextfaceplayer Route29YoungsterText
Route29TeacherScript:
jumptextfaceplayer Route29TeacherText
Route29FisherScript:
jumptextfaceplayer Route29FisherText
Route29CooltrainerMScript:
faceplayer
opentext
checktime DAY
iftrue .day_morn
checktime NITE
iftrue .nite
.day_morn
writetext Route29CooltrainerMText_WaitingForNight
waitbutton
closetext
end
.nite
writetext Route29CooltrainerMText_WaitingForMorning
waitbutton
closetext
end
TuscanyScript:
faceplayer
opentext
checkevent EVENT_GOT_PINK_BOW_FROM_TUSCANY
iftrue TuscanyTuesdayScript
readvar VAR_WEEKDAY
ifnotequal TUESDAY, TuscanyNotTuesdayScript
checkevent EVENT_MET_TUSCANY_OF_TUESDAY
iftrue .MetTuscany
writetext MeetTuscanyText
promptbutton
setevent EVENT_MET_TUSCANY_OF_TUESDAY
.MetTuscany:
writetext TuscanyGivesGiftText
promptbutton
verbosegiveitem PINK_BOW
iffalse TuscanyDoneScript
setevent EVENT_GOT_PINK_BOW_FROM_TUSCANY
writetext TuscanyGaveGiftText
waitbutton
closetext
end
TuscanyTuesdayScript:
writetext TuscanyTuesdayText
waitbutton
TuscanyDoneScript:
closetext
end
TuscanyNotTuesdayScript:
writetext TuscanyNotTuesdayText
waitbutton
closetext
end
Route29Sign1:
jumptext Route29Sign1Text
Route29Sign2:
jumptext Route29Sign2Text
Route29FruitTree:
fruittree FRUITTREE_ROUTE_29
Route29Potion:
itemball POTION
DudeMovementData1a:
step UP
step UP
step UP
step UP
step RIGHT
step RIGHT
step_end
DudeMovementData2a:
step UP
step UP
step UP
step RIGHT
step RIGHT
step_end
DudeMovementData1b:
step LEFT
step LEFT
step DOWN
step DOWN
step DOWN
step DOWN
step_end
DudeMovementData2b:
step LEFT
step LEFT
step DOWN
step DOWN
step DOWN
step_end
CatchingTutorialBoxFullText:
text "#MON hide in"
line "the grass. Who"
para "knows when they'll"
line "pop out…"
done
CatchingTutorialIntroText:
text "I've seen you a"
line "couple times. How"
para "many #MON have"
line "you caught?"
para "Would you like me"
line "to show you how to"
cont "catch #MON?"
done
CatchingTutorialDebriefText:
text "That's how you do"
line "it."
para "If you weaken them"
line "first, #MON are"
cont "easier to catch."
done
CatchingTutorialDeclinedText:
text "Oh. Fine, then."
para "Anyway, if you"
line "want to catch"
para "#MON, you have"
line "to walk a lot."
done
CatchingTutorialRepeatText:
text "Huh? You want me"
line "to show you how to"
cont "catch #MON?"
done
Route29YoungsterText:
text "Yo. How are your"
line "#MON?"
para "If they're weak"
line "and not ready for"
para "battle, keep out"
line "of the grass."
done
Route29TeacherText:
text "See those ledges?"
line "It's scary to jump"
cont "off them."
para "But you can go to"
line "NEW BARK without"
para "walking through"
line "the grass."
done
Route29FisherText:
text "I wanted to take a"
line "break, so I saved"
para "to record my"
line "progress."
done
Route29CooltrainerMText_WaitingForDay: ; unreferenced
text "I'm waiting for"
line "#MON that"
para "appear only in the"
line "daytime."
done
Route29CooltrainerMText_WaitingForNight:
text "I'm waiting for"
line "#MON that"
para "appear only at"
line "night."
done
Route29CooltrainerMText_WaitingForMorning:
text "I'm waiting for"
line "#MON that"
para "appear only in the"
line "morning."
done
MeetTuscanyText:
text "TUSCANY: I do be-"
line "lieve that this is"
para "the first time"
line "we've met?"
para "Please allow me to"
line "introduce myself."
para "I am TUSCANY of"
line "Tuesday."
done
TuscanyGivesGiftText:
text "By way of intro-"
line "duction, please"
para "accept this gift,"
line "a PINK BOW."
done
TuscanyGaveGiftText:
text "TUSCANY: Wouldn't"
line "you agree that it"
cont "is most adorable?"
para "It strengthens"
line "normal-type moves."
para "I am certain it"
line "will be of use."
done
TuscanyTuesdayText:
text "TUSCANY: Have you"
line "met MONICA, my"
cont "older sister?"
para "Or my younger"
line "brother, WESLEY?"
para "I am the second of"
line "seven children."
done
TuscanyNotTuesdayText:
text "TUSCANY: Today is"
line "not Tuesday. That"
cont "is unfortunate…"
done
Route29Sign1Text:
text "ROUTE 29"
para "CHERRYGROVE CITY -"
line "NEW BARK TOWN"
done
Route29Sign2Text:
text "ROUTE 29"
para "CHERRYGROVE CITY -"
line "NEW BARK TOWN"
done
Route29_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 27, 1, ROUTE_29_ROUTE_46_GATE, 3
def_coord_events
coord_event 53, 8, SCENE_ROUTE29_CATCH_TUTORIAL, Route29Tutorial1
coord_event 53, 9, SCENE_ROUTE29_CATCH_TUTORIAL, Route29Tutorial2
def_bg_events
bg_event 51, 7, BGEVENT_READ, Route29Sign1
bg_event 3, 5, BGEVENT_READ, Route29Sign2
def_object_events
object_event 50, 12, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CatchingTutorialDudeScript, -1
object_event 27, 16, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route29YoungsterScript, -1
object_event 15, 11, SPRITE_TEACHER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route29TeacherScript, -1
object_event 12, 2, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route29FruitTree, -1
object_event 25, 3, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route29FisherScript, -1
object_event 13, 4, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route29CooltrainerMScript, -1
object_event 29, 12, SPRITE_TEACHER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, TuscanyScript, EVENT_ROUTE_29_TUSCANY_OF_TUESDAY
object_event 48, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route29Potion, EVENT_ROUTE_29_POTION