mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-27 04:04:17 +01:00
f3bebcd12c
# Conflicts: # include/battle_anim.h # include/global.h # include/pokemon.h # src/battle_message.c # src/battle_script_commands.c # src/data/pokemon/base_stats.h
458 lines
14 KiB
PHP
458 lines
14 KiB
PHP
.set LOCALID_ATTENDANT, 1
|
|
.set LOCALID_NURSE, 2
|
|
.set LOCALID_GIRL, 4
|
|
.set LOCALID_MAN, 5
|
|
|
|
TrainerHill_Entrance_MapScripts::
|
|
map_script MAP_SCRIPT_ON_RESUME, TrainerHill_Entrance_OnResume
|
|
map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, TrainerHill_Entrance_OnReturn
|
|
map_script MAP_SCRIPT_ON_TRANSITION, TrainerHill_Entrance_OnTransition
|
|
map_script MAP_SCRIPT_ON_LOAD, TrainerHill_Entrance_OnLoad
|
|
map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Entrance_OnFrame
|
|
.byte 0
|
|
|
|
TrainerHill_Entrance_OnTransition:
|
|
setflag FLAG_LANDMARK_TRAINER_HILL
|
|
getplayerxy VAR_TEMP_D, VAR_RESULT
|
|
end
|
|
|
|
@ Unused
|
|
TrainerHill_Entrance_OnWarp:
|
|
end
|
|
|
|
TrainerHill_Entrance_OnResume:
|
|
trainerhill_resumetimer
|
|
setvar VAR_TEMP_0, 0
|
|
trainerhill_getusingereader
|
|
goto_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_TryFaceAttendant @ VAR_RESULT always FALSE here
|
|
setobjectxy OBJ_EVENT_ID_PLAYER, 9, 6
|
|
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_TryFaceAttendant::
|
|
trainerhill_getwon
|
|
goto_if_eq VAR_RESULT, TRUE, TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant
|
|
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant::
|
|
end
|
|
|
|
TrainerHill_Entrance_OnReturn:
|
|
addobject LOCALID_NURSE
|
|
addobject LOCALID_ATTENDANT
|
|
addobject LOCALID_MAN
|
|
addobject LOCALID_GIRL
|
|
end
|
|
|
|
TrainerHill_Entrance_OnLoad:
|
|
call_if_eq VAR_TEMP_D, 17, TrainerHill_Entrance_EventScript_OpenCounterDoor
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_OpenCounterDoor::
|
|
setmetatile 17, 10, METATILE_TrainerHill_GreenFloorTile, FALSE
|
|
return
|
|
|
|
TrainerHill_Entrance_OnFrame:
|
|
map_script_2 VAR_TEMP_0, 0, TrainerHill_Entrance_EventScript_ExitChallenge
|
|
map_script_2 VAR_TEMP_D, 17, TrainerHill_Entrance_EventScript_ExitElevator
|
|
map_script_2 VAR_TEMP_5, 1, TrainerHill_Entrance_EventScript_EntryTrigger
|
|
map_script_2 VAR_TEMP_1, 1, TrainerHill_EventScript_WarpToEntranceCounter
|
|
.2byte 0
|
|
|
|
TrainerHill_Entrance_EventScript_ExitElevator::
|
|
lockall
|
|
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerExitElevator
|
|
waitmovement 0
|
|
setmetatile 17, 10, METATILE_TrainerHill_CounterDoor, TRUE
|
|
special DrawWholeMapView
|
|
playse SE_CLICK
|
|
waitse
|
|
setvar VAR_TEMP_D, 0
|
|
releaseall
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_ExitChallenge::
|
|
setvar VAR_TEMP_0, 1
|
|
trainerhill_getstatus
|
|
switch VAR_RESULT
|
|
case TRAINER_HILL_PLAYER_STATUS_LOST, TrainerHill_Entrance_EventScript_ExitChallengeLost
|
|
case TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED, TrainerHill_Entrance_EventScript_ExitChallengeECard
|
|
case TRAINER_HILL_PLAYER_STATUS_NORMAL, TrainerHill_Entrance_EventScript_EndExitChallenge
|
|
|
|
TrainerHill_Entrance_EventScript_ExitChallengeLost::
|
|
lockall
|
|
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
|
|
msgbox TrainerHill_Entrance_Text_TooBadTremendousEffort, MSGBOX_DEFAULT
|
|
goto TrainerHill_Entrance_EventScript_PlayerExitChallenge
|
|
|
|
TrainerHill_Entrance_EventScript_ExitChallengeECard::
|
|
lockall
|
|
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
|
|
msgbox TrainerHill_Entrance_Text_MovedReceptionHereForSwitch, MSGBOX_DEFAULT
|
|
TrainerHill_Entrance_EventScript_PlayerExitChallenge::
|
|
closemessage
|
|
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter
|
|
waitmovement 0
|
|
setvar VAR_TRAINER_HILL_IS_ACTIVE, 0
|
|
special HealPlayerParty
|
|
releaseall
|
|
TrainerHill_Entrance_EventScript_EndExitChallenge::
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_Nurse::
|
|
setvar VAR_0x800B, LOCALID_NURSE
|
|
call Common_EventScript_PkmnCenterNurse
|
|
waitmessage
|
|
waitbuttonpress
|
|
release
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_Attendant::
|
|
lock
|
|
faceplayer
|
|
trainerhill_inchallenge
|
|
goto_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_ThanksForPlaying
|
|
msgbox TrainerHill_Entrance_Text_HopeYouGiveItYourBest, MSGBOX_DEFAULT
|
|
goto TrainerHill_Entrance_EventScript_AttendantEnd
|
|
|
|
TrainerHill_Entrance_EventScript_ThanksForPlaying::
|
|
msgbox TrainerHill_Entrance_Text_ThankYouForPlaying, MSGBOX_DEFAULT
|
|
TrainerHill_Entrance_EventScript_AttendantEnd::
|
|
release
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_EntryTrigger::
|
|
lockall
|
|
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
|
|
goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_Closed
|
|
msgbox TrainerHill_Entrance_Text_WelcomeToTrainerHill, MSGBOX_DEFAULT
|
|
trainerhill_getsaved
|
|
call_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_SaveGame
|
|
trainerhill_allfloorsused
|
|
goto_if_eq VAR_RESULT, TRUE, TrainerHill_Entrance_EventScript_AllFloorsUsed
|
|
msgbox TrainerHill_Entrance_Text_TrainersUpToFloorX, MSGBOX_DEFAULT
|
|
goto TrainerHill_Entrance_EventScript_AskChallengeTrainers
|
|
|
|
TrainerHill_Entrance_EventScript_AllFloorsUsed::
|
|
msgbox TrainerHill_Entrance_Text_TrainersInEveryRoom, MSGBOX_DEFAULT
|
|
TrainerHill_Entrance_EventScript_AskChallengeTrainers::
|
|
message TrainerHill_Entrance_Text_LikeToChallengeTrainers
|
|
waitmessage
|
|
multichoice 15, 6, MULTI_YESNOINFO, FALSE
|
|
switch VAR_RESULT
|
|
case 0, TrainerHill_Entrance_EventScript_ChooseChallenge
|
|
case 1, TrainerHill_Entrance_EventScript_CancelEntry
|
|
case 2, TrainerHill_Entrance_EventScript_Info
|
|
case MULTI_B_PRESSED, TrainerHill_Entrance_EventScript_CancelEntry
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_Info::
|
|
msgbox TrainerHill_Entrance_Text_ExplainTrainerHill, MSGBOX_DEFAULT
|
|
goto TrainerHill_Entrance_EventScript_AskChallengeTrainers
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_ChooseChallenge::
|
|
multichoice 13, 2, MULTI_TAG_MATCH_TYPE, FALSE
|
|
switch VAR_RESULT
|
|
case 4, TrainerHill_Entrance_EventScript_CancelEntry
|
|
case MULTI_B_PRESSED, TrainerHill_Entrance_EventScript_CancelEntry
|
|
trainerhill_setmode VAR_RESULT
|
|
setvar VAR_TRAINER_HILL_IS_ACTIVE, 1
|
|
setvar VAR_TEMP_5, 0
|
|
special HealPlayerParty
|
|
msgbox TrainerHill_Entrance_Text_TimeProgessGetSetGo, MSGBOX_DEFAULT
|
|
trainerhill_start
|
|
releaseall
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_CancelEntry::
|
|
setvar VAR_TEMP_5, 0
|
|
msgbox TrainerHill_Entrance_Text_PleaseVisitUsAgain, MSGBOX_DEFAULT
|
|
closemessage
|
|
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter
|
|
waitmovement 0
|
|
releaseall
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_SaveGame::
|
|
msgbox TrainerHill_Entrance_Text_SaveGameBeforeEnter, MSGBOX_DEFAULT
|
|
trainerhill_setsaved
|
|
setvar VAR_TEMP_5, 1
|
|
call Common_EventScript_SaveGame
|
|
goto_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_SaveFailed
|
|
trainerhill_setsaved
|
|
return
|
|
|
|
TrainerHill_Entrance_EventScript_SaveFailed::
|
|
trainerhill_clearsaved
|
|
goto TrainerHill_Entrance_EventScript_CancelEntry
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_Closed::
|
|
msgbox TrainerHill_Entrance_Text_StillGettingReady, MSGBOX_DEFAULT
|
|
closemessage
|
|
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter
|
|
waitmovement 0
|
|
releaseall
|
|
end
|
|
|
|
TrainerHill_Entrance_Movement_PlayerFaceAttendant:
|
|
face_right
|
|
step_end
|
|
|
|
TrainerHill_Entrance_Movement_PushPlayerBackFromCounter:
|
|
walk_down
|
|
step_end
|
|
|
|
@ Unused
|
|
TrainerHill_Entrance_Movement_FaceUp:
|
|
face_up
|
|
step_end
|
|
|
|
TrainerHill_Entrance_Movement_PlayerExitElevator:
|
|
walk_down
|
|
walk_down
|
|
step_end
|
|
|
|
TrainerHill_Entrance_EventScript_Records::
|
|
lockall
|
|
fadescreen FADE_TO_BLACK
|
|
special ShowTrainerHillRecords
|
|
waitstate
|
|
releaseall
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_Man::
|
|
goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_ManTrainerHillClosed
|
|
msgbox TrainerHill_Entrance_Text_WhatSortOfTrainersAreAhead, MSGBOX_NPC
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_ManTrainerHillClosed::
|
|
msgbox TrainerHill_Entrance_Text_CantWaitToTestTheWaters, MSGBOX_NPC
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_Girl::
|
|
goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_GirlTrainerHillClosed
|
|
msgbox TrainerHill_Entrance_Text_FriendsTryingToReachTimeBoardTop, MSGBOX_NPC
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_GirlTrainerHillClosed::
|
|
msgbox TrainerHill_Entrance_Text_DoYouKnowWhenTheyOpen, MSGBOX_NPC
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_Clerk::
|
|
lock
|
|
faceplayer
|
|
message gText_HowMayIServeYou
|
|
waitmessage
|
|
goto_if_set FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_ExpandedPokemart
|
|
pokemart TrainerHill_Entrance_Pokemart_Basic
|
|
msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
|
|
release
|
|
end
|
|
|
|
.align 2
|
|
TrainerHill_Entrance_Pokemart_Basic:
|
|
.2byte ITEM_SUPER_POTION
|
|
.2byte ITEM_ANTIDOTE
|
|
.2byte ITEM_PARALYZE_HEAL
|
|
.2byte ITEM_AWAKENING
|
|
.2byte ITEM_X_SPEED
|
|
.2byte ITEM_X_SP_ATK
|
|
.2byte ITEM_X_ATTACK
|
|
.2byte ITEM_X_DEFENSE
|
|
.2byte ITEM_DIRE_HIT
|
|
.2byte ITEM_GUARD_SPEC
|
|
.2byte ITEM_X_ACCURACY
|
|
.2byte ITEM_NONE
|
|
release
|
|
end
|
|
|
|
TrainerHill_Entrance_EventScript_ExpandedPokemart::
|
|
pokemart TrainerHill_Entrance_Pokemart_Expanded
|
|
msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
|
|
release
|
|
end
|
|
|
|
.align 2
|
|
TrainerHill_Entrance_Pokemart_Expanded:
|
|
.2byte ITEM_HYPER_POTION
|
|
.2byte ITEM_MAX_POTION
|
|
.2byte ITEM_FULL_RESTORE
|
|
.2byte ITEM_FULL_HEAL
|
|
.2byte ITEM_REVIVE
|
|
.2byte ITEM_X_SPEED
|
|
.2byte ITEM_X_SP_ATK
|
|
.2byte ITEM_X_ATTACK
|
|
.2byte ITEM_X_DEFENSE
|
|
.2byte ITEM_DIRE_HIT
|
|
.2byte ITEM_GUARD_SPEC
|
|
.2byte ITEM_X_ACCURACY
|
|
.2byte ITEM_NONE
|
|
release
|
|
end
|
|
|
|
TrainerHill_Entrance_Text_StillGettingReady:
|
|
.string "This is the TRAINER HILL where\n"
|
|
.string "you may enjoy tag battles with many\l"
|
|
.string "TRAINERS.\p"
|
|
.string "Unfortunately, we're still getting\n"
|
|
.string "things ready. Please come back later!$"
|
|
|
|
TrainerHill_Entrance_Text_WelcomeToTrainerHill:
|
|
.string "Welcome!\p"
|
|
.string "This is the TRAINER HILL where\n"
|
|
.string "you may enjoy tag battles with many\l"
|
|
.string "TRAINERS!$"
|
|
|
|
TrainerHill_Entrance_Text_SaveGameBeforeEnter:
|
|
.string "Is this your first visit here?\p"
|
|
.string "Before you enter, please save\n"
|
|
.string "your game.$"
|
|
|
|
TrainerHill_Entrance_Text_TrainersUpToFloorX:
|
|
.string "Let's see…\n"
|
|
.string "The TRAINERS here now are…\p"
|
|
.string "Up to floor no. {STR_VAR_1}.$"
|
|
|
|
TrainerHill_Entrance_Text_TrainersInEveryRoom:
|
|
.string "Let's see…\n"
|
|
.string "The TRAINERS here now are…\p"
|
|
.string "There appear to be TRAINERS gathered\n"
|
|
.string "in every room.$"
|
|
|
|
TrainerHill_Entrance_Text_LikeToChallengeTrainers:
|
|
.string "Would you like to challenge the\n"
|
|
.string "waiting TRAINERS?$"
|
|
|
|
TrainerHill_Entrance_Text_TimeProgessGetSetGo:
|
|
.string "I will time your progress.\n"
|
|
.string "Best of luck!\p"
|
|
.string "On your marks…\p"
|
|
.string "Get set…\p"
|
|
.string "Go!$"
|
|
|
|
TrainerHill_Entrance_Text_PleaseVisitUsAgain:
|
|
.string "Please do visit us again!$"
|
|
|
|
TrainerHill_Entrance_Text_TooBadTremendousEffort:
|
|
.string "That was too bad.\p"
|
|
.string "I think you put in a tremendous\n"
|
|
.string "effort in your battling.\p"
|
|
.string "Please come back and try again!$"
|
|
|
|
TrainerHill_Entrance_Text_HopeYouGiveItYourBest:
|
|
.string "I hope you give it your best.$"
|
|
|
|
TrainerHill_Entrance_Text_MovedReceptionHereForSwitch:
|
|
.string "When the TRAINERS switch places,\n"
|
|
.string "the movement can be hectic.\p"
|
|
.string "To avoid the stampede, we moved\n"
|
|
.string "the reception counter here.\p"
|
|
.string "I'm sorry for the inconvenience.$"
|
|
|
|
TrainerHill_Entrance_Text_ThankYouForPlaying:
|
|
.string "Thank you for playing!$"
|
|
|
|
TrainerHill_Entrance_Text_ExplainTrainerHill:
|
|
.string "Here at the TRAINER HILL, we conduct\n"
|
|
.string "an event called the Time Attack.\p"
|
|
.string "It is a race that measures how long\n"
|
|
.string "you take to reach our owner on\l"
|
|
.string "the rooftop from this counter.\p"
|
|
.string "The fastest times are posted on\n"
|
|
.string "the Time Board--try competing with\l"
|
|
.string "your friends.\p"
|
|
.string "In TRAINER battles along the way,\n"
|
|
.string "neither Exp. Points nor money will\l"
|
|
.string "be awarded.$"
|
|
|
|
@ Unused
|
|
TrainerHill_Entrance_Text_NeedAtLeastTwoPokemon:
|
|
.string "Oh, I'm sorry, but you appear to have\n"
|
|
.string "only one POKéMON with you.\p"
|
|
.string "You will need at least two POKéMON\n"
|
|
.string "to enter this event.$"
|
|
|
|
TrainerHill_Roof_Text_YouFinallyCameBravo:
|
|
.string "Hm! Hm!\p"
|
|
.string "You finally came!\n"
|
|
.string "Yes, you have arrived!\p"
|
|
.string "Wait! Don't say it!\n"
|
|
.string "I know why you came all the way\l"
|
|
.string "here by yourself!\p"
|
|
.string "You wanted to see me, the owner\n"
|
|
.string "of the TRAINER HILL, because…\p"
|
|
.string "You want to form a tag team with me!\n"
|
|
.string "Wa-hoo!\p"
|
|
.string "…Uh?\n"
|
|
.string "That's not it?\p"
|
|
.string "Anyway, I watched you on your way up.\n"
|
|
.string "Marvelous battling! Bravo, indeed!$"
|
|
|
|
TrainerHill_Roof_Text_HaveTheMostMarvelousGift:
|
|
.string "For a marvelous someone like you,\n"
|
|
.string "I have the most marvelous gift!$"
|
|
|
|
TrainerHill_Roof_Text_FullUpBeBackLaterForThis:
|
|
.string "Oh, no, full up with things!\n"
|
|
.string "You'll be back later for this!$"
|
|
|
|
TrainerHill_Roof_Text_GotHereMarvelouslyQuickly:
|
|
.string "Oh, hold on here! Did you possibly get\n"
|
|
.string "here marvelously quickly?\p"
|
|
.string "How splendid! You needn't have\n"
|
|
.string "hurried so to see me!\p"
|
|
.string "That is so delightful. I'll have the Time\n"
|
|
.string "Board at the reception updated!$"
|
|
|
|
TrainerHill_Roof_Text_YouWerentVeryQuick:
|
|
.string "But, oh…\n"
|
|
.string "You weren't very quick getting here.$"
|
|
|
|
TrainerHill_Roof_Text_ArriveZippierNextTime:
|
|
.string "Perhaps it would please me more if you\n"
|
|
.string "arrived zippier next time.\p"
|
|
.string "Then, I should be pleased to form\n"
|
|
.string "a tag team with you!\p"
|
|
.string "Until we meet again, amigo!$"
|
|
|
|
@ Unused
|
|
TrainerHill_Roof_Text_BuiltTrainerHillToFindPartner:
|
|
.string "I had the TRAINER HILL built for but\n"
|
|
.string "one reason and one only!\p"
|
|
.string "To find the most suitable partner\n"
|
|
.string "with whom I may form a tag team!$"
|
|
|
|
TrainerHill_Entrance_Text_ChallengeTime:
|
|
.string "{STR_VAR_1} min. {STR_VAR_2}.{STR_VAR_3} sec.$"
|
|
|
|
TrainerHill_Entrance_Text_WhatSortOfTrainersAreAhead:
|
|
.string "Who knows what sort of TRAINERS\n"
|
|
.string "and POKéMON combos are ahead?\p"
|
|
.string "All I know is that I'll knock aside\n"
|
|
.string "anyone that stands in my way!$"
|
|
|
|
TrainerHill_Entrance_Text_CantWaitToTestTheWaters:
|
|
.string "I heard tough TRAINERS come to this\n"
|
|
.string "TRAINER HILL from all over.\p"
|
|
.string "I can't wait to test the waters!\p"
|
|
.string "I'll knock aside anyone that stands\n"
|
|
.string "in my way!$"
|
|
|
|
TrainerHill_Entrance_Text_FriendsTryingToReachTimeBoardTop:
|
|
.string "Do you see the Time Board over there?\p"
|
|
.string "My friends and I are trying to see who\n"
|
|
.string "can reach the top in the least time.$"
|
|
|
|
TrainerHill_Entrance_Text_DoYouKnowWhenTheyOpen:
|
|
.string "Do you know when they're opening\n"
|
|
.string "this place up?\p"
|
|
.string "I'm waiting here to be the first\n"
|
|
.string "challenger ever!$"
|
|
|
|
TrainerHill_Elevator_Text_ReturnToReception:
|
|
.string "Would you like to return to\n"
|
|
.string "the reception counter?$"
|