mirror of https://github.com/pret/pokecrystal.git
674 lines
14 KiB
NASM
674 lines
14 KiB
NASM
object_const_def
|
|
const DRAGONSHRINE_ELDER1
|
|
const DRAGONSHRINE_ELDER2
|
|
const DRAGONSHRINE_ELDER3
|
|
const DRAGONSHRINE_CLAIR
|
|
|
|
DragonShrine_MapScripts:
|
|
def_scene_scripts
|
|
scene_script DragonShrineTakeTestScene, SCENE_DRAGONSHRINE_TAKE_TEST
|
|
scene_script DragonShrineNoopScene, SCENE_DRAGONSHRINE_NOOP
|
|
|
|
def_callbacks
|
|
|
|
DragonShrineTakeTestScene:
|
|
sdefer DragonShrineTakeTestScript
|
|
end
|
|
|
|
DragonShrineNoopScene:
|
|
end
|
|
|
|
DragonShrineTakeTestScript:
|
|
applymovement PLAYER, DragonShrinePlayerWalkInMovement
|
|
applymovement DRAGONSHRINE_ELDER1, DragonShrineElderStepDownMovement
|
|
opentext
|
|
writetext DragonShrineElderGreetingText
|
|
promptbutton
|
|
.Question1:
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
|
|
writetext DragonShrineQuestion1Text
|
|
promptbutton
|
|
loadmenu DragonShrineQuestion1_MenuHeader
|
|
verticalmenu
|
|
closewindow
|
|
ifequal 1, .RightAnswer
|
|
ifequal 2, .WrongAnswer
|
|
ifequal 3, .RightAnswer
|
|
end
|
|
|
|
.Question2:
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
|
|
writetext DragonShrineQuestion2Text
|
|
promptbutton
|
|
loadmenu DragonShrineQuestion2_MenuHeader
|
|
verticalmenu
|
|
closewindow
|
|
ifequal 1, .RightAnswer
|
|
ifequal 2, .RightAnswer
|
|
ifequal 3, .WrongAnswer
|
|
.Question3:
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_4
|
|
writetext DragonShrineQuestion3Text
|
|
promptbutton
|
|
loadmenu DragonShrineQuestion3_MenuHeader
|
|
verticalmenu
|
|
closewindow
|
|
ifequal 1, .WrongAnswer
|
|
ifequal 2, .RightAnswer
|
|
ifequal 3, .RightAnswer
|
|
.Question4:
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_5
|
|
writetext DragonShrineQuestion4Text
|
|
promptbutton
|
|
loadmenu DragonShrineQuestion4_MenuHeader
|
|
verticalmenu
|
|
closewindow
|
|
ifequal 1, .RightAnswer
|
|
ifequal 2, .WrongAnswer
|
|
ifequal 3, .RightAnswer
|
|
.Question5:
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_6
|
|
writetext DragonShrineQuestion5Text
|
|
promptbutton
|
|
loadmenu DragonShrineQuestion5_MenuHeader
|
|
verticalmenu
|
|
closewindow
|
|
ifequal 1, .WrongAnswer
|
|
ifequal 2, .RightAnswer
|
|
ifequal 3, .WrongAnswer
|
|
.RightAnswer:
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_6
|
|
iftrue .PassedTheTest
|
|
writetext DragonShrineRightAnswerText
|
|
promptbutton
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_5
|
|
iftrue .Question5
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_4
|
|
iftrue .Question4
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
|
|
iftrue .Question3
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
|
|
iftrue .Question2
|
|
.WrongAnswer:
|
|
closetext
|
|
turnobject DRAGONSHRINE_ELDER1, LEFT
|
|
opentext
|
|
writetext DragonShrineWrongAnswerText1
|
|
waitbutton
|
|
closetext
|
|
turnobject DRAGONSHRINE_ELDER1, DOWN
|
|
opentext
|
|
writetext DragonShrineWrongAnswerText2
|
|
waitbutton
|
|
closetext
|
|
setevent EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
|
|
opentext
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_6
|
|
iftrue .Question5
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_5
|
|
iftrue .Question4
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_4
|
|
iftrue .Question3
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
|
|
iftrue .Question2
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
|
|
iftrue .Question1
|
|
.PassedTheTest:
|
|
writetext DragonShrinePassedTestText
|
|
waitbutton
|
|
closetext
|
|
playsound SFX_ENTER_DOOR
|
|
showemote EMOTE_SHOCK, PLAYER, 15
|
|
playmusic MUSIC_CLAIR
|
|
appear DRAGONSHRINE_CLAIR
|
|
waitsfx
|
|
turnobject PLAYER, DOWN
|
|
pause 30
|
|
applymovement DRAGONSHRINE_CLAIR, DragonShrineClairWalkInMovement
|
|
turnobject DRAGONSHRINE_CLAIR, RIGHT
|
|
turnobject PLAYER, LEFT
|
|
turnobject DRAGONSHRINE_ELDER1, LEFT
|
|
opentext
|
|
writetext DragonShrineClairYouPassedText
|
|
waitbutton
|
|
closetext
|
|
special FadeOutMusic
|
|
applymovement DRAGONSHRINE_CLAIR, DragonShrineClairBigStepLeftMovement
|
|
opentext
|
|
writetext DragonShrineClairThatCantBeText
|
|
waitbutton
|
|
closetext
|
|
applymovement DRAGONSHRINE_CLAIR, DragonShrineClairSlowStepLeftMovement
|
|
opentext
|
|
writetext DragonShrineClairYoureLyingText
|
|
waitbutton
|
|
closetext
|
|
applymovement DRAGONSHRINE_ELDER1, DragonShrineElderWalkToClairMovement
|
|
turnobject DRAGONSHRINE_CLAIR, UP
|
|
opentext
|
|
writetext DragonShrineMustIInformLanceText
|
|
waitbutton
|
|
closetext
|
|
showemote EMOTE_SHOCK, DRAGONSHRINE_CLAIR, 15
|
|
opentext
|
|
writetext DragonShrineIUnderstandText
|
|
waitbutton
|
|
closetext
|
|
applymovement DRAGONSHRINE_CLAIR, DragonShrineClairTwoSlowStepsRightMovement
|
|
opentext
|
|
writetext DragonShrineHereRisingBadgeText
|
|
waitbutton
|
|
setflag ENGINE_RISINGBADGE
|
|
playsound SFX_GET_BADGE
|
|
waitsfx
|
|
special RestartMapMusic
|
|
specialphonecall SPECIALCALL_MASTERBALL
|
|
setscene SCENE_DRAGONSHRINE_NOOP
|
|
setmapscene DRAGONS_DEN_B1F, SCENE_DRAGONSDENB1F_CLAIR_GIVES_TM
|
|
writetext DragonShrinePlayerReceivedRisingBadgeText
|
|
promptbutton
|
|
writetext DragonShrineRisingBadgeExplanationText
|
|
waitbutton
|
|
closetext
|
|
applymovement DRAGONSHRINE_ELDER1, DragonShrineElderWalkAway1Movement
|
|
turnobject DRAGONSHRINE_CLAIR, UP
|
|
applymovement DRAGONSHRINE_ELDER1, DragonShrineElderWalkAway2Movement
|
|
turnobject PLAYER, UP
|
|
opentext
|
|
writetext DragonShrineElderScoldsClairText
|
|
waitbutton
|
|
closetext
|
|
opentext
|
|
writetext DragonShrineSpeechlessText
|
|
waitbutton
|
|
closetext
|
|
applymovement DRAGONSHRINE_CLAIR, DragonShrineClairWalkOutMovement
|
|
playsound SFX_ENTER_DOOR
|
|
disappear DRAGONSHRINE_CLAIR
|
|
waitsfx
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
|
|
end
|
|
|
|
DragonShrineElder1Script:
|
|
faceplayer
|
|
opentext
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
|
|
iftrue .DontGiveDratiniYet
|
|
checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_7
|
|
iftrue .ReceivedDratini
|
|
checkevent EVENT_GOT_DRATINI
|
|
iffalse .GiveDratini
|
|
checkevent EVENT_BEAT_RIVAL_IN_MT_MOON
|
|
iftrue .BeatRivalInMtMoon
|
|
writetext DragonShrineClairsGrandfatherText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
.GiveDratini:
|
|
writetext DragonShrineTakeThisDratiniText
|
|
waitbutton
|
|
readvar VAR_PARTYCOUNT
|
|
ifequal PARTY_LENGTH, .PartyFull
|
|
writetext DragonShrinePlayerReceivedDratiniText
|
|
playsound SFX_CAUGHT_MON
|
|
waitsfx
|
|
givepoke DRATINI, 15
|
|
checkevent EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
|
|
special GiveDratini
|
|
setevent EVENT_GOT_DRATINI
|
|
setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_7
|
|
writetext DragonShrineSymbolicDragonText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
.PartyFull:
|
|
writetext DragonShrinePartyFullText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
.BeatRivalInMtMoon:
|
|
writetext DragonShrineRivalIsInTrainingText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
.DontGiveDratiniYet:
|
|
writetext DragonShrineComeAgainText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
.ReceivedDratini:
|
|
writetext DragonShrineSymbolicDragonText
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
DragonShrineElder2Script:
|
|
faceplayer
|
|
opentext
|
|
writetext DragonShrineElder2Text
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
DragonShrineElder3Script:
|
|
faceplayer
|
|
opentext
|
|
writetext DragonShrineElder3Text
|
|
waitbutton
|
|
closetext
|
|
end
|
|
|
|
DragonShrineQuestion1_MenuHeader:
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 8, 4, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
|
|
dw .MenuData
|
|
db 1 ; default option
|
|
|
|
.MenuData:
|
|
db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
|
|
db 3 ; items
|
|
db "Pal@"
|
|
db "Underling@"
|
|
db "Friend@"
|
|
|
|
DragonShrineQuestion2_MenuHeader:
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 9, 4, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
|
|
dw .MenuData
|
|
db 1 ; default option
|
|
|
|
.MenuData:
|
|
db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
|
|
db 3 ; items
|
|
db "Strategy@"
|
|
db "Raising@"
|
|
db "Cheating@"
|
|
|
|
DragonShrineQuestion3_MenuHeader:
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 5, 4, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
|
|
dw .MenuData
|
|
db 1 ; default option
|
|
|
|
.MenuData:
|
|
db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
|
|
db 3 ; items
|
|
db "Weak person@"
|
|
db "Tough person@"
|
|
db "Anybody@"
|
|
|
|
DragonShrineQuestion4_MenuHeader:
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 8, 4, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
|
|
dw .MenuData
|
|
db 1 ; default option
|
|
|
|
.MenuData:
|
|
db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
|
|
db 3 ; items
|
|
db "Love@"
|
|
db "Violence@"
|
|
db "Knowledge@"
|
|
|
|
DragonShrineQuestion5_MenuHeader:
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 12, 4, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
|
|
dw .MenuData
|
|
db 1 ; default option
|
|
|
|
.MenuData:
|
|
db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
|
|
db 3 ; items
|
|
db "Tough@"
|
|
db "Both@"
|
|
db "Weak@"
|
|
|
|
DragonShrinePlayerWalkInMovement:
|
|
slow_step UP
|
|
slow_step UP
|
|
slow_step UP
|
|
slow_step RIGHT
|
|
slow_step UP
|
|
slow_step UP
|
|
slow_step UP
|
|
step_end
|
|
|
|
DragonShrineElderStepDownMovement:
|
|
slow_step DOWN
|
|
step_end
|
|
|
|
DragonShrineElderWalkToClairMovement:
|
|
slow_step LEFT
|
|
slow_step LEFT
|
|
slow_step LEFT
|
|
turn_head DOWN
|
|
step_end
|
|
|
|
DragonShrineElderWalkAway1Movement:
|
|
slow_step RIGHT
|
|
slow_step RIGHT
|
|
step_end
|
|
|
|
DragonShrineElderWalkAway2Movement:
|
|
slow_step RIGHT
|
|
turn_head DOWN
|
|
step_end
|
|
|
|
DragonShrineClairWalkInMovement:
|
|
slow_step UP
|
|
slow_step UP
|
|
slow_step UP
|
|
slow_step UP
|
|
slow_step UP
|
|
step_end
|
|
|
|
DragonShrineClairBigStepLeftMovement:
|
|
fix_facing
|
|
big_step LEFT
|
|
step_end
|
|
|
|
DragonShrineClairSlowStepLeftMovement:
|
|
slow_step LEFT
|
|
remove_fixed_facing
|
|
step_end
|
|
|
|
DragonShrineClairTwoSlowStepsRightMovement:
|
|
slow_step RIGHT
|
|
slow_step RIGHT
|
|
step_end
|
|
|
|
DragonShrineClairWalkOutMovement:
|
|
step DOWN
|
|
step DOWN
|
|
step DOWN
|
|
step DOWN
|
|
step DOWN
|
|
step DOWN
|
|
step_end
|
|
|
|
DragonShrineElderGreetingText:
|
|
text "Hm… Good to see"
|
|
line "you here."
|
|
|
|
para "No need to explain"
|
|
line "why you came."
|
|
|
|
para "CLAIR sent you"
|
|
line "here, didn't she?"
|
|
|
|
para "That girl is a"
|
|
line "handful…"
|
|
|
|
para "I am sorry, but I"
|
|
line "must test you."
|
|
|
|
para "Not to worry, you"
|
|
line "are to answer only"
|
|
cont "a few questions."
|
|
|
|
para "Ready?"
|
|
done
|
|
|
|
DragonShrineQuestion1Text:
|
|
text "What are #MON"
|
|
line "to you?"
|
|
done
|
|
|
|
DragonShrineQuestion2Text:
|
|
text "What helps you to"
|
|
line "win battles?"
|
|
done
|
|
|
|
DragonShrineQuestion3Text:
|
|
text "What kind of"
|
|
line "trainer do you"
|
|
cont "wish to battle?"
|
|
done
|
|
|
|
DragonShrineQuestion4Text:
|
|
text "What is most"
|
|
line "important for"
|
|
cont "raising #MON?"
|
|
done
|
|
|
|
DragonShrineQuestion5Text:
|
|
text "Strong #MON."
|
|
line "Weak #MON."
|
|
|
|
para "Which is more"
|
|
line "important?"
|
|
done
|
|
|
|
DragonShrinePassedTestText:
|
|
text "Hm… I see…"
|
|
|
|
para "You care deeply"
|
|
line "for #MON."
|
|
|
|
para "Very commendable."
|
|
|
|
para "That conviction is"
|
|
line "what is important!"
|
|
|
|
para "<PLAYER>, don't"
|
|
line "lose that belief."
|
|
|
|
para "It will see you"
|
|
line "through at the"
|
|
cont "#MON LEAGUE."
|
|
done
|
|
|
|
DragonShrineMustIInformLanceText:
|
|
text "CLAIR!"
|
|
|
|
para "This child is"
|
|
line "impeccable, in"
|
|
cont "skill and spirit!"
|
|
|
|
para "Admit defeat and"
|
|
line "confer the RISING-"
|
|
cont "BADGE!"
|
|
|
|
para "…Or must I inform"
|
|
line "LANCE of this?"
|
|
done
|
|
|
|
DragonShrineElderScoldsClairText:
|
|
text "CLAIR…"
|
|
|
|
para "Reflect upon what"
|
|
line "it is that you"
|
|
|
|
para "lack and this"
|
|
line "child has."
|
|
done
|
|
|
|
DragonShrineComeAgainText:
|
|
text "Come again, if you"
|
|
line "so desire."
|
|
done
|
|
|
|
DragonShrineTakeThisDratiniText:
|
|
text "Hm… Good to see"
|
|
line "you here."
|
|
|
|
para "Your arrival is"
|
|
line "most fortunate."
|
|
|
|
para "I have something"
|
|
line "for you."
|
|
|
|
para "Take this DRATINI"
|
|
line "as proof that I"
|
|
|
|
para "have recognized"
|
|
line "your worth."
|
|
done
|
|
|
|
DragonShrinePlayerReceivedDratiniText:
|
|
text "<PLAYER> received"
|
|
line "DRATINI!"
|
|
done
|
|
|
|
DragonShrinePartyFullText:
|
|
text "Hm? Your #MON"
|
|
line "party is full."
|
|
done
|
|
|
|
DragonShrineSymbolicDragonText:
|
|
text "Dragon #MON are"
|
|
line "symbolic of our"
|
|
cont "clan."
|
|
|
|
para "You have shown"
|
|
line "that you can be"
|
|
|
|
para "entrusted with"
|
|
line "one."
|
|
done
|
|
|
|
DragonShrineClairsGrandfatherText:
|
|
text "CLAIR appears to"
|
|
line "have learned an"
|
|
|
|
para "invaluable lesson"
|
|
line "from you."
|
|
|
|
para "I thank you as her"
|
|
line "grandfather."
|
|
done
|
|
|
|
DragonShrineRivalIsInTrainingText:
|
|
text "A boy close to"
|
|
line "your age is in"
|
|
cont "training here."
|
|
|
|
para "He is much like"
|
|
line "CLAIR when she was"
|
|
|
|
para "younger. It is a"
|
|
line "little worrisome…"
|
|
done
|
|
|
|
DragonShrineWrongAnswerText1:
|
|
text "Hah? I didn't"
|
|
line "quite catch that…"
|
|
done
|
|
|
|
DragonShrineWrongAnswerText2:
|
|
text "What was it you"
|
|
line "said?"
|
|
done
|
|
|
|
DragonShrineRightAnswerText:
|
|
text "Oh, I understand…"
|
|
done
|
|
|
|
DragonShrineElder2Text:
|
|
text "It's been quite"
|
|
line "some time since a"
|
|
|
|
para "trainer has gained"
|
|
line "our MASTER's rare"
|
|
cont "approval."
|
|
|
|
para "In fact, not since"
|
|
line "Master LANCE."
|
|
done
|
|
|
|
DragonShrineElder3Text:
|
|
text "You know young"
|
|
line "Master LANCE?"
|
|
|
|
para "He looks so much"
|
|
line "like our MASTER"
|
|
cont "did in his youth."
|
|
|
|
para "It's in their"
|
|
line "blood."
|
|
done
|
|
|
|
DragonShrineClairYouPassedText:
|
|
text "So how did it go?"
|
|
|
|
para "I guess there's no"
|
|
line "point in asking."
|
|
|
|
para "You did fail?"
|
|
|
|
para "<……><……><……><……><……><……>"
|
|
|
|
para "…What? You passed?"
|
|
done
|
|
|
|
DragonShrineClairThatCantBeText:
|
|
text "That can't be!"
|
|
done
|
|
|
|
DragonShrineClairYoureLyingText:
|
|
text "You're lying!"
|
|
|
|
para "Even I haven't"
|
|
line "been approved!"
|
|
done
|
|
|
|
DragonShrineIUnderstandText:
|
|
text "I-I understand…"
|
|
done
|
|
|
|
DragonShrineHereRisingBadgeText:
|
|
text "Here, this is the"
|
|
line "RISINGBADGE…"
|
|
|
|
para "Hurry up! Take it!"
|
|
done
|
|
|
|
DragonShrinePlayerReceivedRisingBadgeText:
|
|
text "<PLAYER> received"
|
|
line "RISINGBADGE."
|
|
done
|
|
|
|
DragonShrineRisingBadgeExplanationText:
|
|
text "RISINGBADGE will"
|
|
line "enable your"
|
|
|
|
para "#MON to use the"
|
|
line "move for climbing"
|
|
cont "waterfalls."
|
|
|
|
para "Also, all #MON"
|
|
line "will recognize you"
|
|
|
|
para "as a trainer and"
|
|
line "obey your every"
|
|
|
|
para "command without"
|
|
line "question."
|
|
done
|
|
|
|
DragonShrineSpeechlessText:
|
|
text "<……><……><……><……><……><……>"
|
|
done
|
|
|
|
DragonShrine_MapEvents:
|
|
db 0, 0 ; filler
|
|
|
|
def_warp_events
|
|
warp_event 4, 9, DRAGONS_DEN_B1F, 2
|
|
warp_event 5, 9, DRAGONS_DEN_B1F, 2
|
|
|
|
def_coord_events
|
|
|
|
def_bg_events
|
|
|
|
def_object_events
|
|
object_event 5, 1, SPRITE_ELDER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DragonShrineElder1Script, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
|
|
object_event 2, 4, SPRITE_ELDER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DragonShrineElder2Script, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
|
|
object_event 7, 4, SPRITE_ELDER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DragonShrineElder3Script, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
|
|
object_event 4, 8, SPRITE_CLAIR, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_DRAGON_SHRINE_CLAIR
|