pokecrystal/maps/DragonShrine.asm

688 lines
12 KiB
NASM

DragonShrine_MapScriptHeader:
.MapTriggers:
db 2
; triggers
dw .Trigger1, 0
dw .Trigger2, 0
.MapCallbacks:
db 0
.Trigger1:
priorityjump DragonShrineTestScript
end
.Trigger2:
end
DragonShrineTestScript:
applymovement PLAYER, MovementData_0x18d2bf
applymovement $2, MovementData_0x18d2c7
loadfont
writetext UnknownText_0x18d2ea
keeptextopen
.Question1:
setevent EVENT_RECEIVED_BALLS_FROM_KURT
writetext UnknownText_0x18d3bc
keeptextopen
loadmenudata MenuDataHeader_0x18d215
interpretmenu2
writebackup
if_equal $1, .RightAnswer
if_equal $2, .WrongAnswer
if_equal $3, .RightAnswer
end
.Question2:
setevent EVENT_DRAGON_SHRINE_QUESTION_2
writetext UnknownText_0x18d3d3
keeptextopen
loadmenudata MenuDataHeader_0x18d234
interpretmenu2
writebackup
if_equal $1, .RightAnswer
if_equal $2, .RightAnswer
if_equal $3, .WrongAnswer
.Question3:
setevent EVENT_DRAGON_SHRINE_QUESTION_3
writetext UnknownText_0x18d3f3
keeptextopen
loadmenudata MenuDataHeader_0x18d258
interpretmenu2
writebackup
if_equal $1, .WrongAnswer
if_equal $2, .RightAnswer
if_equal $3, .RightAnswer
.Question4:
setevent EVENT_DRAGON_SHRINE_QUESTION_4
writetext UnknownText_0x18d420
keeptextopen
loadmenudata MenuDataHeader_0x18d283
interpretmenu2
writebackup
if_equal $1, .RightAnswer
if_equal $2, .WrongAnswer
if_equal $3, .RightAnswer
.Question5:
setevent EVENT_DRAGON_SHRINE_QUESTION_5
writetext UnknownText_0x18d44a
keeptextopen
loadmenudata MenuDataHeader_0x18d2a5
interpretmenu2
writebackup
if_equal $1, .WrongAnswer
if_equal $2, .RightAnswer
if_equal $3, .WrongAnswer
.RightAnswer:
checkevent EVENT_DRAGON_SHRINE_QUESTION_5
iftrue .PassedTheTest
writetext UnknownText_0x18d82d
keeptextopen
checkevent EVENT_DRAGON_SHRINE_QUESTION_4
iftrue .Question5
checkevent EVENT_DRAGON_SHRINE_QUESTION_3
iftrue .Question4
checkevent EVENT_DRAGON_SHRINE_QUESTION_2
iftrue .Question3
checkevent EVENT_RECEIVED_BALLS_FROM_KURT
iftrue .Question2
.WrongAnswer:
loadmovesprites
spriteface $2, LEFT
loadfont
writetext UnknownText_0x18d7f6
closetext
loadmovesprites
spriteface $2, DOWN
loadfont
writetext UnknownText_0x18d816
closetext
loadmovesprites
setevent EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
loadfont
checkevent EVENT_DRAGON_SHRINE_QUESTION_5
iftrue .Question5
checkevent EVENT_DRAGON_SHRINE_QUESTION_4
iftrue .Question4
checkevent EVENT_DRAGON_SHRINE_QUESTION_3
iftrue .Question3
checkevent EVENT_DRAGON_SHRINE_QUESTION_2
iftrue .Question2
checkevent EVENT_RECEIVED_BALLS_FROM_KURT
iftrue .Question1
.PassedTheTest:
writetext UnknownText_0x18d47c
closetext
loadmovesprites
playsound SFX_ENTER_DOOR
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_CLAIR
appear $5
waitbutton
spriteface PLAYER, DOWN
pause 30
applymovement $5, MovementData_0x18d2d4
spriteface $5, RIGHT
spriteface PLAYER, LEFT
spriteface $2, LEFT
loadfont
writetext UnknownText_0x18d916
closetext
loadmovesprites
special Functionc48f
applymovement $5, MovementData_0x18d2da
loadfont
writetext UnknownText_0x18d974
closetext
loadmovesprites
applymovement $5, MovementData_0x18d2dd
loadfont
writetext UnknownText_0x18d983
closetext
loadmovesprites
applymovement $2, MovementData_0x18d2c9
spriteface $5, UP
loadfont
writetext UnknownText_0x18d520
closetext
loadmovesprites
showemote EMOTE_SHOCK, $5, 15
loadfont
writetext UnknownText_0x18d9ae
closetext
loadmovesprites
applymovement $5, MovementData_0x18d2e0
loadfont
writetext UnknownText_0x18d9bf
closetext
setflag ENGINE_RISINGBADGE
playsound SFX_GET_BADGE
waitbutton
special RestartMapMusic
specialphonecall SPECIALCALL_MASTERBALL
dotrigger $1
domaptrigger DRAGONS_DEN_B1F, $1
writetext UnknownText_0x18d9f2
keeptextopen
writetext UnknownText_0x18da0b
closetext
loadmovesprites
applymovement $2, MovementData_0x18d2ce
spriteface $5, UP
applymovement $2, MovementData_0x18d2d1
spriteface PLAYER, UP
loadfont
writetext UnknownText_0x18d5a3
closetext
loadmovesprites
loadfont
writetext UnknownText_0x18dab4
closetext
loadmovesprites
applymovement $5, MovementData_0x18d2e3
playsound SFX_ENTER_DOOR
disappear $5
waitbutton
setevent EVENT_GAVE_KURT_APRICORNS
end
ElderScript_0x18d1a5:
faceplayer
loadfont
checkevent EVENT_GAVE_KURT_APRICORNS
iftrue .DontGiveDratiniYet
checkevent EVENT_JUST_RECEIVED_DRATINI
iftrue .ReceivedDratini
checkevent EVENT_GOT_DRATINI
iffalse .GiveDratini
checkevent EVENT_BEAT_RIVAL_IN_MT_MOON
iftrue .BeatRivalInMtMoon
writetext UnknownText_0x18d724
closetext
loadmovesprites
end
.GiveDratini:
writetext UnknownText_0x18d604
closetext
checkcode VAR_PARTYCOUNT
if_equal 6, .PartyFull
writetext UnknownText_0x18d697
playsound SFX_CAUGHT_MON
waitbutton
givepoke DRATINI, 15
checkevent EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
special SpecialDratini
setevent EVENT_GOT_DRATINI
setevent EVENT_JUST_RECEIVED_DRATINI
writetext UnknownText_0x18d6ca
closetext
loadmovesprites
end
.PartyFull:
writetext UnknownText_0x18d6ac
closetext
loadmovesprites
end
.BeatRivalInMtMoon:
writetext UnknownText_0x18d782
closetext
loadmovesprites
end
.DontGiveDratiniYet:
writetext UnknownText_0x18d5e5
closetext
loadmovesprites
end
.ReceivedDratini:
writetext UnknownText_0x18d6ca
closetext
loadmovesprites
end
ElderScript_0x18d205:
faceplayer
loadfont
writetext UnknownText_0x18d840
closetext
loadmovesprites
end
ElderScript_0x18d20d:
faceplayer
loadfont
writetext UnknownText_0x18d8b1
closetext
loadmovesprites
end
MenuDataHeader_0x18d215:
db $40 ; flags
db 04, 08 ; start coords
db 11, 19 ; end coords
dw MenuData2_0x18d21d
db 1 ; default option
MenuData2_0x18d21d:
db $81 ; flags
db 3 ; items
db "Pal@"
db "Underling@"
db "Friend@"
MenuDataHeader_0x18d234:
db $40 ; flags
db 04, 09 ; start coords
db 11, 19 ; end coords
dw MenuData2_0x18d23c
db 1 ; default option
MenuData2_0x18d23c:
db $81 ; flags
db 3 ; items
db "Strategy@"
db "Raising@"
db "Cheating@"
MenuDataHeader_0x18d258:
db $40 ; flags
db 04, 05 ; start coords
db 11, 19 ; end coords
dw MenuData2_0x18d260
db 1 ; default option
MenuData2_0x18d260:
db $81 ; flags
db 3 ; items
db "Weak person@"
db "Tough person@"
db "Anybody@"
MenuDataHeader_0x18d283:
db $40 ; flags
db 04, 08 ; start coords
db 11, 19 ; end coords
dw MenuData2_0x18d28b
db 1 ; default option
MenuData2_0x18d28b:
db $81 ; flags
db 3 ; items
db "Love@"
db "Violence@"
db "Knowledge@"
MenuDataHeader_0x18d2a5:
db $40 ; flags
db 04, 12 ; start coords
db 11, 19 ; end coords
dw MenuData2_0x18d2ad
db 1 ; default option
MenuData2_0x18d2ad:
db $81 ; flags
db 3 ; items
db "Tough@"
db "Both@"
db "Weak@"
MovementData_0x18d2bf:
slow_step_up
slow_step_up
slow_step_up
slow_step_right
slow_step_up
slow_step_up
slow_step_up
step_end
MovementData_0x18d2c7:
slow_step_down
step_end
MovementData_0x18d2c9:
slow_step_left
slow_step_left
slow_step_left
turn_head_down
step_end
MovementData_0x18d2ce:
slow_step_right
slow_step_right
step_end
MovementData_0x18d2d1:
slow_step_right
turn_head_down
step_end
MovementData_0x18d2d4:
slow_step_up
slow_step_up
slow_step_up
slow_step_up
slow_step_up
step_end
MovementData_0x18d2da:
fix_facing
big_step_left
step_end
MovementData_0x18d2dd:
slow_step_left
remove_fixed_facing
step_end
MovementData_0x18d2e0:
slow_step_right
slow_step_right
step_end
MovementData_0x18d2e3:
step_down
step_down
step_down
step_down
step_down
step_down
step_end
UnknownText_0x18d2ea:
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
UnknownText_0x18d3bc:
text "What are #MON"
line "to you?"
done
UnknownText_0x18d3d3:
text "What helps you to"
line "win battles?"
done
UnknownText_0x18d3f3:
text "What kind of"
line "trainer do you"
cont "wish to battle?"
done
UnknownText_0x18d420:
text "What is most"
line "important for"
cont "raising #MON?"
done
UnknownText_0x18d44a:
text "Strong #MON."
line "Weak #MON."
para "Which is more"
line "important?"
done
UnknownText_0x18d47c:
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
UnknownText_0x18d520:
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
UnknownText_0x18d5a3:
text "CLAIR…"
para "Reflect upon what"
line "it is that you"
para "lack and this"
line "child has."
done
UnknownText_0x18d5e5:
text "Come again, if you"
line "so desire."
done
UnknownText_0x18d604:
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
UnknownText_0x18d697:
text "<PLAYER> received"
line "DRATINI!"
done
UnknownText_0x18d6ac:
text "Hm? Your #MON"
line "party is full."
done
UnknownText_0x18d6ca:
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
UnknownText_0x18d724:
text "CLAIR appears to"
line "have learned an"
para "invaluable lesson"
line "from you."
para "I thank you as her"
line "grandfather."
done
UnknownText_0x18d782:
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
UnknownText_0x18d7f6:
text "Hah? I didn't"
line "quite catch that…"
done
UnknownText_0x18d816:
text "What was it you"
line "said?"
done
UnknownText_0x18d82d:
text "Oh, I understand…"
done
UnknownText_0x18d840:
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
UnknownText_0x18d8b1:
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
UnknownText_0x18d916:
text "So how did it go?"
para "I guess there's no"
line "point in asking."
para "You did fail?"
para $56, $56, $56, $56, $56, $56
para "…What? You passed?"
done
UnknownText_0x18d974:
text "That can't be!"
done
UnknownText_0x18d983:
text "You're lying!"
para "Even I haven't"
line "been approved!"
done
UnknownText_0x18d9ae:
text "I-I understand…"
done
UnknownText_0x18d9bf:
text "Here, this is the"
line "RISINGBADGE…"
para "Hurry up! Take it!"
done
UnknownText_0x18d9f2:
text "<PLAYER> received"
line "RISINGBADGE."
done
UnknownText_0x18da0b:
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
UnknownText_0x18dab4:
text $56, $56, $56, $56, $56, $56
done
DragonShrine_MapEventHeader:
; filler
db 0, 0
.Warps:
db 2
warp_def $9, $4, 2, DRAGONS_DEN_B1F
warp_def $9, $5, 2, DRAGONS_DEN_B1F
.XYTriggers:
db 0
.Signposts:
db 0
.PersonEvents:
db 4
person_event SPRITE_ELDER, 1, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d1a5, EVENT_GAVE_KURT_APRICORNS
person_event SPRITE_ELDER, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d205, EVENT_GAVE_KURT_APRICORNS
person_event SPRITE_ELDER, 4, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d20d, EVENT_GAVE_KURT_APRICORNS
person_event SPRITE_CLAIR, 8, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_DRAGON_SHRINE_CLAIR