pokeemerald/data/scripts/field_move_scripts.inc
2021-11-17 22:00:44 -05:00

304 lines
6.9 KiB
PHP

@ Interact with cuttable tree
EventScript_CutTree::
lockall
goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut
checkpartymove MOVE_CUT
compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CheckTreeCantCut
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick STR_VAR_1, VAR_RESULT
buffermovename STR_VAR_2, MOVE_CUT
msgbox Text_WantToCut, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_CancelCut
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_CUT_ON_TREE
waitstate
goto EventScript_CutTreeDown
end
@ Use cut from party menu
EventScript_UseCut::
lockall
dofieldeffect FLDEFF_USE_CUT_ON_TREE
waitstate
goto EventScript_CutTreeDown
end
EventScript_CutTreeDown::
applymovement VAR_LAST_TALKED, Movement_CutTreeDown
waitmovement 0
removeobject VAR_LAST_TALKED
releaseall
end
Movement_CutTreeDown:
cut_tree
step_end
EventScript_CheckTreeCantCut::
msgbox Text_CantCut, MSGBOX_DEFAULT
releaseall
end
EventScript_CancelCut::
closemessage
releaseall
end
Text_WantToCut:
.string "This tree looks like it can be\n"
.string "CUT down!\p"
.string "Would you like to CUT it?$"
Text_MonUsedFieldMove:
.string "{STR_VAR_1} used {STR_VAR_2}!$"
Text_CantCut:
.string "This tree looks like it can be\n"
.string "CUT down!$"
@ Interact with smashable rock
EventScript_RockSmash::
lockall
goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock
checkpartymove MOVE_ROCK_SMASH
compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CantSmashRock
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick STR_VAR_1, VAR_RESULT
buffermovename STR_VAR_2, MOVE_ROCK_SMASH
msgbox Text_WantToSmash, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_CancelSmash
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_ROCK_SMASH
waitstate
goto EventScript_SmashRock
end
@ Use rock smash from party menu
EventScript_UseRockSmash::
lockall
dofieldeffect FLDEFF_USE_ROCK_SMASH
waitstate
goto EventScript_SmashRock
end
EventScript_SmashRock::
applymovement VAR_LAST_TALKED, Movement_SmashRock
waitmovement 0
removeobject VAR_LAST_TALKED
specialvar VAR_RESULT, TryUpdateRusturfTunnelState
compare VAR_RESULT, TRUE
goto_if_eq EventScript_EndSmash
special RockSmashWildEncounter
compare VAR_RESULT, FALSE
goto_if_eq EventScript_EndSmash
waitstate
releaseall
end
EventScript_EndSmash::
releaseall
end
Movement_SmashRock:
rock_smash_break
step_end
EventScript_CantSmashRock::
msgbox Text_CantSmash, MSGBOX_DEFAULT
releaseall
end
EventScript_CancelSmash::
closemessage
releaseall
end
Text_WantToSmash:
.string "This rock appears to be breakable.\n"
.string "Would you like to use ROCK SMASH?$"
Text_CantSmash:
.string "It's a rugged rock, but a POKéMON\n"
.string "may be able to smash it.$"
EventScript_StrengthBoulder::
lockall
goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength
goto_if_set FLAG_SYS_USE_STRENGTH, EventScript_CheckActivatedBoulder
checkpartymove MOVE_STRENGTH
compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CantStrength
setfieldeffectargument 0, VAR_RESULT
msgbox Text_WantToStrength, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_CancelStrength
closemessage
dofieldeffect FLDEFF_USE_STRENGTH
waitstate
goto EventScript_ActivateStrength
end
EventScript_UseStrength::
lockall
dofieldeffect FLDEFF_USE_STRENGTH
waitstate
goto EventScript_ActivateStrength
end
EventScript_ActivateStrength::
setflag FLAG_SYS_USE_STRENGTH
msgbox Text_MonUsedStrength, MSGBOX_DEFAULT
releaseall
end
EventScript_CantStrength::
msgbox Text_CantStrength, MSGBOX_DEFAULT
releaseall
end
EventScript_CheckActivatedBoulder::
msgbox Text_StrengthActivated, MSGBOX_DEFAULT
releaseall
end
EventScript_CancelStrength::
closemessage
releaseall
end
Text_WantToStrength:
.string "It's a big boulder, but a POKéMON\n"
.string "may be able to push it aside.\p"
.string "Would you like to use STRENGTH?$"
Text_MonUsedStrength:
.string "{STR_VAR_1} used STRENGTH!\p"
.string "{STR_VAR_1}'s STRENGTH made it\n"
.string "possible to move boulders around!$"
Text_CantStrength:
.string "It's a big boulder, but a POKéMON\n"
.string "may be able to push it aside.$"
Text_StrengthActivated:
.string "STRENGTH made it possible to move\n"
.string "boulders around.$"
EventScript_UseWaterfall::
lockall
checkpartymove MOVE_WATERFALL
compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CantWaterfall
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
msgbox Text_WantToWaterfall, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_EndWaterfall
msgbox Text_MonUsedWaterfall, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_WATERFALL
goto EventScript_EndWaterfall
EventScript_CannotUseWaterfall::
lockall
EventScript_CantWaterfall::
msgbox Text_CantWaterfall, MSGBOX_DEFAULT
EventScript_EndWaterfall::
releaseall
end
Text_CantWaterfall:
.string "A wall of water is crashing down with\n"
.string "a mighty roar.$"
Text_WantToWaterfall:
.string "It's a large waterfall.\n"
.string "Would you like to use WATERFALL?$"
Text_MonUsedWaterfall:
.string "{STR_VAR_1} used WATERFALL.$"
EventScript_UseDive::
lockall
checkpartymove MOVE_DIVE
compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CantDive
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_WantToDive, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_EndDive
msgbox Text_MonUsedDive, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_DIVE
goto EventScript_EndDive
end
EventScript_CantDive::
msgbox Text_CantDive, MSGBOX_DEFAULT
releaseall
end
EventScript_EndDive::
releaseall
end
EventScript_UseDiveUnderwater::
lockall
checkpartymove MOVE_DIVE
compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CantSurface
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_WantToSurface, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_EndSurface
msgbox Text_MonUsedDive, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_DIVE
goto EventScript_EndSurface
end
EventScript_CantSurface::
lockall
msgbox Text_CantSurface, MSGBOX_DEFAULT
goto EventScript_EndSurface
end
EventScript_EndSurface::
releaseall
end
Text_CantDive:
.string "The sea is deep here. A POKéMON\n"
.string "may be able to go underwater.$"
Text_WantToDive:
.string "The sea is deep here.\n"
.string "Would you like to use DIVE?$"
Text_MonUsedDive:
.string "{STR_VAR_1} used DIVE.$"
Text_CantSurface:
.string "Light is filtering down from above.\n"
.string "A POKéMON may be able to surface.$"
Text_WantToSurface:
.string "Light is filtering down from above.\n"
.string "Would you like to use DIVE?$"
EventScript_FailSweetScent::
msgbox Text_FailSweetScent, MSGBOX_SIGN
end
Text_FailSweetScent:
.string "Looks like there's nothing here…$"