document field moves scripts and text (#591)

This commit is contained in:
scbroede 2025-07-06 00:20:26 -04:00 committed by GitHub
parent a054b8a113
commit 2ff79b5590
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 101 additions and 100 deletions

View File

@ -379,7 +379,7 @@ TEXT_BANK_UNK_0377
TEXT_BANK_GYM_NAMES
TEXT_BANK_MYSTERY_GIFT_DELIVERYMAN
TEXT_BANK_UNK_0380
TEXT_BANK_UNK_0381
TEXT_BANK_FIELD_MOVES
TEXT_BANK_WIFI_PLAZA_ENTRANCE
TEXT_BANK_UNK_0383
TEXT_BANK_UNK_0384

View File

@ -92,6 +92,7 @@ enum ScriptContextType {
#define SCRIPT_ID_OFFSET_SAFARI_ZONE 8800
#define SCRIPT_ID_OFFSET_INIT_NEW_GAME 9600
#define SCRIPT_ID_OFFSET_FOLLOWER_PARTNERS 9700
#define SCRIPT_ID_OFFSET_FIELD_MOVES 10000
#define SCRIPT_ID_POKEMON_CENTER_DAILY_TRAINERS 10400
#define FLAG_OFFSET_HIDDEN_ITEMS 730

View File

@ -414,7 +414,7 @@ scr_seq_files = files(
'scripts_unk_0406.s',
'scripts_unk_0407.s',
'scripts_unk_0408.s',
'scripts_unk_0409.s',
'scripts_field_moves.s',
'scripts_wifi_plaza_entrance.s',
'scripts_unk_0411.s',
'scripts_init_new_game.s',

View File

@ -407,7 +407,7 @@ scripts_unk_0405
scripts_unk_0406
scripts_unk_0407
scripts_unk_0408
scripts_unk_0409
scripts_field_moves
scripts_wifi_plaza_entrance
scripts_unk_0411
scripts_init_new_game

View File

@ -1,27 +1,27 @@
#include "macros/scrcmd.inc"
#include "res/text/bank/unk_0381.h"
#include "res/text/bank/field_moves.h"
.data
ScriptEntry _0042
ScriptEntry _0223
ScriptEntry _0314
ScriptEntry _040E
ScriptEntry _04DD
ScriptEntry _057D
ScriptEntry _0679
ScriptEntry _0730
ScriptEntry _0103
ScriptEntry _02CD
ScriptEntry _03CC
ScriptEntry _04B9
ScriptEntry _0551
ScriptEntry _0704
ScriptEntry _060C
ScriptEntry _064C
ScriptEntry FieldMoves_CutTree
ScriptEntry FieldMoves_Rock
ScriptEntry FieldMoves_Boulder
ScriptEntry FieldMoves_RockyWall
ScriptEntry FieldMoves_Water
ScriptEntry FieldMoves_Fog_Unused
ScriptEntry FieldMoves_Waterfall
ScriptEntry FieldMoves_Dummy
ScriptEntry FieldMoves_UseCutFromMenu
ScriptEntry FieldMoves_UseRockSmashFromMenu
ScriptEntry FieldMoves_UseStrengthFromMenu
ScriptEntry FieldMoves_UseRockClimbFromMenu
ScriptEntry FieldMoves_UseSurfFromMenu
ScriptEntry FieldMoves_UseWaterfallFromMenu
ScriptEntry FieldMoves_UseDefogFromMenu
ScriptEntry FieldMoves_UseFlashFromMenu
ScriptEntryEnd
_0042:
FieldMoves_CutTree:
PlayFanfare SEQ_SE_CONFIRM
LockAll
FacePlayer
@ -29,7 +29,7 @@ _0042:
GoToIfEq VAR_RESULT, 6, _008E
CheckBadgeAcquired BADGE_ID_FOREST, VAR_RESULT
GoToIfEq VAR_RESULT, 0, _008E
Message 0
Message FieldMoves_Text_WouldYouLikeToUseCut
ShowYesNoMenu VAR_RESULT
GoToIfEq VAR_RESULT, MENU_YES, _00AE
CloseMessage
@ -37,7 +37,7 @@ _0042:
End
_008E:
Message 2
Message FieldMoves_Text_TreeLooksLikeCanBeCut
GetCurrentMapID VAR_0x8004
CallIfEq VAR_0x8004, 203, _014A
WaitABXPadPress
@ -49,7 +49,7 @@ _00AE:
FindPartySlotWithMove VAR_RESULT, MOVE_CUT
SetVar VAR_0x8004, VAR_RESULT
BufferPartyMonNickname 0, VAR_RESULT
Message 1
Message FieldMoves_Text_PokemonUsedCut
CloseMessage
ScrCmd_0C5 VAR_0x8004
ScrCmd_29E 0, VAR_0x8005
@ -63,10 +63,10 @@ _00E8:
GoTo _066D
End
_0103:
FieldMoves_UseCutFromMenu:
LockAll
BufferPartyMonNickname 0, VAR_0x8000
Message 1
Message FieldMoves_Text_PokemonUsedCut
CloseMessage
ScrCmd_0C5 VAR_0x8000
ScrCmd_29E 0, VAR_0x8005
@ -125,7 +125,7 @@ _0219:
_0221:
Return
_0223:
FieldMoves_Rock:
PlayFanfare SEQ_SE_CONFIRM
LockAll
FacePlayer
@ -134,7 +134,7 @@ _0223:
GoToIfEq VAR_RESULT, 6, _0275
CheckBadgeAcquired BADGE_ID_COAL, VAR_RESULT
GoToIfEq VAR_RESULT, 0, _0275
Message 3
Message FieldMoves_Text_WouldYouLikeToUseRockSmash
ShowYesNoMenu VAR_RESULT
GoToIfEq VAR_RESULT, MENU_YES, _0284
CloseMessage
@ -142,7 +142,7 @@ _0223:
End
_0275:
Message 4
Message FieldMoves_Text_PokemonMayBeAbleToSmashRock
WaitABXPadPress
CloseMessage
GoTo _066D
@ -150,7 +150,7 @@ _0275:
_0284:
BufferPartyMonNickname 0, VAR_0x8004
Message 5
Message FieldMoves_Text_PokemonUsedRockSmash
CloseMessage
ScrCmd_0C5 VAR_0x8004
ScrCmd_29E 1, VAR_0x8005
@ -164,10 +164,10 @@ _02B2:
GoTo _066D
End
_02CD:
FieldMoves_UseRockSmashFromMenu:
LockAll
BufferPartyMonNickname 0, VAR_0x8000
Message 5
Message FieldMoves_Text_PokemonUsedRockSmash
CloseMessage
ScrCmd_0C5 VAR_0x8000
ScrCmd_29E 1, VAR_0x8005
@ -181,7 +181,7 @@ _02FD:
ReleaseAll
End
_0314:
FieldMoves_Boulder:
PlayFanfare SEQ_SE_CONFIRM
LockAll
FacePlayer
@ -191,7 +191,7 @@ _0314:
GoToIfEq VAR_RESULT, 6, _0372
CheckBadgeAcquired BADGE_ID_MINE, VAR_RESULT
GoToIfEq VAR_RESULT, 0, _0372
Message 6
Message FieldMoves_Text_WouldYouLikeToUseStrength
ShowYesNoMenu VAR_RESULT
GoToIfEq VAR_RESULT, MENU_YES, _0381
CloseMessage
@ -199,7 +199,7 @@ _0314:
End
_0372:
Message 8
Message FieldMoves_Text_BoulderMayBeAbleToPush
WaitABXPadPress
CloseMessage
GoTo _066D
@ -210,10 +210,10 @@ _0381:
FindPartySlotWithMove VAR_RESULT, MOVE_STRENGTH
SetVar VAR_0x8004, VAR_RESULT
BufferPartyMonNickname 0, VAR_RESULT
Message 10
Message FieldMoves_Text_PokemonUsedStrength
ScrCmd_0C5 VAR_0x8004
CloseMessage
Message 11
Message FieldMoves_Text_PokemonStrengthMadePossibleToMove
WaitABXPadPress
CloseMessage
GetCurrentMapID VAR_0x8004
@ -222,29 +222,29 @@ _0381:
End
_03BD:
Message 9
Message FieldMoves_Text_StrengthMadePossibleToMove
WaitABXPadPress
CloseMessage
GoTo _066D
End
_03CC:
FieldMoves_UseStrengthFromMenu:
LockAll
Strength 2, VAR_RESULT
GoToIfEq VAR_RESULT, 1, _03BD
Strength 1
BufferPartyMonNickname 0, VAR_0x8000
Message 10
Message FieldMoves_Text_PokemonUsedStrength
CloseMessage
ScrCmd_0C5 VAR_0x8000
Message 11
Message FieldMoves_Text_PokemonStrengthMadePossibleToMove
WaitABXPadPress
CloseMessage
GetCurrentMapID VAR_0x8004
CreateJournalEvent LOCATION_EVENT_USED_STRENGTH, VAR_0x8004, 0, 0, 0
GoTo _0675
_040E:
FieldMoves_RockyWall:
PlayFanfare SEQ_SE_CONFIRM
LockAll
FindPartySlotWithMove VAR_RESULT, MOVE_ROCK_CLIMB
@ -253,7 +253,7 @@ _040E:
GoToIfEq VAR_RESULT, 0, _0469
CheckHasPartner VAR_RESULT
GoToIfEq VAR_RESULT, 1, _0478
Message 18
Message FieldMoves_Text_WouldYouLikeToUseRockClimb
ShowYesNoMenu VAR_RESULT
GoToIfEq VAR_RESULT, MENU_YES, _0487
CloseMessage
@ -261,14 +261,14 @@ _040E:
End
_0469:
Message 20
Message FieldMoves_Text_RockyWallWillMoveScale
WaitABXPadPress
CloseMessage
GoTo _0671
End
_0478:
Message 21
Message FieldMoves_Text_NoRockClimbingWithPartner
WaitABXPadPress
CloseMessage
GoTo _0671
@ -278,7 +278,7 @@ _0487:
FindPartySlotWithMove VAR_RESULT, MOVE_ROCK_CLIMB
SetVar VAR_0x8004, VAR_RESULT
BufferPartyMonNickname 0, VAR_RESULT
Message 19
Message FieldMoves_Text_PokemonUsedRockClimb
CloseMessage
UseRockClimb VAR_0x8004
GetCurrentMapID VAR_0x8004
@ -286,10 +286,10 @@ _0487:
GoTo _0671
End
_04B9:
FieldMoves_UseRockClimbFromMenu:
LockAll
BufferPartyMonNickname 0, VAR_0x8000
Message 19
Message FieldMoves_Text_PokemonUsedRockClimb
CloseMessage
UseRockClimb VAR_0x8000
GetCurrentMapID VAR_0x8004
@ -297,12 +297,12 @@ _04B9:
ReleaseAll
End
_04DD:
FieldMoves_Water:
PlayFanfare SEQ_SE_CONFIRM
LockAll
CheckHasPartner VAR_RESULT
GoToIfEq VAR_RESULT, 1, _0512
Message 12
Message FieldMoves_Text_WouldYouLikeToUseSurf
ShowYesNoMenu VAR_RESULT
GoToIfEq VAR_RESULT, MENU_YES, _051F
CloseMessage
@ -310,7 +310,7 @@ _04DD:
End
_0512:
Message 14
Message FieldMoves_Text_NoSurfingWithPartner
WaitABXPadPress
CloseMessage
GoTo _0671
@ -319,7 +319,7 @@ _051F:
FindPartySlotWithMove VAR_RESULT, MOVE_SURF
SetVar VAR_0x8004, VAR_RESULT
BufferPartyMonNickname 0, VAR_RESULT
Message 13
Message FieldMoves_Text_PokemonUsedSurf
CloseMessage
UseSurf VAR_0x8004
GetCurrentMapID VAR_0x8004
@ -327,10 +327,10 @@ _051F:
GoTo _0671
End
_0551:
FieldMoves_UseSurfFromMenu:
LockAll
BufferPartyMonNickname 0, VAR_0x8000
Message 13
Message FieldMoves_Text_PokemonUsedSurf
CloseMessage
ScrCmd_063 0xFF
UseSurf VAR_0x8000
@ -340,12 +340,12 @@ _0551:
ReleaseAll
End
_057D:
FieldMoves_Fog_Unused:
PlayFanfare SEQ_SE_CONFIRM
LockAll
FindPartySlotWithMove VAR_RESULT, MOVE_DEFOG
GoToIfEq VAR_RESULT, 6, _05B4
Message 15
Message FieldMoves_Text_WouldYouLikeToUseDefog_Unused
ShowYesNoMenu VAR_RESULT
GoToIfEq VAR_RESULT, MENU_YES, _05C3
CloseMessage
@ -353,7 +353,7 @@ _057D:
End
_05B4:
Message 17
Message FieldMoves_Text_DeepFogDrapesArea_Unused
WaitABXPadPress
CloseMessage
GoTo _0671
@ -363,7 +363,7 @@ _05C3:
FindPartySlotWithMove VAR_RESULT, MOVE_DEFOG
SetVar VAR_0x8004, VAR_RESULT
BufferPartyMonNickname 0, VAR_RESULT
Message 16
Message FieldMoves_Text_PokemonUsedDefog
CloseMessage
ScrCmd_0C5 VAR_0x8004
GetCurrentMapID VAR_0x8004
@ -377,10 +377,10 @@ _0606:
SetFlag FLAG_UNK_0x007B
Return
_060C:
FieldMoves_UseDefogFromMenu:
LockAll
BufferPartyMonNickname 0, VAR_0x8000
Message 16
Message FieldMoves_Text_PokemonUsedDefog
CloseMessage
ScrCmd_0C5 VAR_0x8000
Defog 1
@ -392,10 +392,10 @@ _060C:
CallIfEq VAR_0x8004, 0x169, _0606
GoTo _0675
_064C:
FieldMoves_UseFlashFromMenu:
LockAll
BufferPartyMonNickname 0, VAR_0x8000
Message 26
Message FieldMoves_Text_PokemonUsedFlash
CloseMessage
ScrCmd_0C5 VAR_0x8000
Flash 1
@ -415,14 +415,14 @@ _0675:
ReleaseAll
End
_0679:
FieldMoves_Waterfall:
PlayFanfare SEQ_SE_CONFIRM
LockAll
FindPartySlotWithMove VAR_RESULT, MOVE_WATERFALL
GoToIfEq VAR_RESULT, 6, _06C3
CheckBadgeAcquired BADGE_ID_BEACON, VAR_RESULT
GoToIfEq VAR_RESULT, 0, _06C3
Message 22
Message FieldMoves_Text_WouldYouLikeToUseWaterfall
ShowYesNoMenu VAR_RESULT
GoToIfEq VAR_RESULT, MENU_YES, _06D2
CloseMessage
@ -430,7 +430,7 @@ _0679:
End
_06C3:
Message 24
Message FieldMoves_Text_WallOfWater
WaitABXPadPress
CloseMessage
GoTo _0671
@ -440,7 +440,7 @@ _06D2:
FindPartySlotWithMove VAR_RESULT, MOVE_WATERFALL
SetVar VAR_0x8004, VAR_RESULT
BufferPartyMonNickname 0, VAR_RESULT
Message 23
Message FieldMoves_Text_PokemonUsedWaterfall
CloseMessage
UseWaterfall VAR_0x8004
GetCurrentMapID VAR_0x8004
@ -448,10 +448,10 @@ _06D2:
GoTo _0671
End
_0704:
FieldMoves_UseWaterfallFromMenu:
LockAll
BufferPartyMonNickname 0, VAR_0x8000
Message 23
Message FieldMoves_Text_PokemonUsedWaterfall
CloseMessage
ScrCmd_063 0xFF
UseWaterfall VAR_0x8000
@ -461,7 +461,7 @@ _0704:
ReleaseAll
End
_0730:
FieldMoves_Dummy:
End
.byte 0

View File

@ -1,5 +1,5 @@
#include "macros/scrcmd.inc"
#include "res/text/bank/unk_0381.h"
#include "res/text/bank/unk_0383.h"
.data

View File

@ -1,113 +1,113 @@
<?xml version="1.0"?>
<body language="English">
<key value="38468" />
<row id="pl_msg_00000381_00000" index="0">
<row id="FieldMoves_Text_WouldYouLikeToUseCut" index="0">
<attribute name="window_context_name">used</attribute>
<language name="English">This tree looks like it can be\ncut down! Would you like to cut it?</language>
</row>
<row id="pl_msg_00000381_00001" index="1">
<row id="FieldMoves_Text_PokemonUsedCut" index="1">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 0, 0, 0} used Cut!\r</language>
</row>
<row id="pl_msg_00000381_00002" index="2">
<row id="FieldMoves_Text_TreeLooksLikeCanBeCut" index="2">
<attribute name="window_context_name">used</attribute>
<language name="English">This tree looks like it can be\ncut down!</language>
</row>
<row id="pl_msg_00000381_00003" index="3">
<row id="FieldMoves_Text_WouldYouLikeToUseRockSmash" index="3">
<attribute name="window_context_name">used</attribute>
<language name="English">This rock appears to be breakable.\nWould you like to use Rock Smash?</language>
</row>
<row id="pl_msg_00000381_00004" index="4">
<row id="FieldMoves_Text_PokemonMayBeAbleToSmashRock" index="4">
<attribute name="window_context_name">used</attribute>
<language name="English">Its a rugged rock, but a Pokémon\nmay be able to smash it.</language>
</row>
<row id="pl_msg_00000381_00005" index="5">
<row id="FieldMoves_Text_PokemonUsedRockSmash" index="5">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 0, 0, 0} used Rock Smash!\r</language>
</row>
<row id="pl_msg_00000381_00006" index="6">
<row id="FieldMoves_Text_WouldYouLikeToUseStrength" index="6">
<attribute name="window_context_name">used</attribute>
<language name="English">Its a big boulder, but a Pokémon\nmay be able to push it aside.\rWould you like to use Strength?</language>
</row>
<row id="pl_msg_00000381_00007" index="7">
<row id="FieldMoves_Text_Dummy7" index="7">
<attribute name="window_context_name">garbage</attribute>
<language name="English"></language>
<language name="日本語">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</language>
</row>
<row id="pl_msg_00000381_00008" index="8">
<row id="FieldMoves_Text_BoulderMayBeAbleToPush" index="8">
<attribute name="window_context_name">used</attribute>
<language name="English">Its a big boulder, but a Pokémon\nmay be able to push it aside.</language>
</row>
<row id="pl_msg_00000381_00009" index="9">
<row id="FieldMoves_Text_StrengthMadePossibleToMove" index="9">
<attribute name="window_context_name">used</attribute>
<language name="English">Strength made it possible to move\nboulders around.</language>
</row>
<row id="pl_msg_00000381_00010" index="10">
<row id="FieldMoves_Text_PokemonUsedStrength" index="10">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 0, 0, 0} used Strength!\r</language>
</row>
<row id="pl_msg_00000381_00011" index="11">
<row id="FieldMoves_Text_PokemonStrengthMadePossibleToMove" index="11">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 0, 0, 0}s Strength made it\npossible to move boulders around!</language>
</row>
<row id="pl_msg_00000381_00012" index="12">
<row id="FieldMoves_Text_WouldYouLikeToUseSurf" index="12">
<attribute name="window_context_name">used</attribute>
<language name="English">The water is a deep blue color...\nWould you like to surf on it?</language>
</row>
<row id="pl_msg_00000381_00013" index="13">
<row id="FieldMoves_Text_PokemonUsedSurf" index="13">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 0, 0, 0} used Surf!\r</language>
</row>
<row id="pl_msg_00000381_00014" index="14">
<row id="FieldMoves_Text_NoSurfingWithPartner" index="14">
<attribute name="window_context_name">used</attribute>
<language name="English">Surf cant be used if you have\nsomeone with you.</language>
</row>
<row id="pl_msg_00000381_00015" index="15">
<row id="FieldMoves_Text_WouldYouLikeToUseDefog_Unused" index="15">
<attribute name="window_context_name">used</attribute>
<language name="English">A deep fog drapes the area...\nWould you like to use Defog?</language>
</row>
<row id="pl_msg_00000381_00016" index="16">
<row id="FieldMoves_Text_PokemonUsedDefog" index="16">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 0, 0, 0} used Defog!\r</language>
</row>
<row id="pl_msg_00000381_00017" index="17">
<row id="FieldMoves_Text_DeepFogDrapesArea_Unused" index="17">
<attribute name="window_context_name">used</attribute>
<language name="English">A deep fog drapes the area...\nWill a Pokémons move lift it?</language>
</row>
<row id="pl_msg_00000381_00018" index="18">
<row id="FieldMoves_Text_WouldYouLikeToUseRockClimb" index="18">
<attribute name="window_context_name">used</attribute>
<language name="English">The wall is very rocky...\nWould you like to use Rock Climb?</language>
</row>
<row id="pl_msg_00000381_00019" index="19">
<row id="FieldMoves_Text_PokemonUsedRockClimb" index="19">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 0, 0, 0} used Rock Climb!\r</language>
</row>
<row id="pl_msg_00000381_00020" index="20">
<row id="FieldMoves_Text_RockyWallWillMoveScale" index="20">
<attribute name="window_context_name">used</attribute>
<language name="English">The wall is very rocky...\nWill a Pokémons move scale it?</language>
</row>
<row id="pl_msg_00000381_00021" index="21">
<row id="FieldMoves_Text_NoRockClimbingWithPartner" index="21">
<attribute name="window_context_name">used</attribute>
<language name="English">Rock Climb cant be used if you have\nsomeone with you.</language>
</row>
<row id="pl_msg_00000381_00022" index="22">
<row id="FieldMoves_Text_WouldYouLikeToUseWaterfall" index="22">
<attribute name="window_context_name">used</attribute>
<language name="English">Its a large waterfall.\nWould you like to use Waterfall?</language>
</row>
<row id="pl_msg_00000381_00023" index="23">
<row id="FieldMoves_Text_PokemonUsedWaterfall" index="23">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 0, 0, 0} used Waterfall.\r</language>
</row>
<row id="pl_msg_00000381_00024" index="24">
<row id="FieldMoves_Text_WallOfWater" index="24">
<attribute name="window_context_name">used</attribute>
<language name="English">A wall of water is crashing down with\na mighty roar.</language>
</row>
<row id="pl_msg_00000381_00025" index="25">
<row id="FieldMoves_Text_Dummy25" index="25">
<attribute name="window_context_name">garbage</attribute>
<language name="English"></language>
<language name="日本語">XXXXXXXXXXXXXXXXXXXXXXXXX</language>
</row>
<row id="pl_msg_00000381_00026" index="26">
<row id="FieldMoves_Text_PokemonUsedFlash" index="26">
<attribute name="window_context_name">used</attribute>
<language name="English">{STRVAR_1 0, 0, 0} used Flash!\r</language>
</row>

View File

@ -215,9 +215,9 @@ static u16 ScriptContext_LoadAndOffsetID(FieldSystem *fieldSystem, ScriptContext
} else if (retScriptID >= 10100) {
ScriptContext_Load(fieldSystem, ctx, scripts_unk_1115, TEXT_BANK_UNK_0622);
retScriptID -= 10100;
} else if (retScriptID >= 10000) {
ScriptContext_Load(fieldSystem, ctx, scripts_unk_0409, TEXT_BANK_UNK_0381);
retScriptID -= 10000;
} else if (retScriptID >= SCRIPT_ID_OFFSET_FIELD_MOVES) {
ScriptContext_Load(fieldSystem, ctx, scripts_field_moves, TEXT_BANK_FIELD_MOVES);
retScriptID -= SCRIPT_ID_OFFSET_FIELD_MOVES;
} else if (retScriptID >= 9950) {
ScriptContext_Load(fieldSystem, ctx, scripts_unk_0411, TEXT_BANK_UNK_0383);
retScriptID -= 9950;