Fix multiple battle arena bugs (#7941)

This commit is contained in:
FosterProgramming 2025-10-13 13:12:50 +02:00 committed by GitHub
parent dd6746e506
commit daf642fdbf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 11 additions and 13 deletions

View File

@ -2102,9 +2102,8 @@
.byte \id
.endm
.macro arenawaitmessage id:req
.macro arenawaitmessage
callnative BS_ArenaWaitMessage
.byte \id
.endm
.macro waitcry

View File

@ -8711,7 +8711,7 @@ BattleScript_ArenaTurnBeginning::
playse SE_ARENA_TIMEUP1
drawarenareftextbox
arenajudgmentstring B_MSG_REF_COMMENCE_BATTLE
arenawaitmessage B_MSG_REF_COMMENCE_BATTLE
arenawaitmessage
pause B_WAIT_TIME_LONG
erasearenareftextbox
volumeup
@ -8729,26 +8729,26 @@ BattleScript_ArenaDoJudgment::
pause B_WAIT_TIME_LONG
drawarenareftextbox
arenajudgmentstring B_MSG_REF_THATS_IT
arenawaitmessage B_MSG_REF_THATS_IT
arenawaitmessage
pause B_WAIT_TIME_LONG
setbyte gBattleCommunication, 0 @ Reset state for arenajudgmentwindow
arenajudgmentwindow
pause B_WAIT_TIME_LONG
arenajudgmentwindow
arenajudgmentstring B_MSG_REF_JUDGE_MIND
arenawaitmessage B_MSG_REF_JUDGE_MIND
arenawaitmessage
arenajudgmentwindow
arenajudgmentstring B_MSG_REF_JUDGE_SKILL
arenawaitmessage B_MSG_REF_JUDGE_SKILL
arenawaitmessage
arenajudgmentwindow
arenajudgmentstring B_MSG_REF_JUDGE_BODY
arenawaitmessage B_MSG_REF_JUDGE_BODY
arenawaitmessage
arenajudgmentwindow
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, ARENA_RESULT_PLAYER_LOST, BattleScript_ArenaJudgmentPlayerLoses
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, ARENA_RESULT_TIE, BattleScript_ArenaJudgmentDraw
@ ARENA_RESULT_PLAYER_WON
arenajudgmentstring B_MSG_REF_PLAYER_WON
arenawaitmessage B_MSG_REF_PLAYER_WON
arenawaitmessage
arenajudgmentwindow
erasearenareftextbox
printstring STRINGID_DEFEATEDOPPONENTBYREFEREE
@ -8763,7 +8763,7 @@ BattleScript_ArenaDoJudgment::
BattleScript_ArenaJudgmentPlayerLoses:
arenajudgmentstring B_MSG_REF_OPPONENT_WON
arenawaitmessage B_MSG_REF_OPPONENT_WON
arenawaitmessage
arenajudgmentwindow
erasearenareftextbox
printstring STRINGID_LOSTTOOPPONENTBYREFEREE
@ -8778,11 +8778,12 @@ BattleScript_ArenaJudgmentPlayerLoses:
BattleScript_ArenaJudgmentDraw:
arenajudgmentstring B_MSG_REF_DRAW
arenawaitmessage B_MSG_REF_DRAW
arenawaitmessage
arenajudgmentwindow
erasearenareftextbox
printstring STRINGID_TIEDOPPONENTBYREFEREE
waitmessage B_WAIT_TIME_LONG
arenabothmonslost
playfaintcry BS_PLAYER1
waitcry
dofaintanimation BS_PLAYER1
@ -8793,7 +8794,6 @@ BattleScript_ArenaJudgmentDraw:
dofaintanimation BS_OPPONENT1
cleareffectsonfaint BS_OPPONENT1
waitanimation
arenabothmonslost
end2
BattleScript_AskIfWantsToForfeitMatch::

View File

@ -17122,13 +17122,12 @@ void BS_EraseArenaRefTextBox(void)
void BS_ArenaJudgmentString(void)
{
CMD_ARGS(u8 id);
NATIVE_ARGS(u8 id);
BattleStringExpandPlaceholdersToDisplayedString(gRefereeStringsTable[cmd->id]);
BattlePutTextOnWindow(gDisplayedStringBattle, ARENA_WIN_JUDGMENT_TEXT);
gBattlescriptCurrInstr = cmd->nextInstr;
}
// Argument passed but no use
void BS_ArenaWaitMessage(void)
{
NATIVE_ARGS();