pokefirered/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/scripts.inc
2026-03-21 14:21:24 +01:00

277 lines
13 KiB
PHP

.equ HELIX_FOSSIL, 1
.equ DOME_FOSSIL, 2
.equ OLD_AMBER, 3
CinnabarIsland_PokemonLab_ExperimentRoom_MapScripts::
.byte 0
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_Garett::
lock
faceplayer
goto_if_set FLAG_DID_SEELOR_TRADE, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_AlreadyTraded
ingame_trade INGAME_TRADE_SEEL, Trade_Text_LookingForMonWannaTradeForMon, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineTrade, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NotRequestedMon, Trade_Text_HeyThanks
setflag FLAG_DID_SEELOR_TRADE
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineTrade::
msgbox Trade_Text_AwwOhWell
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NotRequestedMon::
bufferspeciesname STR_VAR_1, VAR_0x8009
msgbox Trade_Text_WhatThatsNoMon
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_AlreadyTraded::
msgbox Trade_Text_IsntMyOldMonGreat
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_FossilScientist::
lock
faceplayer
setvar VAR_RESULT, FALSE
call_if_set FLAG_REVIVED_AMBER, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedMtMoonFossil
goto_if_eq VAR_RESULT, TRUE, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_RevivedAllFossils
goto_if_eq VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 2, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveRevivedMon
goto_if_eq VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_FossilStillReviving
call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddHelixFossilToList
goto_if_eq VAR_RESULT, TRUE, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelix
call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddDomeFossilToList
goto_if_eq VAR_RESULT, TRUE, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDome
call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddOldAmberToList
goto_if_eq VAR_RESULT, TRUE, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilAmber
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_HaveYouAFossilForMe
goto CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddHelixFossilToList::
goto_if_unset FLAG_GOT_HELIX_FOSSIL, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
goto_if_set FLAG_REVIVED_HELIX, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
setvar VAR_RESULT, TRUE
return
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddDomeFossilToList::
goto_if_unset FLAG_GOT_DOME_FOSSIL, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
goto_if_set FLAG_REVIVED_DOME, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
setvar VAR_RESULT, TRUE
return
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddOldAmberToList::
goto_if_unset FLAG_GOT_OLD_AMBER, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
goto_if_set FLAG_REVIVED_AMBER, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
setvar VAR_RESULT, TRUE
return
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse::
setvar VAR_RESULT, FALSE
return
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil::
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_NoIsTooBad
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelix::
message CinnabarIsland_PokemonLab_ExperimentRoom_Text_HaveYouAFossilForMe
waitmessage
call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddOldAmberToList
goto_if_eq VAR_RESULT, TRUE, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelixAmber
multichoice 0, 0, MULTI_HELIX, FALSE
switch VAR_RESULT
case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowHelixFossil
case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
case 127, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDome::
message CinnabarIsland_PokemonLab_ExperimentRoom_Text_HaveYouAFossilForMe
waitmessage
call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddOldAmberToList
goto_if_eq VAR_RESULT, TRUE, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDomeAmber
multichoice 0, 0, MULTI_DOME, FALSE
switch VAR_RESULT
case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowDomeFossil
case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
case 127, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilAmber::
message CinnabarIsland_PokemonLab_ExperimentRoom_Text_HaveYouAFossilForMe
waitmessage
multichoice 0, 0, MULTI_AMBER, FALSE
switch VAR_RESULT
case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowOldAmber
case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
case 127, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelixAmber::
multichoice 0, 0, MULTI_HELIX_AMBER, FALSE
switch VAR_RESULT
case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowHelixFossil
case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowOldAmber
case 2, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
case 127, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDomeAmber::
multichoice 0, 0, MULTI_DOME_AMBER, FALSE
switch VAR_RESULT
case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowDomeFossil
case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowOldAmber
case 2, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
case 127, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowHelixFossil::
bufferspeciesname STR_VAR_1, SPECIES_OMANYTE
bufferitemname STR_VAR_2, ITEM_HELIX_FOSSIL
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_ThatFossilIsOfMonMakeItLiveAgain, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineReviveFossil
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_HandedFossilToWeirdDoctor
textcolor NPC_TEXT_COLOR_MALE
removeitem ITEM_HELIX_FOSSIL
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_TakesTimeGoForWalk
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 1
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, HELIX_FOSSIL
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowDomeFossil::
bufferspeciesname STR_VAR_1, SPECIES_KABUTO
bufferitemname STR_VAR_2, ITEM_DOME_FOSSIL
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_ThatFossilIsOfMonMakeItLiveAgain, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineReviveFossil
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_HandedFossilToWeirdDoctor
textcolor NPC_TEXT_COLOR_MALE
removeitem ITEM_DOME_FOSSIL
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_TakesTimeGoForWalk
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 1
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, DOME_FOSSIL
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowOldAmber::
bufferspeciesname STR_VAR_1, SPECIES_AERODACTYL
bufferitemname STR_VAR_2, ITEM_OLD_AMBER
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_ThatFossilIsOfMonMakeItLiveAgain, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineReviveFossil
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_HandedFossilToWeirdDoctor
textcolor NPC_TEXT_COLOR_MALE
removeitem ITEM_OLD_AMBER
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_TakesTimeGoForWalk
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 1
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, OLD_AMBER
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineReviveFossil::
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_YouComeAgain
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_FossilStillReviving::
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_TakesTimeGoForWalk
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveRevivedMon::
goto_if_eq VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, HELIX_FOSSIL, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveOmanyte
goto_if_eq VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, DOME_FOSSIL, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveKabuto
goto_if_eq VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, OLD_AMBER, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveAerodactyl
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveOmanyte::
setvar VAR_TEMP_1, SPECIES_OMANYTE
bufferspeciesname STR_VAR_1, SPECIES_OMANYTE
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_FossilMonBackToLife
givemon SPECIES_OMANYTE, 5
goto_if_eq VAR_RESULT, 2, EventScript_NoMoreRoomForPokemon
setflag FLAG_REVIVED_HELIX
goto_if_eq VAR_RESULT, 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonParty
goto_if_eq VAR_RESULT, 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonPC
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveKabuto::
setvar VAR_TEMP_1, SPECIES_KABUTO
bufferspeciesname STR_VAR_1, SPECIES_KABUTO
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_FossilMonBackToLife
givemon SPECIES_KABUTO, 5
goto_if_eq VAR_RESULT, 2, EventScript_NoMoreRoomForPokemon
setflag FLAG_REVIVED_DOME
goto_if_eq VAR_RESULT, 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonParty
goto_if_eq VAR_RESULT, 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonPC
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveAerodactyl::
setvar VAR_TEMP_1, SPECIES_AERODACTYL
bufferspeciesname STR_VAR_1, SPECIES_AERODACTYL
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_FossilMonBackToLife
givemon SPECIES_AERODACTYL, 5
goto_if_eq VAR_RESULT, 2, EventScript_NoMoreRoomForPokemon
setflag FLAG_REVIVED_AMBER
goto_if_eq VAR_RESULT, 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonParty
goto_if_eq VAR_RESULT, 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonPC
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonParty::
textcolor NPC_TEXT_COLOR_NEUTRAL
playfanfare MUS_LEVEL_UP
message CinnabarIsland_PokemonLab_ExperimentRoom_Text_ReceivedMonFromDoctor
waitmessage
waitfanfare
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 0
msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_EndGiveMon
call EventScript_GetGiftMonPartySlot
call EventScript_ChangePokemonNickname
goto CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_EndGiveMon
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonPC::
textcolor NPC_TEXT_COLOR_NEUTRAL
playfanfare MUS_LEVEL_UP
message CinnabarIsland_PokemonLab_ExperimentRoom_Text_ReceivedMonFromDoctor
waitmessage
waitfanfare
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 0
msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_MonSentToPC
call EventScript_NameReceivedBoxMon
goto CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_MonSentToPC
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_MonSentToPC::
call EventScript_TransferredToPC
goto CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_EndGiveMon
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_EndGiveMon::
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_RevivedAllFossils::
msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_YouComeAgain
release
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedMtMoonFossil::
goto_if_set FLAG_GOT_HELIX_FOSSIL, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedHelix
goto_if_set FLAG_GOT_DOME_FOSSIL, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedDome
goto CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
end
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedHelix::
goto_if_unset FLAG_REVIVED_HELIX, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
setvar VAR_RESULT, TRUE
return
CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedDome::
goto_if_unset FLAG_REVIVED_DOME, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
setvar VAR_RESULT, TRUE
return