Files
pokeemerald/data/maps/MossdeepCity_Gym/scripts.inc
2025-06-11 09:45:39 -04:00

380 lines
13 KiB
SQL

MossdeepCity_Gym_MapScripts::
map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_Gym_OnLoad
.byte 0
@ NOTE: Mossdeep Gym was redesigned between R/S and E. Leftover (and now functionally unused) scripts are commented below
@ All the below checks are leftover from RS. FLAG_MOSSDEEP_GYM_SWITCH_X is never set
MossdeepCity_Gym_OnLoad:
goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_SetSwitch1Metatiles
goto MossdeepCity_Gym_EventScript_CheckSwitch2
end
MossdeepCity_Gym_EventScript_CheckSwitch2::
goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_SetSwitch2Metatiles
goto MossdeepCity_Gym_EventScript_CheckSwitch3
end
MossdeepCity_Gym_EventScript_CheckSwitch3::
goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_SetSwitch3Metatiles
goto MossdeepCity_Gym_EventScript_CheckSwitch4
end
MossdeepCity_Gym_EventScript_CheckSwitch4::
goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_SetSwitch4Metatiles
end
@ All the below set metatile scripts are leftover from RS and are functionally unused
MossdeepCity_Gym_EventScript_SetSwitch1Metatiles::
setmetatile 5, 5, METATILE_RSMossdeepGym_RedArrow_Right, FALSE
setmetatile 2, 7, METATILE_RSMossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_CheckSwitch2
end
MossdeepCity_Gym_EventScript_SetSwitch2Metatiles::
setmetatile 8, 14, METATILE_RSMossdeepGym_RedArrow_Right, FALSE
setmetatile 8, 10, METATILE_RSMossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_CheckSwitch3
end
MossdeepCity_Gym_EventScript_SetSwitch3Metatiles::
setmetatile 15, 17, METATILE_RSMossdeepGym_RedArrow_Left, FALSE
setmetatile 17, 15, METATILE_RSMossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_CheckSwitch4
end
MossdeepCity_Gym_EventScript_SetSwitch4Metatiles::
setmetatile 1, 23, METATILE_RSMossdeepGym_RedArrow_Up, FALSE
setmetatile 5, 24, METATILE_RSMossdeepGym_Switch_Down, TRUE
end
MossdeepCity_Gym_EventScript_TateAndLiza::
trainerbattle_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_TateAndLizaIntro, MossdeepCity_Gym_Text_TateAndLizaDefeat, MossdeepCity_Gym_Text_TateAndLizaNeedTwoMons, MossdeepCity_Gym_EventScript_TateAndLizaDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
goto_if_eq VAR_RESULT, TRUE, MossdeepCity_Gym_EventScript_TateAndLizaRematch
goto_if_unset FLAG_RECEIVED_TM_CALM_MIND, MossdeepCity_Gym_EventScript_GiveCalmMind2
msgbox MossdeepCity_Gym_Text_TateAndLizaPostBattle, MSGBOX_DEFAULT
release
end
MossdeepCity_Gym_EventScript_TateAndLizaDefeated::
message MossdeepCity_Gym_Text_ReceivedMindBadge
waitmessage
call Common_EventScript_PlayGymBadgeFanfare
msgbox MossdeepCity_Gym_Text_ExplainMindBadgeTakeThis, MSGBOX_DEFAULT
setflag FLAG_DEFEATED_MOSSDEEP_GYM
setflag FLAG_BADGE07_GET
setflag FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
clearflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
clearflag FLAG_UNKNOWN_0x393
setvar VAR_0x8008, 7
call Common_EventScript_SetGymTrainers
clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS
clearflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN
setvar VAR_MOSSDEEP_CITY_STATE, 1
setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN
setvar VAR_MOSSDEEP_SPACE_CENTER_STATE, 1
call MossdeepCity_Gym_EventScript_GiveCalmMind
closemessage
delay 30
playfanfare MUS_REGISTER_MATCH_CALL
msgbox MossdeepCity_Gym_Text_RegisteredTateAndLiza, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL
release
end
MossdeepCity_Gym_EventScript_GiveCalmMind2::
giveitem ITEM_TM_CALM_MIND
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM_CALM_MIND
release
end
MossdeepCity_Gym_EventScript_GiveCalmMind::
giveitem ITEM_TM_CALM_MIND
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM_CALM_MIND
return
MossdeepCity_Gym_EventScript_TateAndLizaRematch::
trainerbattle_rematch_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_TateAndLizaPreRematch, MossdeepCity_Gym_Text_TateAndLizaRematchDefeat, MossdeepCity_Gym_Text_TateAndLizaRematchNeedTwoMons
msgbox MossdeepCity_Gym_Text_TateAndLizaPostRematch, MSGBOX_AUTOCLOSE
end
@ All the below switch scripts are leftover from RS and are functionally unused
MossdeepCity_Gym_EventScript_Switch1::
lockall
goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_ClearSwitch1
setflag FLAG_MOSSDEEP_GYM_SWITCH_1
applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
setmetatile 5, 5, METATILE_RSMossdeepGym_RedArrow_Right, FALSE
setmetatile 2, 7, METATILE_RSMossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed::
special DrawWholeMapView
playse SE_CLICK
releaseall
end
MossdeepCity_Gym_EventScript_ClearSwitch1::
clearflag FLAG_MOSSDEEP_GYM_SWITCH_1
applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
setmetatile 5, 5, METATILE_RSMossdeepGym_RedArrow_Left, FALSE
setmetatile 2, 7, METATILE_RSMossdeepGym_Switch_Up, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
MossdeepCity_Gym_EventScript_Switch2::
lockall
goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_ClearSwitch2
setflag FLAG_MOSSDEEP_GYM_SWITCH_2
applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
setmetatile 8, 14, METATILE_RSMossdeepGym_RedArrow_Right, FALSE
setmetatile 8, 10, METATILE_RSMossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
MossdeepCity_Gym_EventScript_ClearSwitch2::
clearflag FLAG_MOSSDEEP_GYM_SWITCH_2
applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
setmetatile 8, 14, METATILE_RSMossdeepGym_RedArrow_Down, FALSE
setmetatile 8, 10, METATILE_RSMossdeepGym_Switch_Up, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
MossdeepCity_Gym_EventScript_Switch3::
lockall
goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_ClearSwitch3
setflag FLAG_MOSSDEEP_GYM_SWITCH_3
applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
setmetatile 15, 17, METATILE_RSMossdeepGym_RedArrow_Left, FALSE
setmetatile 17, 15, METATILE_RSMossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
MossdeepCity_Gym_EventScript_ClearSwitch3::
clearflag FLAG_MOSSDEEP_GYM_SWITCH_3
applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
setmetatile 15, 17, METATILE_RSMossdeepGym_RedArrow_Right, FALSE
setmetatile 17, 15, METATILE_RSMossdeepGym_Switch_Up, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
MossdeepCity_Gym_EventScript_Switch4::
lockall
goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_ClearSwitch4
setflag FLAG_MOSSDEEP_GYM_SWITCH_4
applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
setmetatile 1, 23, METATILE_RSMossdeepGym_RedArrow_Up, FALSE
setmetatile 5, 24, METATILE_RSMossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
MossdeepCity_Gym_EventScript_ClearSwitch4::
clearflag FLAG_MOSSDEEP_GYM_SWITCH_4
applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
setmetatile 1, 23, METATILE_RSMossdeepGym_RedArrow_Right, FALSE
setmetatile 5, 24, METATILE_RSMossdeepGym_Switch_Up, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
MossdeepCity_Gym_EventScript_WarpToEntrance::
lockall
warpmossdeepgym MAP_MOSSDEEP_CITY_GYM, 7, 30
waitstate
releaseall
end
MossdeepCity_Gym_EventScript_Preston::
trainerbattle_single TRAINER_PRESTON, MossdeepCity_Gym_Text_PrestonIntro, MossdeepCity_Gym_Text_PrestonDefeat
msgbox MossdeepCity_Gym_Text_PrestonPostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_Virgil::
trainerbattle_single TRAINER_VIRGIL, MossdeepCity_Gym_Text_VirgilIntro, MossdeepCity_Gym_Text_VirgilDefeat
msgbox MossdeepCity_Gym_Text_VirgilPostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_Blake::
trainerbattle_single TRAINER_BLAKE, MossdeepCity_Gym_Text_BlakeIntro, MossdeepCity_Gym_Text_BlakeDefeat
msgbox MossdeepCity_Gym_Text_BlakePostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_Hannah::
trainerbattle_single TRAINER_HANNAH, MossdeepCity_Gym_Text_HannahIntro, MossdeepCity_Gym_Text_HannahDefeat
msgbox MossdeepCity_Gym_Text_HannahPostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_Samantha::
trainerbattle_single TRAINER_SAMANTHA, MossdeepCity_Gym_Text_SamanthaIntro, MossdeepCity_Gym_Text_SamanthaDefeat
msgbox MossdeepCity_Gym_Text_SamanthaPostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_Maura::
trainerbattle_single TRAINER_MAURA, MossdeepCity_Gym_Text_MauraIntro, MossdeepCity_Gym_Text_MauraDefeat
msgbox MossdeepCity_Gym_Text_MauraPostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_Sylvia::
trainerbattle_single TRAINER_SYLVIA, MossdeepCity_Gym_Text_SylviaIntro, MossdeepCity_Gym_Text_SylviaDefeat
msgbox MossdeepCity_Gym_Text_SylviaPostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_Nate::
trainerbattle_single TRAINER_NATE, MossdeepCity_Gym_Text_NateIntro, MossdeepCity_Gym_Text_NateDefeat
msgbox MossdeepCity_Gym_Text_NatePostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_Macey::
trainerbattle_single TRAINER_MACEY, MossdeepCity_Gym_Text_MaceyIntro, MossdeepCity_Gym_Text_MaceyDefeat
msgbox MossdeepCity_Gym_Text_MaceyPostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_Clifford::
trainerbattle_single TRAINER_CLIFFORD, MossdeepCity_Gym_Text_CliffordIntro, MossdeepCity_Gym_Text_CliffordDefeat
msgbox MossdeepCity_Gym_Text_CliffordPostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_Nicholas::
trainerbattle_single TRAINER_NICHOLAS, MossdeepCity_Gym_Text_NicholasIntro, MossdeepCity_Gym_Text_NicholasDefeat
msgbox MossdeepCity_Gym_Text_NicholasPostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_Kathleen::
trainerbattle_single TRAINER_KATHLEEN, MossdeepCity_Gym_Text_KathleenIntro, MossdeepCity_Gym_Text_KathleenDefeat
msgbox MossdeepCity_Gym_Text_KathleenPostBattle, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_GymGuide::
lock
faceplayer
goto_if_set FLAG_DEFEATED_MOSSDEEP_GYM, MossdeepCity_Gym_EventScript_GymGuidePostVictory
msgbox MossdeepCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT
release
end
MossdeepCity_Gym_EventScript_GymGuidePostVictory::
msgbox MossdeepCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT
release
end
@ Leftover from RS, functionally unused
MossdeepCity_Gym_Movement_WaitAfterSwitchUse:
delay_16
delay_16
step_end
MossdeepCity_Gym_EventScript_LeftGymStatue::
lockall
goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_GymStatueCertified
goto MossdeepCity_Gym_EventScript_GymStatue
end
MossdeepCity_Gym_EventScript_RightGymStatue::
lockall
goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_GymStatueCertified
goto MossdeepCity_Gym_EventScript_GymStatue
end
MossdeepCity_Gym_EventScript_GymStatueCertified::
msgbox MossdeepCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT
releaseall
end
MossdeepCity_Gym_EventScript_GymStatue::
msgbox MossdeepCity_Gym_Text_GymStatue, MSGBOX_DEFAULT
releaseall
end
MossdeepCity_Gym_EventScript_YellowFloorSwitch::
playse SE_SWITCH
waitse
playse SE_REPEL
initrotatingtilepuzzle FALSE
moverotatingtileobjects 0
waitmovement 0
turnrotatingtileobjects
waitmovement 0
freerotatingtilepuzzle
end
MossdeepCity_Gym_EventScript_BlueFloorSwitch::
playse SE_SWITCH
waitse
playse SE_REPEL
initrotatingtilepuzzle FALSE
moverotatingtileobjects 1
waitmovement 0
turnrotatingtileobjects
waitmovement 0
freerotatingtilepuzzle
end
MossdeepCity_Gym_EventScript_GreenFloorSwitch::
playse SE_SWITCH
waitse
playse SE_REPEL
initrotatingtilepuzzle FALSE
moverotatingtileobjects 2
waitmovement 0
turnrotatingtileobjects
waitmovement 0
freerotatingtilepuzzle
end
MossdeepCity_Gym_EventScript_PurpleFloorSwitch::
playse SE_SWITCH
waitse
playse SE_REPEL
initrotatingtilepuzzle FALSE
moverotatingtileobjects 3
waitmovement 0
turnrotatingtileobjects
waitmovement 0
freerotatingtilepuzzle
end
MossdeepCity_Gym_EventScript_RedFloorSwitch::
playse SE_SWITCH
waitse
playse SE_REPEL
initrotatingtilepuzzle FALSE
moverotatingtileobjects 4
waitmovement 0
turnrotatingtileobjects
waitmovement 0
freerotatingtilepuzzle
end
.ifdef FRENCH
.include "data/maps/MossdeepCity_Gym/text_fr.inc"
.else
.ifdef ITALIAN
.include "data/maps/MossdeepCity_Gym/text_it.inc"
.else
.ifdef SPANISH
.include "data/maps/MossdeepCity_Gym/text_es.inc"
.else
.include "data/maps/MossdeepCity_Gym/text.inc"
.endif
.endif
.endif