2022-05-19 19:14:13 +02:00
|
|
|
SootopolisCity_Gym_1F_MapScripts::
|
|
|
|
map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_Gym_1F_OnFrame
|
|
|
|
map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_Gym_1F_OnResume
|
|
|
|
map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_Gym_1F_OnLoad
|
|
|
|
map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_Gym_1F_OnTransition
|
|
|
|
.byte 0
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_OnTransition:
|
|
|
|
setvar VAR_ICE_STEP_COUNT, 1
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_OnResume:
|
|
|
|
setstepcallback STEP_CB_SOOTOPOLIS_ICE
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_OnLoad:
|
|
|
|
call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles
|
|
|
|
special SetSootopolisGymCrackedIceMetatiles
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles::
|
|
|
|
goto_if_lt VAR_ICE_STEP_COUNT, 8, SootopolisCity_Gym_1F_EventScript_StopCheckingStairs @ All stairs ice
|
|
|
|
goto_if_lt VAR_ICE_STEP_COUNT, 28, SootopolisCity_Gym_1F_EventScript_OpenFirstStairs
|
|
|
|
goto_if_lt VAR_ICE_STEP_COUNT, 67, SootopolisCity_Gym_1F_EventScript_OpenFirstAndSecondStairs
|
|
|
|
setmetatile 8, 4, METATILE_SootopolisGym_Stairs, FALSE
|
|
|
|
setmetatile 8, 5, METATILE_SootopolisGym_Stairs, FALSE
|
|
|
|
SootopolisCity_Gym_1F_EventScript_OpenFirstAndSecondStairs::
|
|
|
|
setmetatile 8, 10, METATILE_SootopolisGym_Stairs, FALSE
|
|
|
|
setmetatile 8, 11, METATILE_SootopolisGym_Stairs, FALSE
|
|
|
|
SootopolisCity_Gym_1F_EventScript_OpenFirstStairs::
|
|
|
|
setmetatile 8, 15, METATILE_SootopolisGym_Stairs, FALSE
|
|
|
|
setmetatile 8, 16, METATILE_SootopolisGym_Stairs, FALSE
|
|
|
|
SootopolisCity_Gym_1F_EventScript_StopCheckingStairs::
|
|
|
|
return
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_OnFrame:
|
|
|
|
map_script_2 VAR_ICE_STEP_COUNT, 8, SootopolisCity_Gym_1F_EventScript_UnlockFirstStairs
|
|
|
|
map_script_2 VAR_ICE_STEP_COUNT, 28, SootopolisCity_Gym_1F_EventScript_UnlockSecondStairs
|
|
|
|
map_script_2 VAR_ICE_STEP_COUNT, 67, SootopolisCity_Gym_1F_EventScript_UnlockThirdStairs
|
|
|
|
map_script_2 VAR_ICE_STEP_COUNT, 0, SootopolisCity_Gym_1F_EventScript_FallThroughIce
|
|
|
|
.2byte 0
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_UnlockFirstStairs::
|
|
|
|
addvar VAR_ICE_STEP_COUNT, 1
|
|
|
|
delay 40
|
|
|
|
playse SE_ICE_STAIRS
|
|
|
|
call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles
|
|
|
|
special DrawWholeMapView
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_UnlockSecondStairs::
|
|
|
|
addvar VAR_ICE_STEP_COUNT, 1
|
|
|
|
delay 40
|
|
|
|
playse SE_ICE_STAIRS
|
|
|
|
call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles
|
|
|
|
special DrawWholeMapView
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_UnlockThirdStairs::
|
|
|
|
addvar VAR_ICE_STEP_COUNT, 1
|
|
|
|
delay 40
|
|
|
|
playse SE_ICE_STAIRS
|
|
|
|
call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles
|
|
|
|
special DrawWholeMapView
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_FallThroughIce::
|
|
|
|
lockall
|
|
|
|
delay 20
|
|
|
|
applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_Gym_1F_Movement_FallThroughIce
|
|
|
|
waitmovement 0
|
|
|
|
playse SE_FALL
|
|
|
|
delay 60
|
|
|
|
warphole MAP_SOOTOPOLIS_CITY_GYM_B1F
|
|
|
|
waitstate
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Movement_FallThroughIce:
|
|
|
|
set_invisible
|
|
|
|
step_end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_Juan::
|
|
|
|
trainerbattle_single TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_JuanIntro, SootopolisCity_Gym_1F_Text_JuanDefeat, SootopolisCity_Gym_1F_EventScript_JuanDefeated, NO_MUSIC
|
|
|
|
specialvar VAR_RESULT, ShouldTryRematchBattle
|
|
|
|
goto_if_eq VAR_RESULT, TRUE, SootopolisCity_Gym_1F_EventScript_JuanRematch
|
|
|
|
goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2
|
|
|
|
goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_GoGetFortreeBadge
|
|
|
|
msgbox SootopolisCity_Gym_1F_Text_JuanPostBattle, MSGBOX_DEFAULT
|
|
|
|
release
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_JuanDefeated::
|
|
|
|
message SootopolisCity_Gym_1F_Text_ReceivedRainBadge
|
|
|
|
waitmessage
|
|
|
|
call Common_EventScript_PlayGymBadgeFanfare
|
|
|
|
msgbox SootopolisCity_Gym_1F_Text_ExplainRainBadgeTakeThis, MSGBOX_DEFAULT
|
|
|
|
setflag FLAG_DEFEATED_SOOTOPOLIS_GYM
|
|
|
|
setflag FLAG_BADGE08_GET
|
|
|
|
setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
|
|
|
|
setflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN
|
|
|
|
setflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE
|
|
|
|
setvar VAR_SOOTOPOLIS_CITY_STATE, 6
|
|
|
|
clearflag FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1
|
|
|
|
setvar VAR_0x8008, 8
|
|
|
|
call Common_EventScript_SetGymTrainers
|
|
|
|
call SootopolisCity_Gym_1F_EventScript_GiveWaterPulse
|
|
|
|
closemessage
|
|
|
|
delay 30
|
|
|
|
playfanfare MUS_REGISTER_MATCH_CALL
|
|
|
|
msgbox SootopolisCity_Gym_1F_Text_RegisteredJuan, MSGBOX_DEFAULT
|
|
|
|
waitfanfare
|
|
|
|
closemessage
|
|
|
|
delay 30
|
|
|
|
setflag FLAG_ENABLE_JUAN_MATCH_CALL
|
|
|
|
release
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_GiveWaterPulse::
|
|
|
|
giveitem ITEM_TM03
|
|
|
|
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
|
|
|
|
msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT
|
|
|
|
setflag FLAG_RECEIVED_TM03
|
|
|
|
return
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2::
|
|
|
|
giveitem ITEM_TM03
|
|
|
|
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
|
|
|
msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT
|
|
|
|
setflag FLAG_RECEIVED_TM03
|
|
|
|
release
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_GoGetFortreeBadge::
|
|
|
|
msgbox SootopolisCity_Gym_1F_Text_GoGetFortreeBadge, MSGBOX_DEFAULT
|
|
|
|
release
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_JuanRematch::
|
|
|
|
trainerbattle_rematch_double TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_JuanPreRematch, SootopolisCity_Gym_1F_Text_JuanRematchDefeat, SootopolisCity_Gym_1F_Text_JuanRematchNeedTwoMons
|
|
|
|
msgbox SootopolisCity_Gym_1F_Text_JuanPostRematch, MSGBOX_AUTOCLOSE
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_GymGuide::
|
|
|
|
lock
|
|
|
|
faceplayer
|
|
|
|
goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_Gym_1F_EventScript_GymGuidePostVictory
|
|
|
|
msgbox SootopolisCity_Gym_1F_Text_GymGuideAdvice, MSGBOX_DEFAULT
|
|
|
|
release
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_GymGuidePostVictory::
|
|
|
|
msgbox SootopolisCity_Gym_1F_Text_GymGuidePostVictory, MSGBOX_DEFAULT
|
|
|
|
release
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_LeftGymStatue::
|
|
|
|
lockall
|
|
|
|
goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_GymStatueCertified
|
|
|
|
goto SootopolisCity_Gym_1F_EventScript_GymStatue
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_RightGymStatue::
|
|
|
|
lockall
|
|
|
|
goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_GymStatueCertified
|
|
|
|
goto SootopolisCity_Gym_1F_EventScript_GymStatue
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_GymStatueCertified::
|
|
|
|
msgbox SootopolisCity_Gym_1F_Text_GymStatueCertified, MSGBOX_DEFAULT
|
|
|
|
releaseall
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_EventScript_GymStatue::
|
|
|
|
msgbox SootopolisCity_Gym_1F_Text_GymStatue, MSGBOX_DEFAULT
|
|
|
|
releaseall
|
|
|
|
end
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_GymGuideAdvice:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "Yo! How's it going, Champion-\n"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "bound {PLAYER}?\p"
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "Sootopolis's Gym Leader Juan is\n"
|
|
|
|
.string "a master of Water-type Pokémon.\p"
|
|
|
|
.string "And, to get to Juan, an icy floor\n"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "will hamper your progress…\p"
|
|
|
|
.string "Listen, I'm sorry, but that's all the\n"
|
|
|
|
.string "advice that I have for you.\p"
|
|
|
|
.string "The rest of the way, you have to\n"
|
|
|
|
.string "go for it yourself!$"
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_GymGuidePostVictory:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "Yow! You've beaten even Juan, who\n"
|
|
|
|
.string "was supposedly the best in all Hoenn!\p"
|
|
|
|
.string "Okay! Check out your Trainer Card.\p"
|
|
|
|
.string "If you've gotten all the Badges, you're\n"
|
|
|
|
.string "set for the Pokémon League challenge!$"
|
2022-05-19 19:14:13 +02:00
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_JuanIntro:
|
|
|
|
.string "Let me ask you.\n"
|
|
|
|
.string "Did you know?\l"
|
|
|
|
.string "Ah, I should not be so coy.\p"
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "It was I who taught Wallace everything\n"
|
|
|
|
.string "there is to know about Pokémon.\p"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "Once, I had given up my position as\n"
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "the Gym Leader.\p"
|
|
|
|
.string "In my place, I had entrusted Wallace\n"
|
|
|
|
.string "with the Gym.\p"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "However, a compelling reason arose for\n"
|
|
|
|
.string "me to make a comeback.\p"
|
|
|
|
.string "Ah, but enough chatter.\n"
|
|
|
|
.string "Let us begin our match, shall we?\p"
|
|
|
|
.string "Please, you shall bear witness to\n"
|
|
|
|
.string "our artistry.\p"
|
|
|
|
.string "A grand illusion of water sculpted\n"
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "by Pokémon and myself!$"
|
2022-05-19 19:14:13 +02:00
|
|
|
|
|
|
|
@ NOTE: This defeat text actually causes a buffer overflow. It's about 50 bytes too long for
|
|
|
|
@ the gDisplayedStringBattle buffer that it's put into, and it stomps all over the gBattleTextBuffs
|
|
|
|
@ after, as well as the otherwise unused array after that. One wonders if that's the reason for
|
|
|
|
@ the existence of that unused array of ints.
|
|
|
|
SootopolisCity_Gym_1F_Text_JuanDefeat:
|
|
|
|
.string "Ahahaha, excellent!\n"
|
|
|
|
.string "Very well, you are the winner.\p"
|
|
|
|
.string "From you, I sense the brilliant shine\n"
|
|
|
|
.string "of skill that will overcome all.\p"
|
|
|
|
.string "However, compared with me or even\n"
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "Wallace, you are lacking in elegance.\p"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "Perhaps I should make you a loan\n"
|
|
|
|
.string "of my outfit?\p"
|
|
|
|
.string "… … … … … …\n"
|
|
|
|
.string "… … … … … …\p"
|
|
|
|
.string "Hahaha, I merely jest!\p"
|
|
|
|
.string "Rather than my clothes, I shall reward\n"
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "you with this, the Rain Badge!$"
|
2022-05-19 19:14:13 +02:00
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_ReceivedRainBadge:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "{PLAYER} received the Rain Badge\n"
|
|
|
|
.string "from Juan.$"
|
2022-05-19 19:14:13 +02:00
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_ExplainRainBadgeTakeThis:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "Having the Rain Badge shall assure you\n"
|
|
|
|
.string "the full obedience of all your Pokémon\l"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "to your every command.\p"
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "The Rain Badge also allows the use\n"
|
|
|
|
.string "of the HM move Waterfall to scale\l"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "walls of cascading water.\p"
|
|
|
|
.string "And, so that you never forget the\n"
|
|
|
|
.string "battle we shared, take this…$"
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_ExplainWaterPulse:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "The Technical Machine I handed you\n"
|
|
|
|
.string "contains Water Pulse.\p"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "In use, it will occasionally confuse\n"
|
|
|
|
.string "the target with ultrasonic waves.\p"
|
|
|
|
.string "… … … … … …$"
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_RegisteredJuan:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "Registered Gym Leader Juan\n"
|
|
|
|
.string "in the Pokénav.$"
|
2022-05-19 19:14:13 +02:00
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_JuanPostBattle:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "The Trainers who have gathered all\n"
|
|
|
|
.string "the Gym Badges of Hoenn should make\l"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "way to the ultimate destination.\p"
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "The Pokémon League.\p"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "Travel to the easternmost reaches\n"
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "of Hoenn, to the island Ever Grande.\p"
|
|
|
|
.string "There, you shall find the Pokémon\n"
|
|
|
|
.string "League.$"
|
2022-05-19 19:14:13 +02:00
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_GoGetFortreeBadge:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "There remains but one Badge to\n"
|
|
|
|
.string "obtain in Hoenn.\p"
|
|
|
|
.string "If you wish to challenge the Pokémon\n"
|
|
|
|
.string "League, you must obtain the last\l"
|
|
|
|
.string "Badge from the Gym in Fortree.$"
|
2022-05-19 19:14:13 +02:00
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_GymStatue:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "Sootopolis City Pokémon Gym$"
|
2022-05-19 19:14:13 +02:00
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_GymStatueCertified:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "Sootopolis City Pokémon Gym\p"
|
|
|
|
.string "Juan's Certified Trainers:\n"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "{PLAYER}$"
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_JuanPreRematch:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "Juan: Ah, this Gym had returned to its\n"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "usual state of serenity…\p"
|
|
|
|
.string "But our young typhoon has returned\n"
|
|
|
|
.string "to put us to the test again!\p"
|
|
|
|
.string "Well, my friend, most certainly!\p"
|
|
|
|
.string "I shall be delighted to dance with you\n"
|
|
|
|
.string "as often as you wish!$"
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_JuanRematchDefeat:
|
|
|
|
.string "Ahahaha, you are the winner!\n"
|
|
|
|
.string "You have defeated me again!$"
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_JuanPostRematch:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "Juan: If I told you to become my\n"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "apprentice, you will refuse, I am sure.\p"
|
|
|
|
.string "I would like to make a gift of my coat\n"
|
|
|
|
.string "to you.\p"
|
|
|
|
.string "But again, you will refuse.\n"
|
|
|
|
.string "I imagine that to be so.\p"
|
|
|
|
.string "And that, my friend, is a certain sign\n"
|
|
|
|
.string "of nobility!$"
|
|
|
|
|
|
|
|
SootopolisCity_Gym_1F_Text_JuanRematchNeedTwoMons:
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "Juan: Ah, this Gym had returned to its\n"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "usual state of serenity…\p"
|
|
|
|
.string "But our young typhoon has returned\n"
|
|
|
|
.string "to put us to the test again!\p"
|
|
|
|
.string "Well, my friend, most certainly!\n"
|
|
|
|
.string "I shall be delighted to dance with you…\p"
|
|
|
|
.string "Ah, no, no, no.\n"
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "You have with you but one Pokémon.\p"
|
2022-05-19 19:14:13 +02:00
|
|
|
.string "I wish that you would return with\n"
|
2022-08-21 22:56:26 +02:00
|
|
|
.string "two, perhaps more, Pokémon, please.$"
|
2022-05-19 19:14:13 +02:00
|
|
|
|