Review changes
This commit is contained in:
@@ -246,7 +246,7 @@ void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible);
|
||||
void BtlController_EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument);
|
||||
void BtlController_EmitLinkStandbyMsg(u8 bufferId, u8 mode);
|
||||
void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId);
|
||||
void BtlController_EmitEndLinkBattle(u8 bufferId, u8 arg1);
|
||||
void BtlController_EmitEndLinkBattle(u8 bufferId, u8 battleOutcome);
|
||||
|
||||
// player controller
|
||||
void PlayerDummy(void);
|
||||
|
||||
@@ -65,18 +65,6 @@
|
||||
#define BATTLE_TYPE_WILD_SCRIPTED (1 << 17) // Used in pokeemerald as BATTLE_TYPE_PALACE.
|
||||
#define BATTLE_TYPE_LEGENDARY_FRLG (1 << 18) // Used in pokeemerald as BATTLE_TYPE_ARENA.
|
||||
#define BATTLE_TYPE_TRAINER_TOWER (1 << 19) // Used in pokeemerald as BATTLE_TYPE_FACTORY.
|
||||
#define BATTLE_TYPE_PIKE (1 << 20) // Used in pokeemerald.
|
||||
#define BATTLE_TYPE_PYRAMID (1 << 21) // Used in pokeemerald.
|
||||
#define BATTLE_TYPE_INGAME_PARTNER (1 << 22)
|
||||
#define BATTLE_TYPE_TOWER_LINK_MULTI (1 << 23) // Used in pokeemerald.
|
||||
#define BATTLE_TYPE_RECORDED (1 << 24)
|
||||
#define BATTLE_TYPE_RECORDED_LINK (1 << 25) // Used in pokeemerald.
|
||||
#define BATTLE_TYPE_TRAINER_HILL (1 << 26) // Used in pokeemerald.
|
||||
#define BATTLE_TYPE_SECRET_BASE (1 << 27)
|
||||
#define BATTLE_TYPE_GROUDON (1 << 28)
|
||||
#define BATTLE_TYPE_KYOGRE (1 << 29)
|
||||
#define BATTLE_TYPE_RAYQUAZA (1 << 30)
|
||||
#define BATTLE_TYPE_RECORDED_IS_MASTER (1 << 31) // Used in pokeemerald.
|
||||
|
||||
#define IS_BATTLE_TYPE_GHOST_WITHOUT_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && !((flags) & BATTLE_TYPE_GHOST_UNVEILED))
|
||||
#define IS_BATTLE_TYPE_GHOST_WITH_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && (flags) & BATTLE_TYPE_GHOST_UNVEILED)
|
||||
@@ -356,9 +344,7 @@
|
||||
#define B_WIN_VS_OUTCOME_RIGHT 23
|
||||
#define B_WIN_OAK_OLD_MAN 24
|
||||
|
||||
#define B_TEXT_FLAG_NONE (0 << 0)
|
||||
#define B_TEXT_FLAG_NPC_CONTEXT_FONT (1 << 6)
|
||||
#define B_TEXT_FLAG_WINDOW_CLEAR (1 << 7)
|
||||
#define B_TEXT_FLAG_BOTH (B_TEXT_FLAG_NPC_CONTEXT_FONT | B_TEXT_FLAG_WINDOW_CLEAR)
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_H
|
||||
|
||||
@@ -9,7 +9,7 @@ u16 GetInGameTradeSpeciesInfo(void);
|
||||
u16 GetTradeSpecies(void);
|
||||
void InitTradeSequenceBgGpuRegs(void);
|
||||
void LinkTradeDrawWindow(void);
|
||||
void InitTradeBg(void);
|
||||
void LoadTradeAnimGfx(void);
|
||||
|
||||
extern const u16 gTradeOrHatchMonShadowTilemap[];
|
||||
extern const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate;
|
||||
|
||||
+31
-31
@@ -764,7 +764,7 @@ static void DrawLinkBattleVsScreenOutcomeText(void)
|
||||
{
|
||||
if (gBattleOutcome == B_OUTCOME_DREW)
|
||||
{
|
||||
BattlePutTextOnWindow(gText_Draw, (B_WIN_VS_OUTCOME_DRAW | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Draw, B_WIN_VS_OUTCOME_DRAW);
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
@@ -773,20 +773,20 @@ static void DrawLinkBattleVsScreenOutcomeText(void)
|
||||
switch (gLinkPlayers[gBattleStruct->multiplayerId].id)
|
||||
{
|
||||
case 0:
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_LEFT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_RIGHT);
|
||||
break;
|
||||
case 1:
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_RIGHT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_LEFT);
|
||||
break;
|
||||
case 2:
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_LEFT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_RIGHT);
|
||||
break;
|
||||
case 3:
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_RIGHT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_LEFT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -795,20 +795,20 @@ static void DrawLinkBattleVsScreenOutcomeText(void)
|
||||
switch (gLinkPlayers[gBattleStruct->multiplayerId].id)
|
||||
{
|
||||
case 0:
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_RIGHT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_LEFT);
|
||||
break;
|
||||
case 1:
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_LEFT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_RIGHT);
|
||||
break;
|
||||
case 2:
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_RIGHT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_LEFT);
|
||||
break;
|
||||
case 3:
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_LEFT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_RIGHT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -817,26 +817,26 @@ static void DrawLinkBattleVsScreenOutcomeText(void)
|
||||
{
|
||||
if (gLinkPlayers[gBattleStruct->multiplayerId].id != 0)
|
||||
{
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_RIGHT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_LEFT);
|
||||
}
|
||||
else
|
||||
{
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_LEFT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_RIGHT);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gLinkPlayers[gBattleStruct->multiplayerId].id != 0)
|
||||
{
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_LEFT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_RIGHT);
|
||||
}
|
||||
else
|
||||
{
|
||||
BattlePutTextOnWindow(gText_Win, (B_WIN_VS_OUTCOME_RIGHT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Loss, (B_WIN_VS_OUTCOME_LEFT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_Win, B_WIN_VS_OUTCOME_RIGHT);
|
||||
BattlePutTextOnWindow(gText_Loss, B_WIN_VS_OUTCOME_LEFT);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -860,19 +860,19 @@ void InitLinkBattleVsScreen(u8 taskId)
|
||||
switch (linkPlayer->id)
|
||||
{
|
||||
case 0:
|
||||
BattlePutTextOnWindow(name, (B_WIN_VS_MULTI_PLAYER_1 | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(name, B_WIN_VS_MULTI_PLAYER_1);
|
||||
DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 4);
|
||||
break;
|
||||
case 1:
|
||||
BattlePutTextOnWindow(name, (B_WIN_VS_MULTI_PLAYER_2 | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(name, B_WIN_VS_MULTI_PLAYER_2);
|
||||
DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 4);
|
||||
break;
|
||||
case 2:
|
||||
BattlePutTextOnWindow(name, (B_WIN_VS_MULTI_PLAYER_3 | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(name, B_WIN_VS_MULTI_PLAYER_3);
|
||||
DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 8);
|
||||
break;
|
||||
case 3:
|
||||
BattlePutTextOnWindow(name, (B_WIN_VS_MULTI_PLAYER_4 | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(name, B_WIN_VS_MULTI_PLAYER_4);
|
||||
DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 8);
|
||||
break;
|
||||
}
|
||||
@@ -888,10 +888,10 @@ void InitLinkBattleVsScreen(u8 taskId)
|
||||
opponentId = playerId, playerId = opponentId_copy;
|
||||
|
||||
name = gLinkPlayers[playerId].name;
|
||||
BattlePutTextOnWindow(name, (B_WIN_VS_PLAYER | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(name, B_WIN_VS_PLAYER);
|
||||
|
||||
name = gLinkPlayers[opponentId].name;
|
||||
BattlePutTextOnWindow(name, (B_WIN_VS_OPPONENT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(name, B_WIN_VS_OPPONENT);
|
||||
|
||||
DrawLinkBattleParticipantPokeballs(taskId, playerId, 1, 2, 7);
|
||||
DrawLinkBattleParticipantPokeballs(taskId, opponentId, 2, 2, 7);
|
||||
|
||||
@@ -1312,7 +1312,7 @@ static void LinkOpponentHandlePrintString(void)
|
||||
if (BattleStringShouldBeColored(*stringId))
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NPC_CONTEXT_FONT));
|
||||
else
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter;
|
||||
}
|
||||
|
||||
|
||||
@@ -1225,7 +1225,7 @@ static void LinkPartnerHandlePrintString(void)
|
||||
if (BattleStringShouldBeColored(*stringId))
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NPC_CONTEXT_FONT));
|
||||
else
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter;
|
||||
}
|
||||
|
||||
|
||||
@@ -651,7 +651,7 @@ static void PrintOakText_ForPetesSake(void)
|
||||
break;
|
||||
case 2:
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_ForPetesSake);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_OAK_OLD_MAN | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_OAK_OLD_MAN);
|
||||
++gBattleStruct->simulatedInputState[0];
|
||||
break;
|
||||
case 3:
|
||||
@@ -670,7 +670,7 @@ static void PrintOakText_ForPetesSake(void)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_TheTrainerThat);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_OAK_OLD_MAN | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_OAK_OLD_MAN);
|
||||
++gBattleStruct->simulatedInputState[0];
|
||||
}
|
||||
break;
|
||||
@@ -690,7 +690,7 @@ static void PrintOakText_ForPetesSake(void)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_TryBattling);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_OAK_OLD_MAN | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_OAK_OLD_MAN);
|
||||
++gBattleStruct->simulatedInputState[0];
|
||||
}
|
||||
break;
|
||||
@@ -774,7 +774,7 @@ static void PrintOakTextWithMainBgDarkened(const u8 *text, u8 delay)
|
||||
break;
|
||||
case 3:
|
||||
BattleStringExpandPlaceholdersToDisplayedString(text);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_OAK_OLD_MAN | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_OAK_OLD_MAN);
|
||||
++gBattleStruct->simulatedInputState[0];
|
||||
break;
|
||||
case 4:
|
||||
@@ -842,7 +842,7 @@ static void PrintOakText_KeepAnEyeOnHP(void)
|
||||
break;
|
||||
case 3:
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_KeepAnEyeOnHP);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_OAK_OLD_MAN | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_OAK_OLD_MAN);
|
||||
++gBattleStruct->simulatedInputState[0];
|
||||
break;
|
||||
case 4:
|
||||
@@ -1761,7 +1761,7 @@ static void OakOldManHandlePrintString(void)
|
||||
if (BattleStringShouldBeColored(*stringId))
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NPC_CONTEXT_FONT));
|
||||
else
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)
|
||||
{
|
||||
switch (*stringId)
|
||||
@@ -1815,8 +1815,8 @@ static void OakOldManHandleChooseAction(void)
|
||||
s32 i;
|
||||
|
||||
gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3;
|
||||
BattlePutTextOnWindow(gText_EmptyString3, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_BattleMenu, (B_WIN_ACTION_MENU | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_EmptyString3, B_WIN_MSG);
|
||||
BattlePutTextOnWindow(gText_BattleMenu, B_WIN_ACTION_MENU);
|
||||
for (i = 0; i < MAX_MON_MOVES; ++i)
|
||||
ActionSelectionDestroyCursorAt((u8)i);
|
||||
ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
|
||||
@@ -1824,7 +1824,7 @@ static void OakOldManHandleChooseAction(void)
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo);
|
||||
else
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillOldManDo);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_ACTION_PROMPT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT);
|
||||
}
|
||||
|
||||
static void OakOldManHandleUnknownYesNoBox(void)
|
||||
|
||||
@@ -1314,7 +1314,7 @@ static void OpponentHandlePrintString(void)
|
||||
if (BattleStringShouldBeColored(*stringId))
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NPC_CONTEXT_FONT));
|
||||
else
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)
|
||||
{
|
||||
switch (*stringId)
|
||||
|
||||
@@ -570,7 +570,7 @@ void HandleInputChooseMove(void)
|
||||
else
|
||||
gMultiUsePlayerCursor = gMoveSelectionCursor[gActiveBattler] + 1;
|
||||
MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27);
|
||||
BattlePutTextOnWindow(gText_BattleSwitchWhich, (B_WIN_SWITCH_PROMPT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_BattleSwitchWhich, B_WIN_SWITCH_PROMPT);
|
||||
gBattlerControllerFuncs[gActiveBattler] = HandleMoveSwitching;
|
||||
}
|
||||
}
|
||||
@@ -1379,7 +1379,7 @@ static void MoveSelectionDisplayMoveNames(void)
|
||||
static void MoveSelectionDisplayPpString(void)
|
||||
{
|
||||
StringCopy(gDisplayedStringBattle, gText_MoveInterfacePP);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_PP | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_PP);
|
||||
}
|
||||
|
||||
static void MoveSelectionDisplayPpNumber(void)
|
||||
@@ -1394,7 +1394,7 @@ static void MoveSelectionDisplayPpNumber(void)
|
||||
txtPtr = ConvertIntToDecimalStringN(gDisplayedStringBattle, moveInfo->currentPp[gMoveSelectionCursor[gActiveBattler]], STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
*txtPtr = CHAR_SLASH;
|
||||
ConvertIntToDecimalStringN(++txtPtr, moveInfo->maxPp[gMoveSelectionCursor[gActiveBattler]], STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_PP_REMAINING | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_PP_REMAINING);
|
||||
}
|
||||
|
||||
static void MoveSelectionDisplayMoveType(void)
|
||||
@@ -1408,7 +1408,7 @@ static void MoveSelectionDisplayMoveType(void)
|
||||
*txtPtr++ = 1;
|
||||
txtPtr = StringCopy(txtPtr, gUnknown_83FE770);
|
||||
StringCopy(txtPtr, gTypeNames[gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].type]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MOVE_TYPE | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_TYPE);
|
||||
}
|
||||
|
||||
void MoveSelectionCreateCursorAt(u8 cursorPosition, u8 arg1)
|
||||
@@ -1479,7 +1479,7 @@ static void PrintLinkStandbyMsg(void)
|
||||
{
|
||||
gBattle_BG0_X = 0;
|
||||
gBattle_BG0_Y = 0;
|
||||
BattlePutTextOnWindow(gText_LinkStandby, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_LinkStandby, B_WIN_MSG);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2379,7 +2379,7 @@ static void PlayerHandlePrintString(void)
|
||||
if (BattleStringShouldBeColored(*stringId))
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NPC_CONTEXT_FONT));
|
||||
else
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2;
|
||||
}
|
||||
|
||||
@@ -2406,13 +2406,13 @@ static void PlayerHandleChooseAction(void)
|
||||
s32 i;
|
||||
|
||||
gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3;
|
||||
BattlePutTextOnWindow(gText_EmptyString3, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_BattleMenu, (B_WIN_ACTION_MENU | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_EmptyString3, B_WIN_MSG);
|
||||
BattlePutTextOnWindow(gText_BattleMenu, B_WIN_ACTION_MENU);
|
||||
for (i = 0; i < 4; ++i)
|
||||
ActionSelectionDestroyCursorAt(i);
|
||||
ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_ACTION_PROMPT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT);
|
||||
}
|
||||
|
||||
static void PlayerHandleUnknownYesNoBox(void)
|
||||
|
||||
@@ -1535,7 +1535,7 @@ static void PokedudeHandlePrintString(void)
|
||||
if (BattleStringShouldBeColored(*stringId))
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NPC_CONTEXT_FONT));
|
||||
else
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter;
|
||||
}
|
||||
|
||||
@@ -1564,13 +1564,13 @@ static void PokedudeHandleChooseAction(void)
|
||||
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
|
||||
{
|
||||
gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3;
|
||||
BattlePutTextOnWindow(gText_EmptyString3, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_BattleMenu, (B_WIN_ACTION_MENU | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_EmptyString3, B_WIN_MSG);
|
||||
BattlePutTextOnWindow(gText_BattleMenu, B_WIN_ACTION_MENU);
|
||||
for (i = 0; i < MAX_MON_MOVES; ++i)
|
||||
ActionSelectionDestroyCursorAt((u8)i);
|
||||
ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_ACTION_PROMPT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2557,7 +2557,7 @@ static void PokedudeAction_PrintVoiceoverMessage(void)
|
||||
case 2:
|
||||
gBattle_BG0_Y = 0;
|
||||
BattleStringExpandPlaceholdersToDisplayedString(GetPokedudeText());
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_OAK_OLD_MAN | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_OAK_OLD_MAN);
|
||||
++gPokedudeBattlerStates[gActiveBattler]->timer;
|
||||
break;
|
||||
case 3:
|
||||
@@ -2618,7 +2618,7 @@ static void PokedudeAction_PrintMessageWithHealthboxPals(void)
|
||||
break;
|
||||
case 3:
|
||||
BattleStringExpandPlaceholdersToDisplayedString(GetPokedudeText());
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_OAK_OLD_MAN | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_OAK_OLD_MAN);
|
||||
++gPokedudeBattlerStates[gActiveBattler]->timer;
|
||||
break;
|
||||
case 4:
|
||||
|
||||
@@ -411,7 +411,7 @@ static void SafariHandlePrintString(void)
|
||||
if (BattleStringShouldBeColored(*stringId))
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NPC_CONTEXT_FONT));
|
||||
else
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter;
|
||||
}
|
||||
|
||||
@@ -438,13 +438,13 @@ static void SafariHandleChooseAction(void)
|
||||
s32 i;
|
||||
|
||||
gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3;
|
||||
BattlePutTextOnWindow(gText_EmptyString3, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gUnknown_83FE747, (B_WIN_ACTION_MENU | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_EmptyString3, B_WIN_MSG);
|
||||
BattlePutTextOnWindow(gUnknown_83FE747, B_WIN_ACTION_MENU);
|
||||
for (i = 0; i < 4; ++i)
|
||||
ActionSelectionDestroyCursorAt(i);
|
||||
ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0);
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPlayerThrow);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_ACTION_PROMPT | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT);
|
||||
}
|
||||
|
||||
static void SafariHandleUnknownYesNoBox(void)
|
||||
|
||||
@@ -944,7 +944,7 @@ static void BtlController_EmitPlayBGM(u8 bufferId, u16 songId, void *data)
|
||||
sBattleBuffersTransferData[2] = (songId & 0xFF00) >> 8;
|
||||
|
||||
// Nonsense loop using songId as a size
|
||||
// Would go out of bounds for any song id after SE_RG_BAG_POCKET (253)
|
||||
// Would go out of bounds for any song id after SE_DEOXYS_MOVE (253)
|
||||
for (i = 0; i < songId; ++i)
|
||||
sBattleBuffersTransferData[3 + i] = *(u8 *)(data++);
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, songId + 3);
|
||||
|
||||
@@ -997,7 +997,7 @@ const u16 gStatUpStringIds[] =
|
||||
[B_MSG_STAT_WONT_INCREASE] = STRINGID_STATSWONTINCREASE,
|
||||
[B_MSG_STAT_ROSE_EMPTY] = STRINGID_EMPTYSTRING3,
|
||||
[B_MSG_STAT_ROSE_ITEM] = STRINGID_USINGITEMSTATOFPKMNROSE,
|
||||
[B_MSG_USED_DIRE_HIT] = STRINGID_PKMNUSEDXTOGETPUMPED,
|
||||
[B_MSG_USED_DIRE_HIT] = STRINGID_PKMNUSEDXTOGETPUMPED,
|
||||
};
|
||||
|
||||
const u16 gStatDownStringIds[] = {
|
||||
|
||||
@@ -814,7 +814,7 @@ static const u8 sBallCatchBonuses[] =
|
||||
[ITEM_SAFARI_BALL - ITEM_ULTRA_BALL] = 15
|
||||
};
|
||||
|
||||
// Not used. Maybe related to gBattlePalaceNatureToMoveGroupLikelihood from Emerald?
|
||||
// not used
|
||||
static const u32 gUnknown_8250898 = 0xFF7EAE60;
|
||||
|
||||
static void Cmd_attackcanceler(void)
|
||||
@@ -1094,8 +1094,8 @@ static void Cmd_accuracycheck(void)
|
||||
if ((Random() % 100 + 1) > calc)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE &&
|
||||
(gBattleMoves[move].target == MOVE_TARGET_BOTH || gBattleMoves[move].target == MOVE_TARGET_FOES_AND_ALLY))
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
|
||||
&& (gBattleMoves[move].target == MOVE_TARGET_BOTH || gBattleMoves[move].target == MOVE_TARGET_FOES_AND_ALLY))
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_AVOIDED_ATK;
|
||||
else
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_MISSED;
|
||||
@@ -1418,7 +1418,8 @@ static void CheckWonderGuardAndLevitate(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void ModulateDmgByType2(u8 multiplier, u16 move, u8 *flags) // same as ModulateDmgByType except different arguments
|
||||
// Same as ModulateDmgByType except different arguments
|
||||
static void ModulateDmgByType2(u8 multiplier, u16 move, u8 *flags)
|
||||
{
|
||||
gBattleMoveDamage = gBattleMoveDamage * multiplier / 10;
|
||||
if (gBattleMoveDamage == 0 && multiplier != 0)
|
||||
@@ -1616,7 +1617,8 @@ static void Cmd_adjustnormaldamage(void)
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
static void Cmd_adjustnormaldamage2(void) // The same as adjustnormaldamage except it doesn't check for false swipe move effect.
|
||||
// The same as adjustnormaldamage except it doesn't check for false swipe move effect.
|
||||
static void Cmd_adjustnormaldamage2(void)
|
||||
{
|
||||
u8 holdEffect, param;
|
||||
|
||||
@@ -2617,18 +2619,18 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
side = GetBattlerSide(gBattlerAttacker);
|
||||
if (GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT
|
||||
&& !(gBattleTypeFlags &
|
||||
(BATTLE_TYPE_EREADER_TRAINER
|
||||
| BATTLE_TYPE_BATTLE_TOWER
|
||||
| BATTLE_TYPE_LINK))
|
||||
&& gTrainerBattleOpponent_A != 0x400)
|
||||
(BATTLE_TYPE_EREADER_TRAINER
|
||||
| BATTLE_TYPE_BATTLE_TOWER
|
||||
| BATTLE_TYPE_LINK))
|
||||
&& gTrainerBattleOpponent_A != TRAINER_SECRET_BASE)
|
||||
{
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
else if (!(gBattleTypeFlags &
|
||||
(BATTLE_TYPE_EREADER_TRAINER
|
||||
| BATTLE_TYPE_BATTLE_TOWER
|
||||
| BATTLE_TYPE_LINK))
|
||||
&& gTrainerBattleOpponent_A != 0x400
|
||||
(BATTLE_TYPE_EREADER_TRAINER
|
||||
| BATTLE_TYPE_BATTLE_TOWER
|
||||
| BATTLE_TYPE_LINK))
|
||||
&& gTrainerBattleOpponent_A != TRAINER_SECRET_BASE
|
||||
&& (gWishFutureKnock.knockedOffMons[side] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]))
|
||||
{
|
||||
gBattlescriptCurrInstr++;
|
||||
@@ -3380,7 +3382,7 @@ static void Cmd_getexp(void)
|
||||
}
|
||||
}
|
||||
|
||||
// For battles that aren't BATTLE_TYPE_LINK or BATTLE_TYPE_RECORDED_LINK, the only thing this
|
||||
// For battles that aren't BATTLE_TYPE_LINK, the only thing this
|
||||
// command does is check whether the player has won/lost by totaling each team's HP. It then
|
||||
// sets gBattleOutcome accordingly, if necessary.
|
||||
static void Cmd_checkteamslost(void)
|
||||
@@ -3809,7 +3811,8 @@ static void Cmd_end2(void)
|
||||
gCurrentActionFuncId = B_ACTION_TRY_FINISH;
|
||||
}
|
||||
|
||||
static void Cmd_end3(void) // pops the main function stack
|
||||
// Pops the main function stack
|
||||
static void Cmd_end3(void)
|
||||
{
|
||||
BattleScriptPop();
|
||||
if (gBattleResources->battleCallbackStack->size != 0)
|
||||
@@ -5147,7 +5150,7 @@ static void Cmd_yesnoboxlearnmove(void)
|
||||
{
|
||||
case 0:
|
||||
HandleBattleWindow(23, 8, 29, 13, 0);
|
||||
BattlePutTextOnWindow(gText_BattleYesNoChoice, (B_WIN_YESNO | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO);
|
||||
gBattleScripting.learnMoveState++;
|
||||
gBattleCommunication[CURSOR_POSITION] = 0;
|
||||
BattleCreateYesNoCursorAt();
|
||||
@@ -5256,7 +5259,7 @@ static void Cmd_yesnoboxstoplearningmove(void)
|
||||
{
|
||||
case 0:
|
||||
HandleBattleWindow(23, 8, 29, 13, 0);
|
||||
BattlePutTextOnWindow(gText_BattleYesNoChoice, (B_WIN_YESNO | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO);
|
||||
gBattleScripting.learnMoveState++;
|
||||
gBattleCommunication[CURSOR_POSITION] = 0;
|
||||
BattleCreateYesNoCursorAt();
|
||||
@@ -5551,7 +5554,7 @@ static void Cmd_yesnobox(void)
|
||||
{
|
||||
case 0:
|
||||
HandleBattleWindow(23, 8, 29, 13, 0);
|
||||
BattlePutTextOnWindow(gText_BattleYesNoChoice, (B_WIN_YESNO | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO);
|
||||
gBattleCommunication[0]++;
|
||||
gBattleCommunication[CURSOR_POSITION] = 0;
|
||||
BattleCreateYesNoCursorAt();
|
||||
@@ -5598,7 +5601,8 @@ static void Cmd_cancelallactions(void)
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
static void Cmd_adjustsetdamage(void) // The same as adjustnormaldamage, except there's no random damage multiplier.
|
||||
// The same as adjustnormaldamage, except there's no random damage multiplier.
|
||||
static void Cmd_adjustsetdamage(void)
|
||||
{
|
||||
u8 holdEffect, param;
|
||||
|
||||
@@ -6215,7 +6219,8 @@ static void Cmd_various(void)
|
||||
gBattlescriptCurrInstr += 3;
|
||||
}
|
||||
|
||||
static void Cmd_setprotectlike(void) // protect and endure
|
||||
// Protect and Endure
|
||||
static void Cmd_setprotectlike(void)
|
||||
{
|
||||
bool8 notLastTurn = TRUE;
|
||||
u16 lastMove = gLastResultingMoves[gBattlerAttacker];
|
||||
@@ -6826,7 +6831,8 @@ static void Cmd_statbuffchange(void)
|
||||
gBattlescriptCurrInstr += 6;
|
||||
}
|
||||
|
||||
static void Cmd_normalisebuffs(void) // haze
|
||||
// Haze
|
||||
static void Cmd_normalisebuffs(void)
|
||||
{
|
||||
s32 i, j;
|
||||
|
||||
@@ -6918,13 +6924,14 @@ static void Cmd_forcerandomswitch(void)
|
||||
party = gPlayerParty;
|
||||
else
|
||||
party = gEnemyParty;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
valid = 0;
|
||||
val = 0;
|
||||
if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(gBattlerTarget)) == 1)
|
||||
val = 3;
|
||||
for (i = val; i < val + 3; i++)
|
||||
val = PARTY_SIZE / 2;
|
||||
for (i = val; i < val + (PARTY_SIZE / 2); i++)
|
||||
{
|
||||
if (GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE
|
||||
&& !GetMonData(&party[i], MON_DATA_IS_EGG)
|
||||
@@ -6935,7 +6942,7 @@ static void Cmd_forcerandomswitch(void)
|
||||
else
|
||||
{
|
||||
valid = 0;
|
||||
for (i = 0; i < 6; i++)
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
if (GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE
|
||||
&& !GetMonData(&party[i], MON_DATA_IS_EGG)
|
||||
@@ -6944,6 +6951,7 @@ static void Cmd_forcerandomswitch(void)
|
||||
}
|
||||
}
|
||||
|
||||
// Fails if there's only 1 mon left in single battle or there's less than 3 left in non-multi double battle.
|
||||
if ((valid < 2 && (gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE)
|
||||
|| (valid < 3 && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)))
|
||||
{
|
||||
@@ -6955,9 +6963,9 @@ static void Cmd_forcerandomswitch(void)
|
||||
{
|
||||
do
|
||||
{
|
||||
val = Random() % 3;
|
||||
val = Random() % (PARTY_SIZE / 2);
|
||||
if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(gBattlerTarget)) == 1)
|
||||
i = val + 3;
|
||||
i = val + (PARTY_SIZE / 2);
|
||||
else
|
||||
i = val;
|
||||
}
|
||||
@@ -6971,7 +6979,7 @@ static void Cmd_forcerandomswitch(void)
|
||||
{
|
||||
do
|
||||
{
|
||||
i = Random() % 6;
|
||||
i = Random() % PARTY_SIZE;
|
||||
}
|
||||
while (i == gBattlerPartyIndexes[gBattlerTarget]
|
||||
|| i == gBattlerPartyIndexes[gBattlerTarget ^ 2]
|
||||
@@ -6981,7 +6989,7 @@ static void Cmd_forcerandomswitch(void)
|
||||
{
|
||||
do
|
||||
{
|
||||
i = Random() % 6;
|
||||
i = Random() % PARTY_SIZE;
|
||||
}
|
||||
while (i == gBattlerPartyIndexes[gBattlerTarget]
|
||||
|| !MON_CAN_BATTLE(&party[i]));
|
||||
@@ -7000,7 +7008,8 @@ static void Cmd_forcerandomswitch(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_tryconversiontypechange(void) // randomly changes user's type to one of its moves' type
|
||||
// Randomly changes user's type to one of its moves' type
|
||||
static void Cmd_tryconversiontypechange(void)
|
||||
{
|
||||
u8 validMoves = 0;
|
||||
u8 moveChecked;
|
||||
@@ -7187,7 +7196,8 @@ static void Cmd_tryKO(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_damagetohalftargethp(void) // super fang
|
||||
// Super Fang
|
||||
static void Cmd_damagetohalftargethp(void)
|
||||
{
|
||||
gBattleMoveDamage = gBattleMons[gBattlerTarget].hp / 2;
|
||||
if (gBattleMoveDamage == 0)
|
||||
@@ -7589,7 +7599,8 @@ static void Cmd_counterdamagecalculator(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_mirrorcoatdamagecalculator(void) // a copy of Cmd with the physical -> special field changes
|
||||
// A copy of Cmd_counterdamagecalculator with the physical -> special field changes
|
||||
static void Cmd_mirrorcoatdamagecalculator(void)
|
||||
{
|
||||
u8 sideAttacker = GetBattlerSide(gBattlerAttacker);
|
||||
u8 sideTarget = GetBattlerSide(gProtectStructs[gBattlerAttacker].specialBattlerId);
|
||||
@@ -7693,7 +7704,8 @@ static void Cmd_painsplitdmgcalc(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_settypetorandomresistance(void) // conversion 2
|
||||
// Conversion 2
|
||||
static void Cmd_settypetorandomresistance(void)
|
||||
{
|
||||
if (gLastLandedMoves[gBattlerAttacker] == MOVE_NONE
|
||||
|| gLastLandedMoves[gBattlerAttacker] == MOVE_UNAVAILABLE)
|
||||
@@ -7761,7 +7773,8 @@ static void Cmd_setalwayshitflag(void)
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
static void Cmd_copymovepermanently(void) // sketch
|
||||
// Sketch
|
||||
static void Cmd_copymovepermanently(void)
|
||||
{
|
||||
gChosenMove = MOVE_UNAVAILABLE;
|
||||
|
||||
@@ -8391,7 +8404,8 @@ static void Cmd_setsunny(void)
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
static void Cmd_maxattackhalvehp(void) // belly drum
|
||||
// Belly Drum
|
||||
static void Cmd_maxattackhalvehp(void)
|
||||
{
|
||||
u32 halfHp = gBattleMons[gBattlerAttacker].maxHP / 2;
|
||||
|
||||
@@ -8414,7 +8428,8 @@ static void Cmd_maxattackhalvehp(void) // belly drum
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_copyfoestats(void) // psych up
|
||||
// Psych Up
|
||||
static void Cmd_copyfoestats(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -8692,7 +8707,8 @@ static void Cmd_trymemento(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_setforcedtarget(void) // follow me
|
||||
// Follow Me
|
||||
static void Cmd_setforcedtarget(void)
|
||||
{
|
||||
gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTimer = 1;
|
||||
gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTarget = gBattlerAttacker;
|
||||
@@ -8707,7 +8723,8 @@ static void Cmd_setcharge(void)
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
static void Cmd_callterrainattack(void) // nature power
|
||||
// Nature Power
|
||||
static void Cmd_callterrainattack(void)
|
||||
{
|
||||
gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED;
|
||||
gCurrentMove = sNaturePowerMoves[gBattleTerrain];
|
||||
@@ -8716,7 +8733,8 @@ static void Cmd_callterrainattack(void) // nature power
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
static void Cmd_cureifburnedparalysedorpoisoned(void) // refresh
|
||||
// Refresh
|
||||
static void Cmd_cureifburnedparalysedorpoisoned(void)
|
||||
{
|
||||
if (gBattleMons[gBattlerAttacker].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON))
|
||||
{
|
||||
@@ -8785,7 +8803,8 @@ static void Cmd_trysethelpinghand(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_tryswapitems(void) // trick
|
||||
// Trick
|
||||
static void Cmd_tryswapitems(void)
|
||||
{
|
||||
// opponent can't swap items with player in regular battles
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER
|
||||
@@ -8870,7 +8889,8 @@ static void Cmd_tryswapitems(void) // trick
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_trycopyability(void) // role play
|
||||
// Role Play
|
||||
static void Cmd_trycopyability(void)
|
||||
{
|
||||
if (gBattleMons[gBattlerTarget].ability != ABILITY_NONE
|
||||
&& gBattleMons[gBattlerTarget].ability != ABILITY_WONDER_GUARD)
|
||||
@@ -8918,7 +8938,8 @@ static void Cmd_trywish(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_trysetroots(void) // ingrain
|
||||
// Ingrain
|
||||
static void Cmd_trysetroots(void)
|
||||
{
|
||||
if (gStatuses3[gBattlerAttacker] & STATUS3_ROOTED)
|
||||
{
|
||||
@@ -8983,7 +9004,8 @@ static void Cmd_scaledamagebyhealthratio(void)
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
static void Cmd_tryswapabilities(void) // skill swap
|
||||
// Skill Swap
|
||||
static void Cmd_tryswapabilities(void)
|
||||
{
|
||||
if ((gBattleMons[gBattlerAttacker].ability == ABILITY_NONE
|
||||
&& gBattleMons[gBattlerTarget].ability == ABILITY_NONE)
|
||||
@@ -9143,7 +9165,8 @@ static void Cmd_trysetmagiccoat(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_trysetsnatch(void) // snatch
|
||||
// Snatch
|
||||
static void Cmd_trysetsnatch(void)
|
||||
{
|
||||
gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1;
|
||||
if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn
|
||||
@@ -9298,7 +9321,8 @@ static void Cmd_trycastformdatachange(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_settypebasedhalvers(void) // water and mud sport
|
||||
// Water and Mud Sport
|
||||
static void Cmd_settypebasedhalvers(void)
|
||||
{
|
||||
bool8 worked = FALSE;
|
||||
|
||||
@@ -9311,7 +9335,7 @@ static void Cmd_settypebasedhalvers(void) // water and mud sport
|
||||
worked = TRUE;
|
||||
}
|
||||
}
|
||||
else // water sport
|
||||
else // Water Sport
|
||||
{
|
||||
if (!(gStatuses3[gBattlerAttacker] & STATUS3_WATERSPORT))
|
||||
{
|
||||
@@ -9422,7 +9446,8 @@ static void Cmd_snatchsetbattlers(void)
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
static void Cmd_removelightscreenreflect(void) // brick break
|
||||
// Brick Break
|
||||
static void Cmd_removelightscreenreflect(void)
|
||||
{
|
||||
u8 opposingSide = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE;
|
||||
|
||||
@@ -9776,7 +9801,7 @@ static void Cmd_trygivecaughtmonnick(void)
|
||||
{
|
||||
case 0:
|
||||
HandleBattleWindow(23, 8, 29, 13, 0);
|
||||
BattlePutTextOnWindow(gText_BattleYesNoChoice, (B_WIN_YESNO | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO);
|
||||
gBattleCommunication[MULTIUSE_STATE]++;
|
||||
gBattleCommunication[CURSOR_POSITION] = 0;
|
||||
BattleCreateYesNoCursorAt();
|
||||
|
||||
+15
-15
@@ -413,7 +413,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
|
||||
gMain.state++;
|
||||
break;
|
||||
case 2:
|
||||
InitTradeBg();
|
||||
LoadTradeAnimGfx();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 3:
|
||||
@@ -677,7 +677,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gText_PkmnIsEvolving);
|
||||
BattlePutTextOnWindow(gStringVar4, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gStringVar4, B_WIN_MSG);
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
@@ -774,7 +774,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
if (IsCryFinished())
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gText_CongratsPkmnEvolved);
|
||||
BattlePutTextOnWindow(gStringVar4, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gStringVar4, B_WIN_MSG);
|
||||
PlayBGM(MUS_EVOLVED);
|
||||
gTasks[taskId].tState++;
|
||||
SetMonData(mon, MON_DATA_SPECIES, (void *)(&gTasks[taskId].tPostEvoSpecies));
|
||||
@@ -857,7 +857,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
else
|
||||
StringExpandPlaceholders(gStringVar4, gText_PkmnStoppedEvolving);
|
||||
|
||||
BattlePutTextOnWindow(gStringVar4, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gStringVar4, B_WIN_MSG);
|
||||
gTasks[taskId].tEvoWasStopped = TRUE;
|
||||
gTasks[taskId].tState = EVOSTATE_TRY_LEARN_MOVE;
|
||||
}
|
||||
@@ -868,7 +868,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
BufferMoveToLearnIntoBattleTextBuff2();
|
||||
PlayFanfare(MUS_LEVEL_UP);
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_TABLE_START]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gTasks[taskId].tLearnsFirstMove = 0x40; // re-used as a counter
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
@@ -886,7 +886,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
// "{mon} is trying to learn {move}"
|
||||
BufferMoveToLearnIntoBattleTextBuff2();
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_TABLE_START]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gTasks[taskId].tLearnMoveState++;
|
||||
}
|
||||
break;
|
||||
@@ -895,7 +895,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
{
|
||||
// "But, {mon} can't learn more than four moves"
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_TABLE_START]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gTasks[taskId].tLearnMoveState++;
|
||||
}
|
||||
break;
|
||||
@@ -904,7 +904,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
{
|
||||
// "Delete a move to make room for {move}?"
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_TABLE_START]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gTasks[taskId].tLearnMoveYesState = MVSTATE_SHOW_MOVE_SELECT;
|
||||
gTasks[taskId].tLearnMoveNoState = MVSTATE_ASK_CANCEL;
|
||||
gTasks[taskId].tLearnMoveState++;
|
||||
@@ -913,7 +913,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
if (!IsTextPrinterActive(0) && !IsSEPlaying())
|
||||
{
|
||||
HandleBattleWindow(23, 8, 29, 13, 0);
|
||||
BattlePutTextOnWindow(gText_BattleYesNoChoice, (B_WIN_YESNO | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO);
|
||||
gTasks[taskId].tLearnMoveState++;
|
||||
sEvoCursorPos = 0;
|
||||
BattleCreateYesNoCursorAt();
|
||||
@@ -992,7 +992,7 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
{
|
||||
// Can't forget HMs
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_TABLE_START]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gTasks[taskId].tLearnMoveState = MVSTATE_RETRY_AFTER_HM;
|
||||
}
|
||||
else
|
||||
@@ -1009,14 +1009,14 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
break;
|
||||
case MVSTATE_FORGET_MSG_1:
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_TABLE_START]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gTasks[taskId].tLearnMoveState++;
|
||||
break;
|
||||
case MVSTATE_FORGET_MSG_2:
|
||||
if (!IsTextPrinterActive(0) && !IsSEPlaying())
|
||||
{
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_TABLE_START]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gTasks[taskId].tLearnMoveState++;
|
||||
}
|
||||
break;
|
||||
@@ -1024,20 +1024,20 @@ static void Task_EvolutionScene(u8 taskId)
|
||||
if (!IsTextPrinterActive(0) && !IsSEPlaying())
|
||||
{
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_TABLE_START]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gTasks[taskId].tState = EVOSTATE_LEARNED_MOVE;
|
||||
}
|
||||
break;
|
||||
case MVSTATE_ASK_CANCEL:
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_TABLE_START]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gTasks[taskId].tLearnMoveYesState = MVSTATE_CANCEL;
|
||||
gTasks[taskId].tLearnMoveNoState = MVSTATE_INTRO_MSG_1;
|
||||
gTasks[taskId].tLearnMoveState = MVSTATE_PRINT_YES_NO;
|
||||
break;
|
||||
case MVSTATE_CANCEL:
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_TABLE_START]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, (B_WIN_MSG | B_TEXT_FLAG_NONE));
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
|
||||
gTasks[taskId].tState = EVOSTATE_TRY_LEARN_MOVE;
|
||||
break;
|
||||
case MVSTATE_RETRY_AFTER_HM:
|
||||
|
||||
+1
-1
@@ -2756,7 +2756,7 @@ static void CheckPartnersMonForRibbons(void)
|
||||
FlagSet(FLAG_SYS_RIBBON_GET);
|
||||
}
|
||||
|
||||
void InitTradeBg(void)
|
||||
void LoadTradeAnimGfx(void)
|
||||
{
|
||||
TradeAnimInit_LoadGfx();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user