mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-09 21:25:42 -05:00
119 lines
3.5 KiB
C++
119 lines
3.5 KiB
C++
.set LOCALID_DEOXYS_ROCK, 1
|
|
.set LOCALID_DEOXYS, 2
|
|
|
|
BirthIsland_Exterior_MapScripts::
|
|
map_script MAP_SCRIPT_ON_TRANSITION, BirthIsland_Exterior_OnTransition
|
|
map_script MAP_SCRIPT_ON_RESUME, BirthIsland_Exterior_OnResume
|
|
map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, BirthIsland_Exterior_OnReturnToField
|
|
.byte 0
|
|
|
|
BirthIsland_Exterior_OnReturnToField::
|
|
special SetDeoxysTrianglePalette
|
|
end
|
|
|
|
BirthIsland_Exterior_OnTransition::
|
|
setworldmapflag FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR
|
|
setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_DEOXYS_N
|
|
setvar VAR_DEOXYS_INTERACTION_STEP_COUNTER, 0
|
|
setvar VAR_DEOXYS_INTERACTION_NUM, 0
|
|
call_if_set FLAG_FOUGHT_DEOXYS, BirthIsland_Exterior_EventScript_HideDeoxysAndPuzzle
|
|
call_if_unset FLAG_FOUGHT_DEOXYS, BirthIsland_Exterior_EventScript_TryShowDeoxysPuzzle
|
|
end
|
|
|
|
BirthIsland_Exterior_EventScript_HideDeoxysAndPuzzle::
|
|
setflag FLAG_HIDE_DEOXYS
|
|
setflag FLAG_HIDE_BIRTH_ISLAND_METEORITE
|
|
return
|
|
|
|
BirthIsland_Exterior_EventScript_TryShowDeoxysPuzzle::
|
|
goto_if_set FLAG_DEOXYS_FLEW_AWAY, EventScript_Return
|
|
clearflag FLAG_HIDE_BIRTH_ISLAND_METEORITE
|
|
clearflag FLAG_SYS_DEOXYS_AWAKENED
|
|
return
|
|
|
|
BirthIsland_Exterior_OnResume::
|
|
call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, BirthIsland_Exterior_EventScript_TryRemoveDeoxys
|
|
end
|
|
|
|
BirthIsland_Exterior_EventScript_TryRemoveDeoxys::
|
|
specialvar VAR_RESULT, GetBattleOutcome
|
|
goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, EventScript_Return
|
|
removeobject LOCALID_DEOXYS
|
|
return
|
|
|
|
BirthIsland_Exterior_EventScript_Triangle::
|
|
lock
|
|
faceplayer
|
|
goto_if_questlog EventScript_ReleaseEnd
|
|
special QuestLog_CutRecording
|
|
special DoDeoxysTriangleInteraction
|
|
waitstate
|
|
switch VAR_RESULT
|
|
case 0, BirthIsland_Exterior_EventScript_NotSolved1
|
|
case 1, BirthIsland_Exterior_EventScript_NotSolved2
|
|
case 2, BirthIsland_Exterior_EventScript_Deoxys
|
|
case 3, BirthIsland_Exterior_EventScript_NotSolved3
|
|
end
|
|
|
|
BirthIsland_Exterior_EventScript_NotSolved1::
|
|
release
|
|
end
|
|
|
|
BirthIsland_Exterior_EventScript_NotSolved2::
|
|
release
|
|
end
|
|
|
|
BirthIsland_Exterior_EventScript_NotSolved3::
|
|
release
|
|
end
|
|
|
|
BirthIsland_Exterior_EventScript_Deoxys::
|
|
addobject LOCALID_DEOXYS
|
|
waitse
|
|
setfieldeffectargument 0, LOCALID_DEOXYS_ROCK
|
|
setfieldeffectargument 1, MAP_NUM(BIRTH_ISLAND_EXTERIOR)
|
|
setfieldeffectargument 2, MAP_GROUP(BIRTH_ISLAND_EXTERIOR)
|
|
dofieldeffect FLDEFF_DESTROY_DEOXYS_ROCK
|
|
playbgm MUS_ENCOUNTER_DEOXYS, 0
|
|
waitfieldeffect FLDEFF_DESTROY_DEOXYS_ROCK
|
|
applymovement LOCALID_DEOXYS, Movement_DeoxysApproach
|
|
waitmovement 0
|
|
waitse
|
|
playmoncry SPECIES_DEOXYS, CRY_MODE_ENCOUNTER
|
|
delay 40
|
|
waitmoncry
|
|
setvar VAR_LAST_TALKED, LOCALID_DEOXYS
|
|
seteventmon SPECIES_DEOXYS, 30
|
|
setflag FLAG_SYS_SPECIAL_WILD_BATTLE
|
|
special StartLegendaryBattle
|
|
waitstate
|
|
clearflag FLAG_SYS_SPECIAL_WILD_BATTLE
|
|
specialvar VAR_RESULT, GetBattleOutcome
|
|
goto_if_eq VAR_RESULT, B_OUTCOME_WON, BirthIsland_Exterior_EventScript_DefeatedDeoxys
|
|
goto_if_eq VAR_RESULT, B_OUTCOME_RAN, BirthIsland_Exterior_EventScript_RanFromDeoxys
|
|
goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, BirthIsland_Exterior_EventScript_RanFromDeoxys
|
|
setflag FLAG_FOUGHT_DEOXYS
|
|
release
|
|
end
|
|
|
|
BirthIsland_Exterior_EventScript_DefeatedDeoxys::
|
|
setflag FLAG_DEOXYS_FLEW_AWAY
|
|
setvar VAR_0x8004, SPECIES_DEOXYS
|
|
goto EventScript_MonFlewAway
|
|
end
|
|
|
|
BirthIsland_Exterior_EventScript_RanFromDeoxys::
|
|
setvar VAR_0x8004, SPECIES_DEOXYS
|
|
goto EventScript_MonFlewAway
|
|
end
|
|
|
|
Movement_DeoxysApproach:
|
|
walk_slower_down
|
|
walk_slower_down
|
|
walk_slower_down
|
|
walk_slower_down
|
|
walk_slower_down
|
|
walk_slower_down
|
|
walk_slower_down
|
|
step_end
|