Files
PokemonEmeraldComplete/data/maps/GraniteCave_StevensRoom/scripts.inc
T

216 lines
6.1 KiB
C++

.set LOCALID_STEVEN, 1
GraniteCave_StevensRoom_MapScripts::
.byte 0
GraniteCave_StevensRoom_EventScript_Steven::
lock
faceplayer
msgbox GraniteCave_StevensRoom_Text_ImStevenLetterForMe, MSGBOX_DEFAULT
//setvar VAR_0x8004, ITEM_LETTER
//call Common_EventScript_PlayerHandedOverTheItem
//setflag FLAG_DELIVERED_STEVEN_LETTER
//msgbox GraniteCave_StevensRoom_Text_ThankYouTakeThis, MSGBOX_DEFAULT
//giveitem ITEM_TM47
//call_if_eq VAR_RESULT, FALSE, GraniteCave_StevensRoom_EventScript_BagFull
//msgbox GraniteCave_StevensRoom_Text_CouldBecomeChampionLetsRegister, MSGBOX_DEFAULT
//closemessage
//delay 30
//playfanfare MUS_REGISTER_MATCH_CALL
//msgbox GraniteCave_StevensRoom_Text_RegisteredSteven, MSGBOX_DEFAULT
//waitfanfare
//closemessage
//delay 30
//setflag FLAG_REGISTERED_STEVEN_POKENAV
//insert own script here
goto GraniteCave_StevensRoom_EventScript_Colapse
msgbox GraniteCave_StevensRoom_Text_IveGotToHurryAlong, MSGBOX_DEFAULT
closemessage
call_if_eq VAR_FACING, DIR_NORTH, GraniteCave_StevensRoom_EventScript_StevenExitNorth
call_if_eq VAR_FACING, DIR_SOUTH, GraniteCave_StevensRoom_EventScript_StevenExitSouth
call_if_eq VAR_FACING, DIR_WEST, GraniteCave_StevensRoom_EventScript_StevenExitWestEast
call_if_eq VAR_FACING, DIR_EAST, GraniteCave_StevensRoom_EventScript_StevenExitWestEast
playse SE_EXIT
removeobject LOCALID_STEVEN
release
end
GraniteCave_StevensRoom_EventScript_StevenExitNorth::
applymovement LOCALID_STEVEN, GraniteCave_StevensRoom_Movement_StevenExit
waitmovement 0
return
GraniteCave_StevensRoom_EventScript_StevenExitWestEast::
applymovement OBJ_EVENT_ID_PLAYER, GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit
applymovement LOCALID_STEVEN, GraniteCave_StevensRoom_Movement_StevenExit
waitmovement 0
return
GraniteCave_StevensRoom_EventScript_StevenExitSouth::
applymovement OBJ_EVENT_ID_PLAYER, GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit
applymovement LOCALID_STEVEN, GraniteCave_StevensRoom_Movement_StevenExitSouth
waitmovement 0
return
GraniteCave_StevensRoom_EventScript_BagFull::
msgbox GraniteCave_StevensRoom_Text_OhBagIsFull, MSGBOX_DEFAULT
return
GraniteCave_StevensRoom_Movement_StevenExit:
walk_up
walk_up
walk_up
walk_up
walk_up
delay_8
step_end
GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit:
delay_16
delay_16
delay_16
walk_in_place_faster_up
step_end
GraniteCave_StevensRoom_Movement_StevenExitSouth:
walk_left
walk_up
walk_up
walk_up
walk_right
walk_up
walk_up
delay_8
step_end
GraniteCave_StevensRoom_Text_ImStevenLetterForMe:
.string "My name is STEVEN.\p"
.string "I'm interested in rare stones,\n"
.string "so I travel here and there.\p"
.string "Oh?\n"
.string "A LETTER for me?$"
GraniteCave_StevensRoom_Text_ThankYouTakeThis:
.string "STEVEN: Thank you.\p"
.string "You went through all this trouble to\n"
.string "deliver that. I need to thank you.\p"
.string "Let me see…\n"
.string "I'll give you this TM.\p"
.string "It contains my favorite move,\n"
.string "STEEL WING.$"
GraniteCave_StevensRoom_Text_CouldBecomeChampionLetsRegister:
.string "STEVEN: Your POKéMON appear quite\n"
.string "capable.\p"
.string "If you keep training, you could even\n"
.string "become the CHAMPION of the POKéMON\l"
.string "LEAGUE one day. That's what I think.\p"
.string "I know, since we've gotten to know each\n"
.string "other, let's register one another in\l"
.string "our POKéNAVS.\p"
.string "… … … … … …$"
GraniteCave_StevensRoom_Text_RegisteredSteven:
.string "Registered STEVEN\n"
.string "in the POKéNAV.$"
GraniteCave_StevensRoom_Text_IveGotToHurryAlong:
.string "Now, I've got to hurry along.$"
GraniteCave_StevensRoom_Text_OhBagIsFull:
.string "Oh, your BAG is full…\n"
.string "That's too bad, then.$"
//Extra
GraniteCave_StevensRoom_EventScript_Steven_AskForHelp::
msgbox GraniteCave_StevensRoom_Text_CouldUseSomeHelp, MSGBOX_YESNO
//goto_if_eq VAR_RESULT, YES, GraniteCave_StevensRoom_EventScript_CouldUseSomeHelp_Yes
//msgbox GraniteCave_StevensRoom_Text_CouldUseSomeHelp_No, MSGBOX_NPC
closemessage
goto GraniteCave_StevensRoom_EventScript_Colapse
end
GraniteCave_StevensRoom_Text_CouldUseSomeHelp:
.string "While I have you, maybe you could help\n"
.string "me. Would you mind?$"
GraniteCave_StevensRoom_Movement_CheckDoor:
walk_up
delay_16
walk_down
step_end
GraniteCave_StevensRoom_Movement_StevenLookAround:
face_left
delay_16
face_right
delay_16
face_down
delay_16
step_end
GraniteCave_StevensRoom_Text_AfterFall:
.string "That was unexpected...\l"
.string "Looks like that letter will need to wait.\p"
.string "....................$"
GraniteCave_StevensRoom_Text_UseDig:
.string "I have an idea.\l"
.string "Baltoy, use dig!$"
GraniteCave_StevensRoom_Movement_ReleaseBaltoy:
face_left
walk_faster_left
face_down
step_end
GraniteCave_StevensRoom_EventScript_Colapse::
lockall
delay 16
setvar VAR_0x8004, 0 @ vertical pan
setvar VAR_0x8005, 2 @ horizontal pan
setvar VAR_0x8006, 40 @ num shakes
setvar VAR_0x8007, 4 @ shake delay
special ShakeCamera
playse SE_M_EARTHQUAKE
delay 64
fadescreen 1 //screen to black
setobjectxyperm 2, 7, 4 //set rock to location
removeobject 2
setflag FLAG_STEVENS_CAVE_ROCK
clearflag FLAG_STEVENS_CAVE_ROCK
showobjectat 2, MAP_GRANITE_CAVE_STEVENS_ROOM
applymovement OBJ_EVENT_ID_PLAYER, GraniteCave_StevensRoom_Movement_CheckDoor
waitstate // wait for shake
waitse
fadescreen 0 //fade back to normal
applymovement LOCALID_STEVEN, GraniteCave_StevensRoom_Movement_StevenLookAround
delay 128
lockall
faceplayer
msgbox GraniteCave_StevensRoom_Text_AfterFall, MSGBOX_NPC
delay 64
msgbox GraniteCave_StevensRoom_Text_UseDig, MSGBOX_NPC
delay 32
fadescreen 3
//applymovement OBJ_EVENT_ID_PLAYER, GraniteCave_StevensRoom_Movement_ReleaseBaltoy
setobjectxyperm 3, 6, 8
showobjectat 3, MAP_GRANITE_CAVE_STEVENS_ROOM
addobject 3
fadescreen 2
delay 64
setvar VAR_0x8004, 0 @ vertical pan
setvar VAR_0x8005, 2 @ horizontal pan
setvar VAR_0x8006, 30 @ num shakes
setvar VAR_0x8007, 2 @ shake delay
special ShakeCamera
waitstate
setvar VAR_GRANITECAVE_AGGRON, 0
releaseall
warp MAP_GRANITE_CAVE_B3F, 3, 0, 0
delay 32
end