pokeemerald/data/maps/MtPyre_Summit/scripts.inc
2024-07-05 07:31:42 -04:00

445 lines
12 KiB
C++

.set LOCALID_ARCHIE, 2
.set LOCALID_OLD_LADY, 3
.set LOCALID_GRUNT_1, 4
.set LOCALID_GRUNT_2, 5
.set LOCALID_GRUNT_3, 6
.set LOCALID_GRUNT_4, 7
.set LOCALID_MAXIE, 8
MtPyre_Summit_MapScripts::
map_script MAP_SCRIPT_ON_TRANSITION, MtPyre_Summit_OnTransition
.byte 0
MtPyre_Summit_OnTransition:
call_if_eq VAR_MT_PYRE_STATE, 2, MtPyre_Summit_EventScript_SetArchieMaxiePositions
end
MtPyre_Summit_EventScript_SetArchieMaxiePositions::
setobjectxyperm LOCALID_MAXIE, 23, 6
setobjectxyperm LOCALID_ARCHIE, 22, 6
end
MtPyre_Summit_EventScript_TeamAquaTrigger0::
lockall
setvar VAR_0x8008, 0
goto MtPyre_Summit_EventScript_TeamAquaExits
end
MtPyre_Summit_EventScript_TeamAquaTrigger1::
lockall
setvar VAR_0x8008, 1
goto MtPyre_Summit_EventScript_TeamAquaExits
end
MtPyre_Summit_EventScript_TeamAquaTrigger2::
lockall
setvar VAR_0x8008, 2
goto MtPyre_Summit_EventScript_TeamAquaExits
end
MtPyre_Summit_EventScript_TeamAquaExits::
playbgm MUS_ENCOUNTER_AQUA, FALSE
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
delay 50
call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_ArchieFacePlayer0
call_if_eq VAR_0x8008, 1, MtPyre_Summit_EventScript_ArchieFacePlayer1
call_if_eq VAR_0x8008, 2, MtPyre_Summit_EventScript_ArchieFacePlayer2
msgbox MtPyre_Summit_Text_ArchieWeGotTheOrbLetsGo, MSGBOX_DEFAULT
closemessage
fadescreen FADE_TO_BLACK
removeobject LOCALID_ARCHIE
removeobject LOCALID_GRUNT_1
removeobject LOCALID_GRUNT_2
removeobject LOCALID_GRUNT_3
removeobject LOCALID_GRUNT_4
setflag FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE
setflag FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA
fadedefaultbgm
fadescreen FADE_FROM_BLACK
delay 20
setvar VAR_MT_PYRE_STATE, 1
call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_OldLadyApproachPlayer0
call_if_eq VAR_0x8008, 1, MtPyre_Summit_EventScript_OldLadyApproachPlayer1
call_if_eq VAR_0x8008, 2, MtPyre_Summit_EventScript_OldLadyApproachPlayer2
msgbox MtPyre_Summit_Text_BothOrbsTakenMagmaLeftThis, MSGBOX_DEFAULT
giveitem ITEM_MAGMA_EMBLEM
setflag FLAG_RECEIVED_RED_OR_BLUE_ORB
setflag FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD
releaseall
end
MtPyre_Summit_EventScript_ArchieFacePlayer0::
applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieFacePlayer0
waitmovement 0
return
@ Archie is already facing player
MtPyre_Summit_EventScript_ArchieFacePlayer1::
return
MtPyre_Summit_EventScript_ArchieFacePlayer2::
applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieFacePlayer2
waitmovement 0
return
MtPyre_Summit_EventScript_OldLadyApproachPlayer0::
applymovement LOCALID_OLD_LADY, MtPyre_Summit_Movement_OldLadyApproachPlayer0
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
return
MtPyre_Summit_EventScript_OldLadyApproachPlayer1::
applymovement LOCALID_OLD_LADY, MtPyre_Summit_Movement_OldLadyApproachPlayer1
waitmovement 0
return
MtPyre_Summit_EventScript_OldLadyApproachPlayer2::
applymovement LOCALID_OLD_LADY, MtPyre_Summit_Movement_OldLadyApproachPlayer2
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft
waitmovement 0
return
MtPyre_Summit_Movement_OldLadyApproachPlayer0:
walk_down
walk_down
walk_in_place_faster_left
step_end
MtPyre_Summit_Movement_OldLadyApproachPlayer1:
walk_down
step_end
MtPyre_Summit_Movement_OldLadyApproachPlayer2:
walk_down
walk_down
walk_in_place_faster_right
step_end
MtPyre_Summit_Movement_ArchieFacePlayer0:
walk_left
walk_in_place_faster_down
step_end
MtPyre_Summit_Movement_ArchieFacePlayer2:
walk_right
walk_in_place_faster_down
step_end
MtPyre_Summit_EventScript_OldMan::
lock
faceplayer
goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, MtPyre_Summit_EventScript_OldManAfterRayquaza
msgbox MtPyre_Summit_Text_WillYouHearOutMyTale, MSGBOX_YESNO
call_if_eq VAR_RESULT, YES, MtPyre_Summit_EventScript_OldManTale
call_if_eq VAR_RESULT, NO, MtPyre_Summit_EventScript_DeclineOldManTale
release
end
MtPyre_Summit_EventScript_OldManAfterRayquaza::
msgbox MtPyre_Summit_Text_HearTheNewLegendOfHoenn, MSGBOX_YESNO
call_if_eq VAR_RESULT, YES, MtPyre_Summit_EventScript_OldManNewTale
call_if_eq VAR_RESULT, NO, MtPyre_Summit_EventScript_DeclineOldManTale
release
end
MtPyre_Summit_EventScript_OldManTale::
msgbox MtPyre_Summit_Text_GroudonKyogreTale, MSGBOX_DEFAULT
return
MtPyre_Summit_EventScript_DeclineOldManTale::
msgbox MtPyre_Summit_Text_WellThatTooIsFine, MSGBOX_DEFAULT
return
MtPyre_Summit_EventScript_OldManNewTale::
msgbox MtPyre_Summit_Text_HoennTrioTale, MSGBOX_DEFAULT
return
MtPyre_Summit_EventScript_OldLady::
lock
faceplayer
goto_if_set FLAG_RETURNED_RED_OR_BLUE_ORB, MtPyre_Summit_EventScript_OldLadyAfterOrbsReturned
call_if_ge VAR_MT_PYRE_STATE, 3, MtPyre_Summit_EventScript_OldLadyOrbsReturned
goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, MtPyre_Summit_EventScript_OldLadyLegendariesAwake
msgbox MtPyre_Summit_Text_OrbsHaveBeenTaken, MSGBOX_DEFAULT
release
end
MtPyre_Summit_EventScript_OldLadyOrbsReturned::
msgbox MtPyre_Summit_Text_ThoseTwoMenReturnedOrbs, MSGBOX_DEFAULT
setflag FLAG_RETURNED_RED_OR_BLUE_ORB
release
end
MtPyre_Summit_EventScript_OldLadyLegendariesAwake::
msgbox MtPyre_Summit_Text_GroudonKyogreAwakened, MSGBOX_DEFAULT
release
end
MtPyre_Summit_EventScript_OldLadyAfterOrbsReturned::
msgbox MtPyre_Summit_Text_SuperAncientPokemonTaughtUs, MSGBOX_DEFAULT
release
end
MtPyre_Summit_EventScript_ArchieMaxieTrigger0::
lockall
setvar VAR_0x8008, 0
goto MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs
end
MtPyre_Summit_EventScript_ArchieMaxieTrigger1::
lockall
setvar VAR_0x8008, 1
goto MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs
end
MtPyre_Summit_EventScript_ArchieMaxieTrigger2::
lockall
setvar VAR_0x8008, 2
goto MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs
end
MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs::
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
delay 60
call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_ArchieMaxieBeginExit0
call_if_eq VAR_0x8008, 1, MtPyre_Summit_EventScript_ArchieMaxieBeginExit1
call_if_eq VAR_0x8008, 2, MtPyre_Summit_EventScript_ArchieMaxieBeginExit2
playse SE_PIN
applymovement LOCALID_MAXIE, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_MAXIE, Common_Movement_Delay48
waitmovement 0
delay 30
call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_MaxieApproachPlayer0
call_if_eq VAR_0x8008, 1, MtPyre_Summit_EventScript_MaxieApproachPlayer1
call_if_eq VAR_0x8008, 2, MtPyre_Summit_EventScript_MaxieApproachPlayer2
msgbox MtPyre_Summit_Text_MaxieSilence, MSGBOX_DEFAULT
closemessage
call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_MaxieApproachArchie0
call_if_eq VAR_0x8008, 1, MtPyre_Summit_EventScript_MaxieApproachArchie1
call_if_eq VAR_0x8008, 2, MtPyre_Summit_EventScript_MaxieApproachArchie2
delay 30
applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieExit
applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieExit
waitmovement 0
removeobject LOCALID_ARCHIE
removeobject LOCALID_MAXIE
setvar VAR_MT_PYRE_STATE, 3
releaseall
end
MtPyre_Summit_EventScript_ArchieMaxieBeginExit0::
applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit0
applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieExit
applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieExit
waitmovement 0
return
MtPyre_Summit_EventScript_ArchieMaxieBeginExit1::
applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit1
applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieExit
applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieExit
waitmovement 0
return
MtPyre_Summit_EventScript_ArchieMaxieBeginExit2::
applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit2
applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieExit
applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieExit
waitmovement 0
return
MtPyre_Summit_EventScript_MaxieApproachPlayer0::
applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie0
applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieWatchMaxie
applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachPlayer0
waitmovement 0
return
MtPyre_Summit_EventScript_MaxieApproachPlayer1::
applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie
applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieWatchMaxie
applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachPlayer1
waitmovement 0
return
MtPyre_Summit_EventScript_MaxieApproachPlayer2::
applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie
applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieWatchMaxie
applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachPlayer2
waitmovement 0
return
MtPyre_Summit_EventScript_MaxieApproachArchie0::
applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie
applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachArchie0
waitmovement 0
applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
return
MtPyre_Summit_EventScript_MaxieApproachArchie1::
applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie
applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachArchie1
waitmovement 0
applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
return
MtPyre_Summit_EventScript_MaxieApproachArchie2::
applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie
applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachArchie2
waitmovement 0
applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
return
MtPyre_Summit_Movement_PlayerFaceMaxie0:
delay_16
delay_16
walk_in_place_faster_right
step_end
MtPyre_Summit_Movement_PlayerFaceMaxie:
delay_16
delay_16
walk_in_place_faster_left
step_end
MtPyre_Summit_Movement_ArchieExit:
walk_down
walk_down
walk_down
walk_down
walk_down
walk_down
step_end
MtPyre_Summit_Movement_MaxieExit:
walk_down
walk_down
walk_down
walk_down
walk_down
walk_down
step_end
MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit0:
delay_16
delay_8
walk_left
walk_in_place_faster_right
delay_16
walk_in_place_faster_down
step_end
MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit1:
delay_16
delay_8
walk_right
walk_in_place_faster_left
delay_16
walk_in_place_faster_down
step_end
MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit2:
delay_16
delay_8
walk_in_place_faster_left
delay_16
walk_in_place_faster_down
step_end
MtPyre_Summit_Movement_MaxieApproachPlayer0:
walk_up
walk_up
walk_up
walk_left
step_end
MtPyre_Summit_Movement_MaxieApproachPlayer1:
walk_up
walk_up
walk_up
walk_in_place_faster_right
step_end
MtPyre_Summit_Movement_MaxieApproachPlayer2:
walk_up
walk_up
walk_up
walk_in_place_faster_right
step_end
MtPyre_Summit_Movement_ArchieWatchMaxie:
delay_16
walk_in_place_faster_up
step_end
MtPyre_Summit_Movement_PlayerWatchMaxie:
delay_16
walk_in_place_faster_down
step_end
MtPyre_Summit_Movement_MaxieApproachArchie0:
walk_down
walk_right
walk_down
walk_down
walk_in_place_faster_left
step_end
MtPyre_Summit_Movement_MaxieApproachArchie1:
walk_down
walk_down
walk_down
walk_in_place_faster_left
step_end
MtPyre_Summit_Movement_MaxieApproachArchie2:
walk_down
walk_down
walk_down
walk_in_place_faster_left
step_end
MtPyre_Summit_EventScript_Grunt1::
trainerbattle_single TRAINER_GRUNT_MT_PYRE_1, MtPyre_Summit_Text_Grunt1Intro, MtPyre_Summit_Text_Grunt1Defeat
msgbox MtPyre_Summit_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE
end
MtPyre_Summit_EventScript_Grunt2::
trainerbattle_single TRAINER_GRUNT_MT_PYRE_2, MtPyre_Summit_Text_Grunt2Intro, MtPyre_Summit_Text_Grunt2Defeat
msgbox MtPyre_Summit_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE
end
MtPyre_Summit_EventScript_Grunt3::
trainerbattle_single TRAINER_GRUNT_MT_PYRE_3, MtPyre_Summit_Text_Grunt3Intro, MtPyre_Summit_Text_Grunt3Defeat
msgbox MtPyre_Summit_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE
end
MtPyre_Summit_EventScript_Grunt4::
trainerbattle_single TRAINER_GRUNT_MT_PYRE_4, MtPyre_Summit_Text_Grunt4Intro, MtPyre_Summit_Text_Grunt4Defeat
msgbox MtPyre_Summit_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE
end
.ifdef FRENCH
.include "data/maps/MtPyre_Summit/text_fr.inc"
.else
.ifdef ITALIAN
.include "data/maps/MtPyre_Summit/text_it.inc"
.else
.ifdef SPANISH
.include "data/maps/MtPyre_Summit/text_es.inc"
.else
.include "data/maps/MtPyre_Summit/text.inc"
.endif
.endif
.endif