tumbledemerald-legacy/data/scripts/field_move_scripts.inc

274 lines
6.0 KiB
PHP

@ Interact with cuttable tree
EventScript_CutTree::
lockall
checkpartymove MOVE_CUT
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CheckTreeCantCut
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick STR_VAR_1, VAR_RESULT
buffermovename STR_VAR_2, MOVE_CUT
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
checkpartymove MOVE_ROCK_SMASH
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantSmashRock
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick STR_VAR_1, VAR_RESULT
buffermovename STR_VAR_2, MOVE_ROCK_SMASH
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
goto_if_eq VAR_RESULT, TRUE, EventScript_EndSmash
special RockSmashWildEncounter
goto_if_eq VAR_RESULT, FALSE, 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_set FLAG_SYS_USE_STRENGTH, EventScript_CheckActivatedBoulder
checkpartymove MOVE_STRENGTH
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantStrength
setfieldeffectargument 0, VAR_RESULT
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
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantWaterfall
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
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
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantDive
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
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
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantSurface
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
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…$"
EventScript_DisableAutoRun::
msgbox AutoRunDisabled MSGBOX_SIGN
end
AutoRunDisabled:
.string "Auto-run {COLOR RED}disabled{COLOR DARK_GRAY}!$"
EventScript_EnableAutoRun::
msgbox AutoRunEnabled MSGBOX_SIGN
end
AutoRunEnabled:
.string "Auto-run {COLOR GREEN}enabled{COLOR DARK_GRAY}!$"