Document Battle Arena scripts
This commit is contained in:
+26
-25
@@ -20,6 +20,7 @@
|
||||
#include "text.h"
|
||||
#include "util.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/battle_arena.h"
|
||||
#include "constants/battle_string_ids.h"
|
||||
#include "constants/battle_frontier.h"
|
||||
#include "constants/frontier_util.h"
|
||||
@@ -31,7 +32,7 @@
|
||||
static void InitArenaChallenge(void);
|
||||
static void GetArenaData(void);
|
||||
static void SetArenaData(void);
|
||||
static void sub_81A5AC4(void);
|
||||
static void SaveArenaChallenge(void);
|
||||
static void SetArenaRewardItem(void);
|
||||
static void GiveArenaRewardItem(void);
|
||||
static void BufferArenaOpponentName(void);
|
||||
@@ -468,13 +469,13 @@ static const struct CompressedSpriteSheet sBattleArenaJudgementSymbolsSpriteShee
|
||||
|
||||
static void (* const sArenaFunctions[])(void) =
|
||||
{
|
||||
InitArenaChallenge,
|
||||
GetArenaData,
|
||||
SetArenaData,
|
||||
sub_81A5AC4,
|
||||
SetArenaRewardItem,
|
||||
GiveArenaRewardItem,
|
||||
BufferArenaOpponentName,
|
||||
[BATTLE_ARENA_FUNC_INIT] = InitArenaChallenge,
|
||||
[BATTLE_ARENA_FUNC_GET_DATA] = GetArenaData,
|
||||
[BATTLE_ARENA_FUNC_SET_DATA] = SetArenaData,
|
||||
[BATTLE_ARENA_FUNC_SAVE] = SaveArenaChallenge,
|
||||
[BATTLE_ARENA_FUNC_SET_REWARD] = SetArenaRewardItem,
|
||||
[BATTLE_ARENA_FUNC_GIVE_REWARD] = GiveArenaRewardItem,
|
||||
[BATTLE_ARENA_FUNC_GET_TRAINER_NAME] = BufferArenaOpponentName,
|
||||
};
|
||||
|
||||
static const u16 sShortStreakRewardItems[] =
|
||||
@@ -563,8 +564,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state)
|
||||
break;
|
||||
case 4:
|
||||
PlaySE(SE_HANTEI1);
|
||||
ShowJudgmentSprite(80, 40, 0, 0);
|
||||
ShowJudgmentSprite(160, 40, 0, 1);
|
||||
ShowJudgmentSprite(80, 40, ARENA_CATEGORY_MIND, B_POSITION_PLAYER_LEFT);
|
||||
ShowJudgmentSprite(160, 40, ARENA_CATEGORY_MIND, B_POSITION_OPPONENT_LEFT);
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
|
||||
(*state)++;
|
||||
@@ -572,8 +573,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state)
|
||||
break;
|
||||
case 5:
|
||||
PlaySE(SE_HANTEI1);
|
||||
ShowJudgmentSprite(80, 56, 1, 0);
|
||||
ShowJudgmentSprite(160, 56, 1, 1);
|
||||
ShowJudgmentSprite(80, 56, ARENA_CATEGORY_SKILL, B_POSITION_PLAYER_LEFT);
|
||||
ShowJudgmentSprite(160, 56, ARENA_CATEGORY_SKILL, B_POSITION_OPPONENT_LEFT);
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
|
||||
(*state)++;
|
||||
@@ -581,8 +582,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state)
|
||||
break;
|
||||
case 6:
|
||||
PlaySE(SE_HANTEI1);
|
||||
ShowJudgmentSprite(80, 72, 2, 0);
|
||||
ShowJudgmentSprite(160, 72, 2, 1);
|
||||
ShowJudgmentSprite(80, 72, ARENA_CATEGORY_BODY, B_POSITION_PLAYER_LEFT);
|
||||
ShowJudgmentSprite(160, 72, ARENA_CATEGORY_BODY, B_POSITION_OPPONENT_LEFT);
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
|
||||
(*state)++;
|
||||
@@ -642,15 +643,15 @@ static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler)
|
||||
|
||||
switch (category)
|
||||
{
|
||||
case 0:
|
||||
case ARENA_CATEGORY_MIND:
|
||||
pointsPlayer = mindPoints[battler];
|
||||
pointsOpponent = mindPoints[BATTLE_OPPOSITE(battler)];
|
||||
break;
|
||||
case 1:
|
||||
case ARENA_CATEGORY_SKILL:
|
||||
pointsPlayer = skillPoints[battler];
|
||||
pointsOpponent = skillPoints[BATTLE_OPPOSITE(battler)];
|
||||
break;
|
||||
case 2:
|
||||
case ARENA_CATEGORY_BODY:
|
||||
pointsPlayer = (gBattleMons[battler].hp * 100) / hpAtStart[battler];
|
||||
pointsOpponent = (gBattleMons[BATTLE_OPPOSITE(battler)].hp * 100) / hpAtStart[BATTLE_OPPOSITE(battler)];
|
||||
break;
|
||||
@@ -809,13 +810,13 @@ static void GetArenaData(void)
|
||||
|
||||
switch (gSpecialVar_0x8005)
|
||||
{
|
||||
case 0:
|
||||
case ARENA_DATA_REWARD:
|
||||
gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaRewardItem;
|
||||
break;
|
||||
case 1:
|
||||
case ARENA_DATA_WIN_STREAK:
|
||||
gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
|
||||
break;
|
||||
case 2:
|
||||
case ARENA_DATA_WIN_STREAK_ACTIVE:
|
||||
if (lvlMode != FRONTIER_LVL_50)
|
||||
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_OPEN;
|
||||
else
|
||||
@@ -830,13 +831,13 @@ static void SetArenaData(void)
|
||||
|
||||
switch (gSpecialVar_0x8005)
|
||||
{
|
||||
case 0:
|
||||
case ARENA_DATA_REWARD:
|
||||
gSaveBlock2Ptr->frontier.arenaRewardItem = gSpecialVar_0x8006;
|
||||
break;
|
||||
case 1:
|
||||
case ARENA_DATA_WIN_STREAK:
|
||||
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = gSpecialVar_0x8006;
|
||||
break;
|
||||
case 2:
|
||||
case ARENA_DATA_WIN_STREAK_ACTIVE:
|
||||
if (lvlMode != FRONTIER_LVL_50)
|
||||
{
|
||||
if (gSpecialVar_0x8006)
|
||||
@@ -855,7 +856,7 @@ static void SetArenaData(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_81A5AC4(void)
|
||||
static void SaveArenaChallenge(void)
|
||||
{
|
||||
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
|
||||
VarSet(VAR_TEMP_0, 0);
|
||||
@@ -878,7 +879,7 @@ static void GiveArenaRewardItem(void)
|
||||
if (AddBagItem(gSaveBlock2Ptr->frontier.arenaRewardItem, 1) == TRUE)
|
||||
{
|
||||
CopyItemName(gSaveBlock2Ptr->frontier.arenaRewardItem, gStringVar1);
|
||||
gSaveBlock2Ptr->frontier.arenaRewardItem = 0;
|
||||
gSaveBlock2Ptr->frontier.arenaRewardItem = ITEM_NONE;
|
||||
gSpecialVar_Result = TRUE;
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user